def _on_view_selection_changed(self): view = self.view assert view selection = view.selection self.event_manager.handle( DiagramSelectionChanged(view, selection.focused_item, selection.selected_items))
def _on_switch_page(self, notebook, page, new_page_num): current_page_num = notebook.get_current_page() if current_page_num >= 0: self._clear_ui_settings(notebook.get_nth_page(current_page_num)) self._add_ui_settings(page) view = page.diagram_page.view self.event_manager.handle( DiagramSelectionChanged(view, view.focused_item, view.selected_items))
def paste_action(self): view = self.diagrams.get_current_view() diagram = self.diagrams.get_current_diagram() if not (view and view.is_focus()): return if not copy_buffer: return new_items = self.paste(diagram) selection = view.selection selection.unselect_all() selection.select_items(*new_items) self.event_manager.handle(DiagramSelectionChanged(view, None, new_items))
def create_tab(self, title, widget): """Creates a new Notebook tab with a label and close button. Args: title (str): The title of the tab, the diagram name. widget (Gtk.Widget): The child widget of the tab. """ page_num = self._notebook.append_page(child=widget, tab_label=self.tab_label( title, widget)) self._notebook.set_current_page(page_num) self._notebook.set_tab_reorderable(widget, True) view = widget.diagram_page.view self.event_manager.handle( DiagramSelectionChanged(view, view.focused_item, view.selected_items))
def paste_action(self): view = self.diagrams.get_current_view() diagram = self.diagrams.get_current_diagram() if not view: return if not self.copy_buffer: return new_items = self.paste(diagram) view.unselect_all() for item in new_items: view.select_item(item) self.event_manager.handle( DiagramSelectionChanged(view, None, new_items))
def paste_action(self): view = self.diagrams.get_current_view() diagram = self.diagrams.get_current_diagram() if not view: return new_items = self.paste(diagram) focused_item = view.focused_item view.unselect_all() for item in new_items.values(): view.select_item(item) new_focused_item = (new_items[focused_item.id] if focused_item else new_items.pop()) self.event_manager.handle( DiagramSelectionChanged(view, new_focused_item, new_items))
def _on_view_selection_changed(self, view, selection_or_focus): self.event_manager.handle( DiagramSelectionChanged(view, view.focused_item, view.selected_items))