BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
IntensityDataItem Class Reference
Inheritance diagram for IntensityDataItem:
[legend]
Collaboration diagram for IntensityDataItem:
[legend]

Public Slots

void setInterpolated (bool interp)
 
void setLogz (bool logz)
 
void setLowerAndUpperZ (double zmin, double zmax)
 
void setLowerX (double value)
 
void setLowerY (double value)
 
void setLowerZ (double zmin)
 
void setUpperX (double value)
 
void setUpperY (double value)
 
void setUpperZ (double zmax)
 

Public Member Functions

 IntensityDataItem ()
 
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...
 
void computeDataRange ()
 
bool containsNonXMLData () const override
 Checks if object owns non-XML data. More...
 
QPair< double, double > dataRange () const
 Init zmin, zmax to match the intensity values range. 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...
 
QString fileName () const override
 Reports file name to save/load non-XML data. More...
 
virtual QString fileName () const=0
 Reports file name to save/load non-XML data. More...
 
QString fileName (const QString &projectDir) const
 Reports file name to save/load non-XML data with directory name attached. More...
 
QString fileName (const QString &projectDir) const
 Reports file name to save/load non-XML data with directory name attached. 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 getGradient () const
 
SessionItemgetGroupItem (const QString &groupName) const
 Access subitem of group item. More...
 
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...
 
double getLowerX () const
 returns lower and upper zoom ranges of x-axis More...
 
double getLowerY () const
 returns lower and upper zoom ranges of y-axis More...
 
double getLowerZ () const
 returns lower and upper zoom ranges of z-axis More...
 
int getNbinsX () const
 
int getNbinsY () const
 
OutputData< double > * getOutputData ()
 
const OutputData< double > * getOutputData () const
 
QVector< int > getRoles () const
 Returns vector of all present roles. More...
 
double getUpperX () const
 
double getUpperY () const
 
double getUpperZ () const
 
QString getXaxisTitle () const
 
double getXmax () const
 
double getXmin () const
 returns min and max range of x-axis as given by IntensityData More...
 
QString getYaxisTitle () const
 
double getYmax () const
 
double getYmin () const
 returns min and max range of y-axis as given by IntensityData More...
 
template<typename T >
T & groupItem (const QString &groupName) const
 
bool hasChildren () const
 Indicates whether this SessionItem has any child items. More...
 
bool hasMasks () const
 
bool hasProjections () const
 
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 isInterpolated () const
 
bool isLogz () const
 
bool isTag (const QString &name) const
 Returns true if tag is available. More...
 
bool isVisible () const
 
bool isZAxisLocked () const
 return true if min, max range of Z-axis is locked (change not allowed) More...
 
template<typename T >
T * item (const QString &tag) const
 
QString itemName () const
 Get item name, return display name if no name is set. More...
 
QDateTime lastModified () const override
 Indicates last modification timepoint. More...
 
RealLimits limits () const
 
bool load (const QString &projectDir) override
 Loads non-XML data from projectDir and returns success flag. More...
 
ModelMappermapper ()
 Returns the current model mapper of this item. Creates new one if necessary. More...
 
MaskContainerItemmaskContainerItem ()
 
const MaskContainerItemmaskContainerItem () const
 
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...
 
ProjectionContainerItemprojectionContainerItem ()
 
const ProjectionContainerItemprojectionContainerItem () const
 
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...
 
void reset (ImportDataInfo data) override
 Returns data to the state defined by user (imported) data. More...
 
void resetView ()
 Set axes viewport to original data. 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 save (const QString &projectDir) override
 Saves non-XML data in projectDir and returns success flag. More...
 
QString selectedAxesUnits () const
 
virtual QByteArray serializeBinaryData () const
 
SessionItemTagssessionItemTags ()
 
void setAxesRangeToData () override
 set zoom range of x,y axes to axes of input data More...
 
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 setFileName (const QString &filename)
 
SessionItemsetGroupProperty (const QString &groupTag, const QString &modelType) const
 Set the current type of group item. More...
 
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...
 
void setLastModified (const QDateTime &dtime)
 
SessionItemsetLimits (const RealLimits &value)
 
void setOutputData (OutputData< double > *data) override
 The given pointer becomes owned by this class!! More...
 
void setRawDataVector (std::vector< double > data)
 Sets the raw data vector from external source Checks only the equality of data size, no dimension checks are applied. More...
 
bool setRoleProperty (int role, const QVariant &value)
 Set variant to role, create role if not present yet. More...
 
SessionItemsetToolTip (const QString &tooltip)
 
bool setValue (QVariant value)
 Set value, ensure that variant types match. More...
 
void setVisible (bool enabled)
 Flags accessors. More...
 
void setXaxisTitle (const QString &title) override
 
void setYaxisTitle (const QString &title) override
 
void setZAxisLocked (bool state)
 
std::vector< int > shape () const override
 
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
 
void updateAxesUnits (const InstrumentItem *instrument) override
 
void updateDataRange ()
 Sets min,max values for z-axis, if axes is not locked, and ranges are not yet set. More...
 
QVariant value () const
 Get value. More...
 
BasicAxisItemxAxisItem ()
 
const BasicAxisItemxAxisItem () const
 
BasicAxisItemyAxisItem ()
 
const BasicAxisItemyAxisItem () const
 
AmplitudeAxisItemzAxisItem ()
 
const AmplitudeAxisItemzAxisItem () const
 

Static Public Attributes

static const QString P_AXES_UNITS = "Axes Units"
 
static const QString P_GRADIENT = "Gradient"
 
static const QString P_IS_INTERPOLATED = "Interpolation"
 
static const QString P_NAME = "Name"
 
static const QString P_PROJECTIONS_FLAG = "Projections"
 
static const QString P_TITLE = "Title"
 
static const QString P_XAXIS = "x-axis"
 
static const QString P_YAXIS = "y-axis"
 
static const QString P_ZAXIS = "color-axis"
 
static const QString T_MASKS = "Mask tag"
 
static const QString T_PROJECTIONS = "Projection tag"
 

Protected Attributes

std::unique_ptr< OutputData< double > > m_data
 simulation results More...
 
QDateTime m_last_modified
 
std::mutex m_update_data_mutex
 

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...
 
void setModel (SessionModel *model)
 
void setParentAndModel (SessionItem *parent, SessionModel *model)
 
void updateAxesLabels ()
 Init axes labels, if it was not done already. More...
 
void updateAxesZoomLevel ()
 Sets zoom range of X,Y axes, if it was not yet defined. More...
 

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
 
QVector< IPathTranslator * > m_translators
 

Static Private Attributes

