nodeview: reimplement adding edges

This commit is contained in:
itsmattkc
2021-05-28 17:59:02 +10:00
parent 8ef140dcd0
commit 6204e78036
+12
View File
@@ -946,6 +946,18 @@ void NodeView::AddNodePosition(Node *node, Node *relative)
NodeViewItem *item = scene_.item_map().value(node);
if (!item) {
item = scene_.AddNode(node);
for (auto it=node->input_connections().cbegin(); it!=node->input_connections().cend(); it++) {
if (scene_.item_map().contains(it->second.node())) {
scene_.AddEdge(it->second, it->first);
}
}
for (auto it=node->output_connections().cbegin(); it!=node->output_connections().cend(); it++) {
if (scene_.item_map().contains(it->second.node())) {
scene_.AddEdge(it->first, it->second);
}
}
}
// Determine "view" position by averaging the Y value and "min"ing the X value of all contexts