[ui] Graph: Add clearSelectedNodesData method

Convenient function to directly work on the current node selection.
This commit is contained in:
Yann Lanthony 2024-12-06 10:14:50 +01:00
parent 8dbcfa392f
commit cdfa6186b1
2 changed files with 10 additions and 7 deletions

View file

@ -813,21 +813,24 @@ class UIGraph(QObject):
# update the edges from allSrc # update the edges from allSrc
allSrc = [e.src for e in self._graph.edges.values()] allSrc = [e.src for e in self._graph.edges.values()]
@Slot()
def clearSelectedNodesData(self):
"""Clear data from all selected nodes."""
self.clearData(self.iterSelectedNodes())
@Slot(QObject) @Slot(list)
def clearData(self, nodes): def clearData(self, nodes: list[Node]):
""" Clear data from 'nodes'. """ """ Clear data from 'nodes'. """
nodes = self.filterNodes(nodes)
for n in nodes: for n in nodes:
n.clearData() n.clearData()
@Slot(QObject) @Slot(list)
def clearDataFrom(self, nodes): def clearDataFrom(self, nodes: list[Node]):
""" """
Clear data from all nodes starting from 'nodes' to graph leaves. Clear data from all nodes starting from 'nodes' to graph leaves.
Args: Args:
nodes (list[Node]): the nodes to start from. nodes: The nodes to start from.
""" """
self.clearData(self._graph.dfsOnDiscover(startNodes=nodes, reverse=True, dependenciesOnly=True)[0]) self.clearData(self._graph.dfsOnDiscover(startNodes=nodes, reverse=True, dependenciesOnly=True)[0])

View file

@ -815,7 +815,7 @@ Item {
if (deleteFollowing) if (deleteFollowing)
uigraph.clearDataFrom(uigraph.selectedNodes); uigraph.clearDataFrom(uigraph.selectedNodes);
else else
uigraph.clearData(uigraph.selectedNodes); uigraph.clearSelectedNodesData();
dataDeleted(); dataDeleted();
} }
onClosed: destroy() onClosed: destroy()