def on_key(self, event: wx.KeyEvent): """key push events controller can use following shortcut keys Ctrl + C : copy selected cell Ctrl + V : paste text data Delete : delete all selected cells data ... and more. coming soon? :param event: :return: """ # print(event.GetKeyCode()) if event.ControlDown() and event.GetKeyCode() == KEY_CODE_C: self.copy() print('Do Copy!') if event.ControlDown() and event.GetKeyCode() == KEY_CODE_V: print('Do Paste!') self.paste() if event.ControlDown() and event.GetKeyCode() == KEY_CODE_Z: print('Undo!') if event.GetKeyCode() == KEY_CODE_BS and \ event.GetKeyCode() == KEY_CODE_D: print('Cell Delete!') if event.GetKeyCode() == wx.WXK_DELETE: self.delete() print('Range Delete!') return # not cell activate if delete key pushed # do other default events event.DoAllowNextEvent()
def on_key_press(self, event: wx.KeyEvent): widget = self.FindFocus() if isinstance(widget, wx.Control) and widget != self.object_list: # check if we are in a widget taking user input. ignore our shortcuts, then # the default widget with keyboard focus is the object list for some reason, so don't ignore then event.Skip() return key = event.GetKeyCode() if key in [wx.WXK_DELETE, wx.WXK_NUMPAD_DELETE]: self.remove_selected_objects() elif event.ControlDown(): key = event.GetUnicodeKey() if key == wx.WXK_NONE: return if key == ord("C"): self._copy_objects() elif key == ord("V"): self._paste_objects() elif key == ord("X"): self._cut_object() self.level_view.Refresh() else: event.Skip()
def onKeyDown(self, event: wx.KeyEvent): eventParams = TextEditorKeyDownParams(self, event.GetKeyCode(), event.GetUnicodeKey(), event.ControlDown(), event.ShiftDown(), event.AltDown(), event.CmdDown(), event.MetaDown()) Application.onTextEditorKeyDown(Application.selectedPage, eventParams) if not eventParams.disableOutput: super().onKeyDown(event) self._checkCaretMoving()
def _on_key_press(self, event: wx.KeyEvent): key = event.GetUnicodeKey() if key == wx.WXK_NONE: key = event.GetKeyCode() self._keys_pressed.add(key) if key == wx.WXK_ESCAPE: self._escape() if event.ControlDown() and key != wx.WXK_CONTROL: if key == 71: location = show_goto(self, *self._camera[:3]) if location: self._camera[:3] = location self._collision_locations_cache = None self._transformation_matrix = None self._change_box_location() event.Skip()
def on_key_press(self, event: wx.KeyEvent): key_code = event.KeyCode ctrl_down = event.ControlDown() if key_code == wx.WXK_LEFT: if ctrl_down: self.canvas.object.rotate(self.canvas.rot_point.point, ROTATE_STEP) else: self.canvas.object.shift(-SHIFT_STEP, 0) self.Refresh() elif key_code == wx.WXK_RIGHT: if ctrl_down: self.canvas.object.rotate(self.canvas.rot_point.point, -ROTATE_STEP) else: self.canvas.object.shift(SHIFT_STEP, 0) self.Refresh() elif key_code == wx.WXK_UP: self.canvas.object.shift(0, SHIFT_STEP) self.Refresh() elif key_code == wx.WXK_DOWN: self.canvas.object.shift(0, -SHIFT_STEP) self.Refresh()
def _on_key_down(self, event: wx.KeyEvent): if event.GetKeyCode() == wx.WXK_RETURN or event.GetKeyCode( ) == wx.WXK_TAB: if event.ControlDown(): # the edit control needs this key event.Skip() else: self.DisableCellEditControl() if event.ShiftDown(): (row, col) = self.GetTable().get_prev_cursor_rowcol( self.GetGridCursorRow(), self.GetGridCursorCol()) else: (row, col) = self.GetTable().get_next_cursor_rowcol( self.GetGridCursorRow(), self.GetGridCursorCol()) self.SetGridCursor(row, col) self.MakeCellVisible(row, col) # Shift+Up elif event.ShiftDown() and event.GetKeyCode() == wx.WXK_UP: self._on_range_selecting_keyboard(row_diff=-1) # Shift+Down elif event.ShiftDown() and event.GetKeyCode() == wx.WXK_DOWN: self._on_range_selecting_keyboard(row_diff=1) # Shift+Left elif event.ShiftDown() and event.GetKeyCode() == wx.WXK_LEFT: self._on_range_selecting_keyboard(col_diff=-1) # Shift+Right elif event.ShiftDown() and event.GetKeyCode() == wx.WXK_RIGHT: self._on_range_selecting_keyboard(col_diff=1) # Ctrl+Z elif event.ControlDown() and event.GetKeyCode() == ord("Z"): self._undo() # Ctrl+Y elif event.ControlDown() and event.GetKeyCode() == ord("Y"): self._redo() # Ctrl+X elif event.ControlDown() and event.GetKeyCode() == ord("X"): self._cut_selection() # Ctrl+C elif event.ControlDown() and event.GetKeyCode() == ord("C"): self._copy_selection() elif event.ControlDown() and event.GetKeyCode() == ord("V"): # Ctrl+Shift+V if event.ShiftDown(): self._paste(insert=True) # Ctrl+V else: self._paste(overwrite=True) # Ctrl+A elif event.ControlDown() and event.GetKeyCode() == ord("A"): self.select_range(0, len(self._binary_data) - 1) else: event.Skip()