23 template <
class DataItemType> DataItemType* dataItem(
SessionItem* parent)
25 ASSERT(parent &&
"Assertion failed in DataItemUtils::dataItem: nullptr passed.");
29 else if (
auto real_data =
dynamic_cast<RealDataItem*
>(parent))
30 return dynamic_cast<DataItemType*
>(real_data->dataItem());
31 else if (
auto self =
dynamic_cast<DataItemType*
>(parent))
34 throw GUIHelpers::Error(
"Error in DataItemUtils::dataItem: unexpected item passed.");
40 return dataItem<IntensityDataItem>(parent);
45 return dataItem<SpecularDataItem>(parent);
#define ASSERT(condition)
Defines namespace DataItemUtils.
Defines class GUIHelpers functions.
Defines class IntensityDataItem.
Defines class RealDataItem.
Defines class SpecularDataItem.
static const QString T_OUTPUT
The RealDataItem class represents intensity data imported from file and intended for fitting.
QString modelType() const
Get model type.
SessionItem * getItem(const QString &tag="", int row=0) const
Returns item in given row of given tag.
SpecularDataItem * specularDataItem(SessionItem *parent)
Returns SpecularDataItem contained as a child in givent parent.
IntensityDataItem * intensityDataItem(SessionItem *parent)
Returns IntensityDataItem contained as a child in givent parent.