def addToggleButton(self, toolname, tooltip=None): bitmap = self.bitmaps[toolname] size = (24, 24) togglebutton = GenBitmapToggleButton(self.parent, -1, bitmap, size=size) togglebutton.SetBezelWidth(3) if tooltip is not None: togglebutton.SetToolTip(wx.ToolTip(tooltip)) self.togglebuttons[toolname] = togglebutton return togglebutton
class ImageTool(object): def __init__(self, imagepanel, sizer, bitmap, tooltip='', cursor=None, untoggle=False, button=None): self.sizer = sizer self.imagepanel = imagepanel self.cursor = cursor if button is None: self.button = GenBitmapToggleButton(self.imagepanel, -1, bitmap, size=(24, 24)) else: self.button = button self.untoggle = untoggle self.button.SetBezelWidth(3) if tooltip: self.button.SetToolTip(wx.ToolTip(tooltip)) self.sizer.Add(self.button, 0, wx.ALIGN_CENTER|wx.ALL, 3) self.button.Bind(wx.EVT_BUTTON, self.OnButton) #-------------------- def OnButton(self, evt): if self.button.GetToggle(): if self.untoggle: self.imagepanel.UntoggleTools(self) if self.cursor is not None: self.imagepanel.panel.SetCursor(self.cursor) self.OnToggle(True) else: self.imagepanel.panel.SetCursor(self.imagepanel.defaultcursor) self.OnToggle(False) #-------------------- def OnToggle(self, value): pass #-------------------- def OnLeftClick(self, evt): pass #-------------------- def OnShiftLeftClick(self, evt): pass #-------------------- def OnRightClick(self, evt): pass #-------------------- def OnShiftRightClick(self, evt): pass #-------------------- def OnShiftCtrlRightClick(self, evt): pass #-------------------- def OnMotion(self, evt, dc): return False #-------------------- def getToolTipStrings(self, x, y, value): return [] #-------------------- def Draw(self, dc): pass