pygui: fix redrawing edge labels for multiple canvases, updated edit menu to account for multiple canvases, fixed issue with not setting menubar state when joining a session, starting point for hide/show nodes and related edges

This commit is contained in:
Blake Harnden 2021-01-08 10:10:46 -08:00
parent bc540e0669
commit 35cc8fab65
8 changed files with 83 additions and 23 deletions

View file

@ -306,6 +306,32 @@ class CanvasGraph(tk.Canvas):
self.selection.clear()
self.core.deleted_canvas_nodes(nodes)
def hide_selected_objects(self) -> None:
edges = set()
for object_id in self.selection:
# delete selection box
selection_id = self.selection[object_id]
self.delete(selection_id)
# hide node and related edges
if object_id in self.nodes:
canvas_node = self.nodes[object_id]
canvas_node.hide()
# hide related edges
for edge in canvas_node.edges:
if edge in edges:
continue
edges.add(edge)
def show_hidden(self) -> None:
edges = set()
for node in self.nodes.values():
node.show()
for edge in node.edges:
if edge in edges:
continue
edges.add(edge)
def zoom(self, event: tk.Event, factor: float = None) -> None:
if not factor:
factor = ZOOM_IN if event.delta > 0 else ZOOM_OUT