コード例 #1
0
 def set_item(self,
              pos,
              option=None,
              flag=None,
              border=None,
              size=None,
              force_layout=True):
     """\
     Updates the layout of the item at the given pos.
     """
     if not self.window.widget:
         return
     pos -= 1
     label, item = self.window.tabs[pos]
     if not item or not item.widget:
         return
     if not (pos < self.window.widget.GetPageCount()):
         self.window.widget.AddPage(item.widget, label)
     elif self.window.widget.GetPage(pos) is not item.widget:
         #self.window.widget.RemovePage(pos)
         self.window.widget.DeletePage(pos)
         self.window.widget.InsertPage(pos, item.widget, label)
         self.window.widget.SetSelection(pos)
         try:
             misc.wxCallAfter(item.sel_marker.update)
         except AttributeError, e:
             #print e
             pass
コード例 #2
0
ファイル: edit_windows.py プロジェクト: JeffHanna/wxArchitect
 def set_name(self, value):
     value = "%s" % value
     if not config.preferences.allow_duplicate_names and (
         self.widget and common.app_tree.has_name(value, self.node)
     ):
         misc.wxCallAfter(
             wx.MessageBox,
             _('Name "%s" is already in use.\n' "Please enter a different one.") % value,
             _("Error"),
             wx.OK | wx.ICON_ERROR,
         )
         self.name_prop.set_value(self.name)
         return
     if not re.match(self.set_name_pattern, value):
         self.name_prop.set_value(self.name)
     else:
         oldname = self.name
         self.name = value
         if self._rmenu:
             self._rmenu.SetTitle(self.name)
         try:
             common.app_tree.refresh_name(self.node, oldname)  # , self.name)
         except AttributeError:
             pass
         self.property_window.SetTitle(_("Properties - <%s>") % self.name)
コード例 #3
0
 def show_widget(self, yes):
     ManagedBase.show_widget(self, yes)
     if yes and wx.Platform in ('__WXMSW__', '__WXMAC__'):
         misc.wxCallAfter(_ugly_hack_for_win32_notebook_bug, self.widget)
     if self._create_slots:
         self._create_slots = False
         for i in range(len(self.tabs)):
             if self.tabs[i][1] is None:
                 self.tabs = self.tabs[:i]
                 self.properties['tabs'].set_value(self.get_tabs())
コード例 #4
0
ファイル: notebook.py プロジェクト: CrazyPython/SPE
 def show_widget(self, yes):
     ManagedBase.show_widget(self, yes)
     if yes and wx.Platform in ('__WXMSW__', '__WXMAC__'):
         misc.wxCallAfter(_ugly_hack_for_win32_notebook_bug, self.widget)
     if self._create_slots:
         self._create_slots = False
         for i in range(len(self.tabs)):
             if self.tabs[i][1] is None:
                 self.tabs = self.tabs[:i]
                 self.properties['tabs'].set_value(self.get_tabs())
コード例 #5
0
ファイル: edit_windows.py プロジェクト: CrazyPython/SPE
 def on_key_down(event):
     evt_flags = 0
     if event.ControlDown(): evt_flags = wx.ACCEL_CTRL
     evt_key = event.GetKeyCode()
     done = False
     for flags, key, function in misc.accel_table:
         if evt_flags == flags and evt_key == key:
             misc.wxCallAfter(function)
             done = True
             break
     if not done:
         event.Skip()
コード例 #6
0
 def on_key_down(event):
     evt_flags = 0
     if event.ControlDown(): evt_flags = wx.ACCEL_CTRL
     evt_key = event.GetKeyCode()
     done = False
     for flags, key, function in misc.accel_table:
         if evt_flags == flags and evt_key == key:
             misc.wxCallAfter(function)
             done = True
             break
     if not done:
         event.Skip()
コード例 #7
0
 def _add_tab(self, window, pos):
     if window is None:
         window = SizerSlot(self, self.virtual_sizer, pos)
         self.tabs[pos - 1][1] = window
     else:
         window._dont_destroy = True
         node = Tree.Node(window)
         window.node = node
         common.app_tree.add(node, self.node)
     if self.widget:
         window.show_widget(True)
         self.virtual_sizer.set_item(pos)
         try:
             misc.wxCallAfter(window.sel_marker.update)
         except AttributeError, e:
             #print e
             pass
