Пример #1
0
 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()
Пример #2
0
    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()
Пример #3
0
    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()
Пример #4
0
 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()
Пример #5
0
 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()
Пример #6
0
    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()