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))
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()
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)
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
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)
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
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))