コード例 #8
0
ファイル: notebook.py プロジェクト: CrazyPython/SPE
 def _add_tab(self, window, pos):
     if window is None:
         window = SizerSlot(self, self.virtual_sizer, pos)
         self.tabs[pos-1][1] = window
     else:
         window._dont_destroy = True
         node = Tree.Node(window)
         window.node = node
         common.app_tree.add(node, self.node)
     if self.widget:
         window.show_widget(True)
         self.virtual_sizer.set_item(pos)
         try:
             misc.wxCallAfter(window.sel_marker.update)
         except AttributeError, e:
             #print e
             pass
コード例 #9
0
 def set_name(self, value):
     value = "%s" % value
     if not config.preferences.allow_duplicate_names and \
            (self.widget and common.app_tree.has_name(value, self.node)):
         misc.wxCallAfter(
             wx.MessageBox,
             _('Name "%s" is already in use.\n'
               'Please enter a different one.') % value, _("Error"),
             wx.OK | wx.ICON_ERROR)
         self.name_prop.set_value(self.name)
         return
     if not re.match(self.set_name_pattern, value):
         self.name_prop.set_value(self.name)
     else:
         oldname = self.name
         self.name = value
         if self._rmenu: self._rmenu.SetTitle(self.name)
         try:
             common.app_tree.refresh_name(self.node, oldname)  #, self.name)
         except AttributeError:
             pass
         self.property_window.SetTitle(_('Properties - <%s>') % self.name)
コード例 #10
0
ファイル: notebook.py プロジェクト: CrazyPython/SPE
 def set_item(self, pos, option=None, flag=None, border=None, size=None,
              force_layout=True):
     """\
     Updates the layout of the item at the given pos.
     """
     if not self.window.widget:
         return
     pos -= 1
     label, item = self.window.tabs[pos]
     if not item or not item.widget:
         return
     if not (pos < self.window.widget.GetPageCount()):
         self.window.widget.AddPage(item.widget, label)
     elif self.window.widget.GetPage(pos) is not item.widget:
         #self.window.widget.RemovePage(pos)
         self.window.widget.DeletePage(pos)
         self.window.widget.InsertPage(pos, item.widget, label)
         self.window.widget.SetSelection(pos)
         try:
             misc.wxCallAfter(item.sel_marker.update)
         except AttributeError, e:
             #print e
             pass
コード例 #11
0
ファイル: main.py プロジェクト: italomaia/spe
 def cleanup(self, event):
     if self.ask_save():
         # first, let's see if we have to save the geometry...
         prefs = config.preferences
         if prefs.remember_geometry:
             prefs.set_geometry('main', misc.get_geometry(self))
             prefs.set_geometry('tree', misc.get_geometry(self.tree_frame))
             prefs.set_geometry('properties',
                                misc.get_geometry(self.frame2))
             prefs.changed = True
         common.app_tree.clear()
         if self.about_box: self.about_box.Destroy()
         try:
             config.save_preferences()
         except Exception, e:
             wx.MessageBox(
                 _('Error saving preferences:\n%s') % e, _('Error'),
                 wx.OK | wx.CENTRE | wx.ICON_ERROR)
         #self._skip_activate = True
         self.frame2.Destroy()
         self.tree_frame.Destroy()
         self.Destroy()
         common.remove_autosaved()  # ALB 2004-10-15
         misc.wxCallAfter(wx.GetApp().ExitMainLoop)
コード例 #12
0
ファイル: main.py プロジェクト: CrazyPython/SPE
 def cleanup(self, event):
     if self.ask_save():
         # first, let's see if we have to save the geometry...
         prefs = config.preferences
         if prefs.remember_geometry:
             prefs.set_geometry('main', misc.get_geometry(self))
             prefs.set_geometry('tree',
                                misc.get_geometry(self.tree_frame))
             prefs.set_geometry('properties',
                                misc.get_geometry(self.frame2))
             prefs.changed = True
         common.app_tree.clear()
         if self.about_box: self.about_box.Destroy()
         try: config.save_preferences()
         except Exception, e:
             wx.MessageBox(_('Error saving preferences:\n%s') % e,
                           _('Error'),
                           wx.OK|wx.CENTRE|wx.ICON_ERROR)
         #self._skip_activate = True
         self.frame2.Destroy()
         self.tree_frame.Destroy()
         self.Destroy()
         common.remove_autosaved() # ALB 2004-10-15
         misc.wxCallAfter(wx.GetApp().ExitMainLoop)
コード例 #13
0
ファイル: edit_windows.py プロジェクト: CrazyPython/SPE
 def bind(method):
     return lambda e: misc.wxCallAfter(method)
コード例 #14
0
 def bind(method):
     return lambda e: misc.wxCallAfter(method)