BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
SimulationOptionsItem Class Reference

The SimulationOptionsItem class holds simulation status (run policy, number of threads, integration flag). More...

Inheritance diagram for SimulationOptionsItem:
[legend]
Collaboration diagram for SimulationOptionsItem:
[legend]

Public Member Functions

 SimulationOptionsItem ()
 
QVector< QString > acceptableDefaultItemTypes () const
 Returns vector of acceptable default tag types. More...
 
bool acceptsAsDefaultItem (const QString &item_name) const
 Returns true if model type can be added to default tag. More...
 
SessionItemaddGroupProperty (const QString &groupTag, const QString &groupType)
 Creates new group item and register new tag, returns GroupItem. More...
 
template<typename T >
T * addProperty (const QString &name)
 
SessionItemaddProperty (const QString &name, const QVariant &variant)
 Add new property item and register new tag. More...
 
void addTranslator (const IPathTranslator &translator)
 
SessionItemchildAt (int row) const
 Returns the child at the given row. More...
 
QVector< SessionItem * > children () const
 Returns vector of all children. More...
 
int decimals () const
 
QString defaultTag () const
 Get default tag. More...
 
virtual void deserializeBinaryData (const QByteArray &data)
 
QString displayName () const
 Get display name of item, append index if ambigue. More...
 
QString editorType () const
 
void emitDataChanged (int role=Qt::DisplayRole)
 Notify model about data changes. More...
 
SessionItemgetChildOfType (const QString &type) const
 Returns the first child of the given type. More...
 
QVector< SessionItem * > getChildrenOfType (const QString &model_type) const
 Returns a vector of all children of the given type. More...
 
QString getComputationMethod () const
 
QString getFresnelMaterialMethod () const
 
SessionItemgetGroupItem (const QString &groupName) const
 Access subitem of group item. More...
 
QString getIncludeSpecularPeak () const
 
SessionItemgetItem (const QString &tag="", int row=0) const
 Returns item in given row of given tag. More...
 
QVector< SessionItem * > getItems (const QString &tag="") const
 Returns vector of all items of given tag. More...
 
QVariant getItemValue (const QString &tag) const
 Directly access value of item under given tag. More...
 
int getNumberOfMonteCarloPoints () const
 
int getNumberOfThreads () const
 
QVector< int > getRoles () const
 Returns vector of all present roles. More...
 
template<typename T >
T & groupItem (const QString &groupName) const
 
bool hasChildren () const
 Indicates whether this SessionItem has any child items. More...
 
QModelIndex index () const
 Returns model index of this item. More...
 
bool insertItem (int row, SessionItem *item, const QString &tag="")
 Insert item into given tag into given row. More...
 
template<typename T >
bool is () const
 
bool isEditable () const
 
bool isEnabled () const
 
bool isTag (const QString &name) const
 Returns true if tag is available. More...
 
bool isVisible () const
 
template<typename T >
T * item (const QString &tag) const
 
QString itemName () const
 Get item name, return display name if no name is set. More...
 
RealLimits limits () const
 
ModelMappermapper ()
 Returns the current model mapper of this item. Creates new one if necessary. More...
 
SessionModelmodel () const
 Returns model of this item. More...
 
QString modelType () const
 Get model type. More...
 
int numberOfChildren () const
 Returns total number of children. More...
 
SessionItemparent () const
 Returns parent of this item. More...
 
bool registerTag (const QString &name, int min=0, int max=-1, QStringList modelTypes={})
 Add new tag to this item with given name, min, max and types. More...
 
QVariant roleProperty (int role) const
 Returns corresponding variant under given role, invalid variant when role is not present. More...
 
int rowOfChild (SessionItem *child) const
 Returns row index of given child. More...
 
bool runImmediately () const
 
bool runInBackground () const
 
virtual QByteArray serializeBinaryData () const
 
SessionItemTagssessionItemTags ()
 
void setComputationMethod (const QString &name)
 
SessionItemsetDecimals (int n)
 
void setDefaultTag (const QString &tag)
 Set default tag. More...
 
void setDisplayName (const QString &display_name)
 Set display name. More...
 
void setEditable (bool enabled)
 
SessionItemsetEditorType (const QString &editorType)
 
void setEnabled (bool enabled)
 
void setFresnelMaterialMethod (const QString &name)
 
SessionItemsetGroupProperty (const QString &groupTag, const QString &modelType) const
 Set the current type of group item. More...
 
void setIncludeSpecularPeak (const QString &name)
 
void setItemName (const QString &name)
 Set item name, add property if necessary. More...
 
void setItemValue (const QString &tag, const QVariant &variant)
 Directly set value of item under given tag. More...
 
SessionItemsetLimits (const RealLimits &value)
 
void setNumberOfMonteCarloPoints (int npoints)
 
bool setRoleProperty (int role, const QVariant &value)
 Set variant to role, create role if not present yet. More...
 
void setRunPolicy (const QString &policy)
 
SessionItemsetToolTip (const QString &tooltip)
 
bool setValue (QVariant value)
 Set value, ensure that variant types match. More...
 
void setVisible (bool enabled)
 Flags accessors. More...
 
QString tagFromItem (const SessionItem *item) const
 Returns the tag name of given item when existing. More...
 
SessionItemtakeItem (int row, const QString &tag)
 Remove item from given row from given tag. More...
 
SessionItemtakeRow (int row)
 Removes row from item and returns the item. More...
 
QString toolTip () const
 
virtual QStringList translateList (const QStringList &list) const
 
QVariant value () const
 Get value. More...
 

Static Public Attributes

static const QString P_COMPUTATION_METHOD = "Computation method"
 
static const QString P_FRESNEL_MATERIAL_METHOD
 
static const QString P_INCLUDE_SPECULAR_PEAK = "Include specular peak"
 
static const QString P_MC_POINTS = "Number of MC points"
 
static const QString P_NAME = "Name"
 
static const QString P_NTHREADS = "Number of Threads"
 
static const QString P_RUN_POLICY = "Run Policy"
 

Private Member Functions

void changeFlags (bool enabled, int flag)
 internal More...
 
void childDeleted (SessionItem *child)
 
int flags () const
 
int getCopyNumberOfChild (const SessionItem *item) const
 internal More...
 
QStringList getCPUUsageOptions ()
 returns list with number of threads to select More...
 
QStringList getRunPolicyNames ()
 
QString runPolicy () const
 
void setModel (SessionModel *model)
 
void setParentAndModel (SessionItem *parent, SessionModel *model)
 
void updateComboItem (QString name, QStringList option_names)
 

Private Attributes

QVector< SessionItem * > m_children
 
std::unique_ptr< ModelMapperm_mapper
 
SessionModelm_model
 
SessionItemm_parent
 
std::unique_ptr< SessionItemDatam_properties
 
std::unique_ptr< SessionItemTagsm_tags
 
QMap< QString, int > m_text_to_nthreads
 
QVector< IPathTranslator * > m_translators
 

Detailed Description

The SimulationOptionsItem class holds simulation status (run policy, number of threads, integration flag).

Used in SimulationView to define job settings. When job is started, item is copied to the job as a child.

Definition at line 25 of file SimulationOptionsItem.h.

Constructor & Destructor Documentation

◆ SimulationOptionsItem()

SimulationOptionsItem::SimulationOptionsItem ( )
explicit

Definition at line 49 of file SimulationOptionsItem.cpp.

49  : SessionItem("SimulationOptions")
50 {
51 
52  ComboProperty policy;
53  policy << getRunPolicyNames();
54  policy.setToolTips(getRunPolicyTooltips());
55  addProperty(P_RUN_POLICY, policy.variant())->setToolTip(tooltip_runpolicy);
56 
57  ComboProperty nthreads;
58  nthreads << getCPUUsageOptions();
59  addProperty(P_NTHREADS, nthreads.variant())->setToolTip(tooltip_nthreads);
60 
61  ComboProperty computationMethod;
62  computationMethod << "Analytical"
63  << "Monte-Carlo Integration";
64  addProperty(P_COMPUTATION_METHOD, computationMethod.variant())->setToolTip(tooltip_computation);
65 
66  addProperty(P_MC_POINTS, 100)->setEnabled(false);
67 
68  ComboProperty averageLayerMaterials;
69  averageLayerMaterials << "Ambient Layer Material"
70  << "Average Layer Material";
71  addProperty(P_FRESNEL_MATERIAL_METHOD, averageLayerMaterials.variant())
72  ->setToolTip(tooltip_ambientmaterial);
73 
74  ComboProperty includeSpecularPeak;
75  includeSpecularPeak << "No"
76  << "Yes";
77  addProperty(P_INCLUDE_SPECULAR_PEAK, includeSpecularPeak.variant())
78  ->setToolTip(tooltip_specularpeak);
79 
80  mapper()->setOnPropertyChange([this](const QString& name) {
83 
84  if (combo.getValue() == "Analytical") {
86 
87  } else {
89  }
90  } else if (name == P_NTHREADS) {
92  } else if (name == P_RUN_POLICY) {
94  }
95  });
96 }
Custom property to define list of string values with multiple selections.
Definition: ComboProperty.h:25
QVariant variant() const
Constructs variant enclosing given ComboProperty.
QString getValue() const
void setToolTips(const QStringList &tooltips)
void setOnPropertyChange(std::function< void(QString)> f, const void *caller=0)
Definition: ModelMapper.cpp:35
bool isTag(const QString &name) const
Returns true if tag is available.
SessionItem * addProperty(const QString &name, const QVariant &variant)
Add new property item and register new tag.
QVariant getItemValue(const QString &tag) const
Directly access value of item under given tag.
SessionItem(const QString &modelType="")
Constructs new item with given model type. The type must be defined.
Definition: SessionItem.cpp:28
ModelMapper * mapper()
Returns the current model mapper of this item. Creates new one if necessary.
SessionItem & setToolTip(const QString &tooltip)
void setEnabled(bool enabled)
SessionItem * getItem(const QString &tag="", int row=0) const
Returns item in given row of given tag.
QStringList getCPUUsageOptions()
returns list with number of threads to select
static const QString P_RUN_POLICY
static const QString P_MC_POINTS
static const QString P_INCLUDE_SPECULAR_PEAK
void updateComboItem(QString name, QStringList option_names)
static const QString P_NTHREADS
static const QString P_COMPUTATION_METHOD
static const QString P_FRESNEL_MATERIAL_METHOD
QString const & name(EShape k)
Definition: particles.cpp:21

References SessionItem::addProperty(), getCPUUsageOptions(), SessionItem::getItem(), SessionItem::getItemValue(), getRunPolicyNames(), ComboProperty::getValue(), SessionItem::isTag(), SessionItem::mapper(), RealSpace::Particles::name(), P_COMPUTATION_METHOD, P_FRESNEL_MATERIAL_METHOD, P_INCLUDE_SPECULAR_PEAK, P_MC_POINTS, P_NTHREADS, P_RUN_POLICY, SessionItem::setEnabled(), ModelMapper::setOnPropertyChange(), SessionItem::setToolTip(), ComboProperty::setToolTips(), updateComboItem(), and ComboProperty::variant().

Here is the call graph for this function:

Member Function Documentation

◆ acceptableDefaultItemTypes()

QVector< QString > SessionItem::acceptableDefaultItemTypes ( ) const
inherited

Returns vector of acceptable default tag types.

Definition at line 190 of file SessionItem.cpp.

191 {
192  return m_tags->modelTypesForTag(defaultTag()).toVector();
193 }
QString defaultTag() const
Get default tag.
std::unique_ptr< SessionItemTags > m_tags
Definition: SessionItem.h:146

References SessionItem::defaultTag(), and SessionItem::m_tags.

Here is the call graph for this function:

◆ acceptsAsDefaultItem()

bool SessionItem::acceptsAsDefaultItem ( const QString &  item_name) const
inherited

Returns true if model type can be added to default tag.

Definition at line 183 of file SessionItem.cpp.

184 {
185  return m_tags->isValid(defaultTag(), item_name);
186 }

References SessionItem::defaultTag(), and SessionItem::m_tags.

Here is the call graph for this function:

◆ addGroupProperty()

SessionItem * SessionItem::addGroupProperty ( const QString &  groupTag,
const QString &  groupType 
)
inherited

Creates new group item and register new tag, returns GroupItem.

Definition at line 311 of file SessionItem.cpp.

312 {
313  SessionItem* result(0);
314 
315  if (SessionItemUtils::IsValidGroup(groupType)) {
316  // create group item
317  GroupInfo groupInfo = SessionItemUtils::GetGroupInfo(groupType);
318  GroupItem* groupItem = dynamic_cast<GroupItem*>(ItemFactory::CreateItem("GroupProperty"));
319  ASSERT(groupItem);
320  groupItem->setGroupInfo(groupInfo);
321  registerTag(groupTag, 1, 1, QStringList() << "GroupProperty");
322  result = groupItem;
323  } else {
324  // # migration Remove this branch at any convenient occasion. It is not used anymore.
325  // # migration Suggestion is to throw if not SessionItemUtils::IsValidGroup(groupType)
326  qWarning() << "SessionItem::addGroupProperty() is obsolete for single property items. Use "
327  "::addProperty<> instead.";
328  // create single item
329  registerTag(groupTag, 1, 1, QStringList() << groupType);
330  result = ItemFactory::CreateItem(groupType);
331  }
332  ASSERT(result);
333  result->setDisplayName(groupTag);
334  bool success = insertItem(0, result, groupTag);
335  ASSERT(success);
336  return result;
337 }
#define ASSERT(condition)
Definition: Assert.h:31
Defines info for GroupProperty, i.e.
Definition: GroupInfo.h:25
T & groupItem(const QString &groupName) const
Definition: SessionItem.h:168
bool insertItem(int row, SessionItem *item, const QString &tag="")
Insert item into given tag into given row.
bool registerTag(const QString &name, int min=0, int max=-1, QStringList modelTypes={})
Add new tag to this item with given name, min, max and types.
SessionItem * CreateItem(const QString &model_name, SessionItem *parent=nullptr)
create SessionItem of specific type and parent
Definition: ItemFactory.cpp:30
bool IsValidGroup(const QString &group_type)
Returns true if there is registered group.
GroupInfo GetGroupInfo(const QString &group_type)
Returns GroupInfo for group property construction.

References ASSERT, ItemFactory::CreateItem(), SessionItemUtils::GetGroupInfo(), SessionItem::groupItem(), SessionItem::insertItem(), SessionItemUtils::IsValidGroup(), SessionItem::registerTag(), and SessionItem::setDisplayName().

Referenced by Instrument2DItem::Instrument2DItem(), InterferenceFunction1DLatticeItem::InterferenceFunction1DLatticeItem(), InterferenceFunction2DLatticeItem::InterferenceFunction2DLatticeItem(), InterferenceFunction2DParaCrystalItem::InterferenceFunction2DParaCrystalItem(), InterferenceFunctionFinite2DLatticeItem::InterferenceFunctionFinite2DLatticeItem(), InterferenceFunctionRadialParaCrystalItem::InterferenceFunctionRadialParaCrystalItem(), LayerItem::LayerItem(), MaterialItem::MaterialItem(), MesoCrystalItem::MesoCrystalItem(), MinimizerContainerItem::MinimizerContainerItem(), ParticleDistributionItem::ParticleDistributionItem(), ParticleItem::ParticleItem(), SpecularBeamItem::SpecularBeamItem(), TransformationItem::TransformationItem(), InstrumentItem::initBackgroundGroup(), BeamDistributionItem::register_distribution_group(), DistributionItem::register_limits(), DetectorItem::register_resolution_function(), and SpecularBeamInclinationItem::setupAxisGroup().

Here is the call graph for this function:

◆ addProperty() [1/2]

template<typename T >
T * SessionItem::addProperty ( const QString &  name)
inherited

Definition at line 158 of file SessionItem.h.

159 {
160  auto property = new T;
161  property->setDisplayName(tagname);
162  registerTag(tagname, 1, 1, QStringList() << property->modelType());
163  bool success = insertItem(0, property, tagname);
164  ASSERT(success);
165  return property;
166 }

References ASSERT, SessionItem::insertItem(), SessionItem::registerTag(), and SessionItem::setDisplayName().

Here is the call graph for this function:

◆ addProperty() [2/2]

SessionItem * SessionItem::addProperty ( const QString &  name,
const QVariant &  variant 
)
inherited

Add new property item and register new tag.

Definition at line 279 of file SessionItem.cpp.

280 {
281  ASSERT(!isTag(name));
282 
283  SessionItem* property = ItemFactory::CreateItem("Property");
284  property->setDisplayName(name);
285  registerTag(name, 1, 1, QStringList() << "Property");
286  bool success = insertItem(0, property, name);
287  ASSERT(success);
288 
289  property->setValue(variant);
290  return property;
291 }

References ASSERT, ItemFactory::CreateItem(), SessionItem::insertItem(), SessionItem::isTag(), RealSpace::Particles::name(), and SessionItem::registerTag().

Referenced by AmplitudeAxisItem::AmplitudeAxisItem(), AnisoPyramidItem::AnisoPyramidItem(), BarGaussItem::BarGaussItem(), BarLorentzItem::BarLorentzItem(), BasicLattice2DItem::BasicLattice2DItem(), BeamItem::BeamItem(), BoxItem::BoxItem(), Cone6Item::Cone6Item(), ConeItem::ConeItem(), ConstantBackgroundItem::ConstantBackgroundItem(), CosineRippleBoxItem::CosineRippleBoxItem(), CosineRippleGaussItem::CosineRippleGaussItem(), CosineRippleLorentzItem::CosineRippleLorentzItem(), CuboctahedronItem::CuboctahedronItem(), CylinderItem::CylinderItem(), Data1DProperties::Data1DProperties(), Data1DViewItem::Data1DViewItem(), DataItem::DataItem(), DataProperties::DataProperties(), DetectorItem::DetectorItem(), DistributionCosineItem::DistributionCosineItem(), DistributionGateItem::DistributionGateItem(), DistributionGaussianItem::DistributionGaussianItem(), DistributionItem::DistributionItem(), DistributionLogNormalItem::DistributionLogNormalItem(), DistributionLorentzItem::DistributionLorentzItem(), DistributionNoneItem::DistributionNoneItem(), DistributionTrapezoidItem::DistributionTrapezoidItem(), DodecahedronItem::DodecahedronItem(), DotItem::DotItem(), EllipseItem::EllipseItem(), EllipsoidalCylinderItem::EllipsoidalCylinderItem(), EulerRotationItem::EulerRotationItem(), FitParameterItem::FitParameterItem(), FitParameterLinkItem::FitParameterLinkItem(), FitSuiteItem::FitSuiteItem(), FootprintGaussianItem::FootprintGaussianItem(), FootprintSquareItem::FootprintSquareItem(), FTDecayFunction1DVoigtItem::FTDecayFunction1DVoigtItem(), FTDecayFunction2DVoigtItem::FTDecayFunction2DVoigtItem(), FTDistribution1DVoigtItem::FTDistribution1DVoigtItem(), FTDistribution2DVoigtItem::FTDistribution2DVoigtItem(), FullSphereItem::FullSphereItem(), FullSpheroidItem::FullSpheroidItem(), GeneticMinimizerItem::GeneticMinimizerItem(), GSLLMAMinimizerItem::GSLLMAMinimizerItem(), GSLMultiMinimizerItem::GSLMultiMinimizerItem(), HemiEllipsoidItem::HemiEllipsoidItem(), HexagonalLattice2DItem::HexagonalLattice2DItem(), HorizontalLineItem::HorizontalLineItem(), IcosahedronItem::IcosahedronItem(), InstrumentItem::InstrumentItem(), IntensityDataItem::IntensityDataItem(), InterferenceFunction1DLatticeItem::InterferenceFunction1DLatticeItem(), InterferenceFunction2DLatticeItem::InterferenceFunction2DLatticeItem(), InterferenceFunction2DParaCrystalItem::InterferenceFunction2DParaCrystalItem(), InterferenceFunctionFinite2DLatticeItem::InterferenceFunctionFinite2DLatticeItem(), InterferenceFunctionHardDiskItem::InterferenceFunctionHardDiskItem(), InterferenceFunctionItem::InterferenceFunctionItem(), InterferenceFunctionRadialParaCrystalItem::InterferenceFunctionRadialParaCrystalItem(), JobItem::JobItem(), LayerBasicRoughnessItem::LayerBasicRoughnessItem(), LayerItem::LayerItem(), LimitedItem::LimitedItem(), LowerLimitedItem::LowerLimitedItem(), MaskItem::MaskItem(), MaterialItem::MaterialItem(), MaterialRefractiveDataItem::MaterialRefractiveDataItem(), MaterialSLDDataItem::MaterialSLDDataItem(), MesoCrystalItem::MesoCrystalItem(), MinimizerContainerItem::MinimizerContainerItem(), MinuitMinimizerItem::MinuitMinimizerItem(), MultiLayerItem::MultiLayerItem(), ParameterItem::ParameterItem(), ParticleCompositionItem::ParticleCompositionItem(), ParticleCoreShellItem::ParticleCoreShellItem(), ParticleDistributionItem::ParticleDistributionItem(), ParticleItem::ParticleItem(), ParticleLayoutItem::ParticleLayoutItem(), PointwiseAxisItem::PointwiseAxisItem(), PolygonItem::PolygonItem(), PolygonPointItem::PolygonPointItem(), Prism3Item::Prism3Item(), Prism6Item::Prism6Item(), PyramidItem::PyramidItem(), RealDataItem::RealDataItem(), RectangleItem::RectangleItem(), RectangularDetectorItem::RectangularDetectorItem(), ResolutionFunction2DGaussianItem::ResolutionFunction2DGaussianItem(), SawtoothRippleBoxItem::SawtoothRippleBoxItem(), SawtoothRippleGaussItem::SawtoothRippleGaussItem(), SawtoothRippleLorentzItem::SawtoothRippleLorentzItem(), SessionGraphicsItem::SessionGraphicsItem(), SimAnMinimizerItem::SimAnMinimizerItem(), SimulationOptionsItem(), SpecularDataItem::SpecularDataItem(), SquareLattice2DItem::SquareLattice2DItem(), TetrahedronItem::TetrahedronItem(), TruncatedCubeItem::TruncatedCubeItem(), TruncatedSphereItem::TruncatedSphereItem(), TruncatedSpheroidItem::TruncatedSpheroidItem(), UpperLimitedItem::UpperLimitedItem(), VectorItem::VectorItem(), VerticalLineItem::VerticalLineItem(), XRotationItem::XRotationItem(), YRotationItem::YRotationItem(), ZRotationItem::ZRotationItem(), FTDecayFunction1DItem::add_decay_property(), FTDecayFunction2DItem::add_decay_property(), FTDistribution2DItem::add_gamma_property(), FTDecayFunction2DItem::add_gammadelta_property(), FTDistribution2DItem::add_omega_properties(), FTDistribution1DItem::add_omega_property(), BasicAxisItem::register_basic_properties(), DistributionItem::register_number_of_samples(), DistributionItem::register_sigma_factor(), and SessionItem::setItemName().

Here is the call graph for this function:

◆ addTranslator()

void SessionItem::addTranslator ( const IPathTranslator translator)
inherited

Definition at line 566 of file SessionItem.cpp.

567 {
568  m_translators.push_back(translator.clone());
569 }
virtual IPathTranslator * clone() const =0
QVector< IPathTranslator * > m_translators
Definition: SessionItem.h:148

References IPathTranslator::clone(), and SessionItem::m_translators.

Referenced by BeamDistributionItem::BeamDistributionItem(), BeamItem::BeamItem(), DetectorItem::DetectorItem(), MesoCrystalItem::MesoCrystalItem(), MultiLayerItem::MultiLayerItem(), ParticleCompositionItem::ParticleCompositionItem(), ParticleCoreShellItem::ParticleCoreShellItem(), and ParticleItem::ParticleItem().

Here is the call graph for this function:

◆ changeFlags()

void SessionItem::changeFlags ( bool  enabled,
int  flag 
)
privateinherited

internal

Definition at line 613 of file SessionItem.cpp.

614 {
615  int flags = this->flags();
616  if (enabled)
617  flags |= flag;
618  else
619  flags &= ~flag;
620 
622 }
int flags() const
bool setRoleProperty(int role, const QVariant &value)
Set variant to role, create role if not present yet.

References SessionFlags::FlagRole, SessionItem::flags(), and SessionItem::setRoleProperty().

Referenced by SessionItem::setEditable(), SessionItem::setEnabled(), and SessionItem::setVisible().

Here is the call graph for this function:

◆ childAt()

SessionItem * SessionItem::childAt ( int  row) const
inherited

Returns the child at the given row.

Definition at line 108 of file SessionItem.cpp.

109 {
110  return m_children.value(row, nullptr);
111 }
QVector< SessionItem * > m_children
Definition: SessionItem.h:144

References SessionItem::m_children.

Referenced by ModelPath::getIndexFromPath(), SessionModel::index(), FitParameterProxyModel::index(), and SessionItem::takeRow().

◆ childDeleted()

void SessionItem::childDeleted ( SessionItem child)
privateinherited

Definition at line 578 of file SessionItem.cpp.

579 {
580  int index = rowOfChild(child);
581  ASSERT(index != -1);
582  m_children.replace(index, nullptr);
583 }
int rowOfChild(SessionItem *child) const
Returns row index of given child.
QModelIndex index() const
Returns model index of this item.
Definition: SessionItem.cpp:80

References ASSERT, SessionItem::index(), SessionItem::m_children, and SessionItem::rowOfChild().

Referenced by SessionItem::~SessionItem().

Here is the call graph for this function:

◆ children()

◆ decimals()

int SessionItem::decimals ( ) const
inherited

Definition at line 511 of file SessionItem.cpp.

512 {
513  return roleProperty(SessionFlags::DecimalRole).toInt();
514 }
QVariant roleProperty(int role) const
Returns corresponding variant under given role, invalid variant when role is not present.

References SessionFlags::DecimalRole, and SessionItem::roleProperty().

Referenced by PropertyEditorFactory::CreateEditor(), ParameterTuningDelegate::createEditor(), and ComponentTreeActions::onCustomContextMenuRequested().

Here is the call graph for this function:

◆ defaultTag()

QString SessionItem::defaultTag ( ) const
inherited

Get default tag.

Definition at line 411 of file SessionItem.cpp.

412 {
413  return roleProperty(SessionFlags::DefaultTagRole).toString();
414 }

References SessionFlags::DefaultTagRole, and SessionItem::roleProperty().

Referenced by SessionItem::acceptableDefaultItemTypes(), SessionItem::acceptsAsDefaultItem(), SessionModel::copy(), SessionItem::getItem(), SessionItem::getItems(), SessionItem::insertItem(), SessionModel::insertNewItem(), SessionModel::moveItem(), and SessionItem::takeItem().

Here is the call graph for this function:

◆ deserializeBinaryData()

void SessionItem::deserializeBinaryData ( const QByteArray &  data)
virtualinherited

Reimplemented in RealDataItem.

Definition at line 576 of file SessionItem.cpp.

576 {}

Referenced by SessionXML::readItems().

◆ displayName()

QString SessionItem::displayName ( ) const
inherited

Get display name of item, append index if ambigue.

Definition at line 425 of file SessionItem.cpp.

426 {
427  QString result = roleProperty(SessionFlags::DisplayNameRole).toString();
428 
429  if (modelType() == "Property" || modelType() == "GroupProperty" || modelType() == "Parameter"
430  || modelType() == "Parameter Label")
431  return result;
432 
433  if (m_parent) {
434  QString tag = m_parent->tagFromItem(this);
435  // if only one child of this type is allowed, return name without change
437  return result;
438 
439  int index = m_parent->getCopyNumberOfChild(this);
440  if (index >= 0)
441  return result + QString::number(index);
442  }
443  return result;
444 }
bool isSingleItemTag(const QString &tagName)
SessionItemTags * sessionItemTags()
int getCopyNumberOfChild(const SessionItem *item) const
internal
QString modelType() const
Get model type.
QString tagFromItem(const SessionItem *item) const
Returns the tag name of given item when existing.
SessionItem * m_parent
Definition: SessionItem.h:142

References SessionFlags::DisplayNameRole, SessionItem::getCopyNumberOfChild(), SessionItem::index(), SessionItemTags::isSingleItemTag(), SessionItem::m_parent, SessionItem::modelType(), SessionItem::roleProperty(), SessionItem::sessionItemTags(), and SessionItem::tagFromItem().

Referenced by FitParameterProxyModel::dropMimeData(), SessionItemUtils::IsPositionRelated(), SessionItem::itemName(), ParameterTreeUtils::parameterDictionary(), ParameterTreeUtils::parameterNameToLinkedItem(), DistributionWidget::plot_multiple_values(), DistributionWidget::plot_single_value(), PropertyWidgetItem::setItemEditor(), SessionItemUtils::ToolTipRole(), SessionItem::translateList(), and ConnectableView::update_appearance().

Here is the call graph for this function:

◆ editorType()

QString SessionItem::editorType ( ) const
inherited

Definition at line 533 of file SessionItem.cpp.

534 {
535  const auto variant = roleProperty(SessionFlags::CustomEditorRole);
536  return variant.isValid() ? variant.toString() : "Default";
537 }

References SessionFlags::CustomEditorRole, and SessionItem::roleProperty().

Referenced by PropertyEditorFactory::CreateEditor(), BeamDistributionItem::initDistributionItem(), ComponentTreeActions::onCustomContextMenuRequested(), SessionItem::setEditorType(), AmplitudeAxisItem::setMinMaxEditor(), and PropertyEditorFactory::toString().

Here is the call graph for this function:

◆ emitDataChanged()

void SessionItem::emitDataChanged ( int  role = Qt::DisplayRole)
inherited

Notify model about data changes.

Definition at line 379 of file SessionItem.cpp.

380 {
381  if (m_model) {
382  QModelIndex index = m_model->indexOfItem(this);
383  m_model->dataChanged(index, index.sibling(index.row(), 1), QVector<int>() << role);
384  }
385 }
SessionModel * m_model
Definition: SessionItem.h:143
QModelIndex indexOfItem(SessionItem *item) const

References SessionItem::index(), SessionModel::indexOfItem(), and SessionItem::m_model.

Referenced by GroupItem::onValueChange(), IntensityDataItem::setOutputData(), SpecularDataItem::setOutputData(), DataItem::setRawDataVector(), SessionItem::setRoleProperty(), and PointwiseAxisItem::updateIndicators().

Here is the call graph for this function:

◆ flags()

int SessionItem::flags ( ) const
privateinherited

Definition at line 602 of file SessionItem.cpp.

603 {
605 
606  if (!flags.isValid())
608 
609  return flags.toInt();
610 }

References SessionFlags::EDITABLE, SessionFlags::ENABLED, SessionFlags::FlagRole, SessionItem::roleProperty(), and SessionFlags::VISIBLE.

Referenced by SessionItem::changeFlags(), SessionItem::isEditable(), SessionItem::isEnabled(), and SessionItem::isVisible().

Here is the call graph for this function:

◆ getChildOfType()

SessionItem * SessionItem::getChildOfType ( const QString &  type) const
inherited

Returns the first child of the given type.

Definition at line 122 of file SessionItem.cpp.

123 {
124  for (auto child : m_children)
125  if (child->modelType() == type)
126  return child;
127 
128  return nullptr;
129 }

References SessionItem::m_children.

Referenced by GroupItemController::currentItem(), GroupItemController::getItemOfType(), GroupItemController::setCurrentType(), and MaskEditorCanvas::setZoomToROI().

◆ getChildrenOfType()

QVector< SessionItem * > SessionItem::getChildrenOfType ( const QString &  model_type) const
inherited

Returns a vector of all children of the given type.

Definition at line 133 of file SessionItem.cpp.

134 {
135  QVector<SessionItem*> result;
136  for (auto child : m_children)
137  if (child->modelType() == model_type)
138  result.append(child);
139 
140  return result;
141 }
std::string model_type
Definition: types.h:23

References SessionItem::m_children.

Referenced by MaskUnitsConverter::convertMask(), PolygonItem::createShape(), RoughnessTranslator::numberOfLayers(), ProjectionsPlot::projectionItems(), SaveProjectionsAssistant::projectionItems(), PolygonView::update_polygon(), and MultiLayerItem::updateLayers().

◆ getComputationMethod()

QString SimulationOptionsItem::getComputationMethod ( ) const

Definition at line 128 of file SimulationOptionsItem.cpp.

129 {
131  return combo.getValue();
132 }

References SessionItem::getItemValue(), ComboProperty::getValue(), and P_COMPUTATION_METHOD.

Here is the call graph for this function:

◆ getCopyNumberOfChild()

int SessionItem::getCopyNumberOfChild ( const SessionItem item) const
privateinherited

internal

Definition at line 625 of file SessionItem.cpp.

626 {
627  if (!item)
628  return -1;
629  int result = -1;
630  int count = 0;
631  QString model_type = item->modelType();
632  // check child items:
633  for (auto p_child_item : m_children) {
634  QString child_type = p_child_item->modelType();
635  if (p_child_item == item)
636  result = count;
637  if (child_type == model_type && !p_child_item->isTag(P_NAME))
638  ++count;
639  }
640  if (count > 1)
641  return result;
642  return -1;
643 }
static const QString P_NAME
Definition: SessionItem.h:37
T * item(const QString &tag) const
Definition: SessionItem.h:151

References SessionItem::item(), SessionItem::m_children, and SessionItem::P_NAME.

Referenced by SessionItem::displayName().

Here is the call graph for this function:

◆ getCPUUsageOptions()

QStringList SimulationOptionsItem::getCPUUsageOptions ( )
private

returns list with number of threads to select

Definition at line 177 of file SimulationOptionsItem.cpp.

178 {
179  m_text_to_nthreads.clear();
180  QStringList result;
181  int nthreads = static_cast<int>(std::thread::hardware_concurrency());
182  for (int i = nthreads; i > 0; i--) {
183  QString str;
184  if (i == nthreads) {
185  str = QString("Max (%1 threads)").arg(QString::number(i));
186  } else if (i == 1) {
187  str = QString("%1 thread").arg(QString::number(i));
188  } else {
189  str = QString("%1 threads").arg(QString::number(i));
190  }
191  result.append(str);
192  m_text_to_nthreads[str] = i;
193  }
194  return result;
195 }
QMap< QString, int > m_text_to_nthreads

References m_text_to_nthreads.

Referenced by SimulationOptionsItem().

◆ getFresnelMaterialMethod()

QString SimulationOptionsItem::getFresnelMaterialMethod ( ) const

Definition at line 151 of file SimulationOptionsItem.cpp.

152 {
154  return combo.getValue();
155 }

References SessionItem::getItemValue(), ComboProperty::getValue(), and P_FRESNEL_MATERIAL_METHOD.

Here is the call graph for this function:

◆ getGroupItem()

◆ getIncludeSpecularPeak()

QString SimulationOptionsItem::getIncludeSpecularPeak ( ) const

Definition at line 164 of file SimulationOptionsItem.cpp.

165 {
167  return combo.getValue();
168 }

References SessionItem::getItemValue(), ComboProperty::getValue(), and P_INCLUDE_SPECULAR_PEAK.

Here is the call graph for this function:

◆ getItem()

SessionItem * SessionItem::getItem ( const QString &  tag = "",
int  row = 0 
) const
inherited

Returns item in given row of given tag.

Definition at line 197 of file SessionItem.cpp.

198 {
199  const QString tagName = tag.isEmpty() ? defaultTag() : tag;
200 
201  if (!m_tags->isValid(tagName))
202  return nullptr;
203 
204  if (m_tags->childCount(tagName) == 0)
205  return nullptr;
206 
207  if (row < 0 || row >= m_tags->childCount(tagName))
208  return nullptr;
209 
210  int index = m_tags->indexFromTagRow(tagName, row);
211  ASSERT(index >= 0);
212  ASSERT(index < m_children.size());
213  return m_children[index];
214 }

References ASSERT, SessionItem::defaultTag(), SessionItem::index(), SessionItem::m_children, and SessionItem::m_tags.

Referenced by AmplitudeAxisItem::AmplitudeAxisItem(), BeamAzimuthalAngleItem::BeamAzimuthalAngleItem(), BeamInclinationAngleItem::BeamInclinationAngleItem(), BeamWavelengthItem::BeamWavelengthItem(), DistributionGateItem::DistributionGateItem(), DistributionNoneItem::DistributionNoneItem(), FitParameterItem::FitParameterItem(), InterferenceFunction2DParaCrystalItem::InterferenceFunction2DParaCrystalItem(), LayerBasicRoughnessItem::LayerBasicRoughnessItem(), MaskAllItem::MaskAllItem(), MaterialItem::MaterialItem(), MesoCrystalItem::MesoCrystalItem(), OffSpecularInstrumentItem::OffSpecularInstrumentItem(), ParticleCompositionItem::ParticleCompositionItem(), ParticleCoreShellItem::ParticleCoreShellItem(), ParticleLayoutItem::ParticleLayoutItem(), PointwiseAxisItem::PointwiseAxisItem(), SimulationOptionsItem(), SpecularBeamItem::SpecularBeamItem(), TransformToDomain::addBeamDivergencesToScan(), TransformToDomain::addDistributionParametersToSimulation(), DetectorMaskDelegate::createIntensityDataItem(), QREDataLoader::createOutputDataFromParsingResult(), ParameterTreeUtils::createParameterTree(), ParticleCoreShellItem::createParticleCoreShell(), ParticleDistributionItem::createParticleDistribution(), DepthProbeInstrumentItem::createSimulation(), JobItem::dataItem(), RealDataItem::dataItem(), JobItem::dataItemView(), JobItem::fitSuiteItem(), ModelPath::getIndexFromPath(), SessionItem::getItemValue(), SpecularBeamItem::inclinationAxisGroup(), FitParameterProxyModel::index(), RectangularDetectorEditor::init_alignment_editors(), DistributionLorentzItem::init_distribution(), DistributionGaussianItem::init_distribution(), DistributionLogNormalItem::init_distribution(), DistributionCosineItem::init_distribution(), RectangularDetectorEditor::init_editors(), RealDataItem::initDataItem(), JobModelFunctions::initDataView(), BeamDistributionItem::initDistributionItem(), FitParameterItem::initMinMaxValues(), JobItem::instrumentItem(), JobItem::intensityDataItem(), JobItem::isValidForFitting(), IntensityDataItem::isZAxisLocked(), SessionItem::item(), RealDataMaskWidget::maskContainer(), IntensityDataItem::maskContainerItem(), DetectorItem::maskContainerItem(), JobItem::materialContainerItem(), LayerItem::materialPropertyItems(), ParticleCoreShellItem::materialPropertyItems(), ParticleItem::materialPropertyItems(), JobItem::multiLayerItem(), JobModelFunctions::muteMagnetizationData(), RealDataItem::nativeData(), JobItem::parameterContainerItem(), RealSpaceBuilder::populateLayout(), IntensityDataProjectionsWidget::projectionContainer(), IntensityDataItem::projectionContainerItem(), ProjectionsPlot::projectionContainerItem(), JobItem::realDataItem(), IntensityDataItem::reset(), SpecularDataItem::reset(), JobModel::restore(), ColorMap::setColorScaleAppearanceFromItem(), SessionItem::setItemValue(), FitParameterItem::setLimitEnabled(), AmplitudeAxisItem::setMinMaxEditor(), RealDataItem::setNativeDataUnits(), TransformFromDomain::setSpecularBeamItem(), SpecularBeamWavelengthItem::setToRange(), JobModelFunctions::setupJobItemInstrument(), IntensityDataItem::setZAxisLocked(), SymmetricDistributionItem::showMean(), DistributionLogNormalItem::showMean(), DistributionTrapezoidItem::showMean(), DepthProbeInstrumentEditor::subscribeToItem(), GISASBeamEditor::subscribeToItem(), OffSpecularBeamEditor::subscribeToItem(), SphericalDetectorEditor::subscribeToItem(), InterferenceFunction2DParaCrystalItem::update_distribution_displaynames(), RectangularDetectorItem::update_properties_appearance(), LayerItem::updateAppearance(), updateComboItem(), ParticleLayoutItem::updateDensityAppearance(), ParticleLayoutItem::updateDensityValue(), ParticleItem::updatePropertiesAppearance(), SpecularBeamItem::updateWavelength(), and SampleValidator::validateParticleCoreShellItem().

Here is the call graph for this function:

◆ getItems()

QVector< SessionItem * > SessionItem::getItems ( const QString &  tag = "") const
inherited

Returns vector of all items of given tag.

Definition at line 218 of file SessionItem.cpp.

219 {
220  const QString tagName = tag.isEmpty() ? defaultTag() : tag;
221  if (!m_tags->isValid(tagName))
222  return QVector<SessionItem*>();
223 
224  int index = m_tags->tagStartIndex(tagName);
225  ASSERT(index >= 0 && index <= m_children.size());
226  return m_children.mid(index, m_tags->childCount(tagName));
227 }

References ASSERT, SessionItem::defaultTag(), SessionItem::index(), SessionItem::m_children, and SessionItem::m_tags.

Referenced by FitParameterHelper::addToFitParameter(), DomainObjectBuilder::buildParticleLayout(), ParticleDistributionItem::childParticle(), RealSpaceBuilderUtils::computeCumulativeAbundances(), MaskUnitsConverter::convertIntensityDataItem(), SessionModel::copy(), FitParameterContainerItem::createParameters(), MaterialItemContainer::findMaterialById(), FitParameterContainerItem::fitParameterItem(), FitParameterContainerItem::fitParameterItems(), FitParameterHelper::getFitParameterNames(), FitParameterProxyModel::index(), FitParameterContainerItem::isEmpty(), LayerItem::materialPropertyItems(), MultiLayerItem::materialPropertyItems(), MaterialItemUtils::materialPropertyItems(), SessionModel::moveItem(), RealSpaceBuilderUtils::particle3DContainerVector(), RealSpaceBuilder::populateLayer(), RealSpaceBuilder::populateMultiLayer(), DataPropertyContainer::propertyItem(), DataPropertyContainer::propertyItems(), FitParameterHelper::removeFromFitParameters(), FitParameterProxyModel::rowCount(), FitParameterContainerItem::setValuesInParameterContainer(), SessionItem::takeRow(), FitSessionController::updateLog(), SampleValidator::validateMultiLayerItem(), SampleValidator::validateParticleCompositionItem(), SampleValidator::validateParticleDistributionItem(), SampleValidator::validateParticleLayoutItem(), and ParameterTreeUtils::visitParameterContainer().

Here is the call graph for this function:

◆ getItemValue()

QVariant SessionItem::getItemValue ( const QString &  tag) const
inherited

Directly access value of item under given tag.

Definition at line 295 of file SessionItem.cpp.

296 {
297  ASSERT(isTag(tag));
298  return getItem(tag)->value();
299 }
QVariant value() const
Get value.

References ASSERT, SessionItem::getItem(), SessionItem::isTag(), and SessionItem::value().

Referenced by AmplitudeAxisItem::AmplitudeAxisItem(), SimulationOptionsItem(), IntensityDataCanvas::applyPersistentSettings(), FitParameterItem::attLimits(), MaskResultsPresenter::backup_data(), BasicAxisItem::binCount(), Data1DProperties::color(), MaterialItem::color(), MaskUnitsConverter::convertCoordinate(), MaskUnitsConverter::convertMask(), ConstantBackgroundItem::createBackground(), DetectorItem::createDetector(), FitComparison1DViewController::createDiffViewItem(), DistributionGateItem::createDistribution(), DistributionLorentzItem::createDistribution(), DistributionGaussianItem::createDistribution(), DistributionLogNormalItem::createDistribution(), DistributionCosineItem::createDistribution(), DistributionTrapezoidItem::createDistribution(), RectangularDetectorItem::createDomainDetector(), TransformToDomain::createDomainMaterial(), FootprintGaussianItem::createFootprint(), FootprintSquareItem::createFootprint(), AnisoPyramidItem::createFormFactor(), BarGaussItem::createFormFactor(), BarLorentzItem::createFormFactor(), BoxItem::createFormFactor(), ConeItem::createFormFactor(), Cone6Item::createFormFactor(), CuboctahedronItem::createFormFactor(), CylinderItem::createFormFactor(), DodecahedronItem::createFormFactor(), DotItem::createFormFactor(), EllipsoidalCylinderItem::createFormFactor(), FullSphereItem::createFormFactor(), FullSpheroidItem::createFormFactor(), HemiEllipsoidItem::createFormFactor(), IcosahedronItem::createFormFactor(), Prism3Item::createFormFactor(), Prism6Item::createFormFactor(), PyramidItem::createFormFactor(), CosineRippleBoxItem::createFormFactor(), CosineRippleGaussItem::createFormFactor(), CosineRippleLorentzItem::createFormFactor(), SawtoothRippleBoxItem::createFormFactor(), SawtoothRippleGaussItem::createFormFactor(), SawtoothRippleLorentzItem::createFormFactor(), TetrahedronItem::createFormFactor(), TruncatedCubeItem::createFormFactor(), TruncatedSphereItem::createFormFactor(), TruncatedSpheroidItem::createFormFactor(), FTDecayFunction1DCauchyItem::createFTDecayFunction(), FTDecayFunction1DGaussItem::createFTDecayFunction(), FTDecayFunction1DTriangleItem::createFTDecayFunction(), FTDecayFunction1DVoigtItem::createFTDecayFunction(), FTDecayFunction2DCauchyItem::createFTDecayFunction(), FTDecayFunction2DGaussItem::createFTDecayFunction(), FTDecayFunction2DVoigtItem::createFTDecayFunction(), FTDistribution1DCauchyItem::createFTDistribution(), FTDistribution1DGaussItem::createFTDistribution(), FTDistribution1DGateItem::createFTDistribution(), FTDistribution1DTriangleItem::createFTDistribution(), FTDistribution1DCosineItem::createFTDistribution(), FTDistribution1DVoigtItem::createFTDistribution(), FTDistribution2DCauchyItem::createFTDistribution(), FTDistribution2DGaussItem::createFTDistribution(), FTDistribution2DGateItem::createFTDistribution(), FTDistribution2DConeItem::createFTDistribution(), FTDistribution2DVoigtItem::createFTDistribution(), InterferenceFunction1DLatticeItem::createInterferenceFunction(), InterferenceFunction2DLatticeItem::createInterferenceFunction(), InterferenceFunction2DParaCrystalItem::createInterferenceFunction(), InterferenceFunctionFinite2DLatticeItem::createInterferenceFunction(), InterferenceFunctionHardDiskItem::createInterferenceFunction(), InterferenceFunctionRadialParaCrystalItem::createInterferenceFunction(), BasicLattice2DItem::createLattice(), SquareLattice2DItem::createLattice(), HexagonalLattice2DItem::createLattice(), TransformToDomain::createLayer(), TransformTo3D::createLayer(), TransformToDomain::createLayerRoughness(), MinimizerContainerItem::createMetric(), MinuitMinimizerItem::createMinimizer(), GSLMultiMinimizerItem::createMinimizer(), GeneticMinimizerItem::createMinimizer(), SimAnMinimizerItem::createMinimizer(), GSLLMAMinimizerItem::createMinimizer(), TransformToDomain::createMultiLayer(), ParticleItem::createParticle(), ParticleCompositionItem::createParticleComposition(), ParticleCoreShellItem::createParticleCoreShell(), ParticleDistributionItem::createParticleDistribution(), TransformToDomain::createParticleLayout(), LowerLimitedItem::createRealLimits(), UpperLimitedItem::createRealLimits(), LimitedItem::createRealLimits(), ResolutionFunction2DGaussianItem::createResolutionFunction(), XRotationItem::createRotation(), YRotationItem::createRotation(), ZRotationItem::createRotation(), EulerRotationItem::createRotation(), RectangleItem::createShape(), VerticalLineItem::createShape(), HorizontalLineItem::createShape(), EllipseItem::createShape(), DataProperties::dataItem(), DistributionLorentzItem::deviation(), DistributionGaussianItem::deviation(), DistributionCosineItem::deviation(), ParticleDistributionItem::domainLinkedParameters(), ParticleDistributionItem::domainMainParameter(), DataItem::fileName(), PointwiseAxisItem::fileName(), JobItem::getComments(), getComputationMethod(), getFresnelMaterialMethod(), IntensityDataItem::getGradient(), JobItem::getIdentifier(), getIncludeSpecularPeak(), getNumberOfMonteCarloPoints(), getNumberOfThreads(), JobItem::getProgress(), JobItem::getStatus(), PointwiseAxisItem::getUnitsLabel(), InstrumentItem::id(), MaterialItem::identifier(), RectangularDetectorEditor::init_alignment_editors(), DistributionItem::init_parameters(), BeamDistributionItem::initDistributionItem(), FitParameterItem::initMinMaxValues(), RealDataItem::instrumentId(), BeamItem::intensity(), PolygonView::isClosedPolygon(), IntensityDataItem::isInterpolated(), AmplitudeAxisItem::isLogScale(), FitParameterItem::isValid(), IntensityDataItem::isZAxisLocked(), SessionItem::itemName(), JobResultsPresenter::itemPresentation(), ParameterItem::linkedItem(), BasicAxisItem::lowerBound(), MaterialItemUtils::materialProperty(), BeamDistributionItem::meanValue(), RealDataItem::nativeDataUnits(), Data1DProperties::nextColorName(), FitParameterWidget::onFitParametersSelectionChanged(), RunFitControlWidget::onFitSuitePropertyChange(), IView::onPropertyChange(), PropertyRepeater::onPropertyChanged(), FitSessionController::onStartFittingRequest(), EllipseView::paint(), VerticalLineView::paint(), HorizontalLineView::paint(), PolygonView::paint(), RectangleView::paint(), IShape2DView::par(), ParameterTreeUtils::parameterDictionary(), ParameterTreeUtils::parameterNameToLinkedItem(), FitParameterItem::parameterType(), DistributionWidget::plot_multiple_values(), DistributionWidget::plot_single_value(), RealSpaceBuilder::populateLayout(), ParameterItem::restoreFromBackup(), runPolicy(), DataItem::selectedAxesUnits(), ColorMap::setColorScaleAppearanceFromItem(), setComputationMethod(), RectangularDetectorItem::setDetectorAlignment(), setFresnelMaterialMethod(), ProjectionsPlot::setGraphFromItem(), setIncludeSpecularPeak(), FitSessionController::setItem(), Plot1D::setLabel(), SpecularPlot::setLabel(), PropertyRepeater::setOnChildPropertyChange(), IView::setParameterizedItem(), InterferenceFunctionItem::setPositionVariance(), setRunPolicy(), FitFlowWidget::subscribeToItem(), BasicAxisItem::title(), IShape2DView::toSceneX(), IShape2DView::toSceneY(), RectangularDetectorItem::update_properties_appearance(), InterferenceFunction2DLatticeItem::update_rotation_availability(), InterferenceFunction2DParaCrystalItem::update_rotation_availability(), InterferenceFunctionFinite2DLatticeItem::update_rotation_availability(), ILayerView::updateColor(), updateComboItem(), ILayerView::updateHeight(), ILayerView::updateLabel(), ParticleDistributionItem::updateLinkedParameterList(), ParticleDistributionItem::updateMainParameterList(), BasicAxisItem::upperBound(), TransformTo3D::visualLayerThickness(), VectorItem::x(), VectorItem::y(), and VectorItem::z().

Here is the call graph for this function:

◆ getNumberOfMonteCarloPoints()

int SimulationOptionsItem::getNumberOfMonteCarloPoints ( ) const

Definition at line 134 of file SimulationOptionsItem.cpp.

135 {
136  return getItemValue(P_MC_POINTS).toInt();
137 }

References SessionItem::getItemValue(), and P_MC_POINTS.

Here is the call graph for this function:

◆ getNumberOfThreads()

int SimulationOptionsItem::getNumberOfThreads ( ) const

Definition at line 98 of file SimulationOptionsItem.cpp.

99 {
101  return m_text_to_nthreads[combo.getValue()];
102 }

References SessionItem::getItemValue(), ComboProperty::getValue(), m_text_to_nthreads, and P_NTHREADS.

Here is the call graph for this function:

◆ getRoles()

QVector< int > SessionItem::getRoles ( ) const
inherited

Returns vector of all present roles.

Definition at line 372 of file SessionItem.cpp.

373 {
374  return m_properties->roles();
375 }
std::unique_ptr< SessionItemData > m_properties
Definition: SessionItem.h:145

References SessionItem::m_properties.

Referenced by SessionXML::writeItemAndChildItems().

◆ getRunPolicyNames()

QStringList SimulationOptionsItem::getRunPolicyNames ( )
private

Definition at line 197 of file SimulationOptionsItem.cpp.

198 {
199  QStringList result;
200  result << "Immediately"
201  << "In background";
202  return result;
203 }

Referenced by SimulationOptionsItem().

◆ groupItem()

template<typename T >
T & SessionItem::groupItem ( const QString &  groupName) const
inherited

Definition at line 168 of file SessionItem.h.

169 {
170  T* t = dynamic_cast<T*>(getGroupItem(groupName));
171  ASSERT(t);
172  return *t;
173 }
SessionItem * getGroupItem(const QString &groupName) const
Access subitem of group item.

References ASSERT, and SessionItem::getGroupItem().

Referenced by SessionItem::addGroupProperty(), BeamDistributionItem::initDistributionItem(), and DistributionWidget::plot_multiple_values().

Here is the call graph for this function:

◆ hasChildren()

bool SessionItem::hasChildren ( ) const
inherited

Indicates whether this SessionItem has any child items.

Definition at line 87 of file SessionItem.cpp.

88 {
89  return numberOfChildren() > 0;
90 }
int numberOfChildren() const
Returns total number of children.
Definition: SessionItem.cpp:94

References SessionItem::numberOfChildren().

Referenced by IntensityDataItem::hasMasks(), and IntensityDataItem::hasProjections().

Here is the call graph for this function:

◆ index()

◆ insertItem()

bool SessionItem::insertItem ( int  row,
SessionItem item,
const QString &  tag = "" 
)
inherited

Insert item into given tag into given row.

Definition at line 230 of file SessionItem.cpp.

231 {
232  ASSERT(item);
233  ASSERT(!item->parent());
234 
235  const QString tagName = tag.isEmpty() ? defaultTag() : tag;
236  ASSERT(m_tags->isValid(tagName, item->modelType()));
237 
238  int index = m_tags->insertIndexFromTagRow(tagName, row);
239  ASSERT(index >= 0);
240  ASSERT(index <= m_children.size());
241 
242  if (m_model)
243  m_model->beginInsertRows(this->index(), index, index);
244 
245  item->setParentAndModel(this, m_model);
246  m_children.insert(index, item);
247 
248  m_tags->addChild(tagName);
249  if (m_model)
250  m_model->endInsertRows();
251 
252  return true;
253 }

References ASSERT, SessionItem::defaultTag(), SessionItem::index(), SessionItem::item(), SessionItem::m_children, SessionItem::m_model, and SessionItem::m_tags.

Referenced by GroupItemController::GroupItemController(), SessionItem::addGroupProperty(), DataPropertyContainer::addItem(), SessionItem::addProperty(), ItemFactory::CreateItem(), GroupItemController::getItemOfType(), SessionModel::insertNewItem(), SessionModel::moveItem(), GroupItemController::setCurrentType(), and TransformFromDomain::setMaskContainer().

Here is the call graph for this function:

◆ is()

◆ isEditable()

bool SessionItem::isEditable ( ) const
inherited

Definition at line 495 of file SessionItem.cpp.

496 {
497  return flags() & SessionFlags::EDITABLE;
498 }

References SessionFlags::EDITABLE, and SessionItem::flags().

Referenced by SessionModel::flags().

Here is the call graph for this function:

◆ isEnabled()

bool SessionItem::isEnabled ( ) const
inherited

Definition at line 490 of file SessionItem.cpp.

491 {
492  return flags() & SessionFlags::ENABLED;
493 }

References SessionFlags::ENABLED, and SessionItem::flags().

Referenced by SessionModel::flags(), SessionItemUtils::ForegroundRole(), SessionDecorationModel::textColor(), and PropertyWidgetItem::updateItemRoles().

Here is the call graph for this function:

◆ isTag()

◆ isVisible()

bool SessionItem::isVisible ( ) const
inherited

Definition at line 485 of file SessionItem.cpp.

486 {
487  return flags() & SessionFlags::VISIBLE;
488 }

References SessionItem::flags(), and SessionFlags::VISIBLE.

Referenced by ComponentProxyStrategy::parentVisibleRow(), SessionItemUtils::ParentVisibleRow(), and ComponentProxyStrategy::processDefaultItem().

Here is the call graph for this function:

◆ item()

template<typename T >
T * SessionItem::item ( const QString &  tag) const
inherited

Definition at line 151 of file SessionItem.h.

152 {
153  T* t = dynamic_cast<T*>(getItem(tag));
154  ASSERT(t);
155  return t;
156 }

References ASSERT, and SessionItem::getItem().

Referenced by BeamDistributionItem::BeamDistributionItem(), InterferenceFunction2DLatticeItem::InterferenceFunction2DLatticeItem(), InterferenceFunction2DParaCrystalItem::InterferenceFunction2DParaCrystalItem(), InterferenceFunctionFinite2DLatticeItem::InterferenceFunctionFinite2DLatticeItem(), JobItem::JobItem(), MinimizerContainerItem::MinimizerContainerItem(), ParticleDistributionItem::ParticleDistributionItem(), ParticleLayoutItem::ParticleLayoutItem(), RealDataItem::RealDataItem(), SpecularBeamItem::SpecularBeamItem(), InstrumentItem::alignedWith(), SpecularInstrumentItem::alignedWith(), GUIDomainSampleVisitor::buildPositionInfo(), GUIDomainSampleVisitor::createMaterialFromDomain(), TransformToDomain::createMultiLayer(), FitParameterContainerItem::createParameters(), PolygonItem::createShape(), DomainObjectBuilder::createUnitConverter(), DataProperties::dataItem(), DataPropertyContainer::dataItems(), MaterialItemContainer::findMaterialById(), JobItem::fitParameterContainerItem(), FitParameterContainerItem::fitParameterItem(), SessionItem::getCopyNumberOfChild(), InstrumentItem::initBackgroundGroup(), BeamDistributionItem::initDistributionItem(), SessionItem::insertItem(), Data1DViewItem::jobItem(), ParticleItem::materialPropertyItems(), ParameterItem::propagateValueToLink(), DataPropertyContainer::propertyItems(), DetectorItem::register_resolution_function(), DataProperties::setDataItem(), TransformFromDomain::setDetectorProperties(), TransformFromDomain::setGISASBeamItem(), TransformToDomain::setPositionInfo(), TransformFromDomain::setRectangularDetector(), SessionItem::tagFromItem(), SessionItem::takeRow(), SessionModel::topItems(), JobItem::updateIntensityDataFileName(), RealDataItem::updateNonXMLDataFileNames(), ParticleView::updatePixmap(), ParticleView::updateToolTip(), SpecularInstrumentItem::updateToRealData(), GISASInstrumentItem::updateToRealData(), SpecularBeamItem::updateWavelength(), and GUIDomainSampleVisitor::visit().

Here is the call graph for this function:

◆ itemName()

◆ limits()

◆ mapper()

ModelMapper * SessionItem::mapper ( )
inherited

Returns the current model mapper of this item. Creates new one if necessary.

Definition at line 547 of file SessionItem.cpp.

548 {
549  if (!m_mapper) {
550  m_mapper = std::unique_ptr<ModelMapper>(new ModelMapper);
551  m_mapper->setItem(this);
552  }
553  return m_mapper.get();
554 }
std::unique_ptr< ModelMapper > m_mapper
Definition: SessionItem.h:147

References SessionItem::m_mapper.

Referenced by AmplitudeAxisItem::AmplitudeAxisItem(), BeamDistributionItem::BeamDistributionItem(), Data1DViewItem::Data1DViewItem(), DataItem::DataItem(), DetectorItem::DetectorItem(), FitParameterItem::FitParameterItem(), FitParameterProxyModel::FitParameterProxyModel(), GroupItem::GroupItem(), InterferenceFunction2DLatticeItem::InterferenceFunction2DLatticeItem(), InterferenceFunction2DParaCrystalItem::InterferenceFunction2DParaCrystalItem(), InterferenceFunctionFinite2DLatticeItem::InterferenceFunctionFinite2DLatticeItem(), JobItem::JobItem(), LayerItem::LayerItem(), MesoCrystalItem::MesoCrystalItem(), MultiLayerItem::MultiLayerItem(), ParticleCompositionItem::ParticleCompositionItem(), ParticleCoreShellItem::ParticleCoreShellItem(), ParticleDistributionItem::ParticleDistributionItem(), ParticleItem::ParticleItem(), ParticleLayoutItem::ParticleLayoutItem(), PointwiseAxisItem::PointwiseAxisItem(), RealDataItem::RealDataItem(), RectangularDetectorItem::RectangularDetectorItem(), SimulationOptionsItem(), SpecularBeamItem::SpecularBeamItem(), VectorItem::VectorItem(), DistributionWidget::~DistributionWidget(), FitParameterProxyModel::~FitParameterProxyModel(), IShape2DView::~IShape2DView(), IView::~IView(), PropertyRepeater::addItem(), FitSessionManager::createController(), SessionItemController::onControllerDestroy(), DistributionWidget::setItem(), FitSessionController::setItem(), RealDataPropertiesWidget::setItem(), SessionItemController::setItem(), IShape2DView::setParameterizedItem(), IView::setParameterizedItem(), DiffItemController::subscribe(), FitFlowWidget::subscribeToItem(), RunFitControlWidget::subscribeToItem(), DistributionEditor::subscribeToItem(), GISASDetectorEditor::subscribeToItem(), PolarizationAnalysisEditor::subscribeToItem(), RectangularDetectorEditor::subscribeToItem(), IntensityDataCanvas::subscribeToItem(), ProjectionsPlot::subscribeToItem(), JobPropertiesWidget::subscribeToItem(), ParameterTuningWidget::subscribeToItem(), FitComparisonWidget::subscribeToItem(), FitComparisonWidget1D::subscribeToItem(), ColorMap::subscribeToItem(), Plot1D::subscribeToItem(), SpecularPlot::subscribeToItem(), SessionItemController::unsubscribe(), DiffItemController::unsubscribe(), RunFitControlWidget::unsubscribeFromChildren(), and ProjectionsPlot::unsubscribeFromChildren().

◆ model()

SessionModel * SessionItem::model ( ) const
inherited

◆ modelType()

QString SessionItem::modelType ( ) const
inherited

Get model type.

Definition at line 389 of file SessionItem.cpp.

390 {
391  return roleProperty(SessionFlags::ModelTypeRole).toString();
392 }

References SessionFlags::ModelTypeRole, and SessionItem::roleProperty().