static const QString P_FILE_NAME = "FileName"
 

Detailed Description

Definition at line 25 of file IntensityDataItem.h.

Constructor & Destructor Documentation

◆ IntensityDataItem()

IntensityDataItem::IntensityDataItem ( )

Definition at line 58 of file IntensityDataItem.cpp.

58  : DataItem("IntensityData")
59 {
60  addProperty(P_TITLE, QString())->setVisible(false);
61 
64  addProperty(P_GRADIENT, gradientCombo().variant());
65 
66  auto basicAxis = addProperty<BasicAxisItem>(P_XAXIS);
67  basicAxis->getItem(BasicAxisItem::P_NBINS)->setVisible(false);
68 
69  basicAxis = addProperty<BasicAxisItem>(P_YAXIS);
70  basicAxis->getItem(BasicAxisItem::P_NBINS)->setVisible(false);
71 
72  auto amplitudeAxis = addProperty<AmplitudeAxisItem>(P_ZAXIS);
73  amplitudeAxis->getItem(BasicAxisItem::P_NBINS)->setVisible(false);
74 
77 
78  registerTag(T_MASKS, 0, -1, QStringList() << "MaskContainer");
80 
81  registerTag(T_PROJECTIONS, 0, -1, QStringList() << "ProjectionContainer");
82 }
const QString y_axis_default_name
const QString x_axis_default_name
static const QString P_NBINS
Definition: AxesItems.h:26
DataItem(const QString &modelType)
Definition: DataItem.cpp:93
static const QString P_ZAXIS
static const QString P_YAXIS
static const QString T_PROJECTIONS
void setXaxisTitle(const QString &title) override
void setYaxisTitle(const QString &title) override
static const QString P_PROJECTIONS_FLAG
static const QString P_TITLE
static const QString P_XAXIS
static const QString P_GRADIENT
static const QString T_MASKS
static const QString P_IS_INTERPOLATED
SessionItem * addProperty(const QString &name, const QVariant &variant)
Add new property item and register new tag.
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.
void setVisible(bool enabled)
Flags accessors.
void setDefaultTag(const QString &tag)
Set default tag.

References SessionItem::addProperty(), P_GRADIENT, P_IS_INTERPOLATED, BasicAxisItem::P_NBINS, P_PROJECTIONS_FLAG, P_TITLE, P_XAXIS, P_YAXIS, P_ZAXIS, SessionItem::registerTag(), SessionItem::setDefaultTag(), SessionItem::setVisible(), setXaxisTitle(), setYaxisTitle(), T_MASKS, T_PROJECTIONS, x_axis_default_name, and y_axis_default_name.

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.
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 }
bool isTag(const QString &name) const
Returns true if tag is available.
QString const & name(EShape k)
Definition: particles.cpp:21

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(), 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::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()

◆ computeDataRange()

void IntensityDataItem::computeDataRange ( )

Definition at line 341 of file IntensityDataItem.cpp.

342 {
343  QPair<double, double> minmax = dataRange();
344  setLowerAndUpperZ(minmax.first, minmax.second);
345 }
QPair< double, double > dataRange() const
Init zmin, zmax to match the intensity values range.
void setLowerAndUpperZ(double zmin, double zmax)

References dataRange(), and setLowerAndUpperZ().

Referenced by resetView(), and updateDataRange().

Here is the call graph for this function:

◆ containsNonXMLData()

bool DataItem::containsNonXMLData ( ) const
overridevirtualinherited

Checks if object owns non-XML data.

Implements SaveLoadInterface.

Definition at line 55 of file DataItem.cpp.

56 {
57  return static_cast<bool>(m_data);
58 }
std::unique_ptr< OutputData< double > > m_data
simulation results
Definition: DataItem.h:72

References DataItem::m_data.

Referenced by DataItem::save().

◆ dataRange()

QPair< double, double > IntensityDataItem::dataRange ( ) const

Init zmin, zmax to match the intensity values range.

Definition at line 348 of file IntensityDataItem.cpp.

349 {
350  const OutputData<double>* data = getOutputData();
351  double min(*std::min_element(data->begin(), data->end()));
352  double max(*std::max_element(data->begin(), data->end()));
353  if (isLogz()) {
354  if (max > 10000) {
355  min = 1.0;
356  max = max * 1.1;
357  } else {
358  min = max / 10000;
359  max = max * 1.1;
360  }
361  } else {
362  max = max * 1.1;
363  }
364 
365  return QPair<double, double>(min, max);
366 }
OutputData< double > * getOutputData()
Definition: DataItem.h:36
iterator end()
Returns read/write iterator that points to the one past last element.
Definition: OutputData.h:93
iterator begin()
Returns read/write iterator that points to the first element.
Definition: OutputData.h:343

References OutputData< T >::begin(), OutputData< T >::end(), DataItem::getOutputData(), and isLogz().

Referenced by computeDataRange(), and ColorMapUtils::itemDataRange().

Here is the call graph for this function:

◆ 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(), setOutputData(), SpecularDataItem::setOutputData(), DataItem::setRawDataVector(), SessionItem::setRoleProperty(), and PointwiseAxisItem::updateIndicators().

Here is the call graph for this function:

◆ fileName() [1/4]

QString DataItem::fileName ( ) const
overridevirtualinherited

Reports file name to save/load non-XML data.

Implements SaveLoadInterface.

Definition at line 40 of file DataItem.cpp.

41 {
42  return getItemValue(P_FILE_NAME).toString();
43 }
static const QString P_FILE_NAME
Definition: DataItem.h:31
QVariant getItemValue(const QString &tag) const
Directly access value of item under given tag.

References SessionItem::getItemValue(), and DataItem::P_FILE_NAME.

Referenced by DataItem::load(), and DataItem::save().

Here is the call graph for this function:

◆ fileName() [2/4]

virtual QString SaveLoadInterface::fileName
inherited

Reports file name to save/load non-XML data.

◆ fileName() [3/4]

QString SaveLoadInterface::fileName ( const QString &  projectDir) const
inherited

Reports file name to save/load non-XML data with directory name attached.

Definition at line 19 of file SaveLoadInterface.cpp.

20 {
21  const auto filename = fileName();
22  return projectDir.isEmpty() ? filename : projectDir + "/" + filename;
23 }
virtual QString fileName() const =0
Reports file name to save/load non-XML data.
std::string filename(const std::string &path)
Returns path without directory part ("Foo/Bar/Doz.int.gz" -> "Doz.int.gz")
QString projectDir(const QString &projectFileName)
Returns project directory deduced from project file name.

References SaveLoadInterface::fileName(), FileSystemUtils::filename(), and ProjectUtils::projectDir().

