From 48876db7eb9d9f39b2e0fbab4f6c927423bd0e4d Mon Sep 17 00:00:00 2001 From: Gennady Pospelov <g.pospelov@fz-juelich.de> Date: Mon, 18 Apr 2016 13:59:56 +0200 Subject: [PATCH] Fixed group property is removed from BeamItem --- GUI/coregui/Models/BeamItem.cpp | 43 ++++++++++--------- GUI/coregui/Models/SessionItem.cpp | 3 +- GUI/coregui/Models/TransformFromDomain.cpp | 6 +-- GUI/coregui/Models/TransformToDomain.cpp | 6 +-- .../InstrumentWidgets/BeamEditorWidget.cpp | 6 +-- 5 files changed, 33 insertions(+), 31 deletions(-) diff --git a/GUI/coregui/Models/BeamItem.cpp b/GUI/coregui/Models/BeamItem.cpp index 536387dc3f0..e01fd781be0 100644 --- a/GUI/coregui/Models/BeamItem.cpp +++ b/GUI/coregui/Models/BeamItem.cpp @@ -36,9 +36,9 @@ BeamItem::BeamItem() : SessionItem(Constants::BeamType) { ScientificDoubleProperty intensity(1e+08); addProperty(P_INTENSITY, intensity.getVariant())->setLimits(AttLimits::limited(0.0, 1e+32)); - addGroupProperty(P_WAVELENGTH, Constants::BeamWavelengthType); - addGroupProperty(P_INCLINATION_ANGLE, Constants::BeamInclinationAngleType); - addGroupProperty(P_AZIMUTHAL_ANGLE, Constants::BeamAzimuthalAngleType); + addGroupPropertyTmp(P_WAVELENGTH, Constants::BeamWavelengthType); + addGroupPropertyTmp(P_INCLINATION_ANGLE, Constants::BeamInclinationAngleType); + addGroupPropertyTmp(P_AZIMUTHAL_ANGLE, Constants::BeamAzimuthalAngleType); } double BeamItem::getIntensity() const @@ -58,18 +58,19 @@ void BeamItem::setIntensity(double value) double BeamItem::getWavelength() const { - SessionItem *beamWavelength = getGroupItem(P_WAVELENGTH); + SessionItem *beamWavelength = getItem(P_WAVELENGTH); Q_ASSERT(beamWavelength); - SessionItem *distributionNoneValueItem = - beamWavelength->getGroupItem(BeamDistributionItem::P_DISTRIBUTION,Constants::DistributionNoneType) - ->getItem(DistributionNoneItem::P_VALUE); - return distributionNoneValueItem->value().toDouble(); + SessionItem *distributionNoneValueItem = + beamWavelength->getGroupItem(BeamDistributionItem::P_DISTRIBUTION, + Constants::DistributionNoneType) + ->getItem(DistributionNoneItem::P_VALUE); + return distributionNoneValueItem->value().toDouble(); } void BeamItem::setWavelength(double value, const QString &distribution_name) { Q_UNUSED(distribution_name); - SessionItem *beamWavelength = getGroupItem(P_WAVELENGTH); + SessionItem *beamWavelength = getItem(P_WAVELENGTH); Q_ASSERT(beamWavelength); SessionItem *distributionItem = beamWavelength->setGroupProperty( BeamDistributionItem::P_DISTRIBUTION, Constants::DistributionNoneType); @@ -79,18 +80,18 @@ void BeamItem::setWavelength(double value, const QString &distribution_name) double BeamItem::getInclinationAngle() const { - SessionItem *angleItem = getGroupItem(P_INCLINATION_ANGLE); + SessionItem *angleItem = getItem(P_INCLINATION_ANGLE); Q_ASSERT(angleItem); - SessionItem *distributionNoneValueItem = - angleItem->getGroupItem(BeamDistributionItem::P_DISTRIBUTION,Constants::DistributionNoneType) - ->getItem(DistributionNoneItem::P_VALUE); - return distributionNoneValueItem->value().toDouble(); + SessionItem *distributionNoneValueItem = + angleItem->getGroupItem(BeamDistributionItem::P_DISTRIBUTION,Constants::DistributionNoneType) + ->getItem(DistributionNoneItem::P_VALUE); + return distributionNoneValueItem->value().toDouble(); } void BeamItem::setInclinationAngle(double value, const QString &distribution_name) { Q_UNUSED(distribution_name); - SessionItem *angleItem = getGroupItem(P_INCLINATION_ANGLE); + SessionItem *angleItem = getItem(P_INCLINATION_ANGLE); Q_ASSERT(angleItem); SessionItem *distributionItem = angleItem->setGroupProperty( BeamDistributionItem::P_DISTRIBUTION, Constants::DistributionNoneType); @@ -100,18 +101,18 @@ void BeamItem::setInclinationAngle(double value, const QString &distribution_nam double BeamItem::getAzimuthalAngle() const { - SessionItem *angleItem = getGroupItem(P_AZIMUTHAL_ANGLE); + SessionItem *angleItem = getItem(P_AZIMUTHAL_ANGLE); Q_ASSERT(angleItem); - SessionItem *distributionNoneValueItem = - angleItem->getGroupItem(BeamDistributionItem::P_DISTRIBUTION,Constants::DistributionNoneType) - ->getItem(DistributionNoneItem::P_VALUE); - return distributionNoneValueItem->value().toDouble(); + SessionItem *distributionNoneValueItem = + angleItem->getGroupItem(BeamDistributionItem::P_DISTRIBUTION,Constants::DistributionNoneType) + ->getItem(DistributionNoneItem::P_VALUE); + return distributionNoneValueItem->value().toDouble(); } void BeamItem::setAzimuthalAngle(double value, const QString &distribution_name) { Q_UNUSED(distribution_name); - SessionItem *angleItem = getGroupItem(P_AZIMUTHAL_ANGLE); + SessionItem *angleItem = getItem(P_AZIMUTHAL_ANGLE); Q_ASSERT(angleItem); SessionItem *distributionItem = angleItem->setGroupProperty( BeamDistributionItem::P_DISTRIBUTION, Constants::DistributionNoneType); diff --git a/GUI/coregui/Models/SessionItem.cpp b/GUI/coregui/Models/SessionItem.cpp index 85bfb8528c0..7016d02fa54 100644 --- a/GUI/coregui/Models/SessionItem.cpp +++ b/GUI/coregui/Models/SessionItem.cpp @@ -679,7 +679,8 @@ QString SessionItem::displayName() const QString result = data(SessionModel::DisplayNameRole).toString(); if(modelType() == Constants::PropertyType || modelType() == Constants::GroupItemType || - modelType() == Constants::ParameterLabelType) return result; + modelType() == Constants::ParameterType || modelType() == Constants::ParameterLabelType) + return result; if(m_parent) { QString tag = m_parent->tagFromItem(this); diff --git a/GUI/coregui/Models/TransformFromDomain.cpp b/GUI/coregui/Models/TransformFromDomain.cpp index 818cc188a22..40c9b60a60b 100644 --- a/GUI/coregui/Models/TransformFromDomain.cpp +++ b/GUI/coregui/Models/TransformFromDomain.cpp @@ -247,15 +247,15 @@ void TransformFromDomain::setItemFromSample(BeamItem *beamItem, const GISASSimul std::string mainParameterName = distributions[i].getMainParameterName(); if (mainParameterName == pattern_wavelength.toStdString()) { BeamDistributionItem *beamWavelength = dynamic_cast<BeamDistributionItem *>( - beamItem->getGroupItem(BeamItem::P_WAVELENGTH)); + beamItem->getItem(BeamItem::P_WAVELENGTH)); setItemFromSample(beamWavelength, distributions[i]); } else if (mainParameterName == pattern_alpha.toStdString()) { BeamDistributionItem *inclinationAngle = dynamic_cast<BeamDistributionItem *>( - beamItem->getGroupItem(BeamItem::P_INCLINATION_ANGLE)); + beamItem->getItem(BeamItem::P_INCLINATION_ANGLE)); setItemFromSample(inclinationAngle, distributions[i]); } else if (mainParameterName == pattern_phi.toStdString()) { BeamDistributionItem *azimuthalAngle = dynamic_cast<BeamDistributionItem *>( - beamItem->getGroupItem(BeamItem::P_AZIMUTHAL_ANGLE)); + beamItem->getItem(BeamItem::P_AZIMUTHAL_ANGLE)); setItemFromSample(azimuthalAngle, distributions[i]); } } diff --git a/GUI/coregui/Models/TransformToDomain.cpp b/GUI/coregui/Models/TransformToDomain.cpp index f93b053f314..f9b7ea7c36f 100644 --- a/GUI/coregui/Models/TransformToDomain.cpp +++ b/GUI/coregui/Models/TransformToDomain.cpp @@ -358,21 +358,21 @@ void TransformToDomain::addDistributionParametersToSimulation(const SessionItem pattern_phi.beginsWith("*").add(BeamType).add(Phi); if (beam_item.modelType() == Constants::BeamType) { if (auto beamWavelength - = dynamic_cast<BeamWavelengthItem *>(beam_item.getGroupItem(BeamItem::P_WAVELENGTH))) { + = dynamic_cast<BeamWavelengthItem *>(beam_item.getItem(BeamItem::P_WAVELENGTH))) { auto P_par_distr = beamWavelength->getParameterDistributionForName( pattern_wavelength.toStdString()); if (P_par_distr) simulation->addParameterDistribution(*P_par_distr); } if (auto inclinationAngle = dynamic_cast<BeamInclinationAngleItem *>( - beam_item.getGroupItem(BeamItem::P_INCLINATION_ANGLE))) { + beam_item.getItem(BeamItem::P_INCLINATION_ANGLE))) { auto P_par_distr = inclinationAngle->getParameterDistributionForName( pattern_alpha.toStdString()); if (P_par_distr) simulation->addParameterDistribution(*P_par_distr); } if (auto azimuthalAngle = dynamic_cast<BeamAzimuthalAngleItem *>( - beam_item.getGroupItem(BeamItem::P_AZIMUTHAL_ANGLE))) { + beam_item.getItem(BeamItem::P_AZIMUTHAL_ANGLE))) { auto P_par_distr = azimuthalAngle->getParameterDistributionForName( pattern_phi.toStdString()); if (P_par_distr) diff --git a/GUI/coregui/Views/InstrumentWidgets/BeamEditorWidget.cpp b/GUI/coregui/Views/InstrumentWidgets/BeamEditorWidget.cpp index 8cdeb0f472a..4fca8aae557 100644 --- a/GUI/coregui/Views/InstrumentWidgets/BeamEditorWidget.cpp +++ b/GUI/coregui/Views/InstrumentWidgets/BeamEditorWidget.cpp @@ -98,14 +98,14 @@ void BeamEditorWidget::setBeamItem(BeamItem *beamItem) m_intensityEditor->addItem(m_beamItem->getItem(BeamItem::P_INTENSITY)); - SessionItem *wavelengthItem = m_beamItem->getGroupItem(BeamItem::P_WAVELENGTH); + SessionItem *wavelengthItem = m_beamItem->getItem(BeamItem::P_WAVELENGTH); m_wavelengthPresenter->addPropertyItems(wavelengthItem->getItem(BeamDistributionItem::P_DISTRIBUTION)); SessionItem *inclinationAngleItem - = m_beamItem->getGroupItem(BeamItem::P_INCLINATION_ANGLE); + = m_beamItem->getItem(BeamItem::P_INCLINATION_ANGLE); m_inclinationAnglePresenter->addPropertyItems(inclinationAngleItem->getItem(BeamDistributionItem::P_DISTRIBUTION)); - SessionItem *azimuthalAngleItem = m_beamItem->getGroupItem(BeamItem::P_AZIMUTHAL_ANGLE); + SessionItem *azimuthalAngleItem = m_beamItem->getItem(BeamItem::P_AZIMUTHAL_ANGLE); m_azimuthalAnglePresenter->addPropertyItems(azimuthalAngleItem->getItem(BeamDistributionItem::P_DISTRIBUTION)); } -- GitLab