8400 @param evt event object |
8400 @param evt event object |
8401 @type QMouseEvent |
8401 @type QMouseEvent |
8402 """ |
8402 """ |
8403 modifiers = evt.modifiers() |
8403 modifiers = evt.modifiers() |
8404 button = evt.button() |
8404 button = evt.button() |
8405 key = (modifiers.value, button.value) |
8405 key = (modifiers, button) |
8406 |
8406 |
8407 self.vm.eventFilter(self, evt) |
8407 self.vm.eventFilter(self, evt) |
8408 super().mouseReleaseEvent(evt) |
8408 super().mouseReleaseEvent(evt) |
8409 |
8409 |
8410 if ( |
8410 if ( |
8428 @param function handler function |
8428 @param function handler function |
8429 @type func |
8429 @type func |
8430 @return flag indicating success |
8430 @return flag indicating success |
8431 @rtype bool |
8431 @rtype bool |
8432 """ |
8432 """ |
8433 if int(button): |
8433 if button and button != Qt.MouseButton.NoButton: |
8434 key = (int(modifiers), int(button)) |
8434 key = (modifiers, button) |
8435 if key in self.__mouseClickHandlers: |
8435 if key in self.__mouseClickHandlers: |
8436 EricMessageBox.warning( |
8436 EricMessageBox.warning( |
8437 self, |
8437 self, |
8438 self.tr("Register Mouse Click Handler"), |
8438 self.tr("Register Mouse Click Handler"), |
8439 self.tr("""A mouse click handler for "{0}" was already""" |
8439 self.tr("""A mouse click handler for "{0}" was already""" |
8459 @param button mouse button of the handler |
8459 @param button mouse button of the handler |
8460 @type Qt.MouseButton |
8460 @type Qt.MouseButton |
8461 @return plug-in name and registered function |
8461 @return plug-in name and registered function |
8462 @rtype tuple of str and func |
8462 @rtype tuple of str and func |
8463 """ |
8463 """ |
8464 key = (int(modifiers), int(button)) |
8464 key = (modifiers, button) |
8465 if key in self.__mouseClickHandlers: |
8465 if key in self.__mouseClickHandlers: |
8466 return self.__mouseClickHandlers[key] |
8466 return self.__mouseClickHandlers[key] |
8467 else: |
8467 else: |
8468 return ("", None) |
8468 return ("", None) |
8469 |
8469 |
8474 |
8474 |
8475 @param name name of the plug-in |
8475 @param name name of the plug-in |
8476 @type str |
8476 @type str |
8477 @return registered mouse click handlers as list of modifiers, |
8477 @return registered mouse click handlers as list of modifiers, |
8478 mouse button and function |
8478 mouse button and function |
8479 @rtype list of tuple of (Qt.KeyboardModifiers, Qt.MouseButton,func) |
8479 @rtype list of tuple of (Qt.KeyboardModifiers, Qt.MouseButton, func) |
8480 """ |
8480 """ |
8481 lst = [] |
8481 lst = [] |
8482 for key, value in self.__mouseClickHandlers.items(): |
8482 for key, value in self.__mouseClickHandlers.items(): |
8483 if value[0] == name: |
8483 if value[0] == name: |
8484 lst.append((key[0], key[1], value[1])) |
8484 lst.append((key[0], key[1], value[1])) |
8491 @param modifiers keyboard modifiers of the handler |
8491 @param modifiers keyboard modifiers of the handler |
8492 @type Qt.KeyboardModifiers |
8492 @type Qt.KeyboardModifiers |
8493 @param button mouse button of the handler |
8493 @param button mouse button of the handler |
8494 @type Qt.MouseButton |
8494 @type Qt.MouseButton |
8495 """ |
8495 """ |
8496 key = (int(modifiers), int(button)) |
8496 key = (modifiers, button) |
8497 if key in self.__mouseClickHandlers: |
8497 if key in self.__mouseClickHandlers: |
8498 del self.__mouseClickHandlers[key] |
8498 del self.__mouseClickHandlers[key] |
8499 |
8499 |
8500 def removeMouseClickHandlers(self, name): |
8500 def removeMouseClickHandlers(self, name): |
8501 """ |
8501 """ |
8509 for key in self.__mouseClickHandlers: |
8509 for key in self.__mouseClickHandlers: |
8510 if self.__mouseClickHandlers[key][0] == name: |
8510 if self.__mouseClickHandlers[key][0] == name: |
8511 keys.append(key) |
8511 keys.append(key) |
8512 for key in keys: |
8512 for key in keys: |
8513 del self.__mouseClickHandlers[key] |
8513 del self.__mouseClickHandlers[key] |
|
8514 |
|
8515 ####################################################################### |
|
8516 ## Methods implementing a Shell interface |
|
8517 ####################################################################### |
8514 |
8518 |
8515 def __executeSelection(self): |
8519 def __executeSelection(self): |
8516 """ |
8520 """ |
8517 Private slot to execute the selected text in the shell window. |
8521 Private slot to execute the selected text in the shell window. |
8518 """ |
8522 """ |