Here is the call graph for this function:

◆ fileName() [4/4]

QString SaveLoadInterface::fileName
inherited

Reports file name to save/load non-XML data with directory name attached.

Definition at line 47 of file SaveLoadInterface.cpp.

20 {
21  const auto filename = fileName();
22  return projectDir.isEmpty() ? filename : projectDir + "/" + filename;
23 }
QString fileName() const override
Reports file name to save/load non-XML data.
Definition: DataItem.cpp:40

◆ 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().

◆ 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:

◆ getGradient()

QString IntensityDataItem::getGradient ( ) const

Definition at line 163 of file IntensityDataItem.cpp.

164 {
165  ComboProperty combo_property = getItemValue(P_GRADIENT).value<ComboProperty>();
166  return combo_property.getValue();
167 }
Custom property to define list of string values with multiple selections.
Definition: ComboProperty.h:25
QString getValue() const

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

Referenced by ColorMapUtils::itemGradient().

Here is the call graph for this function:

◆ getGroupItem()

◆ 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::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(), isZAxisLocked(), SessionItem::item(), RealDataMaskWidget::maskContainer(), maskContainerItem(), DetectorItem::maskContainerItem(), JobItem::materialContainerItem(), LayerItem::materialPropertyItems(), ParticleCoreShellItem::materialPropertyItems(), ParticleItem::materialPropertyItems(), JobItem::multiLayerItem(), JobModelFunctions::muteMagnetizationData(), RealDataItem::nativeData(), JobItem::parameterContainerItem(), RealSpaceBuilder::populateLayout(), IntensityDataProjectionsWidget::projectionContainer(), projectionContainerItem(), ProjectionsPlot::projectionContainerItem(), JobItem::realDataItem(), reset(), SpecularDataItem::reset(), JobModel::restore(), ColorMap::setColorScaleAppearanceFromItem(), SessionItem::setItemValue(), FitParameterItem::setLimitEnabled(), AmplitudeAxisItem::setMinMaxEditor(), RealDataItem::setNativeDataUnits(), TransformFromDomain::setSpecularBeamItem(), SpecularBeamWavelengthItem::setToRange(), JobModelFunctions::setupJobItemInstrument(), 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(), SimulationOptionsItem::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.
SessionItem * getItem(const QString &tag="", int row=0) const
Returns item in given row of given tag.

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

Referenced by AmplitudeAxisItem::AmplitudeAxisItem(), SimulationOptionsItem::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(), SimulationOptionsItem::getComputationMethod(), SimulationOptionsItem::getFresnelMaterialMethod(), getGradient(), JobItem::getIdentifier(), SimulationOptionsItem::getIncludeSpecularPeak(), SimulationOptionsItem::getNumberOfMonteCarloPoints(), SimulationOptionsItem::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(), isInterpolated(), AmplitudeAxisItem::isLogScale(), FitParameterItem::isValid(), 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(), SimulationOptionsItem::runPolicy(), DataItem::selectedAxesUnits(), ColorMap::setColorScaleAppearanceFromItem(), SimulationOptionsItem::setComputationMethod(), RectangularDetectorItem::setDetectorAlignment(), SimulationOptionsItem::setFresnelMaterialMethod(), ProjectionsPlot::setGraphFromItem(), SimulationOptionsItem::setIncludeSpecularPeak(), FitSessionController::setItem(), Plot1D::setLabel(), SpecularPlot::setLabel(), PropertyRepeater::setOnChildPropertyChange(), IView::setParameterizedItem(), InterferenceFunctionItem::setPositionVariance(), SimulationOptionsItem::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(), SimulationOptionsItem::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:

◆ getLowerX()

double IntensityDataItem::getLowerX ( ) const

returns lower and upper zoom ranges of x-axis

Definition at line 109 of file IntensityDataItem.cpp.

110 {
111  return xAxisItem()->lowerBound();
112 }
double lowerBound() const
Definition: AxesItems.cpp:42
const BasicAxisItem * xAxisItem() const

References BasicAxisItem::lowerBound(), and xAxisItem().

Referenced by JobSelectorActions::equalizeSelectedToJob(), MaskEditorCanvas::isAxisRangeMatchData(), ColorMapUtils::itemZoomX(), ColorMap::setAxesZoomFromItem(), and updateAxesZoomLevel().

Here is the call graph for this function:

◆ getLowerY()

double IntensityDataItem::getLowerY ( ) const

returns lower and upper zoom ranges of y-axis

Definition at line 131 of file IntensityDataItem.cpp.

132 {
133  return yAxisItem()->lowerBound();
134 }
const BasicAxisItem * yAxisItem() const

References BasicAxisItem::lowerBound(), and yAxisItem().

Referenced by JobSelectorActions::equalizeSelectedToJob(), MaskEditorCanvas::isAxisRangeMatchData(), ColorMapUtils::itemZoomY(), ColorMap::setAxesZoomFromItem(), and updateAxesZoomLevel().

Here is the call graph for this function:

◆ getLowerZ()

double IntensityDataItem::getLowerZ ( ) const

returns lower and upper zoom ranges of z-axis

Definition at line 153 of file IntensityDataItem.cpp.

154 {
155  return zAxisItem()->lowerBound();
156 }
const AmplitudeAxisItem * zAxisItem() const

References BasicAxisItem::lowerBound(), and zAxisItem().

Referenced by JobSelectorActions::equalizeSelectedToJob(), ColorMapUtils::itemDataZoom(), FitComparisonController2D::setItem(), and setLowerAndUpperZ().

Here is the call graph for this function:

◆ getNbinsX()

int IntensityDataItem::getNbinsX ( ) const

Definition at line 99 of file IntensityDataItem.cpp.

100 {
101  return xAxisItem()->binCount();
102 }
int binCount() const
Definition: AxesItems.cpp:32

References BasicAxisItem::binCount(), and xAxisItem().

Referenced by ColorMapUtils::itemXrange(), ColorMap::setAxesRangeFromItem(), ColorMap::setDataFromItem(), and shape().

Here is the call graph for this function:

◆ getNbinsY()

int IntensityDataItem::getNbinsY ( ) const

Definition at line 104 of file IntensityDataItem.cpp.

105 {
106  return yAxisItem()->binCount();
107 }

References BasicAxisItem::binCount(), and yAxisItem().

Referenced by ColorMapUtils::itemYrange(), ColorMap::setAxesRangeFromItem(), ColorMap::setDataFromItem(), and shape().

Here is the call graph for this function:

◆ getOutputData() [1/2]

◆ getOutputData() [2/2]

