diff --git a/GUI/coregui/Models/GroupPropertyRegistry.cpp b/GUI/coregui/Models/GroupPropertyRegistry.cpp index eced6bbb83f3dda1dfe82ba7302331951c20396e..28ef9b182ef041ab3be17ea736ee9717dfdb82b7 100644 --- a/GUI/coregui/Models/GroupPropertyRegistry.cpp +++ b/GUI/coregui/Models/GroupPropertyRegistry.cpp @@ -50,6 +50,14 @@ GroupPropertyRegistry::SelectableGroupMap_t initializeSelectableGroupMap() detectors[Constants::PhiAlphaDetectorType] = "[Phi, Alpha] plane"; result[Constants::DetectorGroup] = detectors; + QMap<QString, QString> distributions; + distributions[Constants::DistributionGateType] = "Gate distribution"; + distributions[Constants::DistributionLorentzType] = "Lorentz distribution"; + distributions[Constants::DistributionGaussianType] = "Gaussian distribution"; + distributions[Constants::DistributionLogNormalType] = "Log Normal distribution"; + distributions[Constants::DistributionCosineType] = "Cosine distribution"; + result[Constants::DistributionGroup] = distributions; + QMap<QString, QString> pdfs_1d; pdfs_1d[Constants::FTDistribution1DCauchyType] = "Cauchy 1D"; pdfs_1d[Constants::FTDistribution1DGaussType] = "Gauss 1D"; diff --git a/GUI/coregui/Models/ItemFactory.cpp b/GUI/coregui/Models/ItemFactory.cpp index e6a6f0e81263b3377c6a5078ffebbba7e5373f38..ab8e005fc83cfcdcbe686cff05943d29364bab9f 100644 --- a/GUI/coregui/Models/ItemFactory.cpp +++ b/GUI/coregui/Models/ItemFactory.cpp @@ -22,6 +22,7 @@ #include "RotationItems.h" #include "ParticleCoreShellItem.h" #include "ParticleDistributionItem.h" +#include "DistributionItem.h" #include "InterferenceFunctionItems.h" #include "InstrumentItem.h" #include "BeamItem.h" @@ -89,6 +90,12 @@ ItemFactory::ItemMap_t initializeItemMap() { result[Constants::DetectorType] = &createInstance<DetectorItem>; result[Constants::PhiAlphaDetectorType] = &createInstance<PhiAlphaDetectorItem>; + result[Constants::DistributionGateType] = &createInstance<DistributionGateItem>; + result[Constants::DistributionLorentzType] = &createInstance<DistributionLorentzItem>; + result[Constants::DistributionGaussianType] = &createInstance<DistributionGaussianItem>; + result[Constants::DistributionLogNormalType] = &createInstance<DistributionLogNormalItem>; + result[Constants::DistributionCosineType] = &createInstance<DistributionCosineItem>; + result[Constants::FTDistribution1DCauchyType] = &createInstance<FTDistribution1DCauchyItem>; result[Constants::FTDistribution1DGaussType] = &createInstance<FTDistribution1DGaussItem>; result[Constants::FTDistribution1DGateType] = &createInstance<FTDistribution1DGateItem>; diff --git a/GUI/coregui/Models/ParticleDistributionItem.cpp b/GUI/coregui/Models/ParticleDistributionItem.cpp index 885838e45ef800d794bdaf8aac388092107e4ba0..08b3dc01ddb2f8e65da3529260ec7b41d02e5a09 100644 --- a/GUI/coregui/Models/ParticleDistributionItem.cpp +++ b/GUI/coregui/Models/ParticleDistributionItem.cpp @@ -33,14 +33,11 @@ ParticleDistributionItem::ParticleDistributionItem(ParameterizedItem *parent) par_name << "Radius" << "Height"; registerProperty(P_DISTRIBUTED_PARAMETER, par_name.getVariant()); registerGroupProperty(P_DISTRIBUTION, Constants::DistributionGroup); - registerProperty(P_SAMPLE_NUMBER, 5.0); + registerProperty(P_SAMPLE_NUMBER, 5); registerProperty(P_SIGMA_FACTOR, 2.0); addToValidChildren(Constants::ParticleType, PortInfo::Port0); addToValidChildren(Constants::ParticleCoreShellType, PortInfo::Port0); - - setPropertyAppearance(ParameterizedItem::P_NAME, - PropertyAttribute::VisibleProperty); } ParticleDistributionItem::~ParticleDistributionItem() diff --git a/GUI/coregui/Views/Components/SampleDesigner/DesignerHelper.cpp b/GUI/coregui/Views/Components/SampleDesigner/DesignerHelper.cpp index e4734dfdc00925e585ebd755ccd6b4e850da738d..600b515a19290fa2be283eb65827ef335ebb4208 100644 --- a/GUI/coregui/Views/Components/SampleDesigner/DesignerHelper.cpp +++ b/GUI/coregui/Views/Components/SampleDesigner/DesignerHelper.cpp @@ -146,7 +146,10 @@ QRectF DesignerHelper::getDefaultBoundingRect(const QString &name) else if (name==Constants::TransformationType) { return QRectF(0, 0, getDefaultTransformationWidth(), getDefaultTransformationHeight()); } - else if (name.startsWith(Constants::FormFactorType) || name==Constants::ParticleType || name==Constants::ParticleCoreShellType) { + else if (name.startsWith(Constants::FormFactorType) + || name==Constants::ParticleType + || name==Constants::ParticleCoreShellType + || name==Constants::ParticleDistributionType) { return QRectF(0, 0, getDefaultParticleWidth(), getDefaultParticleHeight()); } else if (name.startsWith("InterferenceFunction")) { diff --git a/GUI/coregui/Views/Components/SampleDesigner/ParticleDistributionView.cpp b/GUI/coregui/Views/Components/SampleDesigner/ParticleDistributionView.cpp index 9079720e09fe5a340af6d637017ccd81f37e7690..8a3a51f3aa74d9c3a54a2926bdfa40ea57cee972 100644 --- a/GUI/coregui/Views/Components/SampleDesigner/ParticleDistributionView.cpp +++ b/GUI/coregui/Views/Components/SampleDesigner/ParticleDistributionView.cpp @@ -11,8 +11,7 @@ ParticleDistributionView::ParticleDistributionView(QGraphicsItem *parent) setColor(DesignerHelper::getDefaultParticleColor()); setRectangle(DesignerHelper::getDefaultBoundingRect(Constants::ParticleDistributionType)); addPort("out", NodeEditorPort::Output, NodeEditorPort::FormFactor); - addPort("core", NodeEditorPort::Input, NodeEditorPort::FormFactor); - addPort("shell", NodeEditorPort::Input, NodeEditorPort::FormFactor); + addPort("particle", NodeEditorPort::Input, NodeEditorPort::FormFactor); m_roundpar = 5; m_label_vspace = 45; }