From 1dca477e6df5b1af996c2e73e51e1e51ba5ab615 Mon Sep 17 00:00:00 2001 From: Huy Pham <42948410+hpham@users.noreply.github.com> Date: Mon, 24 Feb 2020 11:17:06 -0800 Subject: [PATCH] disable delete, copy, paste during runtime --- daemon/core/gui/coreclient.py | 3 +++ daemon/core/gui/graph/graph.py | 9 ++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/daemon/core/gui/coreclient.py b/daemon/core/gui/coreclient.py index 7d8e832c..89ce7ba0 100644 --- a/daemon/core/gui/coreclient.py +++ b/daemon/core/gui/coreclient.py @@ -1064,3 +1064,6 @@ class CoreClient: def service_been_modified(self, node_id: int) -> bool: return node_id in self.modified_service_nodes + + def is_runtime_state(self): + return self.state == core_pb2.SessionState.RUNTIME diff --git a/daemon/core/gui/graph/graph.py b/daemon/core/gui/graph/graph.py index 7905ed8c..d07039d4 100644 --- a/daemon/core/gui/graph/graph.py +++ b/daemon/core/gui/graph/graph.py @@ -656,8 +656,11 @@ class CanvasGraph(tk.Canvas): delete selected nodes and any data that relates to it """ logging.debug("press delete key") - nodes = self.delete_selection_objects() - self.core.delete_graph_nodes(nodes) + if not self.app.core.is_runtime_state(): + nodes = self.delete_selection_objects() + self.core.delete_graph_nodes(nodes) + else: + logging.debug("node deletion is disabled during runtime") def double_click(self, event: tk.Event): selected = self.get_selected(event) @@ -850,7 +853,7 @@ class CanvasGraph(tk.Canvas): self.core.create_link(edge, source, dest) def copy(self): - if self.selection: + if self.selection and not self.app.core.is_runtime_state(): logging.debug("to copy %s nodes", len(self.selection)) self.to_copy = self.selection.keys()