added some more timeline functions

This commit is contained in:
itsmattkc
2019-08-13 21:50:39 +10:00
parent 737442e513
commit 4f4737a395
21 changed files with 291 additions and 87 deletions
+17 -2
View File
@@ -53,13 +53,13 @@ void NodeGraph::AddNodeWithDependencies(Node *node)
}
}
void NodeGraph::RemoveNode(Node *node)
void NodeGraph::TakeNode(Node *node, QObject* new_parent)
{
if (!ContainsNode(node)) {
return;
}
node->setParent(nullptr);
node->setParent(new_parent);
disconnect(node, SIGNAL(EdgeAdded(NodeEdgePtr)), this, SIGNAL(EdgeAdded(NodeEdgePtr)));
disconnect(node, SIGNAL(EdgeRemoved(NodeEdgePtr)), this, SIGNAL(EdgeRemoved(NodeEdgePtr)));
@@ -67,6 +67,21 @@ void NodeGraph::RemoveNode(Node *node)
emit NodeRemoved(node);
}
QList<Node *> NodeGraph::TakeNodeWithItsDependencies(Node *node, QObject *new_parent)
{
if (!ContainsNode(node)) {
return QList<Node*>();
}
QList<Node*> deps = node->GetExclusiveDependencies();
foreach (Node* d, deps) {
TakeNode(d, new_parent);
}
return deps;
}
QList<Node *> NodeGraph::nodes()
{
return static_qobjectlist_cast<Node>(children());