const OutputData<double>* DataItem::getOutputData ( ) const
inlineinherited

Definition at line 37 of file DataItem.h.

37 { return m_data.get(); }

◆ 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().

◆ getUpperX()

double IntensityDataItem::getUpperX ( ) const

Definition at line 114 of file IntensityDataItem.cpp.

115 {
116  return xAxisItem()->upperBound();
117 }
double upperBound() const
Definition: AxesItems.cpp:52

References BasicAxisItem::upperBound(), and xAxisItem().

Referenced by JobSelectorActions::equalizeSelectedToJob(), MaskEditorCanvas::isAxisRangeMatchData(), ColorMapUtils::itemZoomX(), ColorMap::setAxesZoomFromItem(), and updateAxesZoomLevel().

Here is the call graph for this function:

◆ getUpperY()

double IntensityDataItem::getUpperY ( ) const

Definition at line 136 of file IntensityDataItem.cpp.

137 {
138  return yAxisItem()->upperBound();
139 }

References BasicAxisItem::upperBound(), and yAxisItem().

Referenced by JobSelectorActions::equalizeSelectedToJob(), MaskEditorCanvas::isAxisRangeMatchData(), ColorMapUtils::itemZoomY(), ColorMap::setAxesZoomFromItem(), and updateAxesZoomLevel().

Here is the call graph for this function:

◆ getUpperZ()

double IntensityDataItem::getUpperZ ( ) const

Definition at line 158 of file IntensityDataItem.cpp.

159 {
160  return zAxisItem()->upperBound();
161 }

References BasicAxisItem::upperBound(), and zAxisItem().

Referenced by JobSelectorActions::equalizeSelectedToJob(), ColorMapUtils::itemDataZoom(), and setLowerAndUpperZ().

Here is the call graph for this function:

◆ getXaxisTitle()

QString IntensityDataItem::getXaxisTitle ( ) const

Definition at line 179 of file IntensityDataItem.cpp.

180 {
181  return xAxisItem()->title();
182 }
QString title() const
Definition: AxesItems.cpp:62

References BasicAxisItem::title(), and xAxisItem().

Referenced by ColorMap::setAxesLabelsFromItem(), and updateAxesLabels().

Here is the call graph for this function:

◆ getXmax()

double IntensityDataItem::getXmax ( ) const

Definition at line 125 of file IntensityDataItem.cpp.

126 {
127  const double defaultXmax(1.0);
128  return m_data ? m_data->axis(0).upperBound() : defaultXmax;
129 }

References DataItem::m_data.

Referenced by MaskEditorCanvas::isAxisRangeMatchData(), ColorMapUtils::itemXrange(), setAxesRangeToData(), and updateAxesZoomLevel().

◆ getXmin()

double IntensityDataItem::getXmin ( ) const

returns min and max range of x-axis as given by IntensityData

Definition at line 119 of file IntensityDataItem.cpp.

120 {
121  const double defaultXmin(0.0);
122  return m_data ? m_data->axis(0).lowerBound() : defaultXmin;
123 }

References DataItem::m_data.

Referenced by MaskEditorCanvas::isAxisRangeMatchData(), ColorMapUtils::itemXrange(), setAxesRangeToData(), and updateAxesZoomLevel().

◆ getYaxisTitle()

QString IntensityDataItem::getYaxisTitle ( ) const

Definition at line 184 of file IntensityDataItem.cpp.

185 {
186  return yAxisItem()->title();
187 }

References BasicAxisItem::title(), and yAxisItem().

Referenced by ColorMap::setAxesLabelsFromItem(), and updateAxesLabels().

Here is the call graph for this function:

◆ getYmax()

double IntensityDataItem::getYmax ( ) const

Definition at line 147 of file IntensityDataItem.cpp.

148 {
149  const double defaultYmax(1.0);
150  return m_data ? m_data->axis(1).upperBound() : defaultYmax;
151 }

References DataItem::m_data.

Referenced by MaskEditorCanvas::isAxisRangeMatchData(), ColorMapUtils::itemYrange(), setAxesRangeToData(), and updateAxesZoomLevel().

◆ getYmin()

double IntensityDataItem::getYmin ( ) const

returns min and max range of y-axis as given by IntensityData

Definition at line 141 of file IntensityDataItem.cpp.

142 {
143  const double defaultYmin(0.0);
144  return m_data ? m_data->axis(1).lowerBound() : defaultYmin;
145 }

References DataItem::m_data.

Referenced by MaskEditorCanvas::isAxisRangeMatchData(), ColorMapUtils::itemYrange(), setAxesRangeToData(), and updateAxesZoomLevel().

◆ 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 hasMasks(), and hasProjections().

Here is the call graph for this function:

◆ hasMasks()

bool IntensityDataItem::hasMasks ( ) const

Definition at line 430 of file IntensityDataItem.cpp.

431 {
433 }
MaskContainerItem * maskContainerItem()
bool hasChildren() const
Indicates whether this SessionItem has any child items.
Definition: SessionItem.cpp:87

References SessionItem::hasChildren(), and maskContainerItem().

Here is the call graph for this function:

◆ hasProjections()

bool IntensityDataItem::hasProjections ( ) const

Definition at line 435 of file IntensityDataItem.cpp.

436 {
438 }
ProjectionContainerItem * projectionContainerItem()

References SessionItem::hasChildren(), and projectionContainerItem().

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:

◆ isInterpolated()

bool IntensityDataItem::isInterpolated ( ) const

Definition at line 174 of file IntensityDataItem.cpp.

175 {
176  return getItemValue(P_IS_INTERPOLATED).toBool();
177 }

References SessionItem::getItemValue(), and P_IS_INTERPOLATED.

Here is the call graph for this function:

◆ isLogz()

bool IntensityDataItem::isLogz ( ) const

Definition at line 169 of file IntensityDataItem.cpp.

170 {
171  return zAxisItem()->isLogScale();
172 }
bool isLogScale() const
Definition: AxesItems.cpp:113

References AmplitudeAxisItem::isLogScale(), and zAxisItem().

Referenced by dataRange(), and ColorMap::setDataRangeFromItem().

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:

◆ isZAxisLocked()

bool IntensityDataItem::isZAxisLocked ( ) const

return true if min, max range of Z-axis is locked (change not allowed)

Definition at line 189 of file IntensityDataItem.cpp.

190 {
192 }
static const QString P_LOCK_MIN_MAX
Definition: AxesItems.h:56

References SessionItem::getItem(), SessionItem::getItemValue(), AmplitudeAxisItem::P_LOCK_MIN_MAX, and P_ZAXIS.

Referenced by resetView(), and updateDataRange().

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()

