From d9d046995aa81c404999954e4b3eb18acc631f77 Mon Sep 17 00:00:00 2001 From: Tobias Knopff <t.knopff@fz-juelich.de> Date: Fri, 9 Jul 2021 15:40:56 +0200 Subject: [PATCH] Make GroupItem::T_ITEMS private --- GUI/Models/BeamDistributionItem.cpp | 4 ++-- GUI/Models/GroupItem.cpp | 10 ++++++++++ GUI/Models/GroupItem.h | 7 ++++++- GUI/Models/InterferenceFunctionItems.cpp | 2 +- GUI/Views/InfoWidgets/DistributionEditor.cpp | 2 +- 5 files changed, 20 insertions(+), 5 deletions(-) diff --git a/GUI/Models/BeamDistributionItem.cpp b/GUI/Models/BeamDistributionItem.cpp index 3d26dde3d72..28384ff373d 100644 --- a/GUI/Models/BeamDistributionItem.cpp +++ b/GUI/Models/BeamDistributionItem.cpp @@ -61,7 +61,7 @@ void BeamDistributionItem::initDistributionItem(bool show_mean) auto groupItem = item<GroupItem>(P_DISTRIBUTION); DistributionNoneItem* distributionNone = nullptr; - for (auto item : groupItem->getItems(GroupItem::T_ITEMS)) { + for (auto item : groupItem->groupItems()) { if (item->modelType() == DistributionNoneItem::M_TYPE) { distributionNone = dynamic_cast<DistributionNoneItem*>(item); break; @@ -74,7 +74,7 @@ void BeamDistributionItem::initDistributionItem(bool show_mean) const RealLimits limits = distributionNone->meanItem()->limits(); const QString editor_type = distributionNone->meanItem()->editorType(); - for (auto item : groupItem->getItems(GroupItem::T_ITEMS)) { + for (auto item : groupItem->groupItems()) { DistributionItem* distrItem = dynamic_cast<DistributionItem*>(item); distrItem->showMean(show_mean); diff --git a/GUI/Models/GroupItem.cpp b/GUI/Models/GroupItem.cpp index 0a839ca8cd7..a500ce1ad56 100644 --- a/GUI/Models/GroupItem.cpp +++ b/GUI/Models/GroupItem.cpp @@ -61,6 +61,16 @@ SessionItem* GroupItem::getItemOfType(const QString& type) return m_controller->getItemOfType(type); } +QVector<SessionItem*> GroupItem::groupItems() const +{ + return getItems(T_ITEMS); +} + +bool GroupItem::isItemsTagName(const QString& name) +{ + return name == T_ITEMS; +} + void GroupItem::onValueChange() { if (!value().canConvert<ComboProperty>()) diff --git a/GUI/Models/GroupItem.h b/GUI/Models/GroupItem.h index e94fa4788b7..69c87216c69 100644 --- a/GUI/Models/GroupItem.h +++ b/GUI/Models/GroupItem.h @@ -24,10 +24,12 @@ class GroupInfo; class GroupItemController; class BA_CORE_API_ GroupItem : public SessionItem { +private: + static const QString T_ITEMS; + public: static const QString M_TYPE; - static const QString T_ITEMS; GroupItem(); ~GroupItem(); @@ -42,6 +44,9 @@ public: template <typename T> T* itemOfType() const; + QVector<SessionItem*> groupItems() const; + static bool isItemsTagName(const QString& name); + private: void onValueChange(); void updateComboValue(); diff --git a/GUI/Models/InterferenceFunctionItems.cpp b/GUI/Models/InterferenceFunctionItems.cpp index a8e006a683f..d5123fd47f7 100644 --- a/GUI/Models/InterferenceFunctionItems.cpp +++ b/GUI/Models/InterferenceFunctionItems.cpp @@ -206,7 +206,7 @@ InterferenceFunction2DParaCrystalItem::InterferenceFunction2DParaCrystalItem() ->setToolTip("Probability distribution in second lattice direction"); mapper()->setOnChildPropertyChange([this](SessionItem* item, const QString& property) { - if (item->hasModelType<GroupItem>() && property == GroupItem::T_ITEMS + if (item->hasModelType<GroupItem>() && GroupItem::isItemsTagName(property) && isTag(P_PDF1) && isTag(P_PDF2)) update_distribution_displaynames(); }); diff --git a/GUI/Views/InfoWidgets/DistributionEditor.cpp b/GUI/Views/InfoWidgets/DistributionEditor.cpp index 83d7643dd12..18f5f3ac340 100644 --- a/GUI/Views/InfoWidgets/DistributionEditor.cpp +++ b/GUI/Views/InfoWidgets/DistributionEditor.cpp @@ -62,7 +62,7 @@ void DistributionEditor::subscribeToItem() void DistributionEditor::onPropertyChanged(const QString& property_name) { - if (property_name == GroupItem::T_ITEMS) + if (GroupItem::isItemsTagName(property_name)) m_plotwidget->setItem(distributionItem()); } -- GitLab