Exemple #1
0
 def onMouseUp(self, e):
     if self._next_click_is_invalid:
         return
     if self._activeTool is not None:
         self._activeTool.onMouseUp(e.GetX(), e.GetY(), e.GetButton())
     if not e.LeftIsDown() and not e.RightIsDown() and not e.MiddleIsDown():
         self._activeTool = None
         if e.GetButton() == 3:
             focusObj = self._app.getView().getFocusObject()
             if focusObj is not None and hasattr(focusObj, 'getContextMenu'):
                 menu = wx.Menu()
                 menu.function_map = {}
                 for name, function in focusObj.getContextMenu():
                     id_nr = wx.NewId()
                     menu.function_map[id_nr] = function
                     if name.startswith('*') or name.startswith('_'):
                         item = menu.AppendCheckItem(id_nr, name[1:])
                         if name.startswith('*'):
                             item.Check(True)
                     else:
                         item = menu.Append(id_nr, name)
                     self.Bind(wx.EVT_MENU, lambda e: e.GetEventObject().function_map[e.GetId()](), item)
                 self._next_click_is_invalid = True
                 hideTooltip()
                 self._app.getView().clearFocusObject()
                 self.PopupMenu(menu)
Exemple #2
0
    def onMouseMotion(self, e):
        if self._next_click_is_invalid:
            self._next_click_is_invalid = False
            return
        self._app.getView().updateMousePos(e.GetX(), e.GetY())
        if self._activeTool is not None:
            dx, dy = (e.GetX() - self._mousePos[0], e.GetY() - self._mousePos[1])
            self._activeTool.onMouseMove(e.GetX(), e.GetY(), dx, dy)

        focusObj = self._app.getView().getFocusObject()
        if focusObj is not None and hasattr(focusObj, 'getName') and self._activeTool is None:
            if hasattr(focusObj, 'getInfoString'):
                showTooltip(focusObj.getName() + '\n' + focusObj.getInfoString())
            else:
                showTooltip(focusObj.getName())
        else:
            if self._activeTool is not None and self._activeTool.getTooltip() is not None:
                showTooltip(self._activeTool.getTooltip())
            else:
                hideTooltip()
        self._mousePos = (e.GetX(), e.GetY())
Exemple #3
0
 def _onExit(self, e):
     hideTooltip(self)
Exemple #4
0
 def OnMouseExit(self, e):
     ctrl = e.GetEventObject()
     hideTooltip(ctrl)
     e.Skip()