◆ lastModified()

QDateTime DataItem::lastModified ( ) const
overridevirtualinherited

Indicates last modification timepoint.

Implements SaveLoadInterface.

Definition at line 50 of file DataItem.cpp.

51 {
52  return m_last_modified;
53 }
QDateTime m_last_modified
Definition: DataItem.h:73

References DataItem::m_last_modified.

◆ limits()

◆ load()

bool DataItem::load ( const QString &  projectDir)
overridevirtualinherited

Loads non-XML data from projectDir and returns success flag.

Implements SaveLoadInterface.

Definition at line 60 of file DataItem.cpp.

61 {
62  QString filename = fileName(projectDir);
63  auto data = IntensityDataIOFactory::readOutputData(filename.toStdString());
64  if (!data)
65  return false;
66  setOutputData(data);
67  return true;
68 }
virtual void setOutputData(OutputData< double > *data)=0
The given pointer becomes owned by this class!!
Definition: DataItem.cpp:24
static OutputData< double > * readOutputData(const std::string &file_name)
Reads file and returns newly created OutputData object.

References DataItem::fileName(), FileSystemUtils::filename(), ProjectUtils::projectDir(), IntensityDataIOFactory::readOutputData(), and DataItem::setOutputData().

Here is the call graph for this function:

◆ 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::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().

◆ maskContainerItem() [1/2]

MaskContainerItem * IntensityDataItem::maskContainerItem ( )

Definition at line 410 of file IntensityDataItem.cpp.

411 {
412  return dynamic_cast<MaskContainerItem*>(getItem(IntensityDataItem::T_MASKS));
413 }
Container holding various masks as children.
Definition: MaskItems.h:24

References SessionItem::getItem(), and T_MASKS.

Referenced by MaskUnitsConverter::convertIntensityDataItem(), hasMasks(), MaskEditorCanvas::onPresentationTypeRequest(), and MaskEditorCanvas::setZoomToROI().

Here is the call graph for this function:

◆ maskContainerItem() [2/2]

const MaskContainerItem * IntensityDataItem::maskContainerItem ( ) const

Definition at line 415 of file IntensityDataItem.cpp.

416 {
417  return dynamic_cast<MaskContainerItem*>(getItem(IntensityDataItem::T_MASKS));
418 }

References SessionItem::getItem(), and T_MASKS.

Here is the call graph for this function:

◆ 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().

◆ projectionContainerItem() [1/2]

ProjectionContainerItem * IntensityDataItem::projectionContainerItem ( )

Definition at line 420 of file IntensityDataItem.cpp.

421 {
423 }
A container to hold ProjectionItems, intended to store projections of color map on X,...

References SessionItem::getItem(), and T_PROJECTIONS.

Referenced by MaskUnitsConverter::convertIntensityDataItem(), hasProjections(), and SaveProjectionsAssistant::projectionItems().

Here is the call graph for this function:

◆ projectionContainerItem() [2/2]

const ProjectionContainerItem * IntensityDataItem::projectionContainerItem ( ) const

Definition at line 425 of file IntensityDataItem.cpp.

426 {
428 }

References SessionItem::getItem(), and T_PROJECTIONS.

Here is the call graph for this function:

◆ registerTag()

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

◆ reset()

void IntensityDataItem::reset ( ImportDataInfo  data)
overridevirtual

Returns data to the state defined by user (imported) data.

Implements DataItem.

Definition at line 233 of file IntensityDataItem.cpp.

234 {
235  ASSERT(data.unitsLabel() == "nbins");
236  ComboProperty combo = ComboProperty() << data.unitsLabel();
239 
240  setXaxisTitle(data.axisLabel(0));
241  setYaxisTitle(data.axisLabel(1));
242  MaskUnitsConverter converter;
243  converter.convertToNbins(this);
244  setOutputData(std::move(data).intensityData().release());
246  converter.convertFromNbins(this);
247 }
QVariant variant() const
Constructs variant enclosing given ComboProperty.
static const QString P_AXES_UNITS
Definition: DataItem.h:34
QString unitsLabel() const
QString axisLabel(size_t axis_index) const
void setAxesRangeToData() override
set zoom range of x,y axes to axes of input data
void setOutputData(OutputData< double > *data) override
The given pointer becomes owned by this class!!
The MaskUnitsConverter converts coordinates of all masks from one units to anoter.
void convertToNbins(IntensityDataItem *intensityData)
Converts all masks on board of IntensityDataItem into bin-fraction coordinates.
void convertFromNbins(IntensityDataItem *intensityData)
Converts all masks on board of IntensityDataItem from bin-fraction coordinates to coordinates of axes...
void setItemValue(const QString &tag, const QVariant &variant)
Directly set value of item under given tag.

References ASSERT, ImportDataInfo::axisLabel(), MaskUnitsConverter::convertFromNbins(), MaskUnitsConverter::convertToNbins(), SessionItem::getItem(), DataItem::P_AXES_UNITS, setAxesRangeToData(), SessionItem::setItemValue(), setOutputData(), SessionItem::setVisible(), setXaxisTitle(), setYaxisTitle(), ImportDataInfo::unitsLabel(), and ComboProperty::variant().

Here is the call graph for this function:

◆ resetView()

void IntensityDataItem::resetView ( )

Set axes viewport to original data.

Definition at line 400 of file IntensityDataItem.cpp.

401 {
402  if (!m_data)
403  return;
404 
406  if (!isZAxisLocked())
408 }
bool isZAxisLocked() const
return true if min, max range of Z-axis is locked (change not allowed)

References computeDataRange(), isZAxisLocked(), DataItem::m_data, and setAxesRangeToData().

Referenced by IntensityDataCanvas::onResetViewAction(), ProjectionsEditorCanvas::onResetViewRequest(), MaskEditorCanvas::onResetViewRequest(), FitComparisonController2D::resetDiffItem(), and ColorMap::resetView().

Here is the call graph for this function:

◆ 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().

◆ save()

bool DataItem::save ( const QString &  projectDir)
overridevirtualinherited

Saves non-XML data in projectDir and returns success flag.

Implements SaveLoadInterface.

Definition at line 70 of file DataItem.cpp.

71 {
72  if (!containsNonXMLData())
73  return false;
74 
75  std::unique_lock<std::mutex> lock(m_update_data_mutex);
76  std::unique_ptr<OutputData<double>> clone(getOutputData()->clone());
77  lock.unlock();
79  return true;
80 }
bool containsNonXMLData() const override
Checks if object owns non-XML data.
Definition: DataItem.cpp:55
std::mutex m_update_data_mutex
Definition: DataItem.h:74
static void writeOutputData(const OutputData< double > &data, const std::string &file_name)
Writes OutputData in file.
@ clone
full deep copying with item identifiers preserved

