From 2adca5e77d54d7cf7041a78a84a9aa7107759af5 Mon Sep 17 00:00:00 2001 From: Gennady Pospelov <g.pospelov@fz-juelich.de> Date: Mon, 6 Feb 2017 17:50:43 +0100 Subject: [PATCH] Minimal cleanup in BeamItems, default limits for BeamWavelength changed. --- GUI/coregui/Models/BeamAngleItems.h | 6 ++---- GUI/coregui/Models/BeamDistributionItem.cpp | 11 ++--------- GUI/coregui/Models/BeamDistributionItem.h | 3 ++- GUI/coregui/Models/BeamWavelengthItem.cpp | 6 ++++++ GUI/coregui/Models/BeamWavelengthItem.h | 4 +--- GUI/coregui/Models/DistributionItems.cpp | 2 +- 6 files changed, 14 insertions(+), 18 deletions(-) diff --git a/GUI/coregui/Models/BeamAngleItems.h b/GUI/coregui/Models/BeamAngleItems.h index f1e726efcea..d662d151d1b 100644 --- a/GUI/coregui/Models/BeamAngleItems.h +++ b/GUI/coregui/Models/BeamAngleItems.h @@ -22,8 +22,7 @@ class BA_CORE_API_ BeamAzimuthalAngleItem : public BeamDistributionItem { public: - explicit BeamAzimuthalAngleItem(); - virtual ~BeamAzimuthalAngleItem(){} + BeamAzimuthalAngleItem(); double azimuthalAngle() const; @@ -34,8 +33,7 @@ protected: class BA_CORE_API_ BeamInclinationAngleItem : public BeamDistributionItem { public: - explicit BeamInclinationAngleItem(); - virtual ~BeamInclinationAngleItem(){} + BeamInclinationAngleItem(); double inclinationAngle() const; diff --git a/GUI/coregui/Models/BeamDistributionItem.cpp b/GUI/coregui/Models/BeamDistributionItem.cpp index 1919500fd7d..a6b5c84d0eb 100644 --- a/GUI/coregui/Models/BeamDistributionItem.cpp +++ b/GUI/coregui/Models/BeamDistributionItem.cpp @@ -24,7 +24,7 @@ const QString BeamDistributionItem::P_DISTRIBUTION = "Distribution"; -BeamDistributionItem::BeamDistributionItem(const QString name) +BeamDistributionItem::BeamDistributionItem(const QString& name) : SessionItem(name) { addGroupProperty(P_DISTRIBUTION, Constants::DistributionExtendedGroup); @@ -35,15 +35,8 @@ BeamDistributionItem::BeamDistributionItem(const QString name) mapper()->setOnChildPropertyChange( [this](SessionItem* item, const QString &) { - if(item->modelType() == Constants::GroupItemType) { + if(item->modelType() == Constants::GroupItemType) initDistributionItem(); - } -// if (item->modelType() == Constants::IntensityDataType -// && name == IntensityDataItem::P_AXES_UNITS) { -// auto intensityItem = dynamic_cast<IntensityDataItem *>(item); -// JobItemHelper::updateDataAxes(intensityItem, getInstrumentItem()); - -// } }); } diff --git a/GUI/coregui/Models/BeamDistributionItem.h b/GUI/coregui/Models/BeamDistributionItem.h index 3780f31deed..323e157d659 100644 --- a/GUI/coregui/Models/BeamDistributionItem.h +++ b/GUI/coregui/Models/BeamDistributionItem.h @@ -28,7 +28,7 @@ class BA_CORE_API_ BeamDistributionItem : public SessionItem { public: static const QString P_DISTRIBUTION; - explicit BeamDistributionItem(const QString name = QString()); + explicit BeamDistributionItem(const QString& name); virtual ~BeamDistributionItem(){} std::unique_ptr<ParameterDistribution> getParameterDistributionForName( @@ -37,6 +37,7 @@ public: virtual double meanValue() const; protected: +// virtual RealLimits limits() const; void initDistributionItem(); virtual std::unique_ptr<IDistribution1D> createDistribution1D() const; diff --git a/GUI/coregui/Models/BeamWavelengthItem.cpp b/GUI/coregui/Models/BeamWavelengthItem.cpp index a743ea0883b..f9b45c59be3 100644 --- a/GUI/coregui/Models/BeamWavelengthItem.cpp +++ b/GUI/coregui/Models/BeamWavelengthItem.cpp @@ -19,6 +19,12 @@ BeamWavelengthItem::BeamWavelengthItem() : BeamDistributionItem(Constants::BeamWavelengthType) { + SessionItem *distribution = dynamic_cast<DistributionNoneItem *>(getGroupItem(P_DISTRIBUTION)); + Q_ASSERT(distribution); + auto value = distribution->getItem(DistributionNoneItem::P_VALUE); + value->setLimits(RealLimits::positive()); + value->setDecimals(4); + value->setValue(0.1); } //! Returns wavelength. In the case of distribution applied, returns its mean. diff --git a/GUI/coregui/Models/BeamWavelengthItem.h b/GUI/coregui/Models/BeamWavelengthItem.h index fe24cfdd0be..5d15aea3668 100644 --- a/GUI/coregui/Models/BeamWavelengthItem.h +++ b/GUI/coregui/Models/BeamWavelengthItem.h @@ -21,10 +21,8 @@ class BA_CORE_API_ BeamWavelengthItem : public BeamDistributionItem { - public: - explicit BeamWavelengthItem(); - virtual ~BeamWavelengthItem(){} + BeamWavelengthItem(); double wavelength() const; }; diff --git a/GUI/coregui/Models/DistributionItems.cpp b/GUI/coregui/Models/DistributionItems.cpp index 2a4fe762b5b..92fd54fd876 100644 --- a/GUI/coregui/Models/DistributionItems.cpp +++ b/GUI/coregui/Models/DistributionItems.cpp @@ -65,7 +65,7 @@ const QString DistributionNoneItem::P_VALUE = "Value"; DistributionNoneItem::DistributionNoneItem() : DistributionItem(Constants::DistributionNoneType) { - addProperty(P_VALUE, 0.1)->setLimits(RealLimits::lowerLimited(1e-4)); + addProperty(P_VALUE, 0.1)->setLimits(RealLimits::limitless()); getItem(P_VALUE)->setDecimals(4); } -- GitLab