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() |