References DataItem::containsNonXMLData(), DataItem::fileName(), DataItem::getOutputData(), DataItem::m_update_data_mutex, ProjectUtils::projectDir(), and IntensityDataIOFactory::writeOutputData().

Here is the call graph for this function:

◆ selectedAxesUnits()

QString DataItem::selectedAxesUnits ( ) const
inherited

Definition at line 87 of file DataItem.cpp.

88 {
90  return combo.getValue();
91 }

References SessionItem::getItemValue(), ComboProperty::getValue(), and DataItem::P_AXES_UNITS.

Referenced by JobItemUtils::setResults(), and JobItemUtils::updateDataAxes().

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().

◆ setAxesRangeToData()

void IntensityDataItem::setAxesRangeToData ( )
overridevirtual

set zoom range of x,y axes to axes of input data

Implements DataItem.

Definition at line 210 of file IntensityDataItem.cpp.

211 {
212  setLowerX(getXmin());
213  setUpperX(getXmax());
214  setLowerY(getYmin());
215  setUpperY(getYmax());
216 }
void setLowerX(double value)
double getYmax() const
double getYmin() const
returns min and max range of y-axis as given by IntensityData
void setLowerY(double value)
void setUpperX(double value)
double getXmin() const
returns min and max range of x-axis as given by IntensityData
void setUpperY(double value)
double getXmax() const

References getXmax(), getXmin(), getYmax(), getYmin(), setLowerX(), setLowerY(), setUpperX(), and setUpperY().

Referenced by reset(), resetView(), RealDataItem::rotateData(), and FitComparisonController2D::setItem().

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()

◆ setFileName()

void DataItem::setFileName ( const QString &  filename)
inherited

Definition at line 45 of file DataItem.cpp.

46 {
48 }

References FileSystemUtils::filename(), DataItem::P_FILE_NAME, and SessionItem::setItemValue().

Referenced by JobModelFunctions::copyRealDataItem().

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:

◆ setInterpolated

void IntensityDataItem::setInterpolated ( bool  interp)
slot

Definition at line 293 of file IntensityDataItem.cpp.

294 {
296 }

References P_IS_INTERPOLATED, and SessionItem::setItemValue().

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(), reset(), SpecularDataItem::reset(), BeamDistributionItem::resetToValue(), TransformFromDomain::set1DLatticeItem(), TransformFromDomain::set2DLatticeItem(), TransformFromDomain::set2DParaCrystalItem(), TransformFromDomain::setAxisItem(), TransformFromDomain::setBackground(), JobItem::setBeginTime(), BasicAxisItem::setBinCount(), Data1DProperties::setColorProperty(), JobItem::setComments(), SimulationOptionsItem::setComputationMethod(), DataProperties::setDataItem(), RectangularDetectorItem::setDetectorAlignment(), TransformFromDomain::setDetectorProperties(), TransformFromDomain::setDetectorResolution(), JobItem::setDuration(), JobItem::setEndTime(), DataItem::setFileName(), TransformFromDomain::setFinite2DLatticeItem(), TransformFromDomain::setFootprintFactor(), SimulationOptionsItem::setFresnelMaterialMethod(), TransformFromDomain::setHardDiskItem(), InstrumentItem::setId(), JobItem::setIdentifier(), SimulationOptionsItem::setIncludeSpecularPeak(), RealDataItem::setInstrumentId(), BeamItem::setIntensity(), JobItemUtils::setIntensityItemAxesUnits(), setInterpolated(), FitComparisonController2D::setItem(), SessionItem::setItemName(), TransformFromDomain::setLayerItem(), AmplitudeAxisItem::setLogScale(), BasicAxisItem::setLowerBound(), TransformFromDomain::setMaskContainer(), SimulationOptionsItem::setNumberOfMonteCarloPoints(), MaskResultsPresenter::setOriginalMode(), TransformFromDomain::setParticleDistributionItem(), JobResultsPresenter::setPresentation(), JobItem::setProgress(), TransformFromDomain::setRadialParaCrystalItem(), TransformFromDomain::setRectangularDetector(), TransformFromDomain::setRoughnessItem(), SimulationOptionsItem::setRunPolicy(), MaskResultsPresenter::setShowMaskMode(), JobItem::setStatus(), BasicAxisItem::setTitle(), BasicAxisItem::setUpperBound(), VectorItem::setX(), VectorItem::setY(), VectorItem::setZ(), 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:

◆ setLastModified()

void DataItem::setLastModified ( const QDateTime &  dtime)
inherited

Definition at line 82 of file DataItem.cpp.

83 {
84  m_last_modified = dtime;
85 }

References DataItem::m_last_modified.

Referenced by DataItem::DataItem().

◆ 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:

◆ setLogz

void IntensityDataItem::setLogz ( bool  logz)
slot

Definition at line 288 of file IntensityDataItem.cpp.

289 {
290  zAxisItem()->setLogScale(logz);
291 }
void setLogScale(bool value)
Definition: AxesItems.cpp:118

References AmplitudeAxisItem::setLogScale(), and zAxisItem().

Here is the call graph for this function:

◆ setLowerAndUpperZ

void IntensityDataItem::setLowerAndUpperZ ( double  zmin,
double  zmax 
)
slot

Definition at line 269 of file IntensityDataItem.cpp.

270 {
271  if (getLowerZ() != zmin)
272  setLowerZ(zmin);
273 
274  if (getUpperZ() != zmax)
275  setUpperZ(zmax);
276 }
double getLowerZ() const
returns lower and upper zoom ranges of z-axis
void setUpperZ(double zmax)
void setLowerZ(double zmin)
double getUpperZ() const

References getLowerZ(), getUpperZ(), setLowerZ(), and setUpperZ().

Referenced by computeDataRange(), ColorMap::onDataRangeChanged(), FitComparisonController2D::resetDiffItem(), and FitComparisonController2D::setItem().

Here is the call graph for this function:

◆ setLowerX

void IntensityDataItem::setLowerX ( double  value)
slot

Definition at line 249 of file IntensityDataItem.cpp.

250 {
252 }
void setLowerBound(double value)
Definition: AxesItems.cpp:47

References BasicAxisItem::setLowerBound(), SessionItem::value(), and xAxisItem().

Referenced by ColorMap::onXaxisRangeChanged(), setAxesRangeToData(), MaskEditorCanvas::setZoomToROI(), and updateAxesZoomLevel().

Here is the call graph for this function:

◆ setLowerY

