Example #1
0
    def _register_keys(self):
        r = self.focus_keymap.register_key
        r(Key(pygame.KMOD_CTRL, pygame.K_RIGHT), keydown_noarg(self._move_right))
        r(Key(pygame.KMOD_CTRL, pygame.K_LEFT), keydown_noarg(self._move_left))
        r(Key(pygame.KMOD_CTRL, pygame.K_UP), keydown_noarg(self._move_up))
        r(Key(pygame.KMOD_CTRL, pygame.K_DOWN), keydown_noarg(self._move_down))

        r(Key(0, pygame.K_RETURN), keydown_noarg(self._edit_value))
Example #2
0
 def _register_keys(self):
     self.parenting_keymap = Keymap()
     r = self.keymap.register_key
     r(self.key_create_node, keydown_noarg(self._create_new_node))
     r(self.key_cycle_layout, keydown_noarg(self._cycle_layout_engine))
     r(self.key_save, keydown_noarg(self._save))
     r(self.key_load, keydown_noarg(self._load))
     r(self.key_export_snapshot, keydown_noarg(self._export_snapshot))
     self._set_next_keymap()
Example #3
0
 def _set_next_keymap(self):
     self.keymap.set_next_keymap(self.parenting_keymap)
     if self.selected_widget_index is not None:
         self.parenting_keymap.set_next_keymap(self.selected()[1].keymap)
         r = self.parenting_keymap.register_key
         r(self.key_delete_node, keydown_noarg(self._delete_selected_node))
         r(self.key_next_node, keydown_noarg(self._next_node))
         r(self.key_prev_node, keydown_noarg(self._prev_node))
         r(self.key_select_node_right, keydown_noarg(self._select_node_right))
         r(self.key_select_node_left, keydown_noarg(self._select_node_left))
         r(self.key_select_node_up, keydown_noarg(self._select_node_up))
         r(self.key_select_node_down, keydown_noarg(self._select_node_down))
         if self.key_connect not in self.parenting_keymap:
             r(self.key_connect, keydown_noarg(self._start_connect))
         if self.key_disconnect not in self.parenting_keymap:
             r(self.key_disconnect, keydown_noarg(self._start_disconnect))
     else:
         ur = self.parenting_keymap.unregister_key
         ur(self.key_next_node)
         ur(self.key_prev_node)
         ur(self.key_select_node_right)
         ur(self.key_select_node_left)
         ur(self.key_select_node_up)
         ur(self.key_select_node_down)
         ur(self.key_delete_node)
         ur(self.key_connect)
         ur(self.key_disconnect)
         self.parenting_keymap.set_next_keymap(self.focus_keymap)
Example #4
0
    def _node_linking_started(self, key, start_func, connect_func, color, doc):
        r = self.parenting_keymap.register_key
        ur = self.parenting_keymap.unregister_key
        start_node, start_node_widget = self.selected()
        assert start_node is not None
        def _end_connect():
            ur(key)
            r(key, keydown_noarg(start_func))

            end_node, end_node_widget = self.sorted_widgets[self.selected_widget_index]
            self._node_link_func(start_node, end_node)
            self._node_link_start_pos = None
            self._node_link_end_pos = None
        _end_connect.__doc__ = doc
        
        def _start_pos():
            return start_node_widget.rect().center
        def _end_pos():
            n, w = self.selected()
            if w is None:
                return None
            return w.rect().center

        ur(key)
        r(key, keydown_noarg(_end_connect))
        self._node_link_start_pos = _start_pos
        self._node_link_end_pos = _end_pos
        self._node_link_color = color
        self._node_link_func = connect_func
Example #5
0
 def __init__(self):
     self.global_keymap = Keymap()
     self.global_keymap.register_key(Key(pygame.KMOD_CTRL, pygame.K_q),
                                     keydown_noarg(self._quit))
     self.global_keymap.activate()
     self.mouse_map = MouseMap()
     self.lc = LoopingCall(self._iteration)
Example #6
0
        def _end_connect():
            ur(key)
            r(key, keydown_noarg(start_func))

            end_node, end_node_widget = self.sorted_widgets[self.selected_widget_index]
            self._node_link_func(start_node, end_node)
            self._node_link_start_pos = None
            self._node_link_end_pos = None
Example #7
0
 def _edit_value(self):
     '''Edit value'''
     self.keymap.set_next_keymap(self.text_widget.focus_keymap)
     self.text_widget._start_editing()
     self.keymap.register_key(self.key_stop_edit, keydown_noarg(self._stop_edit_value))