From 2af3877727f3a239a5130f1b0f48eb1302ab4ec9 Mon Sep 17 00:00:00 2001 From: Simon D Fink Date: Wed, 31 Jul 2024 11:58:56 +0200 Subject: [PATCH] clean-up widget GraphObservers --- src/ogdf_python/matplotlib/widget.py | 34 ++++++++++++++++------------ 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/src/ogdf_python/matplotlib/widget.py b/src/ogdf_python/matplotlib/widget.py index 36ee882..5f41746 100644 --- a/src/ogdf_python/matplotlib/widget.py +++ b/src/ogdf_python/matplotlib/widget.py @@ -452,16 +452,6 @@ def __init__(self, *args, **kwargs): self.ax.figure.canvas.mpl_connect('button_release_event', self._on_release) self.ax.figure.canvas.mpl_connect('motion_notify_event', self._on_motion) - def nodeDeleted(self, node): - if self.selected == node: - self.unselect() - super().nodeDeleted(node) - - def edgeDeleted(self, edge): - if self.selected == edge: - self.unselect() - super().edgeDeleted(edge) - def unselect(self, notify=True): if self.selected is None: return @@ -492,18 +482,32 @@ def select(self, elem, notify=True): if notify: self.on_selection_changed() - self.ax.figure.canvas.draw_idle() + self.ax.figure.canvas.draw_idle() - def update_edge(self, e): - super().update_edge(e) - if e == self.selected: - self.select(e, notify=False) + def cleared(self): + self.unselect() + super().cleared() + + def nodeDeleted(self, node): + if self.selected == node: + self.unselect() + super().nodeDeleted(node) + + def edgeDeleted(self, edge): + if self.selected == edge: + self.unselect() + super().edgeDeleted(edge) def update_node(self, n): super().update_node(n) if n == self.selected: self.select(n, notify=False) + def update_edge(self, e): + super().update_edge(e) + if e == self.selected: + self.select(e, notify=False) + def process_action(self, t, i): if t == "select": self.select(i)