void IntensityDataItem::setLowerY ( double  value)
slot

Definition at line 259 of file IntensityDataItem.cpp.

260 {
262 }

References BasicAxisItem::setLowerBound(), SessionItem::value(), and yAxisItem().

Referenced by ColorMap::onYaxisRangeChanged(), setAxesRangeToData(), MaskEditorCanvas::setZoomToROI(), and updateAxesZoomLevel().

Here is the call graph for this function:

◆ setLowerZ

void IntensityDataItem::setLowerZ ( double  zmin)
slot

Definition at line 278 of file IntensityDataItem.cpp.

279 {
280  zAxisItem()->setLowerBound(zmin);
281 }

References BasicAxisItem::setLowerBound(), and zAxisItem().

Referenced by setLowerAndUpperZ().

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:

◆ setOutputData()

void IntensityDataItem::setOutputData ( OutputData< double > *  data)
overridevirtual

The given pointer becomes owned by this class!!

Implements DataItem.

Definition at line 84 of file IntensityDataItem.cpp.

85 {
86  ASSERT(data && "Assertion failed in IntensityDataItem::setOutputData: nullptr data passed");
87  if (data->rank() != 2)
88  throw GUIHelpers::Error(
89  "Error in IntensityDataItem::setOutputData: cannot handle non-2D data");
91 
95 
97 }
void updateAxesZoomLevel()
Sets zoom range of X,Y axes, if it was not yet defined.
void updateDataRange()
Sets min,max values for z-axis, if axes is not locked, and ranges are not yet set.
void updateAxesLabels()
Init axes labels, if it was not done already.
size_t rank() const
Returns number of dimensions.
Definition: OutputData.h:56
void emitDataChanged(int role=Qt::DisplayRole)
Notify model about data changes.

References ASSERT, SessionItem::emitDataChanged(), OutputData< T >::rank(), DataItem::setOutputData(), updateAxesLabels(), updateAxesZoomLevel(), and updateDataRange().

Referenced by IntensityDataFFTPresenter::fftItem(), reset(), RealDataItem::rotateData(), MaskResultsPresenter::setOriginalMode(), and MaskResultsPresenter::setShowMaskMode().

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:

◆ setRawDataVector()

void DataItem::setRawDataVector ( std::vector< double >  data)
inherited

Sets the raw data vector from external source Checks only the equality of data size, no dimension checks are applied.

Definition at line 30 of file DataItem.cpp.

31 {
32  if (m_data->getAllocatedSize() != data.size())
33  throw GUIHelpers::Error("DataItem::setRawDataVector() -> Error. "
34  "Different data size.");
35  std::unique_lock<std::mutex> lock(m_update_data_mutex);
36  m_data->setRawDataVector(std::move(data));
38 }

References SessionItem::emitDataChanged(), DataItem::m_data, and DataItem::m_update_data_mutex.

Referenced by FitSessionController::onObserverUpdate().

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 }

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:

◆ 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::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:

◆ setUpperX

void IntensityDataItem::setUpperX ( double  value)
slot

Definition at line 254 of file IntensityDataItem.cpp.

255 {
257 }
void setUpperBound(double value)
Definition: AxesItems.cpp:57

References BasicAxisItem::setUpperBound(), SessionItem::value(), and xAxisItem().

Referenced by ColorMap::onXaxisRangeChanged(), setAxesRangeToData(), MaskEditorCanvas::setZoomToROI(), and updateAxesZoomLevel().

Here is the call graph for this function:

◆ setUpperY

void IntensityDataItem::setUpperY ( double  value)
slot

Definition at line 264 of file IntensityDataItem.cpp.

265 {
267 }

References BasicAxisItem::setUpperBound(), SessionItem::value(), and yAxisItem().

Referenced by ColorMap::onYaxisRangeChanged(), setAxesRangeToData(), MaskEditorCanvas::setZoomToROI(), and updateAxesZoomLevel().

Here is the call graph for this function:

◆ setUpperZ

void IntensityDataItem::setUpperZ ( double  zmax)
slot

Definition at line 283 of file IntensityDataItem.cpp.

284 {
285  zAxisItem()->setUpperBound(zmax);
286 }

References BasicAxisItem::setUpperBound(), and zAxisItem().

Referenced by setLowerAndUpperZ().

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()

◆ setXaxisTitle()

void IntensityDataItem::setXaxisTitle ( const QString &  title)
overridevirtual

Implements DataItem.

Definition at line 199 of file IntensityDataItem.cpp.

200 {
201  xAxisItem()->setTitle(title);
202 }
void setTitle(const QString &title)
Definition: AxesItems.cpp:67

References BasicAxisItem::setTitle(), and xAxisItem().

Referenced by IntensityDataItem(), reset(), and updateAxesLabels().

Here is the call graph for this function:

◆ setYaxisTitle()

void IntensityDataItem::setYaxisTitle ( const QString &  title)
overridevirtual

Implements DataItem.

Definition at line 204 of file IntensityDataItem.cpp.

205 {
206  yAxisItem()->setTitle(title);
207 }

References BasicAxisItem::setTitle(), and yAxisItem().

Referenced by IntensityDataItem(), reset(), and updateAxesLabels().

Here is the call graph for this function:

◆ setZAxisLocked()

void IntensityDataItem::setZAxisLocked ( bool  state)

Definition at line 194 of file IntensityDataItem.cpp.

195 {
197 }

References SessionItem::getItem(), AmplitudeAxisItem::P_LOCK_MIN_MAX, P_ZAXIS, and SessionItem::setItemValue().

Referenced by ParameterTuningWidget::onLockZValueChanged().

Here is the call graph for this function:

◆ shape()

std::vector< int > IntensityDataItem::shape ( ) const
overridevirtual

Implements DataItem.

Definition at line 228 of file IntensityDataItem.cpp.

229 {
230  return {getNbinsX(), getNbinsY()};
231 }

References getNbinsX(), and getNbinsY().

Here is the call graph for this function:

◆ 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:

◆ updateAxesLabels()

void IntensityDataItem::updateAxesLabels ( )
private

Init axes labels, if it was not done already.

Definition at line 322 of file IntensityDataItem.cpp.

323 {
324  if (getXaxisTitle().isEmpty())
325  setXaxisTitle(QString::fromStdString(m_data->axis(0).getName()));
326 
327  if (getYaxisTitle().isEmpty())
328  setYaxisTitle(QString::fromStdString(m_data->axis(1).getName()));
329 }
QString getXaxisTitle() const
QString getYaxisTitle() const

References getXaxisTitle(), getYaxisTitle(), DataItem::m_data, setXaxisTitle(), and setYaxisTitle().

