def keyPressEvent(self, evt): res = False if hasattr(self, "manager"): res = self.manager.handleEvent(EventType.TEXTCHANGED, evt) if not res: QextScintilla.keyPressEvent(self, evt)
def keyPressEvent(self, e): """ Handle user input a key at a time. """ text = e.text() key = e.key() ascii = e.ascii() y, x = self.getCursorPosition() if self.autoCompletionActive(): return QextScintilla.keyPressEvent(self, e) if text.length() and ascii>=32 and ascii<127: QextScintilla.keyPressEvent(self, e) self.complete() return if e.state() & Qt.ControlButton or e.state() & Qt.ShiftButton: e.ignore() return if key == Qt.Key_Backspace: if x > 4: QextScintilla.keyPressEvent (self, e) elif key == Qt.Key_Delete: QextScintilla.keyPressEvent (self, e) elif key == Qt.Key_Return or key == Qt.Key_Enter: if self.autoCompletionActive(): QextScintilla.keyPressEvent(self, e) else: if self.reading: self.reading = False else: self.write('\n') self.run() elif key == Qt.Key_Tab: self.complete() # self.__insertText(text) elif key == Qt.Key_Left: if x > 4: QextScintilla.keyPressEvent (self, e) elif key == Qt.Key_Right: QextScintilla.keyPressEvent (self, e) elif key == Qt.Key_Home: self.setCursorPosition(y, 4) elif key == Qt.Key_End: QextScintilla.keyPressEvent (self, e) elif key == Qt.Key_Up: if len(self.history): if self.pointer == 0: self.pointer = len(self.history) self.pointer -= 1 self.__recall() elif key == Qt.Key_Down: if len(self.history): self.pointer += 1 if self.pointer == len(self.history): self.pointer = 0 self.__recall() else: e.ignore()
def keyPressEvent(self, e): """ Handle user input a key at a time. """ text = e.text() key = e.key() ascii = e.ascii() y, x = self.getCursorPosition() if self.autoCompletionActive(): return QextScintilla.keyPressEvent(self, e) if text.length() and ascii >= 32 and ascii < 127: QextScintilla.keyPressEvent(self, e) self.complete() return if e.state() & Qt.ControlButton or e.state() & Qt.ShiftButton: e.ignore() return if key == Qt.Key_Backspace: if x > 4: QextScintilla.keyPressEvent(self, e) elif key == Qt.Key_Delete: QextScintilla.keyPressEvent(self, e) elif key == Qt.Key_Return or key == Qt.Key_Enter: if self.autoCompletionActive(): QextScintilla.keyPressEvent(self, e) else: if self.reading: self.reading = False else: self.write('\n') self.run() elif key == Qt.Key_Tab: self.complete() # self.__insertText(text) elif key == Qt.Key_Left: if x > 4: QextScintilla.keyPressEvent(self, e) elif key == Qt.Key_Right: QextScintilla.keyPressEvent(self, e) elif key == Qt.Key_Home: self.setCursorPosition(y, 4) elif key == Qt.Key_End: QextScintilla.keyPressEvent(self, e) elif key == Qt.Key_Up: if len(self.history): if self.pointer == 0: self.pointer = len(self.history) self.pointer -= 1 self.__recall() elif key == Qt.Key_Down: if len(self.history): self.pointer += 1 if self.pointer == len(self.history): self.pointer = 0 self.__recall() else: e.ignore()