grpc/pygui: updated delete_node to use the source, updated pygui to support delete node events

This commit is contained in:
Blake Harnden 2020-06-26 21:45:29 -07:00
parent adf28f6b55
commit e79645013b
6 changed files with 31 additions and 9 deletions

View file

@ -226,10 +226,17 @@ class CoreClient:
def handle_node_event(self, event: NodeEvent) -> None:
logging.debug("node event: %s", event)
node_id = event.node.id
x = event.node.position.x
y = event.node.position.y
canvas_node = self.canvas_nodes[node_id]
canvas_node.move(x, y)
if event.message_type == MessageType.NONE:
x = event.node.position.x
y = event.node.position.y
canvas_node.move(x, y)
elif event.message_type == MessageType.DELETE:
self.app.canvas.clear_selection()
self.app.canvas.select_object(canvas_node.id)
self.app.canvas.delete_selected_objects()
else:
logging.warning("unknown node event: %s", event)
def enable_throughputs(self) -> None:
self.handling_throughputs = self.client.throughputs(

View file

@ -271,12 +271,12 @@ class CanvasNode:
def canvas_delete(self) -> None:
self.canvas.clear_selection()
self.canvas.selection[self.id] = self
self.canvas.select_object(self.id)
self.canvas.delete_selected_objects()
def canvas_copy(self) -> None:
self.canvas.clear_selection()
self.canvas.selection[self.id] = self
self.canvas.select_object(self.id)
self.canvas.copy()
def show_config(self) -> None: