Skip to content
Snippets Groups Projects
Commit 7fc3a684 authored by t.knopff's avatar t.knopff
Browse files

Make JobItem::T_REALDATA private

parent 775d6c24
No related branches found
No related tags found
1 merge request!99Refactor model: JobItem
......@@ -284,6 +284,21 @@ RealDataItem* JobItem::realDataItem()
return dynamic_cast<RealDataItem*>(getItem(JobItem::T_REALDATA));
}
RealDataItem* JobItem::copyRealDataIntoJob(const RealDataItem* real_data)
{
return model()->copyItem(real_data, this, T_REALDATA);
}
void JobItem::addRealDataItem(RealDataItem* real_data)
{
insertItem(-1, real_data, T_REALDATA);
}
RealDataItem* JobItem::createRealDataItem()
{
return model()->insertItem<RealDataItem>(this, -1, T_REALDATA);
}
MaterialItemContainer* JobItem::materialContainerItem() const
{
return static_cast<MaterialItemContainer*>(getItem(JobItem::T_MATERIAL_CONTAINER));
......
......@@ -49,9 +49,9 @@ private:
static const QString T_MATERIAL_CONTAINER;
static const QString T_INSTRUMENT;
static const QString T_OUTPUT;
static const QString T_REALDATA;
public:
static const QString T_REALDATA;
static const QString T_DATAVIEW;
static const QString T_PARAMETER_TREE;
static const QString T_SIMULATION_OPTIONS;
......@@ -110,6 +110,9 @@ public:
FitParameterContainerItem* fitParameterContainerItem();
RealDataItem* realDataItem();
RealDataItem* copyRealDataIntoJob(const RealDataItem* real_data);
void addRealDataItem(RealDataItem* real_data);
RealDataItem* createRealDataItem();
MaterialItemContainer* materialContainerItem() const;
MaterialItemContainer* createMaterialContainer();
......@@ -136,5 +139,4 @@ template <typename T> T* JobItem::setDataType()
return model()->insertItem<T>(this, -1, T_OUTPUT);
}
#endif // BORNAGAIN_GUI_MODELS_JOBITEM_H
......@@ -141,7 +141,7 @@ QVector<SessionItem*> JobModel::nonXMLItems() const
if (auto intensityItem = jobItem->dataItem())
result.push_back(intensityItem);
if (auto real_data = dynamic_cast<RealDataItem*>(jobItem->getItem(JobItem::T_REALDATA))) {
if (auto real_data = dynamic_cast<RealDataItem*>(jobItem->realDataItem())) {
if (auto data_item = real_data->dataItem())
result.push_back(data_item);
if (auto native_data = real_data->nativeData())
......
......@@ -188,9 +188,7 @@ void JobModelFunctions::copyRealDataItem(JobItem* jobItem, const RealDataItem* r
if (!realDataItem)
return;
SessionModel* model = jobItem->model();
RealDataItem* realDataItemCopy = model->copyItem(realDataItem, jobItem, JobItem::T_REALDATA);
RealDataItem* realDataItemCopy = jobItem->copyRealDataIntoJob(realDataItem);
ASSERT(realDataItemCopy);
realDataItemCopy->dataItem()->setOutputData(realDataItem->dataItem()->getOutputData()->clone());
......
......@@ -189,7 +189,7 @@ void TestView::test_specular_data_widget()
// creating "real" data
auto real_data = new RealDataItem();
job_item->insertItem(-1, real_data, JobItem::T_REALDATA);
job_item->addRealDataItem(real_data);
data_item = new SpecularDataItem();
real_data->insertItem(-1, data_item, RealDataItem::T_INTENSITY_DATA);
fillTestItem(data_item, 2.0);
......
......@@ -54,8 +54,7 @@ TEST_F(TestOutputDataIOService, test_nonXMLData)
EXPECT_EQ(models.jobModel()->nonXMLItems().size(), 1);
// adding RealDataItem to jobItem
RealDataItem* realData2 =
models.jobModel()->insertItem<RealDataItem>(jobItem, -1, JobItem::T_REALDATA);
RealDataItem* realData2 = jobItem->createRealDataItem();
EXPECT_EQ(models.jobModel()->nonXMLItems().size(), 1);
realData2->setOutputData(
GuiUnittestUtils::createData(0.0, GuiUnittestUtils::DIM::D1).release());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment