From d8f83f1452b4fe8c06a11a4c3579a071a34246f4 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Tue, 3 Mar 2020 01:50:31 +1100 Subject: [PATCH] nodeview: further optimization of node view --- app/widget/nodeview/nodeview.cpp | 10 +++------- app/widget/nodeview/nodeviewscene.cpp | 5 +++++ app/widget/nodeview/nodeviewscene.h | 1 + 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/widget/nodeview/nodeview.cpp b/app/widget/nodeview/nodeview.cpp index d43269fb3..1f224a494 100644 --- a/app/widget/nodeview/nodeview.cpp +++ b/app/widget/nodeview/nodeview.cpp @@ -147,14 +147,10 @@ void NodeView::SelectWithDependencies(QList nodes) void NodeView::ItemsChanged() { - QList items = scene_.items(); + QHash::const_iterator i; - foreach (QGraphicsItem* item, items) { - NodeViewEdge* edge = dynamic_cast(item); - - if (edge != nullptr) { - edge->Adjust(); - } + for (i=scene_.edge_map().begin();i!=scene_.edge_map().end();i++) { + i.value()->Adjust(); } } diff --git a/app/widget/nodeview/nodeviewscene.cpp b/app/widget/nodeview/nodeviewscene.cpp index 266f56e7e..750e391a2 100644 --- a/app/widget/nodeview/nodeviewscene.cpp +++ b/app/widget/nodeview/nodeviewscene.cpp @@ -47,6 +47,11 @@ const QHash &NodeViewScene::item_map() const return item_map_; } +const QHash &NodeViewScene::edge_map() const +{ + return edge_map_; +} + void NodeViewScene::AddNode(Node* node) { NodeViewItem* item = new NodeViewItem(); diff --git a/app/widget/nodeview/nodeviewscene.h b/app/widget/nodeview/nodeviewscene.h index 3316cd02b..2c768fd11 100644 --- a/app/widget/nodeview/nodeviewscene.h +++ b/app/widget/nodeview/nodeviewscene.h @@ -39,6 +39,7 @@ public: void SetGraph(NodeGraph* graph); const QHash& item_map() const; + const QHash& edge_map() const; public slots: /**