[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: except (KeyError, ValueError) as e:
logging.warning("Failed to restore edge {} -> {}: {}".format(src, dst, str(e))) logging.warning("Failed to restore edge {} -> {}: {}".format(src, dst, str(e)))
return inEdges, outEdges return upgradedNode, inEdges, outEdges
def upgradeAllNodes(self): def upgradeAllNodes(self):
""" Upgrade all upgradable CompatibilityNode instances in the graph. """ """ Upgrade all upgradable CompatibilityNode instances in the graph. """

View file

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

View file

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