Referenced by GSLMultiMinimizerItem::GSLMultiMinimizerItem(), InstrumentItem::InstrumentItem(), MinuitMinimizerItem::MinuitMinimizerItem(), RectangleItem::RectangleItem(), SessionItem::SessionItem(), TransformToDomain::addBeamDivergencesToScan(), TransformToDomain::addDistributionParametersToSimulation(), DesignerScene::addViewForItem(), SpecularInstrumentItem::alignedWith(), ModelPath::ancestor(), ComponentUtils::componentItems(), MaskUnitsConverter::convertMask(), TransformToDomain::createIParticle(), TransformTo3D::createLayer(), TransformToDomain::createLayerRoughness(), MaskViewFactory::createMaskView(), TransformTo3D::createParticle3D(), ParticleCompositionItem::createParticleComposition(), SessionItem::displayName(), DesignerScene::dropEvent(), JobModelFunctions::findJobItem(), MesoCrystalItem::getBasis(), SampleViewAligner::getConnectedViews(), ModelPath::getIndexFromPath(), FitParameterHelper::getParameterItem(), ProjectionsPlot::graphForItem(), SessionItemUtils::HasOwnAbundance(), FitParameterProxyModel::index(), FitParameterProxyModel::indexOfItem(), GUIDomainSampleVisitor::InsertIParticle(), SessionModel::insertItem(), ComponentProxyStrategy::isGroupChildren(), SessionItemUtils::IsPositionRelated(), ComponentProxyStrategy::isPropertyRelated(), ParticleItem::isShellParticle(), ComponentProxyStrategy::isSubGroup(), MaterialItemUtils::materialPropertyItems(), MaterialItemUtils::materialTag(), SessionModel::moveItem(), InstrumentViewActions::onCloneInstrument(), ComponentFlatView::onDataChanged(), DesignerScene::onEstablishedConnection(), FitParameterWidget::onFitParametersSelectionChanged(), ModelMapper::onRowsInserted(), ParticleItem::parentIsParticleLayout(), DistributionWidget::plot_distributions(), RealSpaceBuilder::populate(), RealSpaceBuilder::populateLayout(), ParameterTreeUtils::populateParameterContainer(), RealSpaceBuilder::populateParticleFromParticleItem(), MaskGraphicsScene::processPolygonItem(), MaskGraphicsScene::processRectangleShapeItem(), FitParameterProxyModel::rowCount(), TransformFromDomain::setAxisItem(), GroupItem::setCurrentType(), Instrument2DItem::setDetectorGroup(), TransformFromDomain::setDetectorMasks(), TransformFromDomain::setDetectorResolution(), ProjectionsPlot::setGraphFromItem(), SessionItem::setGroupProperty(), MaskGraphicsScene::setItemName(), MaskEditor::setMaskContext(), MaskGraphicsScene::setMaskContext(), TransformToDomain::setSimulationOptions(), JobModelFunctions::setupJobItemInstrument(), ProjectionsPlot::subscribeToItem(), ColorMap::subscribeToItem(), SpecularPlot::subscribeToItem(), InterferenceFunction2DParaCrystalItem::update_distribution_displaynames(), DetectorItem::update_resolution_function_tooltips(), LayerItem::updateAppearance(), SampleValidator::validateItem(), GUIDomainSampleVisitor::visit(), ParameterTreeUtils::visitParameterContainer(), TransformTo3D::visualLayerThickness(), and SessionXML::writeItemAndChildItems().

Here is the call graph for this function:

◆ numberOfChildren()

int SessionItem::numberOfChildren ( ) const
inherited

◆ parent()

SessionItem * SessionItem::parent ( ) const
inherited

Returns parent of this item.

Definition at line 73 of file SessionItem.cpp.

74 {
75  return m_parent;
76 }

References SessionItem::m_parent.

Referenced by MesoCrystalItem::MesoCrystalItem(), ParticleCompositionItem::ParticleCompositionItem(), ParticleCoreShellItem::ParticleCoreShellItem(), ModelPath::ancestor(), FitComparison1DViewController::deleteDiffViewItem(), PointwiseAxisItem::findInstrument(), JobModelFunctions::findJobItem(), SampleViewAligner::getConnectedViews(), FitParameterHelper::getParameterItem(), FitParameterProxyModel::indexOfItem(), SessionModel::indexOfItem(), ComponentProxyStrategy::isGroupChildren(), ComponentProxyStrategy::isPropertyRelated(), MaskEditorActions::isSendToBackPossible(), ParticleItem::isShellParticle(), ComponentProxyStrategy::isSubGroup(), ModelPath::itemPathTranslation(), Data1DViewItem::jobItem(), RealDataItem::linkedInstrument(), SessionModel::moveItem(), ModelMapper::nestlingDepth(), ModelMapper::onDataChanged(), FitParameterWidget::onFitParametersSelectionChanged(), ProjectionsEditorCanvas::onLeavingColorMap(), ModelMapper::onRowRemoved(), ModelMapper::onRowsInserted(), ParameterTreeUtils::parameterDictionary(), SessionModel::parent(), FitParameterProxyModel::parent(), ParticleItem::parentIsParticleLayout(), SessionItemUtils::ParentRow(), ComponentProxyStrategy::parentVisibleRow(), SessionItemUtils::ParentVisibleRow(), ComponentProxyStrategy::processGroupItem(), ComponentProxyStrategy::processSourceIndex(), ComponentProxyStrategy::processSubGroupItem(), SessionXML::readItems(), PropertyWidgetItem::setItemEditor(), PropertyRepeater::setOnChildPropertyChange(), SessionItem::setParentAndModel(), LayerItem::updateAppearance(), and SessionXML::writeItemAndChildItems().

◆ registerTag()

bool SessionItem::registerTag ( const QString &  name,
int  min = 0,
int  max = -1,
QStringList  modelTypes = {} 
)
inherited

◆ roleProperty()

QVariant SessionItem::roleProperty ( int  role) const
inherited

◆ rowOfChild()

int SessionItem::rowOfChild ( SessionItem child) const
inherited

Returns row index of given child.

Definition at line 115 of file SessionItem.cpp.

116 {
117  return m_children.indexOf(child);
118 }

References SessionItem::m_children.

Referenced by SessionItem::childDeleted(), DetectorItem::clearMasks(), SessionModel::indexOfItem(), SessionModel::moveItem(), ProjectionsEditorCanvas::onLeavingColorMap(), and SessionItemUtils::ParentRow().

◆ runImmediately()

bool SimulationOptionsItem::runImmediately ( ) const

Definition at line 104 of file SimulationOptionsItem.cpp.

105 {
106  return runPolicy() == "Immediately";
107 }

References runPolicy().

Referenced by JobItem::runImmediately().

Here is the call graph for this function:

◆ runInBackground()

bool SimulationOptionsItem::runInBackground ( ) const

Definition at line 109 of file SimulationOptionsItem.cpp.

110 {
111  return runPolicy() == "In background";
112 }

References runPolicy().

Referenced by JobItem::runInBackground().

Here is the call graph for this function:

◆ runPolicy()

QString SimulationOptionsItem::runPolicy ( ) const
private

Definition at line 170 of file SimulationOptionsItem.cpp.

171 {
173  return combo.getValue();
174 }

References SessionItem::getItemValue(), ComboProperty::getValue(), and P_RUN_POLICY.

Referenced by runImmediately(), and runInBackground().

Here is the call graph for this function:

◆ serializeBinaryData()

QByteArray SessionItem::serializeBinaryData ( ) const
virtualinherited

Reimplemented in RealDataItem.

Definition at line 571 of file SessionItem.cpp.

572 {
573  return QByteArray();
574 }

Referenced by SessionXML::writeItemAndChildItems().

◆ sessionItemTags()

SessionItemTags * SessionItem::sessionItemTags ( )
inherited

Definition at line 168 of file SessionItem.cpp.

169 {
170  return m_tags.get();
171 }

References SessionItem::m_tags.

Referenced by SessionItem::displayName(), SessionModel::insertNewItem(), and SessionModel::moveItem().

◆ setComputationMethod()

void SimulationOptionsItem::setComputationMethod ( const QString &  name)

Definition at line 121 of file SimulationOptionsItem.cpp.

122 {
124  combo.setValue(name);
126 }
void setValue(const QString &name)
void setItemValue(const QString &tag, const QVariant &variant)
Directly set value of item under given tag.

References SessionItem::getItemValue(), RealSpace::Particles::name(), P_COMPUTATION_METHOD, SessionItem::setItemValue(), ComboProperty::setValue(), and ComboProperty::variant().

Referenced by GUIObjectBuilder::populateDocumentModel().

Here is the call graph for this function:

◆ setDecimals()

◆ setDefaultTag()

◆ setDisplayName()

void SessionItem::setDisplayName ( const QString &  display_name)
inherited

Set display name.

Definition at line 448 of file SessionItem.cpp.

449 {
451 }

References SessionFlags::DisplayNameRole, and SessionItem::setRoleProperty().

Referenced by DistributionNoneItem::DistributionNoneItem(), SessionItem::SessionItem(), SessionItem::addGroupProperty(), SessionItem::addProperty(), FitParameterHelper::createFitParameter(), SessionXML::readItems(), and InterferenceFunction2DParaCrystalItem::update_distribution_displaynames().

Here is the call graph for this function:

◆ setEditable()

void SessionItem::setEditable ( bool  enabled)
inherited

Definition at line 480 of file SessionItem.cpp.

481 {
483 }
void changeFlags(bool enabled, int flag)
internal

References SessionItem::changeFlags(), and SessionFlags::EDITABLE.

Referenced by JobItem::JobItem(), MaterialDataItem::MaterialDataItem(), VectorItem::VectorItem(), and FitParameterItem::setLimitEnabled().

Here is the call graph for this function:

◆ setEditorType()

◆ setEnabled()

◆ setFresnelMaterialMethod()

void SimulationOptionsItem::setFresnelMaterialMethod ( const QString &  name)

Definition at line 144 of file SimulationOptionsItem.cpp.

145 {
147  combo.setValue(name);
149 }

References SessionItem::getItemValue(), RealSpace::Particles::name(), P_FRESNEL_MATERIAL_METHOD, SessionItem::setItemValue(), ComboProperty::setValue(), and ComboProperty::variant().

Here is the call graph for this function:

◆ setGroupProperty()

SessionItem * SessionItem::setGroupProperty ( const QString &  groupTag,
const QString &  modelType 
) const
inherited

Set the current type of group item.

Definition at line 341 of file SessionItem.cpp.

342 {
343  return item<GroupItem>(groupTag)->setCurrentType(modelType);
344 }

References SessionItem::modelType().

Referenced by DesignerScene::dropEvent(), DistributionItem::init_limits_group(), DistributionItem::register_limits(), BeamDistributionItem::resetToValue(), TransformFromDomain::setBackground(), Instrument2DItem::setDetectorGroup(), TransformFromDomain::setDetectorResolution(), TransformFromDomain::setFootprintFactor(), TransformFromDomain::setLayerItem(), MaterialItem::setRefractiveData(), MaterialItem::setSLDData(), and GUIDomainSampleVisitor::visit().

Here is the call graph for this function:

◆ setIncludeSpecularPeak()

void SimulationOptionsItem::setIncludeSpecularPeak ( const QString &  name)

Definition at line 157 of file SimulationOptionsItem.cpp.

158 {
160  combo.setValue(name);
162 }

References SessionItem::getItemValue(), RealSpace::Particles::name(), P_INCLUDE_SPECULAR_PEAK, SessionItem::setItemValue(), ComboProperty::setValue(), and ComboProperty::variant().

Here is the call graph for this function:

◆ setItemName()

◆ setItemValue()

void SessionItem::setItemValue ( const QString &  tag,
const QVariant &  variant 
)
inherited

Directly set value of item under given tag.

Definition at line 303 of file SessionItem.cpp.

304 {
305  ASSERT(isTag(tag));
306  getItem(tag)->setValue(variant);
307 }
bool setValue(QVariant value)
Set value, ensure that variant types match.

References ASSERT, SessionItem::getItem(), SessionItem::isTag(), and SessionItem::setValue().

