From c8e7cb678214fc8a984813e604b7dd31b640f625 Mon Sep 17 00:00:00 2001 From: Gennady Pospelov <g.pospelov@fz-juelich.de> Date: Tue, 15 Mar 2016 18:01:42 +0100 Subject: [PATCH] onSiblingsChange propagated to IView to update labels --- .../Views/SampleDesigner/ConnectableView.cpp | 16 ++++++++-------- .../Views/SampleDesigner/ConnectableView.h | 4 ++-- GUI/coregui/Views/SampleDesigner/IView.cpp | 13 +++++++++++++ GUI/coregui/Views/SampleDesigner/IView.h | 1 + Tests/UnitTests/TestGUI/TestMapperForItem.h | 1 - 5 files changed, 24 insertions(+), 11 deletions(-) diff --git a/GUI/coregui/Views/SampleDesigner/ConnectableView.cpp b/GUI/coregui/Views/SampleDesigner/ConnectableView.cpp index c97ae870bb9..9521b7c3ef6 100644 --- a/GUI/coregui/Views/SampleDesigner/ConnectableView.cpp +++ b/GUI/coregui/Views/SampleDesigner/ConnectableView.cpp @@ -112,14 +112,14 @@ int ConnectableView::getInputPortIndex(NodeEditorPort *port) return m_input_ports.indexOf(port); } -void ConnectableView::onSiblingsChanged() -{ - if (m_item) { - Q_ASSERT(0); - setLabel( hyphenate(m_item->itemName()) ); - update(); - } -} +//void ConnectableView::onSiblingsChanged() +//{ +// if (m_item) { +// Q_ASSERT(0); +// setLabel( hyphenate(m_item->itemName()) ); +// update(); +// } +//} // calculation of y-pos for ports void ConnectableView::setPortCoordinates() diff --git a/GUI/coregui/Views/SampleDesigner/ConnectableView.h b/GUI/coregui/Views/SampleDesigner/ConnectableView.h index 1d918bf2e2a..67f121c4152 100644 --- a/GUI/coregui/Views/SampleDesigner/ConnectableView.h +++ b/GUI/coregui/Views/SampleDesigner/ConnectableView.h @@ -60,8 +60,8 @@ public: virtual void setColor(const QColor &color) { m_color = color; } -public slots: - virtual void onSiblingsChanged(); +//public slots: +// virtual void onSiblingsChanged(); protected: virtual void setPortCoordinates(); diff --git a/GUI/coregui/Views/SampleDesigner/IView.cpp b/GUI/coregui/Views/SampleDesigner/IView.cpp index 8b2a5c5ebf4..9f28b2099ee 100644 --- a/GUI/coregui/Views/SampleDesigner/IView.cpp +++ b/GUI/coregui/Views/SampleDesigner/IView.cpp @@ -46,6 +46,14 @@ void IView::setParameterizedItem(SessionItem *item) { onPropertyChange(name); }); + + mapper()->setOnSiblingsChange( + [this]() + { + onSiblingsChange(); + }); + + update_appearance(); } } @@ -90,3 +98,8 @@ void IView::onPropertyChange(const QString &propertyName) setY(m_item->getItemValue(SessionGraphicsItem::P_YPOS).toReal()); } } + +void IView::onSiblingsChange() +{ + update_appearance(); +} diff --git a/GUI/coregui/Views/SampleDesigner/IView.h b/GUI/coregui/Views/SampleDesigner/IView.h index 48317c0bb63..ca283f60197 100644 --- a/GUI/coregui/Views/SampleDesigner/IView.h +++ b/GUI/coregui/Views/SampleDesigner/IView.h @@ -52,6 +52,7 @@ protected: ModelMapper *mapper(); virtual void update_appearance(); virtual void onPropertyChange(const QString &propertyName); + virtual void onSiblingsChange(); SessionItem *m_item; std::unique_ptr<ModelMapper> m_mapper; diff --git a/Tests/UnitTests/TestGUI/TestMapperForItem.h b/Tests/UnitTests/TestGUI/TestMapperForItem.h index 5325e3ba8bf..aba4625591b 100644 --- a/Tests/UnitTests/TestGUI/TestMapperForItem.h +++ b/Tests/UnitTests/TestGUI/TestMapperForItem.h @@ -255,7 +255,6 @@ inline void TestMapperForItem::test_onSiblingsChange() multilayer->takeRow(layer2->parentRow()); QVERIFY(m_onSiblingsChangeCount == 2); - } -- GitLab