Referenced by setOutputData().

Here is the call graph for this function:

◆ updateAxesUnits()

void IntensityDataItem::updateAxesUnits ( const InstrumentItem instrument)
overridevirtual

Implements DataItem.

Definition at line 218 of file IntensityDataItem.cpp.

219 {
220  MaskUnitsConverter converter;
221  converter.convertToNbins(this);
222 
223  JobItemUtils::updateDataAxes(this, instrument);
224 
225  converter.convertFromNbins(this);
226 }
void updateDataAxes(DataItem *intensityItem, const InstrumentItem *instrumentItem)
updates axes of OutputData in IntensityData item

References MaskUnitsConverter::convertFromNbins(), MaskUnitsConverter::convertToNbins(), and JobItemUtils::updateDataAxes().

Here is the call graph for this function:

◆ updateAxesZoomLevel()

void IntensityDataItem::updateAxesZoomLevel ( )
private

Sets zoom range of X,Y axes, if it was not yet defined.

Definition at line 300 of file IntensityDataItem.cpp.

301 {
302  // set zoom range of x-axis to min, max values if it was not set already
303  if (getUpperX() < getLowerX()) {
304  setLowerX(getXmin());
305  setUpperX(getXmax());
306  }
307 
308  // set zoom range of y-axis to min, max values if it was not set already
309  if (getUpperY() < getLowerY()) {
310  setLowerY(getYmin());
311  setUpperY(getYmax());
312  }
313 
314  const int nx = static_cast<int>(m_data->axis(0).size());
315  xAxisItem()->setBinCount(nx);
316  const int ny = static_cast<int>(m_data->axis(1).size());
317  yAxisItem()->setBinCount(ny);
318 }
void setBinCount(int value)
Definition: AxesItems.cpp:37
double getLowerY() const
returns lower and upper zoom ranges of y-axis
double getUpperY() const
double getUpperX() const
double getLowerX() const
returns lower and upper zoom ranges of x-axis

References getLowerX(), getLowerY(), getUpperX(), getUpperY(), getXmax(), getXmin(), getYmax(), getYmin(), DataItem::m_data, BasicAxisItem::setBinCount(), setLowerX(), setLowerY(), setUpperX(), setUpperY(), xAxisItem(), and yAxisItem().

Referenced by setOutputData().

Here is the call graph for this function:

◆ updateDataRange()

void IntensityDataItem::updateDataRange ( )

Sets min,max values for z-axis, if axes is not locked, and ranges are not yet set.

Definition at line 333 of file IntensityDataItem.cpp.

334 {
335  if (isZAxisLocked())
336  return;
337 
339 }

References computeDataRange(), and isZAxisLocked().

Referenced by setOutputData().

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(), setLowerX(), SpecularDataItem::setLowerX(), Data1DViewItem::setLowerY(), setLowerY(), SpecularDataItem::setLowerY(), SessionItem::setRoleProperty(), JobModelFunctions::setupJobItemSampleData(), BasicAxisItem::setUpperBound(), Data1DViewItem::setUpperX(), setUpperX(), SpecularDataItem::setUpperX(), Data1DViewItem::setUpperY(), 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:

◆ xAxisItem() [1/2]

BasicAxisItem * IntensityDataItem::xAxisItem ( )

Definition at line 373 of file IntensityDataItem.cpp.

374 {
375  return item<BasicAxisItem>(P_XAXIS);
376 }

References P_XAXIS.

◆ xAxisItem() [2/2]

const BasicAxisItem * IntensityDataItem::xAxisItem ( ) const

◆ yAxisItem() [1/2]

BasicAxisItem * IntensityDataItem::yAxisItem ( )

Definition at line 383 of file IntensityDataItem.cpp.

384 {
385  return item<BasicAxisItem>(P_YAXIS);
386 }

References P_YAXIS.

◆ yAxisItem() [2/2]

const BasicAxisItem * IntensityDataItem::yAxisItem ( ) const

◆ zAxisItem() [1/2]

AmplitudeAxisItem * IntensityDataItem::zAxisItem ( )

Definition at line 393 of file IntensityDataItem.cpp.

394 {
395  return item<AmplitudeAxisItem>(P_ZAXIS);
396 }

References P_ZAXIS.

◆ zAxisItem() [2/2]

const AmplitudeAxisItem * IntensityDataItem::zAxisItem ( ) const

Definition at line 388 of file IntensityDataItem.cpp.

389 {
390  return item<AmplitudeAxisItem>(P_ZAXIS);
391 }

References P_ZAXIS.

Referenced by DetectorMaskDelegate::createIntensityDataItem(), getLowerZ(), getUpperZ(), isLogz(), setLogz(), setLowerZ(), and setUpperZ().

Member Data Documentation

◆ m_children

◆ m_data

◆ m_last_modified

QDateTime DataItem::m_last_modified
protectedinherited

Definition at line 73 of file DataItem.h.

Referenced by DataItem::lastModified(), and DataItem::setLastModified().

◆ 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_translators

QVector<IPathTranslator*> SessionItem::m_translators
privateinherited

◆ m_update_data_mutex

std::mutex DataItem::m_update_data_mutex
protectedinherited

Definition at line 74 of file DataItem.h.

Referenced by DataItem::save(), DataItem::setOutputData(), and DataItem::setRawDataVector().

◆ P_AXES_UNITS

◆ P_FILE_NAME

const QString DataItem::P_FILE_NAME = "FileName"
staticprivateinherited

Definition at line 31 of file DataItem.h.

Referenced by DataItem::DataItem(), DataItem::fileName(), and DataItem::setFileName().

◆ P_GRADIENT

const QString IntensityDataItem::P_GRADIENT = "Gradient"
static

◆ P_IS_INTERPOLATED

◆ P_NAME

◆ P_PROJECTIONS_FLAG

const QString IntensityDataItem::P_PROJECTIONS_FLAG = "Projections"
static

◆ P_TITLE

const QString IntensityDataItem::P_TITLE = "Title"
static

Definition at line 28 of file IntensityDataItem.h.

Referenced by IntensityDataItem().

◆ P_XAXIS

const QString IntensityDataItem::P_XAXIS = "x-axis"
static

◆ P_YAXIS

const QString IntensityDataItem::P_YAXIS = "y-axis"
static

◆ P_ZAXIS

const QString IntensityDataItem::P_ZAXIS = "color-axis"
static

◆ T_MASKS

const QString IntensityDataItem::T_MASKS = "Mask tag"
static

◆ T_PROJECTIONS

const QString IntensityDataItem::T_PROJECTIONS = "Projection tag"
static

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