def __init__(self, parent, title, bitmap='edit', direction=None, *args, **kwargs): self._buttonTypes = kwargs.get('buttonTypes', wx.OK | wx.CANCEL) super(Dialog, self).__init__(parent, -1, title, style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER | wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX) self.SetIcon(wx.ArtProvider_GetIcon(bitmap, wx.ART_FRAME_ICON, (16, 16))) if operating_system.isWindows7_OrNewer(): # Without this the window has no taskbar icon on Windows, and the focus comes back to the main # window instead of this one when returning to Task Coach through Alt+Tab. Which is probably not # what we want. import win32gui, win32con exStyle = win32gui.GetWindowLong(self.GetHandle(), win32con.GWL_EXSTYLE) win32gui.SetWindowLong(self.GetHandle(), win32con.GWL_EXSTYLE, exStyle|win32con.WS_EX_APPWINDOW) self._panel = self.GetContentsPane() self._panel.SetSizerType('vertical') self._panel.SetSizerProps(expand=True, proportion=1) self._direction = direction self._interior = self.createInterior() self._interior.SetSizerProps(expand=True, proportion=1) self.fillInterior() self._buttons = self.createButtons() self._panel.Fit() self.Fit() self.CentreOnParent() if not operating_system.isGTK(): wx.CallAfter(self.Raise) wx.CallAfter(self._panel.SetFocus)
def __init__(self, iocontroller, taskFile, settings, *args, **kwargs): self.__splash = kwargs.pop('splash', None) super(MainWindow, self).__init__(None, -1, '', *args, **kwargs) # This prevents the viewers from flickering on Windows 7 when refreshed: if operating_system.isWindows7_OrNewer(): turn_on_double_buffering_on_windows(self) self.__dimensions_tracker = windowdimensionstracker.WindowDimensionsTracker( self, settings) self.iocontroller = iocontroller self.taskFile = taskFile self.settings = settings self.__filename = None self.__dirty = False self.__shutdown = False self.Bind(wx.EVT_CLOSE, self.onClose) self.Bind(wx.EVT_ICONIZE, self.onIconify) self.Bind(wx.EVT_SIZE, self.onResize) self._create_window_components() # Not private for test purposes self.__init_window_components() self.__init_window() self.__register_for_window_component_changes() if settings.getboolean('feature', 'syncml'): try: import taskcoachlib.syncml.core # pylint: disable=W0612,W0404 except ImportError: if settings.getboolean('syncml', 'showwarning'): dlg = widgets.SyncMLWarningDialog(self) try: if dlg.ShowModal() == wx.ID_OK: settings.setboolean('syncml', 'showwarning', False) finally: dlg.Destroy() self.bonjourRegister = None if settings.getboolean('feature', 'iphone'): # pylint: disable=W0612,W0404,W0702 try: from taskcoachlib.thirdparty import pybonjour from taskcoachlib.iphone import IPhoneAcceptor, BonjourServiceRegister acceptor = IPhoneAcceptor(self, settings, iocontroller) self.bonjourRegister = BonjourServiceRegister( settings, acceptor.port) except: from taskcoachlib.gui.dialog.iphone import IPhoneBonjourDialog dlg = IPhoneBonjourDialog(self, wx.ID_ANY, _('Warning')) try: dlg.ShowModal() finally: dlg.Destroy() self._idleController = idlecontroller.IdleController( self, self.settings, self.taskFile.efforts()) wx.CallAfter(self.checkXFCE4)
def __init__(self, iocontroller, taskFile, settings, *args, **kwargs): self.__splash = kwargs.pop('splash', None) super(MainWindow, self).__init__(None, -1, '', *args, **kwargs) # This prevents the viewers from flickering on Windows 7 when refreshed: if operating_system.isWindows7_OrNewer(): turn_on_double_buffering_on_windows(self) self.__dimensions_tracker = windowdimensionstracker.WindowDimensionsTracker(self, settings) self.iocontroller = iocontroller self.taskFile = taskFile self.settings = settings self.__filename = None self.__dirty = False self.__shutdown = False self.Bind(wx.EVT_CLOSE, self.onClose) self.Bind(wx.EVT_ICONIZE, self.onIconify) self.Bind(wx.EVT_SIZE, self.onResize) self._create_window_components() # Not private for test purposes self.__init_window_components() self.__init_window() self.__register_for_window_component_changes() if settings.getboolean('feature', 'syncml'): try: import taskcoachlib.syncml.core # pylint: disable=W0612,W0404 except ImportError: if settings.getboolean('syncml', 'showwarning'): dlg = widgets.SyncMLWarningDialog(self) try: if dlg.ShowModal() == wx.ID_OK: settings.setboolean('syncml', 'showwarning', False) finally: dlg.Destroy() self.bonjourRegister = None if settings.getboolean('feature', 'iphone'): # pylint: disable=W0612,W0404,W0702 try: from taskcoachlib.thirdparty import pybonjour from taskcoachlib.iphone import IPhoneAcceptor, BonjourServiceRegister acceptor = IPhoneAcceptor(self, settings, iocontroller) self.bonjourRegister = BonjourServiceRegister(settings, acceptor.port) except: from taskcoachlib.gui.dialog.iphone import IPhoneBonjourDialog dlg = IPhoneBonjourDialog(self, wx.ID_ANY, _('Warning')) try: dlg.ShowModal() finally: dlg.Destroy() self._idleController = idlecontroller.IdleController(self, self.settings, self.taskFile.efforts()) wx.CallAfter(self.checkXFCE4)
def __init__(self, parent, title, bitmap='edit', direction=None, *args, **kwargs): self._buttonTypes = kwargs.get('buttonTypes', wx.OK | wx.CANCEL) super(Dialog, self).__init__(parent, -1, title, style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER | wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX) self.SetIcon( wx.ArtProvider_GetIcon(bitmap, wx.ART_FRAME_ICON, (16, 16))) if operating_system.isWindows7_OrNewer(): # Without this the window has no taskbar icon on Windows, and the focus comes back to the main # window instead of this one when returning to Task Coach through Alt+Tab. Which is probably not # what we want. import win32gui, win32con exStyle = win32gui.GetWindowLong(self.GetHandle(), win32con.GWL_EXSTYLE) win32gui.SetWindowLong(self.GetHandle(), win32con.GWL_EXSTYLE, exStyle | win32con.WS_EX_APPWINDOW) self._panel = self.GetContentsPane() self._panel.SetSizerType('vertical') self._panel.SetSizerProps(expand=True, proportion=1) self._direction = direction self._interior = self.createInterior() self._interior.SetSizerProps(expand=True, proportion=1) self.fillInterior() self._buttons = self.createButtons() self._panel.Fit() self.Fit() self.CentreOnParent() if not operating_system.isGTK(): wx.CallAfter(self.Raise) wx.CallAfter(self._panel.SetFocus)