Skip to content
Snippets Groups Projects
Commit 53c4785a authored by Mikhail Svechnikov's avatar Mikhail Svechnikov
Browse files

FitParameterContainerItem: rm rwVectorClass

parent 841c255e
No related branches found
No related tags found
1 merge request!1125GUI: simplify read/write
......@@ -26,11 +26,15 @@ namespace {
namespace Tag {
const QString FitParameters("FitParameters");
const QString FitParameter("FitParameter");
} // namespace Tag
namespace Attrib {
const QString name("name");
}
} // namespace
FitParameterContainerItem::FitParameterContainerItem(QObject* parent)
......@@ -51,9 +55,7 @@ void FitParameterContainerItem::createFitParameter(ParameterItem* parameterItem)
if (!oldFitPar)
removeLink(parameterItem);
FitParameterItem* fitPar = new FitParameterItem(this);
m_fitParameterItems.emplace_back(fitPar);
updateFitParameterNames();
auto* fitPar = createBareFitParameter();
fitPar->setStartValue(parameterItem->valueOfLink());
fitPar->initMinMaxValues(parameterItem->limitsOfLink());
......@@ -134,7 +136,6 @@ void FitParameterContainerItem::removeLink(const ParameterItem* parameterItem)
fitParItem->removeLink(parameterItem->link());
}
// for tests
FitParameterItem* FitParameterContainerItem::createBareFitParameter()
{
FitParameterItem* fitPar = new FitParameterItem(this);
......@@ -192,21 +193,23 @@ mumufit::Parameters FitParameterContainerItem::createParameters() const
void FitParameterContainerItem::writeTo(QXmlStreamWriter* writer) const
{
// fit parameters
writer->writeStartElement(Tag::FitParameters);
GUI::Session::XML::writeVectorClass(writer, Tag::FitParameter, m_fitParameterItems);
writer->writeEndElement();
// fit parameters
for (const auto* fitPar : fitParameterItems()) {
writer->writeStartElement(Tag::FitParameter);
writer->writeAttribute(Attrib::name, fitPar->displayName());
fitPar->writeTo(writer);
writer->writeEndElement();
}
}
void FitParameterContainerItem::readFrom(QXmlStreamReader* reader)
{
{
while (reader->readNextStartElement()) {
// fit parameters
if (reader->name() == Tag::FitParameters) {
GUI::Session::XML::readVectorClass(reader, Tag::FitParameter, m_fitParameterItems,
this);
GUI::Session::XML::gotoEndElementOfTag(reader, Tag::FitParameters);
if (reader->name() == Tag::FitParameter) {
createBareFitParameter()->readFrom(reader);
GUI::Session::XML::gotoEndElementOfTag(reader, Tag::FitParameter);
} else
reader->skipCurrentElement();
......
......@@ -60,7 +60,7 @@ public:
void removeLink(const ParameterItem* parameterItem);
FitParameterItem* createBareFitParameter(); // for tests
FitParameterItem* createBareFitParameter();
bool isEmpty();
void setValuesInParameterContainer(const std::vector<double>& values,
......
......@@ -145,7 +145,7 @@ void JobModel::writeTo(QXmlStreamWriter* writer)
ASSERT(writer);
// jobs
for (auto* job : jobItems()) {
for (const auto* job : jobItems()) {
writer->writeStartElement(Tag::Job);
writer->writeAttribute(Attrib::name, job->jobName());
job->writeTo(writer);
......
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