[ui][commands] Duplicate/UpgradeNode: return created Node instances

This commit is contained in:
Yann Lanthony 2018-07-26 22:00:27 +02:00
parent 734540abba
commit 830173047c
3 changed files with 9 additions and 9 deletions

View file

@ -482,7 +482,7 @@ class Graph(BaseObject):
except (KeyError, ValueError) as e:
logging.warning("Failed to restore edge {} -> {}: {}".format(src, dst, str(e)))
return inEdges, outEdges
return upgradedNode, inEdges, outEdges
def upgradeAllNodes(self):
""" Upgrade all upgradable CompatibilityNode instances in the graph. """

View file

@ -149,14 +149,14 @@ class DuplicateNodeCommand(GraphCommand):
srcNode = self.graph.node(self.srcNodeName)
if self.duplicateFollowingNodes:
duplicates = self.graph.duplicateNodesFromNode(srcNode)
self.duplicates = [n.name for n in duplicates.values()]
duplicates = list(self.graph.duplicateNodesFromNode(srcNode).values())
self.setText("Duplicate {} nodes from {}".format(len(duplicates), self.srcNodeName))
else:
self.duplicates = [self.graph.duplicateNode(srcNode).name]
duplicates = [self.graph.duplicateNode(srcNode)]
self.setText("Duplicate {}".format(self.srcNodeName))
return self.duplicates
self.duplicates = [n.name for n in duplicates]
return duplicates
def undoImpl(self):
# delete all the duplicated nodes
@ -289,8 +289,8 @@ class UpgradeNodeCommand(GraphCommand):
def redoImpl(self):
if not self.graph.node(self.nodeName).canUpgrade:
return False
inEdges, self.outEdges = self.graph.upgradeNode(self.nodeName)
return True
upgradedNode, inEdges, self.outEdges = self.graph.upgradeNode(self.nodeName)
return upgradedNode
def undoImpl(self):
# delete upgraded node

View file

@ -417,10 +417,10 @@ class UIGraph(QObject):
"""
return self.push(commands.DuplicateNodeCommand(self._graph, srcNode, duplicateFollowingNodes))
@Slot(CompatibilityNode)
@Slot(CompatibilityNode, result=Node)
def upgradeNode(self, node):
""" Upgrade a CompatibilityNode. """
self.push(commands.UpgradeNodeCommand(self._graph, node))
return self.push(commands.UpgradeNodeCommand(self._graph, node))
@Slot()
def upgradeAllNodes(self):