Referenced by MesoCrystalItem::MesoCrystalItem(), ParticleCompositionItem::ParticleCompositionItem(), ParticleCoreShellItem::ParticleCoreShellItem(), RegionOfInterestItem::RegionOfInterestItem(), FitParameterHelper::addToFitParameter(), IntensityDataCanvas::applyPersistentSettings(), RealDataItem::clearInstrumentId(), PolygonView::closePolygonIfNecessary(), MaskUnitsConverter::convertCoordinate(), MaskUnitsConverter::convertMask(), FitComparison1DViewController::createDiffViewItem(), FitParameterHelper::createFitParameter(), DetectorMaskDelegate::createIntensityDataItem(), QREDataLoader::createOutputDataFromParsingResult(), DesignerScene::dropEvent(), PointwiseAxisItem::init(), DistributionNoneItem::init_distribution(), DistributionGateItem::init_distribution(), DistributionLorentzItem::init_distribution(), DistributionGaussianItem::init_distribution(), DistributionLogNormalItem::init_distribution(), DistributionCosineItem::init_distribution(), DistributionTrapezoidItem::init_distribution(), DistributionItem::init_limits_group(), DistributionItem::init_parameters(), JobModelFunctions::initDataView(), FitParameterItem::initMinMaxValues(), MaterialItemContainer::insertCopy(), GUIDomainSampleVisitor::InsertIParticle(), EllipseView::mouseMoveEvent(), RectangleView::mouseMoveEvent(), ILayerView::mouseReleaseEvent(), EllipseView::onChangedX(), VerticalLineView::onChangedX(), RectangleView::onChangedX(), IView::onChangedX(), EllipseView::onChangedY(), HorizontalLineView::onChangedY(), RectangleView::onChangedY(), IView::onChangedY(), ProjectionsEditorCanvas::onEnteringColorMap(), ProjectionsEditorCanvas::onPositionChanged(), RunFitControlWidget::onSliderValueChanged(), MaskGraphicsScene::processHorizontalLineItem(), MaskGraphicsScene::processLineItem(), MaskGraphicsScene::processPolygonItem(), MaskGraphicsScene::processRectangleShapeItem(), MaskGraphicsScene::processVerticalLineItem(), IntensityDataItem::reset(), SpecularDataItem::reset(), BeamDistributionItem::resetToValue(), TransformFromDomain::set1DLatticeItem(), TransformFromDomain::set2DLatticeItem(), TransformFromDomain::set2DParaCrystalItem(), TransformFromDomain::setAxisItem(), TransformFromDomain::setBackground(), JobItem::setBeginTime(), BasicAxisItem::setBinCount(), Data1DProperties::setColorProperty(), JobItem::setComments(), setComputationMethod(), DataProperties::setDataItem(), RectangularDetectorItem::setDetectorAlignment(), TransformFromDomain::setDetectorProperties(), TransformFromDomain::setDetectorResolution(), JobItem::setDuration(), JobItem::setEndTime(), DataItem::setFileName(), TransformFromDomain::setFinite2DLatticeItem(), TransformFromDomain::setFootprintFactor(), setFresnelMaterialMethod(), TransformFromDomain::setHardDiskItem(), InstrumentItem::setId(), JobItem::setIdentifier(), setIncludeSpecularPeak(), RealDataItem::setInstrumentId(), BeamItem::setIntensity(), JobItemUtils::setIntensityItemAxesUnits(), IntensityDataItem::setInterpolated(), FitComparisonController2D::setItem(), SessionItem::setItemName(), TransformFromDomain::setLayerItem(), AmplitudeAxisItem::setLogScale(), BasicAxisItem::setLowerBound(), TransformFromDomain::setMaskContainer(), setNumberOfMonteCarloPoints(), MaskResultsPresenter::setOriginalMode(), TransformFromDomain::setParticleDistributionItem(), JobResultsPresenter::setPresentation(), JobItem::setProgress(), TransformFromDomain::setRadialParaCrystalItem(), TransformFromDomain::setRectangularDetector(), TransformFromDomain::setRoughnessItem(), setRunPolicy(), MaskResultsPresenter::setShowMaskMode(), JobItem::setStatus(), BasicAxisItem::setTitle(), BasicAxisItem::setUpperBound(), VectorItem::setX(), VectorItem::setY(), VectorItem::setZ(), IntensityDataItem::setZAxisLocked(), RunFitControlWidget::subscribeToItem(), SpecularDataItem::updateAxesZoomLevel(), ParticleLayoutItem::updateDensityValue(), FitSessionController::updateIterationCount(), ParticleDistributionItem::updateLinkedParameterList(), ParticleDistributionItem::updateMainParameterList(), PolygonPointView::updateParameterizedItem(), ParticleItem::updatePropertiesAppearance(), and GUIDomainSampleVisitor::visit().

Here is the call graph for this function:

◆ setLimits()

SessionItem & SessionItem::setLimits ( const RealLimits value)
inherited

Definition at line 505 of file SessionItem.cpp.

506 {
507  setRoleProperty(SessionFlags::LimitsRole, QVariant::fromValue<RealLimits>(value));
508  return *this;
509 }

References SessionFlags::LimitsRole, SessionItem::setRoleProperty(), and SessionItem::value().

Referenced by BeamAzimuthalAngleItem::BeamAzimuthalAngleItem(), BeamInclinationAngleItem::BeamInclinationAngleItem(), BeamItem::BeamItem(), BeamWavelengthItem::BeamWavelengthItem(), ConstantBackgroundItem::ConstantBackgroundItem(), CuboctahedronItem::CuboctahedronItem(), DetectorItem::DetectorItem(), DistributionCosineItem::DistributionCosineItem(), DistributionGateItem::DistributionGateItem(), DistributionGaussianItem::DistributionGaussianItem(), DistributionLorentzItem::DistributionLorentzItem(), DistributionNoneItem::DistributionNoneItem(), DistributionTrapezoidItem::DistributionTrapezoidItem(), EllipseItem::EllipseItem(), FitParameterItem::FitParameterItem(), FootprintGaussianItem::FootprintGaussianItem(), FootprintSquareItem::FootprintSquareItem(), FTDecayFunction1DVoigtItem::FTDecayFunction1DVoigtItem(), FTDecayFunction2DVoigtItem::FTDecayFunction2DVoigtItem(), FTDistribution1DVoigtItem::FTDistribution1DVoigtItem(), FTDistribution2DVoigtItem::FTDistribution2DVoigtItem(), HorizontalLineItem::HorizontalLineItem(), LayerBasicRoughnessItem::LayerBasicRoughnessItem(), LayerItem::LayerItem(), LimitedItem::LimitedItem(), LowerLimitedItem::LowerLimitedItem(), MaterialRefractiveDataItem::MaterialRefractiveDataItem(), MaterialSLDDataItem::MaterialSLDDataItem(), MesoCrystalItem::MesoCrystalItem(), ParticleCompositionItem::ParticleCompositionItem(), ParticleCoreShellItem::ParticleCoreShellItem(), ParticleDistributionItem::ParticleDistributionItem(), ParticleItem::ParticleItem(), PolygonPointItem::PolygonPointItem(), RectangleItem::RectangleItem(), RectangularDetectorItem::RectangularDetectorItem(), ResolutionFunction2DGaussianItem::ResolutionFunction2DGaussianItem(), SessionItem::SessionItem(), UpperLimitedItem::UpperLimitedItem(), VectorItem::VectorItem(), VerticalLineItem::VerticalLineItem(), DistributionLorentzItem::init_distribution(), DistributionGaussianItem::init_distribution(), DistributionLogNormalItem::init_distribution(), DistributionCosineItem::init_distribution(), FitParameterItem::initMinMaxValues(), BasicAxisItem::register_basic_properties(), DistributionItem::register_number_of_samples(), and SpecularBeamWavelengthItem::setToRange().

Here is the call graph for this function:

◆ setModel()

void SessionItem::setModel ( SessionModel model)
privateinherited

Definition at line 591 of file SessionItem.cpp.

592 {
593  m_model = model;
594 
595  if (m_mapper)
596  m_mapper->setItem(this);
597 
598  for (auto& child : m_children)
599  child->setModel(model);
600 }

References SessionItem::m_children, SessionItem::m_mapper, SessionItem::m_model, and SessionItem::model().

Referenced by SessionItem::~SessionItem(), SessionModel::createRootItem(), and SessionItem::setParentAndModel().

Here is the call graph for this function:

◆ setNumberOfMonteCarloPoints()

void SimulationOptionsItem::setNumberOfMonteCarloPoints ( int  npoints)

Definition at line 139 of file SimulationOptionsItem.cpp.

140 {
141  setItemValue(P_MC_POINTS, npoints);
142 }

References P_MC_POINTS, and SessionItem::setItemValue().

Here is the call graph for this function:

◆ setParentAndModel()

void SessionItem::setParentAndModel ( SessionItem parent,
SessionModel model 
)
privateinherited

Definition at line 585 of file SessionItem.cpp.

586 {
587  setModel(model);
588  m_parent = parent;
589 }
SessionItem * parent() const
Returns parent of this item.
Definition: SessionItem.cpp:73
void setModel(SessionModel *model)

References SessionItem::m_parent, SessionItem::model(), SessionItem::parent(), and SessionItem::setModel().

Referenced by SessionItem::takeItem().

Here is the call graph for this function:

◆ setRoleProperty()

bool SessionItem::setRoleProperty ( int  role,
const QVariant &  value 
)
inherited

Set variant to role, create role if not present yet.

Definition at line 362 of file SessionItem.cpp.

363 {
364  bool result = m_properties->setData(role, value);
365  if (result)
366  emitDataChanged(role);
367  return result;
368 }
void emitDataChanged(int role=Qt::DisplayRole)
Notify model about data changes.

References SessionItem::emitDataChanged(), SessionItem::m_properties, and SessionItem::value().

Referenced by SessionItem::SessionItem(), SessionItem::changeFlags(), SessionXML::readProperty(), SessionItem::setDecimals(), SessionItem::setDefaultTag(), SessionItem::setDisplayName(), SessionItem::setEditorType(), SessionItem::setLimits(), SessionItem::setToolTip(), and SessionItem::setValue().

Here is the call graph for this function:

◆ setRunPolicy()

void SimulationOptionsItem::setRunPolicy ( const QString &  policy)

Definition at line 114 of file SimulationOptionsItem.cpp.

115 {
117  combo.setValue(policy);
119 }

References SessionItem::getItemValue(), P_RUN_POLICY, SessionItem::setItemValue(), ComboProperty::setValue(), and ComboProperty::variant().

Here is the call graph for this function:

◆ setToolTip()

SessionItem & SessionItem::setToolTip ( const QString &  tooltip)
inherited

Definition at line 527 of file SessionItem.cpp.

528 {
530  return *this;
531 }
QVariant ToolTipRole(const SessionItem &item, int ncol=0)
Returns tooltip for given item.

References SessionItem::setRoleProperty(), and SessionItemUtils::ToolTipRole().

Referenced by AnisoPyramidItem::AnisoPyramidItem(), BarGaussItem::BarGaussItem(), BarLorentzItem::BarLorentzItem(), BasicLattice2DItem::BasicLattice2DItem(), BeamItem::BeamItem(), BoxItem::BoxItem(), Cone6Item::Cone6Item(), ConeItem::ConeItem(), ConstantBackgroundItem::ConstantBackgroundItem(), CosineRippleBoxItem::CosineRippleBoxItem(), CosineRippleGaussItem::CosineRippleGaussItem(), CosineRippleLorentzItem::CosineRippleLorentzItem(), CuboctahedronItem::CuboctahedronItem(), CylinderItem::CylinderItem(), DetectorItem::DetectorItem(), DodecahedronItem::DodecahedronItem(), DotItem::DotItem(), EllipsoidalCylinderItem::EllipsoidalCylinderItem(), EulerRotationItem::EulerRotationItem(), FootprintGaussianItem::FootprintGaussianItem(), FootprintSquareItem::FootprintSquareItem(), FTDecayFunction1DCauchyItem::FTDecayFunction1DCauchyItem(), FTDecayFunction1DGaussItem::FTDecayFunction1DGaussItem(), FTDecayFunction1DTriangleItem::FTDecayFunction1DTriangleItem(), FTDecayFunction1DVoigtItem::FTDecayFunction1DVoigtItem(), FTDecayFunction2DCauchyItem::FTDecayFunction2DCauchyItem(), FTDecayFunction2DGaussItem::FTDecayFunction2DGaussItem(), FTDecayFunction2DVoigtItem::FTDecayFunction2DVoigtItem(), FTDistribution1DCauchyItem::FTDistribution1DCauchyItem(), FTDistribution1DCosineItem::FTDistribution1DCosineItem(), FTDistribution1DGateItem::FTDistribution1DGateItem(), FTDistribution1DGaussItem::FTDistribution1DGaussItem(), FTDistribution1DTriangleItem::FTDistribution1DTriangleItem(), FTDistribution1DVoigtItem::FTDistribution1DVoigtItem(), FTDistribution2DCauchyItem::FTDistribution2DCauchyItem(), FTDistribution2DConeItem::FTDistribution2DConeItem(), FTDistribution2DGateItem::FTDistribution2DGateItem(), FTDistribution2DGaussItem::FTDistribution2DGaussItem(), FTDistribution2DVoigtItem::FTDistribution2DVoigtItem(), FullSphereItem::FullSphereItem(), FullSpheroidItem::FullSpheroidItem(), GeneticMinimizerItem::GeneticMinimizerItem(), GSLLMAMinimizerItem::GSLLMAMinimizerItem(), GSLMultiMinimizerItem::GSLMultiMinimizerItem(), HemiEllipsoidItem::HemiEllipsoidItem(), HexagonalLattice2DItem::HexagonalLattice2DItem(), IcosahedronItem::IcosahedronItem(), InterferenceFunction1DLatticeItem::InterferenceFunction1DLatticeItem(), InterferenceFunction2DLatticeItem::InterferenceFunction2DLatticeItem(), InterferenceFunction2DParaCrystalItem::InterferenceFunction2DParaCrystalItem(), InterferenceFunctionFinite2DLatticeItem::InterferenceFunctionFinite2DLatticeItem(), InterferenceFunctionHardDiskItem::InterferenceFunctionHardDiskItem(), InterferenceFunctionItem::InterferenceFunctionItem(), InterferenceFunctionRadialParaCrystalItem::InterferenceFunctionRadialParaCrystalItem(), LayerBasicRoughnessItem::LayerBasicRoughnessItem(), LayerItem::LayerItem(), LimitedItem::LimitedItem(), LowerLimitedItem::LowerLimitedItem(), MaterialRefractiveDataItem::MaterialRefractiveDataItem(), MaterialSLDDataItem::MaterialSLDDataItem(), MesoCrystalItem::MesoCrystalItem(), MinimizerContainerItem::MinimizerContainerItem(), MinuitMinimizerItem::MinuitMinimizerItem(), MultiLayerItem::MultiLayerItem(), ParticleCompositionItem::ParticleCompositionItem(), ParticleCoreShellItem::ParticleCoreShellItem(), ParticleDistributionItem::ParticleDistributionItem(), ParticleItem::ParticleItem(), ParticleLayoutItem::ParticleLayoutItem(), Prism3Item::Prism3Item(), Prism6Item::Prism6Item(), PyramidItem::PyramidItem(), RectangularDetectorItem::RectangularDetectorItem(), ResolutionFunction2DGaussianItem::ResolutionFunction2DGaussianItem(), SawtoothRippleBoxItem::SawtoothRippleBoxItem(), SawtoothRippleGaussItem::SawtoothRippleGaussItem(), SawtoothRippleLorentzItem::SawtoothRippleLorentzItem(), SimAnMinimizerItem::SimAnMinimizerItem(), SimulationOptionsItem(), SquareLattice2DItem::SquareLattice2DItem(), TetrahedronItem::TetrahedronItem(), TransformationItem::TransformationItem(), TruncatedCubeItem::TruncatedCubeItem(), TruncatedSphereItem::TruncatedSphereItem(), TruncatedSpheroidItem::TruncatedSpheroidItem(), UpperLimitedItem::UpperLimitedItem(), VectorItem::VectorItem(), XRotationItem::XRotationItem(), YRotationItem::YRotationItem(), ZRotationItem::ZRotationItem(), FTDecayFunction1DItem::add_decay_property(), FTDecayFunction2DItem::add_decay_property(), FTDistribution2DItem::add_gamma_property(), FTDecayFunction2DItem::add_gammadelta_property(), FTDistribution2DItem::add_omega_properties(), FTDistribution1DItem::add_omega_property(), and RectangularDetectorItem::update_properties_appearance().

