editors/ConfTreeNodeEditor.py
changeset 1740 b789b695b5c6
parent 1739 ec153828ded2
child 1741 dd94b9a68c61
equal deleted inserted replaced
1739:ec153828ded2 1740:b789b695b5c6
    77                 bmp = self.bmpDisabled
    77                 bmp = self.bmpDisabled
    78             if self.bmpFocus and self.hasFocus:
    78             if self.bmpFocus and self.hasFocus:
    79                 bmp = self.bmpFocus
    79                 bmp = self.bmpFocus
    80             if self.bmpSelected and not self.up:
    80             if self.bmpSelected and not self.up:
    81                 bmp = self.bmpSelected
    81                 bmp = self.bmpSelected
    82             bw,bh = bmp.GetWidth(), bmp.GetHeight()
    82             bw, bh = bmp.GetWidth(), bmp.GetHeight()
    83             if not self.up:
    83             if not self.up:
    84                 dw = dy = self.labelDelta
    84                 dw = dy = self.labelDelta
    85             hasMask = bmp.GetMask() != None
    85             hasMask = bmp.GetMask() != None
    86         else:
    86         else:
    87             bw = bh = 0     # no bitmap -> size is zero
    87             bw = bh = 0     # no bitmap -> size is zero
   300         mouseover_bt_font=wx.Font(faces["size"] / 3, wx.DEFAULT, wx.NORMAL, wx.NORMAL, underline=True, faceName = faces["helv"])
   300         mouseover_bt_font=wx.Font(faces["size"] / 3, wx.DEFAULT, wx.NORMAL, wx.NORMAL, underline=True, faceName = faces["helv"])
   301 
   301 
   302         msizer = wx.BoxSizer(wx.HORIZONTAL)
   302         msizer = wx.BoxSizer(wx.HORIZONTAL)
   303 
   303 
   304         for confnode_method in self.Controler.ConfNodeMethods:
   304         for confnode_method in self.Controler.ConfNodeMethods:
   305             if "method" in confnode_method and confnode_method.get("shown",True):
   305             if "method" in confnode_method and confnode_method.get("shown", True):
   306                 button = GenBitmapTextButton(self.Editor,
   306                 button = GenBitmapTextButton(self.Editor,
   307                     bitmap=GetBitmap(confnode_method.get("bitmap", "Unknown")),
   307                     bitmap=GetBitmap(confnode_method.get("bitmap", "Unknown")),
   308                     label=confnode_method["name"], style=wx.NO_BORDER)
   308                     label=confnode_method["name"], style=wx.NO_BORDER)
   309                 button.SetFont(normal_bt_font)
   309                 button.SetFont(normal_bt_font)
   310                 button.SetToolTipString(confnode_method["tooltip"])
   310                 button.SetToolTipString(confnode_method["tooltip"])
   320                         event.Skip()
   320                         event.Skip()
   321                     return fn
   321                     return fn
   322                 button.Bind(wx.EVT_ENTER_WINDOW, setFontStyle(button, mouseover_bt_font))
   322                 button.Bind(wx.EVT_ENTER_WINDOW, setFontStyle(button, mouseover_bt_font))
   323                 button.Bind(wx.EVT_LEAVE_WINDOW, setFontStyle(button, normal_bt_font))
   323                 button.Bind(wx.EVT_LEAVE_WINDOW, setFontStyle(button, normal_bt_font))
   324                 # hack to force size to mini
   324                 # hack to force size to mini
   325                 if not confnode_method.get("enabled",True):
   325                 if not confnode_method.get("enabled", True):
   326                     button.Disable()
   326                     button.Disable()
   327                 msizer.AddWindow(button, flag=wx.ALIGN_CENTER)
   327                 msizer.AddWindow(button, flag=wx.ALIGN_CENTER)
   328         return msizer
   328         return msizer
   329 
   329 
   330     def GenerateSizerElements(self, sizer, elements, path, clean = True):
   330     def GenerateSizerElements(self, sizer, elements, path, clean = True):
   443                             checkbox.SetValue(element_infos["value"])
   443                             checkbox.SetValue(element_infos["value"])
   444                         checkbox.Bind(wx.EVT_CHECKBOX,
   444                         checkbox.Bind(wx.EVT_CHECKBOX,
   445                                       self.GetCheckBoxCallBackFunction(checkbox, element_path),
   445                                       self.GetCheckBoxCallBackFunction(checkbox, element_path),
   446                                       checkbox)
   446                                       checkbox)
   447 
   447 
   448                     elif element_infos["type"] in ["unsignedLong", "long","integer"]:
   448                     elif element_infos["type"] in ["unsignedLong", "long", "integer"]:
   449                         if element_infos["type"].startswith("unsigned"):
   449                         if element_infos["type"].startswith("unsigned"):
   450                             scmin = 0
   450                             scmin = 0
   451                         else:
   451                         else:
   452                             scmin = -(2**31)
   452                             scmin = -(2**31)
   453                         scmax = 2**31-1
   453                         scmax = 2**31-1
   500         """ Generate the callbackfunc for a given confnode method"""
   500         """ Generate the callbackfunc for a given confnode method"""
   501         def OnButtonClick(event):
   501         def OnButtonClick(event):
   502             # Disable button to prevent re-entrant call
   502             # Disable button to prevent re-entrant call
   503             event.GetEventObject().Disable()
   503             event.GetEventObject().Disable()
   504             # Call
   504             # Call
   505             getattr(self.Controler,method)()
   505             getattr(self.Controler, method)()
   506             # Re-enable button
   506             # Re-enable button
   507             event.GetEventObject().Enable()
   507             event.GetEventObject().Enable()
   508 
   508 
   509             if not push:
   509             if not push:
   510                 event.Skip()
   510                 event.Skip()