27 const double relative_diff_min_1d = 1e-05;
28 const double relative_diff_max_1d = 4.0;
34 , m_diff_view_item(nullptr)
108 delete (old_view_item);
114 , m_current_item(nullptr)
115 , m_private_model(new
SessionModel(
"TempIntensityDataModel", this))
116 , m_diff_item(dynamic_cast<
DataItem*>(m_private_model->insertNewItem(data_type)))
142 ASSERT(sim_data && real_data);
144 if (!sim_data->getOutputData())
148 *real_data->getOutputData())
#define ASSERT(condition)
Defines various axis items.
Defines class Data1DViewItem.
Defines class DataPropertyContainer.
Defines namespace DataUtils.
Defines classes DiffItemController, FitComparison1DViewController.
Defines class PropertyRepeater.
Defines class RealDataItem.
Defines class SessionModel.
View model for 1D DataItem.
static const QString P_AXES_UNITS
void resetView()
Set axes viewport to original data.
void setJobItem(JobItem *job_item)
Sets job item (for unit conversion) if DataItemView is dynamically created outside of JobModel.
void setUpperY(double value)
void setLowerY(double value)
void setXaxisTitle(const QString &title)
static const QString T_DATA_PROPERTIES
void setYaxisTitle(const QString &title)
Provides common functionality for IntensityDataItem and SpecularDataItem.
virtual void setOutputData(OutputData< double > *data)=0
The given pointer becomes owned by this class!!
void setJobItem(JobItem *job_item)
~DiffItemController() override
DiffItemController(const QString &data_type, QObject *parent)
Data1DViewItem * m_diff_view_item
PropertyRepeater * m_xAxisRepeater
PropertyRepeater * m_appearanceRepeater
FitComparison1DViewController(QObject *parent)
void setItem(JobItem *job_item)
void deleteDiffViewItem()
void createDiffViewItem(JobItem *job_item)
DiffItemController * m_diff_item_controller
Data1DViewItem * diffItemView()
Data1DViewItem * dataItemView()
RealDataItem * realDataItem()
void unsubscribe(const void *caller)
Cancells all subscribtion of given caller.
void setOnValueChange(std::function< void(void)> f, const void *caller=0)
Tracks property change (axes range, units etc) for the collection of IntensityDataItems and sets same...
void addItem(SessionItem *sessionItem)
QVariant getItemValue(const QString &tag) const
Directly access value of item under given tag.
ModelMapper * mapper()
Returns the current model mapper of this item. Creates new one if necessary.
SessionItem * parent() const
Returns parent of this item.
SessionItem * takeRow(int row)
Removes row from item and returns the item.
SessionModel * model() const
Returns model of this item.
void setItemValue(const QString &tag, const QVariant &variant)
Directly set value of item under given tag.
T * insertItem(SessionItem *parent=nullptr, int row=-1, QString tag="")
std::unique_ptr< OutputData< double > > createRelativeDifferenceData(const OutputData< double > &data, const OutputData< double > &reference)