diff --git a/GUI/Model/Job/JobItem.cpp b/GUI/Model/Job/JobItem.cpp index a539a9c1b1d18259e9021e971338e7fe47041893..d4566455c69eeea8f38bf424aa4f25558b208caf 100644 --- a/GUI/Model/Job/JobItem.cpp +++ b/GUI/Model/Job/JobItem.cpp @@ -79,6 +79,7 @@ JobItem::JobItem() , m_parameter_container(std::make_unique<ParameterContainerItem>()) , m_sample_item(std::make_unique<SampleItem>()) , m_status(JobStatus::Idle) + , m_fit_suite_item(std::make_unique<FitSuiteItem>()) { } @@ -226,21 +227,10 @@ void JobItem::setResults(const Datafield& result) updateFileName(); } -FitSuiteItem* JobItem::createFitSuiteItem() -{ - if (m_fit_suite_item) - throw std::runtime_error("Will not create a second FitSuiteItem."); - - m_fit_suite_item = std::make_unique<FitSuiteItem>(); - return m_fit_suite_item.get(); -} - void JobItem::createFitContainers() { - FitSuiteItem* fitSuiteItem = createFitSuiteItem(); - - fitSuiteItem->createFitParametersContainerItem(); - fitSuiteItem->createMinimizerContainerItem(); + m_fit_suite_item->createFitParametersContainerItem(); + m_fit_suite_item->createMinimizerContainerItem(); } ParameterContainerItem* JobItem::parameterContainerItem() @@ -252,7 +242,6 @@ FitParameterContainerItem* JobItem::fitParameterContainerItem() { if (FitSuiteItem* item = fitSuiteItem()) return item->fitParameterContainerItem(); - return nullptr; } @@ -589,7 +578,7 @@ void JobItem::readFrom(QXmlStreamReader* r) // fit suite } else if (tag == Tag::FitSuite) { - createFitSuiteItem()->readFrom(r); + m_fit_suite_item->readFrom(r); XML::gotoEndElementOfTag(r, tag); } else diff --git a/GUI/Model/Job/JobItem.h b/GUI/Model/Job/JobItem.h index 0b2a14f7222f2d0fab631186ae66a753d25e355d..c3fc0d1593fddb4b596d14da8d7be33cbd8ffc45 100644 --- a/GUI/Model/Job/JobItem.h +++ b/GUI/Model/Job/JobItem.h @@ -109,7 +109,6 @@ public: FitSuiteItem* fitSuiteItem() { return m_fit_suite_item.get(); } const FitSuiteItem* fitSuiteItem() const { return m_fit_suite_item.get(); } - FitSuiteItem* createFitSuiteItem(); void createFitContainers(); ParameterContainerItem* parameterContainerItem();