From c6c1b5e667bb29d08dd1a8a09c7f51c96719f57c Mon Sep 17 00:00:00 2001 From: Gennady Pospelov <g.pospelov@fz-juelich.de> Date: Wed, 25 Feb 2015 15:24:13 +0100 Subject: [PATCH] New TestBeamItem with distributions replaced old BeamItem with fixed wavelength and angles. --- GUI/coregui/Models/BeamItem.cpp | 130 ++++-- GUI/coregui/Models/BeamItem.h | 36 +- GUI/coregui/Models/GUIObjectBuilder.cpp | 19 +- GUI/coregui/Models/InstrumentItem.cpp | 4 +- GUI/coregui/Models/InstrumentItem.h | 4 +- GUI/coregui/Models/ItemFactory.cpp | 2 +- GUI/coregui/Models/ItemLink.cpp | 10 +- GUI/coregui/Models/ItemLink.h | 8 +- GUI/coregui/Models/ParameterModelBuilder.cpp | 50 ++- GUI/coregui/Models/ParameterModelBuilder.h | 4 +- GUI/coregui/Models/TransformToDomain.cpp | 16 +- .../InstrumentWidgets/BeamEditorWidget.cpp | 413 +++++++++--------- .../InstrumentWidgets/BeamEditorWidget.h | 76 ++-- .../InstrumentEditorWidget.cpp | 8 +- .../Views/JobWidgets/ModelTuningDelegate.cpp | 2 +- 15 files changed, 441 insertions(+), 341 deletions(-) diff --git a/GUI/coregui/Models/BeamItem.cpp b/GUI/coregui/Models/BeamItem.cpp index 8f3fd9a1331..bbb1c3ae1f5 100644 --- a/GUI/coregui/Models/BeamItem.cpp +++ b/GUI/coregui/Models/BeamItem.cpp @@ -22,34 +22,34 @@ #include "Units.h" #include <QDebug> -const QString BeamItem::P_INTENSITY = "Intensity [1/s]"; -const QString BeamItem::P_WAVELENGTH = "Wavelength [nm]"; -const QString BeamItem::P_INCLINATION_ANGLE = "Inclination Angle"; -const QString BeamItem::P_AZIMUTHAL_ANGLE = "Azimuthal Angle"; - -BeamItem::BeamItem(ParameterizedItem *parent) - : ParameterizedItem(Constants::BeamType, parent) -{ - setItemName(Constants::BeamType); - registerProperty(P_INTENSITY, 1e+08); - registerProperty(P_WAVELENGTH, 0.1, PropertyAttribute(AttLimits::lowerLimited(1e-4), 4)); - registerProperty(P_AZIMUTHAL_ANGLE, AngleProperty::Degrees(0.0), PropertyAttribute(AttLimits::limited(-90.0, 90.0), 3)); - registerProperty(P_INCLINATION_ANGLE, AngleProperty::Degrees(0.2)); -} - - -void BeamItem::onPropertyChange(const QString &name) -{ - if(name == P_INCLINATION_ANGLE) { - qDebug() << "BeamItem::onPropertyChange()" << name; - AngleProperty inclination_angle = getRegisteredProperty(BeamItem::P_INCLINATION_ANGLE).value<AngleProperty>(); - - AngleProperty azimuthal_angle = getRegisteredProperty(BeamItem::P_AZIMUTHAL_ANGLE).value<AngleProperty>(); - azimuthal_angle.setUnits(inclination_angle.getUnits()); - setRegisteredProperty(P_AZIMUTHAL_ANGLE, azimuthal_angle.getVariant()); - } - ParameterizedItem::onPropertyChange(name); -} +//const QString BeamItem::P_INTENSITY = "Intensity [1/s]"; +//const QString BeamItem::P_WAVELENGTH = "Wavelength [nm]"; +//const QString BeamItem::P_INCLINATION_ANGLE = "Inclination Angle"; +//const QString BeamItem::P_AZIMUTHAL_ANGLE = "Azimuthal Angle"; + +//BeamItem::BeamItem(ParameterizedItem *parent) +// : ParameterizedItem(Constants::BeamType, parent) +//{ +// setItemName(Constants::BeamType); +// registerProperty(P_INTENSITY, 1e+08); +// registerProperty(P_WAVELENGTH, 0.1, PropertyAttribute(AttLimits::lowerLimited(1e-4), 4)); +// registerProperty(P_AZIMUTHAL_ANGLE, AngleProperty::Degrees(0.0), PropertyAttribute(AttLimits::limited(-90.0, 90.0), 3)); +// registerProperty(P_INCLINATION_ANGLE, AngleProperty::Degrees(0.2)); +//} + + +//void BeamItem::onPropertyChange(const QString &name) +//{ +// if(name == P_INCLINATION_ANGLE) { +// qDebug() << "BeamItem::onPropertyChange()" << name; +// AngleProperty inclination_angle = getRegisteredProperty(BeamItem::P_INCLINATION_ANGLE).value<AngleProperty>(); + +// AngleProperty azimuthal_angle = getRegisteredProperty(BeamItem::P_AZIMUTHAL_ANGLE).value<AngleProperty>(); +// azimuthal_angle.setUnits(inclination_angle.getUnits()); +// setRegisteredProperty(P_AZIMUTHAL_ANGLE, azimuthal_angle.getVariant()); +// } +// ParameterizedItem::onPropertyChange(name); +//} // --------------- @@ -101,7 +101,7 @@ BeamAngleItem::BeamAngleItem(ParameterizedItem *parent) : ParameterizedItem(Constants::BeamAngleType, parent) { setItemName(Constants::BeamAngleType); - registerProperty(P_CACHED_VALUE, 0.1, PropertyAttribute(PropertyAttribute::HIDDEN, AttLimits::lowerLimited(1e-4), 4)); + registerProperty(P_CACHED_VALUE, 0.1, PropertyAttribute(PropertyAttribute::HIDDEN, AttLimits::limitless(), 4)); registerGroupProperty(P_DISTRIBUTION, Constants::DistributionExtendedGroup); setGroupProperty(P_DISTRIBUTION, Constants::DistributionNoneType); } @@ -141,13 +141,77 @@ const QString TestBeamItem::P_AZIMUTHAL_ANGLE = "Azimuthal Angle"; TestBeamItem::TestBeamItem(ParameterizedItem *parent) : ParameterizedItem(Constants::BeamType, parent) { - //registerProperty(P_INTENSITY, 1e+08); - ScientificDoubleProperty intensity(1e+08); - registerProperty(P_INTENSITY, intensity.getVariant()); - + registerProperty(P_INTENSITY, intensity.getVariant(), PropertyAttribute(AttLimits::lowerLimited(0.0))); registerGroupProperty(P_WAVELENGTH, Constants::BeamWavelengthType); registerGroupProperty(P_INCLINATION_ANGLE, Constants::BeamAngleType); registerGroupProperty(P_AZIMUTHAL_ANGLE, Constants::BeamAngleType); + + +} + +double TestBeamItem::getIntensity() const +{ + ScientificDoubleProperty intensity = getRegisteredProperty(P_INTENSITY).value<ScientificDoubleProperty>(); + return intensity.getValue(); +} + +void TestBeamItem::setIntensity(double value) +{ + ScientificDoubleProperty intensity = getRegisteredProperty(P_INTENSITY).value<ScientificDoubleProperty>(); + intensity.setValue(value); + setRegisteredProperty(P_INTENSITY, intensity.getVariant()); +} + +double TestBeamItem::getWavelength() const +{ + ParameterizedItem *beamWavelength = getSubItems()[P_WAVELENGTH]; + Q_ASSERT(beamWavelength); + return beamWavelength->getRegisteredProperty(BeamWavelengthItem::P_CACHED_VALUE).toDouble(); +} + +void TestBeamItem::setWavelength(double value, const QString &distribution_name) +{ + Q_UNUSED(distribution_name); + ParameterizedItem *beamWavelength = getSubItems()[P_WAVELENGTH]; + Q_ASSERT(beamWavelength); + ParameterizedItem *distributionItem = beamWavelength->setGroupProperty(BeamWavelengthItem::P_DISTRIBUTION, Constants::DistributionNoneType); + Q_ASSERT(distributionItem); + distributionItem->setRegisteredProperty(DistributionNoneItem::P_VALUE, value); +} + +double TestBeamItem::getInclinationAngle() const +{ + ParameterizedItem *angleItem = getSubItems()[P_INCLINATION_ANGLE]; + Q_ASSERT(angleItem); + return angleItem->getRegisteredProperty(BeamWavelengthItem::P_CACHED_VALUE).toDouble(); } + +void TestBeamItem::setInclinationAngle(double value, const QString &distribution_name) +{ + Q_UNUSED(distribution_name); + ParameterizedItem *angleItem = getSubItems()[P_INCLINATION_ANGLE]; + Q_ASSERT(angleItem); + ParameterizedItem *distributionItem = angleItem->setGroupProperty(BeamAngleItem::P_DISTRIBUTION, Constants::DistributionNoneType); + Q_ASSERT(distributionItem); + distributionItem->setRegisteredProperty(DistributionNoneItem::P_VALUE, value); +} + +double TestBeamItem::getAzimuthalAngle() const +{ + ParameterizedItem *angleItem = getSubItems()[P_AZIMUTHAL_ANGLE]; + Q_ASSERT(angleItem); + return angleItem->getRegisteredProperty(BeamWavelengthItem::P_CACHED_VALUE).toDouble(); +} + +void TestBeamItem::setAzimuthalAngle(double value, const QString &distribution_name) +{ + Q_UNUSED(distribution_name); + ParameterizedItem *angleItem = getSubItems()[P_AZIMUTHAL_ANGLE]; + Q_ASSERT(angleItem); + ParameterizedItem *distributionItem = angleItem->setGroupProperty(BeamAngleItem::P_DISTRIBUTION, Constants::DistributionNoneType); + Q_ASSERT(distributionItem); + distributionItem->setRegisteredProperty(DistributionNoneItem::P_VALUE, value); +} + diff --git a/GUI/coregui/Models/BeamItem.h b/GUI/coregui/Models/BeamItem.h index 05dbfe94ad1..01e44c36516 100644 --- a/GUI/coregui/Models/BeamItem.h +++ b/GUI/coregui/Models/BeamItem.h @@ -19,20 +19,20 @@ #include "ParameterizedItem.h" -class BA_CORE_API_ BeamItem : public ParameterizedItem -{ - Q_OBJECT -public: - static const QString P_INTENSITY; - static const QString P_WAVELENGTH; - static const QString P_INCLINATION_ANGLE; - static const QString P_AZIMUTHAL_ANGLE; - explicit BeamItem(ParameterizedItem *parent=0); - ~BeamItem(){} +//class BA_CORE_API_ BeamItem : public ParameterizedItem +//{ +// Q_OBJECT +//public: +// static const QString P_INTENSITY; +// static const QString P_WAVELENGTH; +// static const QString P_INCLINATION_ANGLE; +// static const QString P_AZIMUTHAL_ANGLE; +// explicit BeamItem(ParameterizedItem *parent=0); +// ~BeamItem(){} - void onPropertyChange(const QString &name); +// void onPropertyChange(const QString &name); -}; +//}; class BA_CORE_API_ BeamWavelengthItem : public ParameterizedItem @@ -76,6 +76,18 @@ public: static const QString P_AZIMUTHAL_ANGLE; explicit TestBeamItem(ParameterizedItem *parent=0); ~TestBeamItem(){} + + double getIntensity() const; + void setIntensity(double value); + + double getWavelength() const; + void setWavelength(double value, const QString &distribution_name = QString()); + + double getInclinationAngle() const; + void setInclinationAngle(double value, const QString &distribution_name = QString()); + + double getAzimuthalAngle() const; + void setAzimuthalAngle(double value, const QString &distribution_name = QString()); }; #endif diff --git a/GUI/coregui/Models/GUIObjectBuilder.cpp b/GUI/coregui/Models/GUIObjectBuilder.cpp index 3b910c6478b..8e4dcdfaf03 100644 --- a/GUI/coregui/Models/GUIObjectBuilder.cpp +++ b/GUI/coregui/Models/GUIObjectBuilder.cpp @@ -79,18 +79,15 @@ ParameterizedItem *GUIObjectBuilder::populateInstrumentModel( instrumentItem->setItemName(instrument->getName().c_str()); Beam beam = instrument->getBeam(); - ParameterizedItem *beamItem = instrumentModel->insertNewItem( + TestBeamItem *beamItem = dynamic_cast<TestBeamItem *>(instrumentModel->insertNewItem( Constants::BeamType, - instrumentModel->indexOfItem(instrumentItem)); - beamItem->setRegisteredProperty(BeamItem::P_INTENSITY, - beam.getIntensity()); - beamItem->setRegisteredProperty(BeamItem::P_WAVELENGTH, - beam.getWavelength()); - - beamItem->setRegisteredProperty(BeamItem::P_INCLINATION_ANGLE, - AngleProperty::Degrees(Units::rad2deg(-1.0*beam.getAlpha()))); - beamItem->setRegisteredProperty(BeamItem::P_AZIMUTHAL_ANGLE, - AngleProperty::Degrees(Units::rad2deg(-1.0*beam.getPhi()))); + instrumentModel->indexOfItem(instrumentItem))); + Q_ASSERT(beamItem); + + beamItem->setIntensity(beam.getIntensity()); + beamItem->setWavelength(beam.getWavelength()); + beamItem->setInclinationAngle(Units::rad2deg(-1.0*beam.getAlpha())); + beamItem->setAzimuthalAngle(Units::rad2deg(-1.0*beam.getPhi())); Detector detector = instrument->getDetector(); ParameterizedItem *detectorItem = instrumentModel->insertNewItem( diff --git a/GUI/coregui/Models/InstrumentItem.cpp b/GUI/coregui/Models/InstrumentItem.cpp index 7ad0a3ec063..ebcdace42e6 100644 --- a/GUI/coregui/Models/InstrumentItem.cpp +++ b/GUI/coregui/Models/InstrumentItem.cpp @@ -26,11 +26,11 @@ InstrumentItem::InstrumentItem(ParameterizedItem *parent) } -BeamItem *InstrumentItem::getBeamItem() +TestBeamItem *InstrumentItem::getBeamItem() { foreach(ParameterizedItem *item, childItems()) { if(item->modelType() == Constants::BeamType) { - return dynamic_cast<BeamItem *>(item); + return dynamic_cast<TestBeamItem *>(item); } } return 0; diff --git a/GUI/coregui/Models/InstrumentItem.h b/GUI/coregui/Models/InstrumentItem.h index 5075897bf60..07922a567d3 100644 --- a/GUI/coregui/Models/InstrumentItem.h +++ b/GUI/coregui/Models/InstrumentItem.h @@ -18,7 +18,7 @@ #include "ParameterizedItem.h" -class BeamItem; +class TestBeamItem; class DetectorItem; class BA_CORE_API_ InstrumentItem : public ParameterizedItem @@ -29,7 +29,7 @@ public: explicit InstrumentItem(ParameterizedItem *parent=0); ~InstrumentItem(){} - BeamItem *getBeamItem(); + TestBeamItem *getBeamItem(); DetectorItem *getDetectorItem(); diff --git a/GUI/coregui/Models/ItemFactory.cpp b/GUI/coregui/Models/ItemFactory.cpp index 78f2597af5f..0e4cdefd1ae 100644 --- a/GUI/coregui/Models/ItemFactory.cpp +++ b/GUI/coregui/Models/ItemFactory.cpp @@ -61,7 +61,7 @@ ItemFactory::ItemMap_t initializeItemMap() { result[Constants::InterferenceFunction2DLatticeType] = &createInstance<InterferenceFunction2DLatticeItem>; result[Constants::InstrumentType] = &createInstance<InstrumentItem>; result[Constants::DetectorType] = &createInstance<DetectorItem>; - result[Constants::BeamType] = &createInstance<BeamItem>; + result[Constants::BeamType] = &createInstance<TestBeamItem>; result[Constants::VectorType] = &createInstance<VectorItem>; result[Constants::AnisoPyramidType] = &createInstance<AnisoPyramidItem>; diff --git a/GUI/coregui/Models/ItemLink.cpp b/GUI/coregui/Models/ItemLink.cpp index 8de452eabfe..8122dd3ac4f 100644 --- a/GUI/coregui/Models/ItemLink.cpp +++ b/GUI/coregui/Models/ItemLink.cpp @@ -17,17 +17,17 @@ #include "AngleProperty.h" -ItemLink::ItemLink(const QString name, ParameterizedItem *item) - : m_name(name) +ItemLink::ItemLink(const QString property_name, ParameterizedItem *item) + : m_property_name(property_name) , m_item(item) , m_value(0) { } -void ItemLink::setItem(QString name, ParameterizedItem *item) +void ItemLink::setItem(QString property_name, ParameterizedItem *item) { - m_name = name; + m_property_name = property_name; m_item = item; } @@ -43,7 +43,7 @@ void ItemLink::setValue(double value) QVariant ItemLink::getVariant() { - QVariant variant = m_item->getRegisteredProperty(m_name); + QVariant variant = m_item->getRegisteredProperty(m_property_name); if(variant.typeName() == QString("double")) { variant.setValue(m_value); return variant; diff --git a/GUI/coregui/Models/ItemLink.h b/GUI/coregui/Models/ItemLink.h index 9a37c2e6814..fe1ad6799ca 100644 --- a/GUI/coregui/Models/ItemLink.h +++ b/GUI/coregui/Models/ItemLink.h @@ -24,13 +24,13 @@ class BA_CORE_API_ ItemLink { public: - explicit ItemLink(const QString name = QString(), ParameterizedItem *item = 0); + explicit ItemLink(const QString property_name = QString(), ParameterizedItem *item = 0); virtual ~ItemLink(){} - QString getPropertyName() const { return m_name; } + QString getPropertyName() const { return m_property_name; } ParameterizedItem *getItem() const { return m_item; } - void setItem(QString name, ParameterizedItem *item); + void setItem(QString property_name, ParameterizedItem *item); void setValue(double value); @@ -39,7 +39,7 @@ public: private: double getValue() const; QVariant getVariant(); - QString m_name; + QString m_property_name; ParameterizedItem *m_item; double m_value; }; diff --git a/GUI/coregui/Models/ParameterModelBuilder.cpp b/GUI/coregui/Models/ParameterModelBuilder.cpp index 4e4e32631e3..c3d823d9bf8 100644 --- a/GUI/coregui/Models/ParameterModelBuilder.cpp +++ b/GUI/coregui/Models/ParameterModelBuilder.cpp @@ -21,6 +21,7 @@ #include "ItemLink.h" #include "AngleProperty.h" #include "GUIHelpers.h" +#include "DistributionItem.h" #include <QStandardItem> #include <QStandardItemModel> #include <QDebug> @@ -88,7 +89,7 @@ QStandardItem *ParameterModelBuilder::iterateSessionModel(SampleModel *sampleMod int type = GUIHelpers::getVariantType(propertyValue); if (type == QVariant::Double) { // qDebug() << " Items: "<<propertyName << propertyValue.toDouble(); - insertRowIntoItem(standardItem, propertyName, propertyValue, item); + addPropertyToParameterModel(standardItem, propertyName, propertyName, propertyValue, item); } else if(item->getSubItems().contains(propertyName)) { @@ -115,12 +116,12 @@ QStandardItem *ParameterModelBuilder::iterateSessionModel(SampleModel *sampleMod if (proValueType == QVariant::Double) { //qDebug() << "Items: "<<prop_name << prop_value.toDouble(); isChildPropertyFound = true; - insertRowIntoItem(childStandardItem, childPropertyName, childPropertyValue, subItem); + addPropertyToParameterModel(childStandardItem, childPropertyName, childPropertyName, childPropertyValue, subItem); } } if(isChildPropertyFound) { - insertRowIntoItem(standardItem, childStandardItem); + InsertRowIntoItem(standardItem, childStandardItem); } @@ -135,7 +136,7 @@ QStandardItem *ParameterModelBuilder::iterateSessionModel(SampleModel *sampleMod } else { - insertRowIntoItem(parentItem, standardItem); + InsertRowIntoItem(parentItem, standardItem); } //qDebug() << "iteration called" << i_row; iterateSessionModel(sampleModel, itemIndex, standardItem); @@ -154,17 +155,36 @@ QStandardItem *ParameterModelBuilder::iterateInstrumentModel(InstrumentModel *in InstrumentItem *instrument = instrumentModel->getInstrumentItem(); if(instrument) { - BeamItem *beamItem = instrument->getBeamItem(); + TestBeamItem *beamItem = instrument->getBeamItem(); if(beamItem) { standardItem = new QStandardItem(instrument->itemName()); - insertRowIntoItem(standardItem, BeamItem::P_WAVELENGTH, beamItem->getRegisteredProperty(BeamItem::P_WAVELENGTH), beamItem); + addPropertyToParameterModel(standardItem, TestBeamItem::P_INTENSITY, TestBeamItem::P_INTENSITY, QVariant(beamItem->getIntensity()), beamItem); - double v = beamItem->getRegisteredProperty(BeamItem::P_INCLINATION_ANGLE).value<AngleProperty>().getValue(); - QVariant variant_inclination(v); - insertRowIntoItem(standardItem, BeamItem::P_INCLINATION_ANGLE, variant_inclination, beamItem); + // wavelength, incident and azimuthal angle will be varied only if there is no distribution assigned to them - v = beamItem->getRegisteredProperty(BeamItem::P_AZIMUTHAL_ANGLE).value<AngleProperty>().getValue(); - insertRowIntoItem(standardItem, BeamItem::P_AZIMUTHAL_ANGLE, QVariant(v), beamItem); + ParameterizedItem *beamWavelength = beamItem->getSubItems()[TestBeamItem::P_WAVELENGTH]; + Q_ASSERT(beamWavelength); + ParameterizedItem *wavelengthDistribution = beamWavelength->getSubItems()[BeamWavelengthItem::P_DISTRIBUTION]; + Q_ASSERT(wavelengthDistribution); + if(wavelengthDistribution->modelType() == Constants::DistributionNoneType) { + addPropertyToParameterModel(standardItem, TestBeamItem::P_WAVELENGTH, BeamWavelengthItem::P_CACHED_VALUE, beamWavelength->getRegisteredProperty(BeamWavelengthItem::P_CACHED_VALUE), beamWavelength); + } + + ParameterizedItem *inclinationAngle = beamItem->getSubItems()[TestBeamItem::P_INCLINATION_ANGLE]; + Q_ASSERT(inclinationAngle); + ParameterizedItem *inclinationDistribution = inclinationAngle->getSubItems()[BeamAngleItem::P_DISTRIBUTION]; + Q_ASSERT(inclinationDistribution); + if(inclinationDistribution->modelType() == Constants::DistributionNoneType) { + addPropertyToParameterModel(standardItem, TestBeamItem::P_INCLINATION_ANGLE, BeamAngleItem::P_CACHED_VALUE, inclinationAngle->getRegisteredProperty(BeamAngleItem::P_CACHED_VALUE), inclinationAngle); + } + + ParameterizedItem *azimuthalAngle = beamItem->getSubItems()[TestBeamItem::P_AZIMUTHAL_ANGLE]; + Q_ASSERT(azimuthalAngle); + ParameterizedItem *azimuthalDistribution = azimuthalAngle->getSubItems()[BeamAngleItem::P_DISTRIBUTION]; + Q_ASSERT(azimuthalDistribution); + if(azimuthalDistribution->modelType() == Constants::DistributionNoneType) { + addPropertyToParameterModel(standardItem, TestBeamItem::P_AZIMUTHAL_ANGLE, BeamAngleItem::P_CACHED_VALUE, azimuthalAngle->getRegisteredProperty(BeamAngleItem::P_CACHED_VALUE), azimuthalAngle); + } } } @@ -173,7 +193,7 @@ QStandardItem *ParameterModelBuilder::iterateInstrumentModel(InstrumentModel *in } -void ParameterModelBuilder::insertRowIntoItem(QStandardItem *parentItem, QStandardItem *childTitleItem, QStandardItem *childValueItem) +void ParameterModelBuilder::InsertRowIntoItem(QStandardItem *parentItem, QStandardItem *childTitleItem, QStandardItem *childValueItem) { if(childValueItem == NULL) { @@ -186,9 +206,9 @@ void ParameterModelBuilder::insertRowIntoItem(QStandardItem *parentItem, QStanda } -void ParameterModelBuilder::insertRowIntoItem(QStandardItem *parentItem, QString title, QVariant value, ParameterizedItem *parameterizedItem) +void ParameterModelBuilder::addPropertyToParameterModel(QStandardItem *parentItem, const QString &title, const QString &property_name, QVariant value, ParameterizedItem *parameterizedItem) { - ItemLink itemLink(title, parameterizedItem); + ItemLink itemLink(property_name, parameterizedItem); QVariant itemLinkData; itemLinkData.setValue(itemLink); @@ -200,6 +220,6 @@ void ParameterModelBuilder::insertRowIntoItem(QStandardItem *parentItem, QString valueItem->setData(itemLinkData, Qt::UserRole); valueItem->setData(value, Qt::EditRole); valueItem->setEditable(true); - insertRowIntoItem(parentItem, titleItem, valueItem); + InsertRowIntoItem(parentItem, titleItem, valueItem); } diff --git a/GUI/coregui/Models/ParameterModelBuilder.h b/GUI/coregui/Models/ParameterModelBuilder.h index b136ac109cc..238ee0ef316 100644 --- a/GUI/coregui/Models/ParameterModelBuilder.h +++ b/GUI/coregui/Models/ParameterModelBuilder.h @@ -39,8 +39,8 @@ public: private: static QStandardItem *iterateSessionModel(SampleModel *sampleModel, const QModelIndex &parentIndex = QModelIndex(), QStandardItem *parentItem = 0); static QStandardItem *iterateInstrumentModel(InstrumentModel *instrumentModel); - static void insertRowIntoItem(QStandardItem *parentItem, QStandardItem *childTitleItem, QStandardItem *childValueItem = 0); - static void insertRowIntoItem(QStandardItem *parentItem, QString title, QVariant value, ParameterizedItem *parameterizedItem); + static void InsertRowIntoItem(QStandardItem *parentItem, QStandardItem *childTitleItem, QStandardItem *childValueItem = 0); + static void addPropertyToParameterModel(QStandardItem *parentItem, const QString &title, const QString &property_name, QVariant value, ParameterizedItem *parameterizedItem); }; diff --git a/GUI/coregui/Models/TransformToDomain.cpp b/GUI/coregui/Models/TransformToDomain.cpp index cf246fccef3..35bb6815e26 100644 --- a/GUI/coregui/Models/TransformToDomain.cpp +++ b/GUI/coregui/Models/TransformToDomain.cpp @@ -288,12 +288,18 @@ Beam *TransformToDomain::createBeam(const ParameterizedItem &item) // qDebug() << "TransformToDomain::createBeam"; Beam *result = new Beam(); result->setName(item.itemName().toUtf8().constData()); - result->setIntensity(item.getRegisteredProperty(BeamItem::P_INTENSITY).toDouble()); - double lambda = item.getRegisteredProperty(BeamItem::P_WAVELENGTH).toDouble(); - AngleProperty inclination_angle = item.getRegisteredProperty(BeamItem::P_INCLINATION_ANGLE).value<AngleProperty>(); - AngleProperty azimuthal_angle = item.getRegisteredProperty(BeamItem::P_AZIMUTHAL_ANGLE).value<AngleProperty>(); - result->setCentralK( lambda, inclination_angle.getValueInRadians(), azimuthal_angle.getValueInRadians()); + const TestBeamItem *beamItem = dynamic_cast<const TestBeamItem *>(&item); + + result->setIntensity(beamItem->getIntensity()); + double lambda = beamItem->getWavelength(); + double inclination_angle = Units::deg2rad(beamItem->getInclinationAngle()); + double azimuthal_angle = Units::deg2rad(beamItem->getAzimuthalAngle()); + result->setCentralK( lambda, inclination_angle, azimuthal_angle); + +// AngleProperty inclination_angle = item.getRegisteredProperty(BeamItem::P_INCLINATION_ANGLE).value<AngleProperty>(); +// AngleProperty azimuthal_angle = item.getRegisteredProperty(BeamItem::P_AZIMUTHAL_ANGLE).value<AngleProperty>(); +// result->setCentralK( lambda, inclination_angle.getValueInRadians(), azimuthal_angle.getValueInRadians()); return result; } diff --git a/GUI/coregui/Views/InstrumentWidgets/BeamEditorWidget.cpp b/GUI/coregui/Views/InstrumentWidgets/BeamEditorWidget.cpp index 485802de99e..1d49b5f2a48 100644 --- a/GUI/coregui/Views/InstrumentWidgets/BeamEditorWidget.cpp +++ b/GUI/coregui/Views/InstrumentWidgets/BeamEditorWidget.cpp @@ -13,233 +13,234 @@ // // ************************************************************************** // -#include "BeamEditorWidget.h" -#include "ComboProperty.h" -#include "DetectorItems.h" -#include "BeamItem.h" -#include "Units.h" -#include "AngleProperty.h" -#include "GUIHelpers.h" -#include "GroupBox.h" -#include "ComboWidget.h" -#include "UniversalPropertyEditor.h" -#include <QLineEdit> -#include <QBoxLayout> -#include <QDoubleValidator> -#include <QLabel> -#include <QGroupBox> -#include <QComboBox> -#include <QSpinBox> -#include <QDoubleSpinBox> -#include <QGridLayout> -#include <QDebug> - - -BeamEditorWidget::BeamEditorWidget(QWidget *parent) - : QWidget(parent) - , m_intensityText( new QLineEdit) - , m_intensityValidator(0) - , m_wavelengthSpinBox(new QDoubleSpinBox) - , m_angleUnits(new QComboBox) - , m_inclinationAngleSpinBox(new QDoubleSpinBox) - , m_azimuthalAngleSpinBox(new QDoubleSpinBox) - , m_beamTypeCombo(new QComboBox) - , m_currentItem(0) - , m_block_signals(false) -{ - - m_intensityValidator = new QDoubleValidator(0.1, 1e+100, 2, this); - m_intensityValidator->setNotation(QDoubleValidator::ScientificNotation); - m_intensityText->setValidator(m_intensityValidator); - - m_wavelengthSpinBox->setSingleStep(0.1); - m_wavelengthSpinBox->setDecimals(4); - m_wavelengthSpinBox->setMinimum(0.0001); - m_wavelengthSpinBox->setMaximum(100.); - - m_beamTypeCombo->addItem("Monochromatic"); - - // group box layout - QGroupBox *beamGroup = new QGroupBox("Beam Parameters"); - QVBoxLayout *beamGroupLayout = new QVBoxLayout; - beamGroup->setLayout(beamGroupLayout); - - QGridLayout *beamParamsLayout = new QGridLayout; - beamParamsLayout->addWidget(new QLabel(BeamItem::P_INTENSITY), 0, 0); - beamParamsLayout->addWidget(m_intensityText, 0, 1); - beamParamsLayout->addWidget(new QLabel(BeamItem::P_WAVELENGTH), 1, 0); - beamParamsLayout->addWidget(m_wavelengthSpinBox, 1, 1); - beamParamsLayout->addWidget(new QLabel(" "), 2, 2); - beamParamsLayout->addWidget(new QLabel("Inclination angle"), 3, 0); - beamParamsLayout->addWidget(m_inclinationAngleSpinBox, 3, 1); - beamParamsLayout->addWidget(m_angleUnits, 3, 2); - beamParamsLayout->addWidget(new QLabel("Azimuthal angle"), 4, 0); - beamParamsLayout->addWidget(m_azimuthalAngleSpinBox, 4, 1); - beamParamsLayout->addWidget(new QLabel("Beam Type"), 5, 0); - beamParamsLayout->addWidget(m_beamTypeCombo, 5, 1); - - -// // Code of Mahadi, will be used in the future for beam divergence - - //GroupBox Test - GroupBox *settingsGroupBox = new GroupBox("Beam Type Settings"); - QVBoxLayout *beamTypeSettingsGroupLayout2 = new QVBoxLayout; - settingsGroupBox->setLayout(beamTypeSettingsGroupLayout2); - - QGridLayout *beamTypeLayout2 = new QGridLayout; - beamTypeLayout2->addWidget(new QLabel("Param 1"), 0, 0); - beamTypeLayout2->addWidget(new QLineEdit, 0, 1); - beamTypeLayout2->addWidget(new QLabel("Param 2"), 1, 0); - beamTypeLayout2->addWidget(new QLineEdit, 1, 1); - - beamTypeSettingsGroupLayout2->addLayout(beamTypeLayout2); - - beamParamsLayout->addWidget(settingsGroupBox, 6,1,1,1); - //end of GroupBox Test - - - -// //ComboWidget Test -// QGridLayout *comboLayout = new QGridLayout; -// comboLayout->addWidget(new QLabel("Param 1"), 0, 0); -// comboLayout->addWidget(new QLineEdit, 0, 1); -// comboLayout->addWidget(new QLabel("Param 2"), 1, 0); -// comboLayout->addWidget(new QLineEdit, 1, 1); - -// ComboWidget *comboWidget = new ComboWidget("Monochromatic", comboLayout, this); -// beamParamsLayout->addWidget(new QLabel("Beam Type"), 7, 0); -// beamParamsLayout->addWidget(comboWidget, 7,1,1,2); - -// comboWidget->addItem("Dichromatic"); -// //end of ComboWidget Test - - - - - beamGroupLayout->addLayout(beamParamsLayout); - - // main layout - QVBoxLayout *mainLayout = new QVBoxLayout; - mainLayout->addWidget(beamGroup); - setLayout(mainLayout); +//#include "BeamEditorWidget.h" +//#include "ComboProperty.h" +//#include "DetectorItems.h" +//#include "BeamItem.h" +//#include "Units.h" +//#include "AngleProperty.h" +//#include "GUIHelpers.h" +//#include "GroupBox.h" +//#include "ComboWidget.h" +//#include "UniversalPropertyEditor.h" +//#include <QLineEdit> +//#include <QBoxLayout> +//#include <QDoubleValidator> +//#include <QLabel> +//#include <QGroupBox> +//#include <QComboBox> +//#include <QSpinBox> +//#include <QDoubleSpinBox> +//#include <QGridLayout> +//#include <QDebug> + + +//BeamEditorWidget::BeamEditorWidget(QWidget *parent) +// : QWidget(parent) +// , m_intensityText( new QLineEdit) +// , m_intensityValidator(0) +// , m_wavelengthSpinBox(new QDoubleSpinBox) +// , m_angleUnits(new QComboBox) +// , m_inclinationAngleSpinBox(new QDoubleSpinBox) +// , m_azimuthalAngleSpinBox(new QDoubleSpinBox) +// , m_beamTypeCombo(new QComboBox) +// , m_currentItem(0) +// , m_block_signals(false) +//{ + +// m_intensityValidator = new QDoubleValidator(0.1, 1e+100, 2, this); +// m_intensityValidator->setNotation(QDoubleValidator::ScientificNotation); +// m_intensityText->setValidator(m_intensityValidator); + +// m_wavelengthSpinBox->setSingleStep(0.1); +// m_wavelengthSpinBox->setDecimals(4); +// m_wavelengthSpinBox->setMinimum(0.0001); +// m_wavelengthSpinBox->setMaximum(100.); + +// m_beamTypeCombo->addItem("Monochromatic"); + +// // group box layout +// QGroupBox *beamGroup = new QGroupBox("Beam Parameters"); +// QVBoxLayout *beamGroupLayout = new QVBoxLayout; +// beamGroup->setLayout(beamGroupLayout); + +// QGridLayout *beamParamsLayout = new QGridLayout; +// beamParamsLayout->addWidget(new QLabel(BeamItem::P_INTENSITY), 0, 0); +// beamParamsLayout->addWidget(m_intensityText, 0, 1); +// beamParamsLayout->addWidget(new QLabel(BeamItem::P_WAVELENGTH), 1, 0); +// beamParamsLayout->addWidget(m_wavelengthSpinBox, 1, 1); +// beamParamsLayout->addWidget(new QLabel(" "), 2, 2); +// beamParamsLayout->addWidget(new QLabel("Inclination angle"), 3, 0); +// beamParamsLayout->addWidget(m_inclinationAngleSpinBox, 3, 1); +// beamParamsLayout->addWidget(m_angleUnits, 3, 2); +// beamParamsLayout->addWidget(new QLabel("Azimuthal angle"), 4, 0); +// beamParamsLayout->addWidget(m_azimuthalAngleSpinBox, 4, 1); +// beamParamsLayout->addWidget(new QLabel("Beam Type"), 5, 0); +// beamParamsLayout->addWidget(m_beamTypeCombo, 5, 1); + + +//// // Code of Mahadi, will be used in the future for beam divergence + +// //GroupBox Test +// GroupBox *settingsGroupBox = new GroupBox("Beam Type Settings"); +// QVBoxLayout *beamTypeSettingsGroupLayout2 = new QVBoxLayout; +// settingsGroupBox->setLayout(beamTypeSettingsGroupLayout2); + +// QGridLayout *beamTypeLayout2 = new QGridLayout; +// beamTypeLayout2->addWidget(new QLabel("Param 1"), 0, 0); +// beamTypeLayout2->addWidget(new QLineEdit, 0, 1); +// beamTypeLayout2->addWidget(new QLabel("Param 2"), 1, 0); +// beamTypeLayout2->addWidget(new QLineEdit, 1, 1); + +// beamTypeSettingsGroupLayout2->addLayout(beamTypeLayout2); + +// beamParamsLayout->addWidget(settingsGroupBox, 6,1,1,1); +// //end of GroupBox Test + + + +//// //ComboWidget Test +//// QGridLayout *comboLayout = new QGridLayout; +//// comboLayout->addWidget(new QLabel("Param 1"), 0, 0); +//// comboLayout->addWidget(new QLineEdit, 0, 1); +//// comboLayout->addWidget(new QLabel("Param 2"), 1, 0); +//// comboLayout->addWidget(new QLineEdit, 1, 1); + +//// ComboWidget *comboWidget = new ComboWidget("Monochromatic", comboLayout, this); +//// beamParamsLayout->addWidget(new QLabel("Beam Type"), 7, 0); +//// beamParamsLayout->addWidget(comboWidget, 7,1,1,2); + +//// comboWidget->addItem("Dichromatic"); +//// //end of ComboWidget Test + + + + +// beamGroupLayout->addLayout(beamParamsLayout); + +// // main layout +// QVBoxLayout *mainLayout = new QVBoxLayout; +// mainLayout->addWidget(beamGroup); +// setLayout(mainLayout); - // signals - connect(m_intensityText, SIGNAL(editingFinished()), this, SLOT(onIntensityEditingFinished())); - connect(m_wavelengthSpinBox, SIGNAL(valueChanged(const QString &)), this, SLOT(onChangedWavelength(const QString &))); - connect(m_angleUnits, SIGNAL(currentIndexChanged(int)), this, SLOT(onAngleUnitsChanged(int))); - connect(m_inclinationAngleSpinBox, SIGNAL(valueChanged(const QString &)), this, SLOT(onChangedAngle(const QString &))); - connect(m_azimuthalAngleSpinBox, SIGNAL(valueChanged(const QString &)), this, SLOT(onChangedAngle(const QString &))); -} +// // signals +// connect(m_intensityText, SIGNAL(editingFinished()), this, SLOT(onIntensityEditingFinished())); +// connect(m_wavelengthSpinBox, SIGNAL(valueChanged(const QString &)), this, SLOT(onChangedWavelength(const QString &))); +// connect(m_angleUnits, SIGNAL(currentIndexChanged(int)), this, SLOT(onAngleUnitsChanged(int))); +// connect(m_inclinationAngleSpinBox, SIGNAL(valueChanged(const QString &)), this, SLOT(onChangedAngle(const QString &))); +// connect(m_azimuthalAngleSpinBox, SIGNAL(valueChanged(const QString &)), this, SLOT(onChangedAngle(const QString &))); +//} -void BeamEditorWidget::initFromItem(BeamItem *item) -{ - qDebug() << "DetectorEditorWidget::initFromItem()"; +//void BeamEditorWidget::initFromItem(BeamItem *item) +//{ +// qDebug() << "DetectorEditorWidget::initFromItem()"; - if(item != m_currentItem) { - if(m_currentItem) { - disconnect(m_currentItem, SIGNAL(propertyChanged(const QString &)), this, SLOT(onPropertyChanged(const QString &))); - //disconnect(m_currentItem, SIGNAL(subItemChanged(const QString &)), this, SLOT(onPropertyChanged(const QString &))); - } +// if(item != m_currentItem) { +// if(m_currentItem) { +// disconnect(m_currentItem, SIGNAL(propertyChanged(const QString &)), this, SLOT(onPropertyChanged(const QString &))); +// //disconnect(m_currentItem, SIGNAL(subItemChanged(const QString &)), this, SLOT(onPropertyChanged(const QString &))); +// } - m_currentItem = item; +// m_currentItem = item; - connect(item, SIGNAL(propertyChanged(const QString &)), this, SLOT(onPropertyChanged(const QString &))); -// connect(item, SIGNAL(subItemChanged(const QString &)), this, SLOT(onPropertyChanged(const QString &))); +// connect(item, SIGNAL(propertyChanged(const QString &)), this, SLOT(onPropertyChanged(const QString &))); +//// connect(item, SIGNAL(subItemChanged(const QString &)), this, SLOT(onPropertyChanged(const QString &))); - updateWidgets(); - } -} +// updateWidgets(); +// } +//} -void BeamEditorWidget::onIntensityEditingFinished() -{ - if(m_block_signals) return; - m_currentItem->setRegisteredProperty(BeamItem::P_INTENSITY, m_intensityText->text().toDouble()); -} +//void BeamEditorWidget::onIntensityEditingFinished() +//{ +// if(m_block_signals) return; +// m_currentItem->setRegisteredProperty(BeamItem::P_INTENSITY, m_intensityText->text().toDouble()); +//} -void BeamEditorWidget::onChangedWavelength(const QString & /* text */) -{ - if(m_block_signals) return; - m_currentItem->setRegisteredProperty(BeamItem::P_WAVELENGTH, m_wavelengthSpinBox->value()); -} +//void BeamEditorWidget::onChangedWavelength(const QString & /* text */) +//{ +// if(m_block_signals) return; +// m_currentItem->setRegisteredProperty(BeamItem::P_WAVELENGTH, m_wavelengthSpinBox->value()); +//} -void BeamEditorWidget::onChangedAngle(const QString &) -{ - if(m_block_signals) return; +//void BeamEditorWidget::onChangedAngle(const QString &) +//{ +// if(m_block_signals) return; - AngleProperty inclination_angle = m_currentItem->getRegisteredProperty(BeamItem::P_INCLINATION_ANGLE).value<AngleProperty>(); - inclination_angle.setValue(m_inclinationAngleSpinBox->value()); - m_currentItem->setRegisteredProperty(BeamItem::P_INCLINATION_ANGLE, inclination_angle.getVariant()); +// AngleProperty inclination_angle = m_currentItem->getRegisteredProperty(BeamItem::P_INCLINATION_ANGLE).value<AngleProperty>(); +// inclination_angle.setValue(m_inclinationAngleSpinBox->value()); +// m_currentItem->setRegisteredProperty(BeamItem::P_INCLINATION_ANGLE, inclination_angle.getVariant()); - AngleProperty azimuthal_angle = m_currentItem->getRegisteredProperty(BeamItem::P_AZIMUTHAL_ANGLE).value<AngleProperty>(); - azimuthal_angle.setValue(m_azimuthalAngleSpinBox->value()); - m_currentItem->setRegisteredProperty(BeamItem::P_AZIMUTHAL_ANGLE, azimuthal_angle.getVariant()); -} +// AngleProperty azimuthal_angle = m_currentItem->getRegisteredProperty(BeamItem::P_AZIMUTHAL_ANGLE).value<AngleProperty>(); +// azimuthal_angle.setValue(m_azimuthalAngleSpinBox->value()); +// m_currentItem->setRegisteredProperty(BeamItem::P_AZIMUTHAL_ANGLE, azimuthal_angle.getVariant()); +//} -void BeamEditorWidget::onPropertyChanged(const QString &name) -{ - qDebug() << "BeamEditorWidget::onPropertyChanged() -> " << name; - updateWidgets(); -} +//void BeamEditorWidget::onPropertyChanged(const QString &name) +//{ +// qDebug() << "BeamEditorWidget::onPropertyChanged() -> " << name; +// updateWidgets(); +//} -void BeamEditorWidget::onAngleUnitsChanged(int) -{ - if(m_block_signals) return; - qDebug() << "BeamEditorWidget::onAngleUnitsChanged(int) " << m_angleUnits->currentText(); - AngleProperty inclination_angle = m_currentItem->getRegisteredProperty(BeamItem::P_INCLINATION_ANGLE).value<AngleProperty>(); - inclination_angle.setUnits(m_angleUnits->currentText()); - m_currentItem->setRegisteredProperty(BeamItem::P_INCLINATION_ANGLE, inclination_angle.getVariant()); -} +//void BeamEditorWidget::onAngleUnitsChanged(int) +//{ +// if(m_block_signals) return; +// qDebug() << "BeamEditorWidget::onAngleUnitsChanged(int) " << m_angleUnits->currentText(); +// AngleProperty inclination_angle = m_currentItem->getRegisteredProperty(BeamItem::P_INCLINATION_ANGLE).value<AngleProperty>(); +// inclination_angle.setUnits(m_angleUnits->currentText()); +// m_currentItem->setRegisteredProperty(BeamItem::P_INCLINATION_ANGLE, inclination_angle.getVariant()); +//} -void BeamEditorWidget::updateWidgets() -{ - Q_ASSERT(m_currentItem); - qDebug() << "DetectorEditorWidget::updateWidgets() ->"; +//void BeamEditorWidget::updateWidgets() +//{ +// Q_ASSERT(m_currentItem); +// qDebug() << "DetectorEditorWidget::updateWidgets() ->"; - setBlockSignals(true); - m_intensityText->setText(QString::number(m_currentItem->getRegisteredProperty(BeamItem::P_INTENSITY).toDouble())); - m_wavelengthSpinBox->setValue(m_currentItem->getRegisteredProperty(BeamItem::P_WAVELENGTH).toDouble()); +// setBlockSignals(true); +// m_intensityText->setText(QString::number(m_currentItem->getRegisteredProperty(BeamItem::P_INTENSITY).toDouble())); +// m_wavelengthSpinBox->setValue(m_currentItem->getRegisteredProperty(BeamItem::P_WAVELENGTH).toDouble()); - AngleProperty inclination_angle = m_currentItem->getRegisteredProperty(BeamItem::P_INCLINATION_ANGLE).value<AngleProperty>(); - AngleProperty azimuthal_angle = m_currentItem->getRegisteredProperty(BeamItem::P_AZIMUTHAL_ANGLE).value<AngleProperty>(); +// AngleProperty inclination_angle = m_currentItem->getRegisteredProperty(BeamItem::P_INCLINATION_ANGLE).value<AngleProperty>(); +// AngleProperty azimuthal_angle = m_currentItem->getRegisteredProperty(BeamItem::P_AZIMUTHAL_ANGLE).value<AngleProperty>(); - // Units from inclination_agle will control azimuthal_angle too - m_angleUnits->clear(); - m_angleUnits->addItems(inclination_angle.getLabels()); - m_angleUnits->setCurrentText(inclination_angle.getUnits()); +// // Units from inclination_agle will control azimuthal_angle too +// m_angleUnits->clear(); +// m_angleUnits->addItems(inclination_angle.getLabels()); +// m_angleUnits->setCurrentText(inclination_angle.getUnits()); + +// setAngleUnits(m_inclinationAngleSpinBox, inclination_angle); +// setAngleUnits(m_azimuthalAngleSpinBox, azimuthal_angle); + +// setBlockSignals(false); +//} + + +//void BeamEditorWidget::setBlockSignals(bool flag) +//{ +// m_block_signals = flag; +//} + + +//void BeamEditorWidget::setAngleUnits(QDoubleSpinBox *editor, const AngleProperty &units, double min_deg, double max_deg) +//{ +// if(units.inDegrees()) { +// editor->setSingleStep(0.01); +// editor->setMinimum(min_deg); +// editor->setMaximum(max_deg); +// editor->setDecimals(3); +// editor->setValue(units.getValue()); +// } +// else { +// editor->setSingleStep(0.0001); +// editor->setMinimum(Units::deg2rad(min_deg)); +// editor->setMaximum(Units::deg2rad(max_deg)); +// editor->setDecimals(6); +// editor->setValue(units.getValue()); +// } +//} - setAngleUnits(m_inclinationAngleSpinBox, inclination_angle); - setAngleUnits(m_azimuthalAngleSpinBox, azimuthal_angle); - - setBlockSignals(false); -} - - -void BeamEditorWidget::setBlockSignals(bool flag) -{ - m_block_signals = flag; -} - - -void BeamEditorWidget::setAngleUnits(QDoubleSpinBox *editor, const AngleProperty &units, double min_deg, double max_deg) -{ - if(units.inDegrees()) { - editor->setSingleStep(0.01); - editor->setMinimum(min_deg); - editor->setMaximum(max_deg); - editor->setDecimals(3); - editor->setValue(units.getValue()); - } - else { - editor->setSingleStep(0.0001); - editor->setMinimum(Units::deg2rad(min_deg)); - editor->setMaximum(Units::deg2rad(max_deg)); - editor->setDecimals(6); - editor->setValue(units.getValue()); - } -} diff --git a/GUI/coregui/Views/InstrumentWidgets/BeamEditorWidget.h b/GUI/coregui/Views/InstrumentWidgets/BeamEditorWidget.h index c78fe2d93af..e730340a858 100644 --- a/GUI/coregui/Views/InstrumentWidgets/BeamEditorWidget.h +++ b/GUI/coregui/Views/InstrumentWidgets/BeamEditorWidget.h @@ -13,53 +13,53 @@ // // ************************************************************************** // -#ifndef BEAM_EDITOR_WIDGET_H -#define BEAM_EDITOR_WIDGET_H +//#ifndef BEAM_EDITOR_WIDGET_H +//#define BEAM_EDITOR_WIDGET_H -#include "WinDllMacros.h" -#include <QWidget> +//#include "WinDllMacros.h" +//#include <QWidget> -class QComboBox; -class QDoubleSpinBox; -class QLineEdit; -class QLabel; -class BeamItem; -class QDoubleValidator; -class AngleProperty; +//class QComboBox; +//class QDoubleSpinBox; +//class QLineEdit; +//class QLabel; +//class BeamItem; +//class QDoubleValidator; +//class AngleProperty; -class BA_CORE_API_ BeamEditorWidget : public QWidget -{ - Q_OBJECT +//class BA_CORE_API_ BeamEditorWidget : public QWidget +//{ +// Q_OBJECT -public: - BeamEditorWidget(QWidget *parent = 0); +//public: +// BeamEditorWidget(QWidget *parent = 0); - void initFromItem(BeamItem *item); +// void initFromItem(BeamItem *item); -public slots: - void onIntensityEditingFinished(); - void onChangedWavelength(const QString &); - void onChangedAngle(const QString &); +//public slots: +// void onIntensityEditingFinished(); +// void onChangedWavelength(const QString &); +// void onChangedAngle(const QString &); - void onPropertyChanged(const QString &); +// void onPropertyChanged(const QString &); - void onAngleUnitsChanged(int); +// void onAngleUnitsChanged(int); -private: - void updateWidgets(); - void setBlockSignals(bool flag); - void setAngleUnits(QDoubleSpinBox *, const AngleProperty &units, double min_deg = -90.0, double max_deg = 90.0); +//private: +// void updateWidgets(); +// void setBlockSignals(bool flag); +// void setAngleUnits(QDoubleSpinBox *, const AngleProperty &units, double min_deg = -90.0, double max_deg = 90.0); - QLineEdit *m_intensityText; - QDoubleValidator *m_intensityValidator; - QDoubleSpinBox *m_wavelengthSpinBox; - QComboBox *m_angleUnits; - QDoubleSpinBox *m_inclinationAngleSpinBox; - QDoubleSpinBox *m_azimuthalAngleSpinBox; - QComboBox *m_beamTypeCombo; - BeamItem *m_currentItem; - bool m_block_signals; -}; +// QLineEdit *m_intensityText; +// QDoubleValidator *m_intensityValidator; +// QDoubleSpinBox *m_wavelengthSpinBox; +// QComboBox *m_angleUnits; +// QDoubleSpinBox *m_inclinationAngleSpinBox; +// QDoubleSpinBox *m_azimuthalAngleSpinBox; +// QComboBox *m_beamTypeCombo; +// BeamItem *m_currentItem; +// bool m_block_signals; +//}; -#endif +//#endif diff --git a/GUI/coregui/Views/InstrumentWidgets/InstrumentEditorWidget.cpp b/GUI/coregui/Views/InstrumentWidgets/InstrumentEditorWidget.cpp index a42eabccae6..fce71d1f51a 100644 --- a/GUI/coregui/Views/InstrumentWidgets/InstrumentEditorWidget.cpp +++ b/GUI/coregui/Views/InstrumentWidgets/InstrumentEditorWidget.cpp @@ -104,7 +104,7 @@ void InstrumentEditorWidget::setInstrumentItem(ParameterizedItem *instrument) updateWidgets(); } - BeamItem *beamItem(0); + TestBeamItem *beamItem(0); DetectorItem *detectorItem(0); instrument->print(); @@ -113,7 +113,7 @@ void InstrumentEditorWidget::setInstrumentItem(ParameterizedItem *instrument) qDebug() << "XXX " << item->modelType(); item->print(); if(item->modelType() == Constants::BeamType) { - beamItem = dynamic_cast<BeamItem *>(item); + beamItem = dynamic_cast<TestBeamItem *>(item); } else if(item->modelType() == Constants::DetectorType) { detectorItem = dynamic_cast<DetectorItem *>(item); @@ -127,8 +127,8 @@ void InstrumentEditorWidget::setInstrumentItem(ParameterizedItem *instrument) // m_testWidget->setBeamItem(beamItem); - TestBeamItem *testBeam = new TestBeamItem; - m_instrumentComponents->setBeamItem(testBeam); +// TestBeamItem *testBeam = new TestBeamItem; + m_instrumentComponents->setBeamItem(beamItem); TestDetectorItem *testDetector = new TestDetectorItem; m_instrumentComponents->setDetectorItem(testDetector); diff --git a/GUI/coregui/Views/JobWidgets/ModelTuningDelegate.cpp b/GUI/coregui/Views/JobWidgets/ModelTuningDelegate.cpp index 012f8042daa..3a9448aa50a 100644 --- a/GUI/coregui/Views/JobWidgets/ModelTuningDelegate.cpp +++ b/GUI/coregui/Views/JobWidgets/ModelTuningDelegate.cpp @@ -35,7 +35,7 @@ namespace { const double maximum_doublespin_value(10000.0); -const double minimum_doublespin_value(10000.0); +const double minimum_doublespin_value(0.0); } ModelTuningDelegate::SliderData::SliderData() -- GitLab