def eventFilter(self, obj, event): """ Reimplemented to trap key presses. """ if (self.__editor.control and obj == self.__editor.control and event.type() == QtCore.QEvent.FocusOut): # Hack for Traits UI compatibility. self.__editor.control.emit(QtCore.SIGNAL('lostFocus')) elif (self.__editor.control and obj == self.__editor.control.code and event.type() == QtCore.QEvent.KeyPress): # Pyface doesn't seem to be Unicode aware. Only keep the key code # if it corresponds to a single Latin1 character. kstr = event.text() try: kcode = ord(str(kstr)) except: kcode = 0 mods = event.modifiers() self.key_pressed = KeyPressedEvent( alt_down = ((mods & QtCore.Qt.AltModifier) == QtCore.Qt.AltModifier), control_down = ((mods & QtCore.Qt.ControlModifier) == QtCore.Qt.ControlModifier), shift_down = ((mods & QtCore.Qt.ShiftModifier) == QtCore.Qt.ShiftModifier), key_code = kcode, event = event) return super(PythonEditorEventFilter, self).eventFilter(obj, event)
def _wx_on_char(self, event): """ Called whenever a change is made to the text of the document. """ # This was originally in the python_shell plugin, but is toolkit # specific. if event.m_altDown and event.m_keyCode == 317: zoom = self.shell.control.GetZoom() if zoom != 20: self.control.SetZoom(zoom+1) elif event.m_altDown and event.m_keyCode == 319: zoom = self.shell.control.GetZoom() if zoom != -10: self.control.SetZoom(zoom-1) self.key_pressed = KeyPressedEvent( alt_down = event.m_altDown == 1, control_down = event.m_controlDown == 1, shift_down = event.m_shiftDown == 1, key_code = event.m_keyCode, event = event ) # Give other event handlers a chance. event.Skip()
def eventFilter(self, obj, e): """ Adds any event listeners required by the window. """ window = self._window # Sanity check. if obj is not window.control: return False if e.type() == QtCore.QEvent.Close: # Do not destroy the window during its event handler. GUI.invoke_later(window.close) if window.control is not None: e.ignore() return True if e.type() == QtCore.QEvent.WindowActivate: window.activated = window elif e.type() == QtCore.QEvent.WindowDeactivate: window.deactivated = window elif e.type() == QtCore.QEvent.Resize: # Get the new size and set the shadow trait without performing # notification. size = e.size() window._size = (size.width(), size.height()) elif e.type() == QtCore.QEvent.Move: # Get the real position and set the trait without performing # notification. Don't use event.pos(), as this excludes the window # frame geometry. pos = window.control.pos() window._position = (pos.x(), pos.y()) elif e.type() == QtCore.QEvent.KeyPress: # Pyface doesn't seem to be Unicode aware. Only keep the key code # if it corresponds to a single Latin1 character. kstr = e.text() try: kcode = ord(str(kstr)) except: kcode = 0 mods = e.modifiers() window.key_pressed = KeyPressedEvent( alt_down=((mods & QtCore.Qt.AltModifier) == QtCore.Qt.AltModifier), control_down=(( mods & QtCore.Qt.ControlModifier) == QtCore.Qt.ControlModifier), shift_down=( (mods & QtCore.Qt.ShiftModifier) == QtCore.Qt.ShiftModifier), key_code=kcode, event=e) return False
def _wx_on_char(self, event): """ Called when a key is pressed when the tree has focus. """ self.key_pressed = KeyPressedEvent( alt_down=event.m_altDown == 1, control_down=event.m_controlDown == 1, shift_down=event.m_shiftDown == 1, key_code=event.m_keyCode, event=event) event.Skip()
def _on_char(self, event): """ Called when a key is pressed when the tree has focus. """ self.key_pressed = KeyPressedEvent( alt_down=event.altDown, control_down=event.controlDown, shift_down=event.shiftDown, key_code=event.KeyCode, ) event.Skip()
def _wx_on_char(self, event): """ Called whenever a change is made to the text of the document. """ self.key_pressed = KeyPressedEvent( alt_down=event.AltDown() == 1, control_down=event.ControlDown() == 1, shift_down=event.ShiftDown() == 1, key_code=event.GetKeyCode(), event=event) # Give other event handlers a chance. event.Skip()
def _on_char(self, event): """ Called when a key is pressed when the tree has focus. """ self.key_pressed = KeyPressedEvent(alt_down=event.AltDown(), control_down=event.ControlDown(), shift_down=event.ShiftDown(), key_code=event.KeyCode) event.Skip() return
def _on_char(self, event): """ Called whenever a change is made to the text of the document. """ self.key_pressed = KeyPressedEvent( alt_down=event.m_altDown == 1, control_down=event.m_controlDown == 1, shift_down=event.m_shiftDown == 1, key_code=event.m_keyCode, event=event) # Give other event handlers a chance. event.Skip() return
def keyPressEvent(self, event): """ Reimplemented to generate Pyface key press events. """ # Pyface doesn't seem to be Unicode aware. Only keep the key code if it # corresponds to a single Latin1 character. kstr = event.text() try: kcode = ord(str(kstr)) except: kcode = 0 mods = event.modifiers() self._pyface_widget.key_pressed = KeyPressedEvent( alt_down=((mods & QtCore.Qt.AltModifier) == QtCore.Qt.AltModifier), control_down=( (mods & QtCore.Qt.ControlModifier) == QtCore.Qt.ControlModifier), shift_down=(( mods & QtCore.Qt.ShiftModifier) == QtCore.Qt.ShiftModifier), key_code=kcode, event=event) super(PyfacePythonWidget, self).keyPressEvent(event)
def eventFilter(self, obj, e): """ Adds any event listeners required by the window. """ window = self._window() # Sanity check. if window is None or obj is not window.control: return False typ = e.type() if typ == QtCore.QEvent.Type.Close: # Do not destroy the window during its event handler. GUI.invoke_later(window.close) if window.control is not None: e.ignore() return True if typ == QtCore.QEvent.Type.WindowActivate: window.activated = window elif typ == QtCore.QEvent.Type.WindowDeactivate: window.deactivated = window elif typ in {QtCore.QEvent.Type.Show, QtCore.QEvent.Type.Hide}: window.visible = window.control.isVisible() elif typ == QtCore.QEvent.Type.Resize: # Get the new size and set the shadow trait without performing # notification. size = e.size() window._size = (size.width(), size.height()) elif typ == QtCore.QEvent.Type.Move: # Get the real position and set the trait without performing # notification. Don't use event.pos(), as this excludes the window # frame geometry. pos = window.control.pos() window._position = (pos.x(), pos.y()) elif typ == QtCore.QEvent.Type.KeyPress: # Pyface doesn't seem to be Str aware. Only keep the key code # if it corresponds to a single Latin1 character. kstr = e.text() try: kcode = ord(str(kstr)) except: kcode = 0 mods = e.modifiers() window.key_pressed = KeyPressedEvent( alt_down=((mods & QtCore.Qt.KeyboardModifier.AltModifier ) == QtCore.Qt.KeyboardModifier.AltModifier), control_down=((mods & QtCore.Qt.KeyboardModifier.ControlModifier) == QtCore.Qt.KeyboardModifier.ControlModifier), shift_down=((mods & QtCore.Qt.KeyboardModifier.ShiftModifier ) == QtCore.Qt.KeyboardModifier.ShiftModifier), key_code=kcode, event=e, ) elif typ == QtCore.QEvent.Type.WindowStateChange: # set the size_state of the window. state = obj.windowState() if state & QtCore.Qt.WindowState.WindowMaximized: window.size_state = "maximized" else: window.size_state = "normal" return False