45 qDebug() << json_parameters.keys();
47 auto itparam = json_parameters.begin();
48 while(itparam != json_parameters.end())
50 qDebug() << itparam.key();
51 project_parameter.
name = itparam.key();
54 project_parameter.
value = itparam.value().toObject().value(
"value").toVariant();
56 setProjectParam(project_parameter);
92 int type = var.metaType().id();
96 writer.writeEmptyCell();
99 writer.writeCell(var.toBool());
101 case QMetaType::Double:
102 case QMetaType::Float:
103 writer.writeCell(var.toDouble());
106 writer.writeCell(var.toInt());
108 case QMetaType::QDate:
109 writer.writeCell(var.toDate());
111 case QMetaType::QDateTime:
112 writer.writeCell(var.toDateTime());
114 case QMetaType::QString:
115 writer.writeCell(var.toString());
117 case QMetaType::QUrl:
118 writer.writeCell(var.toUrl(), var.toUrl().toString());
121 writer.writeCell(var.toString());
130 writer.writeStartElement(
"project_param");
131 writer.writeAttribute(
"category", QString(
"%1").arg((std::uint8_t)param.
category));
132 writer.writeAttribute(
"name", param.
name);
133 writeXmlVariant(writer, param.
value);
134 writer.writeEndElement();
142 for(
auto param_entry : m_mapGeneralParameters)
144 writeXmlParameter(xml_writer, param_entry.second);
147 for(
auto param_entry : m_mapInstrumentParameters)
149 writeXmlParameter(xml_writer, param_entry.second);
151 for(
auto param_entry : m_mapIdentificationParameters)
153 writeXmlParameter(xml_writer, param_entry.second);
156 for(
auto param_entry : m_mapFilterParameters)
158 writeXmlParameter(xml_writer, param_entry.second);
160 for(
auto param_entry : m_mapQuantificationParameters)
162 writeXmlParameter(xml_writer, param_entry.second);
169 int type = var.metaType().id();
173 case QMetaType::Void:
176 case QMetaType::Bool:
181 case QMetaType::Double:
182 case QMetaType::Float:
183 value = QString::number(var.toDouble(),
'g', 10);
186 value = QString::number(var.toInt());
188 case QMetaType::QDate:
189 value = var.toDate().toString(Qt::ISODate);
191 case QMetaType::QDateTime:
192 value = var.toDateTime().toString(Qt::ISODate);
194 case QMetaType::QString:
195 value = var.toString();
197 case QMetaType::QUrl:
198 value = var.toUrl().toString();
201 value = var.toString();
204 writer.writeAttribute(
"value", value);
210 writer.writeSheet(
"Project parameters");
212 for(
auto param_entry : m_mapGeneralParameters)
214 writer.writeCell(param_entry.second.name);
215 writeCellVariant(writer, param_entry.second.value);
219 for(
auto param_entry : m_mapInstrumentParameters)
221 writer.writeCell(param_entry.second.name);
222 writeCellVariant(writer, param_entry.second.value);
225 for(
auto param_entry : m_mapIdentificationParameters)
227 writer.writeCell(param_entry.second.name);
228 writeCellVariant(writer, param_entry.second.value);
231 for(
auto param_entry : m_mapFilterParameters)
233 writer.writeCell(param_entry.second.name);
234 writeCellVariant(writer, param_entry.second.value);
237 for(
auto param_entry : m_mapQuantificationParameters)
239 writer.writeCell(param_entry.second.name);
240 writeCellVariant(writer, param_entry.second.value);
251 m_mapGeneralParameters[param.
name] = param;
254 m_mapInstrumentParameters[param.
name] = param;
257 m_mapFilterParameters[param.
name] = param;
260 m_mapIdentificationParameters[param.
name] = param;
263 m_mapQuantificationParameters[param.
name] = param;
276 m_mapGeneralParameters[key_value.first] = key_value.second;
280 m_mapInstrumentParameters[key_value.first] = key_value.second;
284 m_mapFilterParameters[key_value.first] = key_value.second;
289 m_mapIdentificationParameters[key_value.first] = key_value.second;
294 m_mapQuantificationParameters[key_value.first] = key_value.second;
301 return (m_mapGeneralParameters.size() + m_mapInstrumentParameters.size() +
302 m_mapFilterParameters.size() + m_mapIdentificationParameters.size() +
303 m_mapQuantificationParameters.size());
309 const std::map<QString, ProjectParam> *map_pointer =
nullptr;
313 map_pointer = &m_mapGeneralParameters;
316 map_pointer = &m_mapInstrumentParameters;
319 map_pointer = &m_mapFilterParameters;
322 map_pointer = &m_mapIdentificationParameters;
325 map_pointer = &m_mapQuantificationParameters;
328 map_pointer = &m_mapGeneralParameters;
332 auto it = map_pointer->find(name);
333 if(it != map_pointer->end())
335 return (it->second.value);
339 qDebug() << QObject::tr(
"project parameter named %1 in category %2 not found")
341 .arg((std::int8_t)category);
346std::vector<pappso::ProjectParam>
349 std::vector<ProjectParam> param_list;
350 const std::map<QString, ProjectParam> *map_pointer =
nullptr;
354 map_pointer = &m_mapGeneralParameters;
357 map_pointer = &m_mapInstrumentParameters;
360 map_pointer = &m_mapFilterParameters;
363 map_pointer = &m_mapIdentificationParameters;
366 map_pointer = &m_mapQuantificationParameters;
369 map_pointer = &m_mapGeneralParameters;
373 for(
auto pair_item : *map_pointer)
375 param_list.push_back(pair_item.second);
384 QJsonObject parameters;
386 for(
auto param_entry : m_mapGeneralParameters)
388 parameters.insert(param_entry.first, param_entry.second.toJsonObject());
390 for(
auto param_entry : m_mapInstrumentParameters)
392 parameters.insert(param_entry.first, param_entry.second.toJsonObject());
394 for(
auto param_entry : m_mapIdentificationParameters)
396 parameters.insert(param_entry.first, param_entry.second.toJsonObject());
398 for(
auto param_entry : m_mapFilterParameters)
400 parameters.insert(param_entry.first, param_entry.second.toJsonObject());
402 for(
auto param_entry : m_mapQuantificationParameters)
404 parameters.insert(param_entry.first, param_entry.second.toJsonObject());
415 param.insert(
"category", (
int)category);
417 int type = value.metaType().id();
420 case QMetaType::Void:
421 param.insert(
"value",
"");
423 case QMetaType::Bool:
424 param.insert(
"value", value.toBool());
426 case QMetaType::Double:
427 case QMetaType::Float:
428 param.insert(
"value", value.toDouble());
431 param.insert(
"value", value.toInt());
433 case QMetaType::QDate:
435 param.insert(
"value", value.toDate().toString(Qt::ISODate));
437 case QMetaType::QDateTime:
439 param.insert(
"value", value.toDateTime().toString(Qt::ISODate));
441 case QMetaType::QString:
442 param.insert(
"value", value.toString());
444 case QMetaType::QUrl:
446 param.insert(
"value", value.toString());
449 param.insert(
"value", value.toString());
457 cbor_writer.append(
"project_parameters");
459 QCborValue::fromJsonValue(toJsonObject()).toCbor(cbor_writer);
void writeCellVariant(CalcWriterInterface &writer, const QVariant &var) const
std::map< QString, ProjectParam > m_mapQuantificationParameters
std::map< QString, ProjectParam > m_mapIdentificationParameters
ProjectParameters & operator=(const ProjectParameters &other)
std::map< QString, ProjectParam > m_mapGeneralParameters
void writeXmlVariant(QXmlStreamWriter &writer, const QVariant &var) const
void writeXmlParameter(QXmlStreamWriter &writer, const ProjectParam ¶m) const
std::map< QString, ProjectParam > m_mapFilterParameters
void setProjectParam(const ProjectParam ¶m)
std::map< QString, ProjectParam > m_mapInstrumentParameters
QJsonObject toJsonObject() const
std::vector< ProjectParam > getProjectParamListByCategory(ProjectParamCategory category) const
const QVariant getValue(ProjectParamCategory category, const QString &name) const
void merge(const ProjectParameters ¶meters)
void writeParameters(CalcWriterInterface &writer) const
@ identification
concerning identification
@ instrument
information about instrument
@ general
concerning the whole process
@ quantification
quantification
@ filter
concerning filters (psm, peptide, protein validation)
ProjectParamCategory category
QJsonObject toJsonObject() const