Here is the call graph for this function:

◆ setValue()

bool SessionItem::setValue ( QVariant  value)
inherited

Set value, ensure that variant types match.

Definition at line 403 of file SessionItem.cpp.

404 {
406  return setRoleProperty(Qt::DisplayRole, value);
407 }
bool CompatibleVariantTypes(const QVariant &oldValue, const QVariant &newValue)
Returns true if variants has compatible types.

References ASSERT, SessionItemUtils::CompatibleVariantTypes(), SessionItem::setRoleProperty(), and SessionItem::value().

Referenced by BeamAzimuthalAngleItem::BeamAzimuthalAngleItem(), BeamInclinationAngleItem::BeamInclinationAngleItem(), BeamWavelengthItem::BeamWavelengthItem(), ParameterItem::propagateValueToLink(), SessionItem::setItemValue(), RealDataItem::setNativeDataUnits(), SpecularBeamWavelengthItem::setToRange(), JobModelFunctions::setupJobItemInstrument(), GroupItem::updateComboValue(), and VectorItem::updateLabel().

Here is the call graph for this function:

◆ setVisible()

◆ tagFromItem()

QString SessionItem::tagFromItem ( const SessionItem item) const
inherited

Returns the tag name of given item when existing.

Definition at line 175 of file SessionItem.cpp.

176 {
177  int index = m_children.indexOf(const_cast<SessionItem*>(item));
178  return m_tags->tagFromIndex(index);
179 }

References SessionItem::index(), SessionItem::item(), SessionItem::m_children, and SessionItem::m_tags.

Referenced by SessionItem::displayName(), ParticleItem::isShellParticle(), InstrumentViewActions::onCloneInstrument(), ModelMapper::onDataChanged(), ComponentProxyStrategy::processSourceIndex(), PropertyRepeater::setOnChildPropertyChange(), SessionItem::takeRow(), and SessionXML::writeItemAndChildItems().

Here is the call graph for this function:

◆ takeItem()

SessionItem * SessionItem::takeItem ( int  row,
const QString &  tag 
)
inherited

Remove item from given row from given tag.

Definition at line 257 of file SessionItem.cpp.

258 {
259  const QString tagName = tag.isEmpty() ? defaultTag() : tag;
260  ASSERT(m_tags->isValid(tagName));
261  ASSERT(!m_tags->isSingleItemTag(tagName));
262 
263  int index = m_tags->indexFromTagRow(tagName, row);
264  ASSERT(index >= 0 && index <= m_children.size());
265 
266  if (m_model)
267  m_model->beginRemoveRows(this->index(), index, index);
268  SessionItem* result = m_children.takeAt(index);
269  result->setParentAndModel(nullptr, nullptr);
270 
271  m_tags->removeChild(tagName);
272  if (m_model)
273  m_model->endRemoveRows();
274  return result;
275 }
void setParentAndModel(SessionItem *parent, SessionModel *model)

References ASSERT, SessionItem::defaultTag(), SessionItem::index(), SessionItem::m_children, SessionItem::m_model, SessionItem::m_tags, and SessionItem::setParentAndModel().

Referenced by SessionModel::moveItem(), and SessionItem::takeRow().

Here is the call graph for this function:

◆ takeRow()

SessionItem * SessionItem::takeRow ( int  row)
inherited

Removes row from item and returns the item.

Definition at line 145 of file SessionItem.cpp.

146 {
147  SessionItem* item = childAt(row);
148  QString tag = tagFromItem(item);
149  auto items = getItems(tag);
150  return takeItem(items.indexOf(item), tag);
151 }
QVector< SessionItem * > getItems(const QString &tag="") const
Returns vector of all items of given tag.
SessionItem * takeItem(int row, const QString &tag)
Remove item from given row from given tag.
SessionItem * childAt(int row) const
Returns the child at the given row.

References SessionItem::childAt(), SessionItem::getItems(), SessionItem::item(), SessionItem::tagFromItem(), and SessionItem::takeItem().

Referenced by DetectorItem::clearMasks(), FitComparison1DViewController::deleteDiffViewItem(), SessionModel::moveItem(), ProjectionsEditorCanvas::onLeavingColorMap(), and SessionModel::removeRows().

Here is the call graph for this function:

◆ toolTip()

QString SessionItem::toolTip ( ) const
inherited

Definition at line 522 of file SessionItem.cpp.

523 {
524  return roleProperty(Qt::ToolTipRole).toString();
525 }

References SessionItem::roleProperty(), and SessionItemUtils::ToolTipRole().

Referenced by IView::setParameterizedItem(), and SessionItemUtils::ToolTipRole().

Here is the call graph for this function:

◆ translateList()

QStringList SessionItem::translateList ( const QStringList &  list) const
virtualinherited

Reimplemented in MesoCrystalItem, InstrumentItem, and GroupItem.

Definition at line 556 of file SessionItem.cpp.

557 {
558  QStringList result = list;
559  for (const IPathTranslator* translator : m_translators)
560  result = translator->translate(result);
561  // TODO consider adding displayName before translators
562  result << displayName();
563  return result;
564 }

References SessionItem::displayName(), and SessionItem::m_translators.

Referenced by ModelPath::itemPathTranslation(), InstrumentItem::translateList(), and MesoCrystalItem::translateList().

Here is the call graph for this function:

◆ updateComboItem()

void SimulationOptionsItem::updateComboItem ( QString  name,
QStringList  option_names 
)
private

Definition at line 205 of file SimulationOptionsItem.cpp.

206 {
207  ComboProperty combo = getItemValue(name).value<ComboProperty>();
208  if (combo.getValues().size() != option_names.size()) {
209  auto p_item = getItem(name);
210  auto selected_value = combo.getValue();
211  ComboProperty new_combo;
212  new_combo << option_names;
213  if (new_combo.getValues().contains(selected_value))
214  new_combo.setValue(selected_value);
215  p_item->setValue(new_combo.variant());
216  }
217 }
QStringList getValues() const

References SessionItem::getItem(), SessionItem::getItemValue(), ComboProperty::getValue(), ComboProperty::getValues(), RealSpace::Particles::name(), ComboProperty::setValue(), and ComboProperty::variant().

Referenced by SimulationOptionsItem().

Here is the call graph for this function:

◆ value()

QVariant SessionItem::value ( ) const
inherited

Get value.

Definition at line 396 of file SessionItem.cpp.

397 {
398  return roleProperty(Qt::DisplayRole);
399 }

References SessionItem::roleProperty().

Referenced by SessionItemUtils::CheckStateRole(), PointwiseAxisItem::createAxis(), PropertyEditorFactory::CreateEditor(), FitParameterHelper::createFitParameter(), SessionItemUtils::DecorationRole(), SessionModel::flags(), SessionItem::getItemValue(), DistributionNoneItem::init_distribution(), DistributionGateItem::init_distribution(), DistributionLorentzItem::init_distribution(), DistributionGaussianItem::init_distribution(), DistributionLogNormalItem::init_distribution(), DistributionCosineItem::init_distribution(), DistributionTrapezoidItem::init_distribution(), DistributionItem::init_parameters(), FitParameterItem::initMinMaxValues(), FitParameterItem::isValid(), ComponentTreeView::onCustomContextMenuRequested(), GroupItem::onValueChange(), BeamDistributionItem::resetToValue(), BeamItem::setAzimuthalAngle(), BasicAxisItem::setBinCount(), BeamItem::setInclinationAngle(), SpecularBeamItem::setInclinationAngle(), BeamItem::setIntensity(), SessionItem::setLimits(), AmplitudeAxisItem::setLogScale(), BasicAxisItem::setLowerBound(), Data1DViewItem::setLowerX(), IntensityDataItem::setLowerX(), SpecularDataItem::setLowerX(), Data1DViewItem::setLowerY(), IntensityDataItem::setLowerY(), SpecularDataItem::setLowerY(), SessionItem::setRoleProperty(), JobModelFunctions::setupJobItemSampleData(), BasicAxisItem::setUpperBound(), Data1DViewItem::setUpperX(), IntensityDataItem::setUpperX(), SpecularDataItem::setUpperX(), Data1DViewItem::setUpperY(), IntensityDataItem::setUpperY(), SpecularDataItem::setUpperY(), SessionItem::setValue(), BeamItem::setWavelength(), VectorItem::setX(), VectorItem::setY(), VectorItem::setZ(), SessionItemUtils::ToolTipRole(), and SessionXML::writeItemAndChildItems().

Here is the call graph for this function:

Member Data Documentation

◆ m_children

◆ m_mapper

std::unique_ptr<ModelMapper> SessionItem::m_mapper
privateinherited

◆ m_model

◆ m_parent

SessionItem* SessionItem::m_parent
privateinherited

◆ m_properties

std::unique_ptr<SessionItemData> SessionItem::m_properties
privateinherited

◆ m_tags

◆ m_text_to_nthreads

QMap<QString, int> SimulationOptionsItem::m_text_to_nthreads
private

Definition at line 59 of file SimulationOptionsItem.h.

Referenced by getCPUUsageOptions(), and getNumberOfThreads().

◆ m_translators

QVector<IPathTranslator*> SessionItem::m_translators
privateinherited

◆ P_COMPUTATION_METHOD

const QString SimulationOptionsItem::P_COMPUTATION_METHOD = "Computation method"
static

◆ P_FRESNEL_MATERIAL_METHOD

const QString SimulationOptionsItem::P_FRESNEL_MATERIAL_METHOD
static
Initial value:
=
"Material for Fresnel calculations"

Definition at line 31 of file SimulationOptionsItem.h.

Referenced by SimulationOptionsItem(), getFresnelMaterialMethod(), and setFresnelMaterialMethod().

◆ P_INCLUDE_SPECULAR_PEAK

const QString SimulationOptionsItem::P_INCLUDE_SPECULAR_PEAK = "Include specular peak"
static

◆ P_MC_POINTS

const QString SimulationOptionsItem::P_MC_POINTS = "Number of MC points"
static

◆ P_NAME

◆ P_NTHREADS

const QString SimulationOptionsItem::P_NTHREADS = "Number of Threads"
static

Definition at line 28 of file SimulationOptionsItem.h.

Referenced by SimulationOptionsItem(), and getNumberOfThreads().

◆ P_RUN_POLICY

const QString SimulationOptionsItem::P_RUN_POLICY = "Run Policy"
static

Definition at line 27 of file SimulationOptionsItem.h.

Referenced by SimulationOptionsItem(), runPolicy(), and setRunPolicy().


The documentation for this class was generated from the following files: