diff --git a/src/core/tandem_run/tandemparameters.cpp b/src/core/tandem_run/tandemparameters.cpp index c744bdc4e34a09cc0118716daf274f30c8fd42e3..ad4311750194220a296664918f76deab8b57d331 100644 --- a/src/core/tandem_run/tandemparameters.cpp +++ b/src/core/tandem_run/tandemparameters.cpp @@ -29,6 +29,7 @@ #include "tandemparameters.h" #include <QDebug> +#include <pappsomspp/exception/exceptionnotfound.h> TandemParameters::TandemParameters() { } @@ -51,7 +52,13 @@ TandemParameters::TandemParameters(const TandemParameters & other) { const QString TandemParameters::getLabelCategory(const QString & value) const { return value.split(", ").at(0); } - +const QString & TandemParameters::getValue(const QString & label) const { + QMap<QString,QString>::const_iterator it = _map_label_value.constFind(label); + if (it == _map_label_value.end()) { + throw pappso::ExceptionNotFound(QObject::tr("X!Tandem preset label %1 not found in method %2").arg(label).arg(_method_name)); + } + return it.value(); +} void TandemParameters::setParamLabelValue(const QString & label, const QString & value) { //list path //<note type="input" label="list path, default parameters">/gorgone/pappso/tmp/temp_condor_job24872841484824316495370334631825647/QExactive_analysis_FDR_nosemi.xml</note> diff --git a/src/core/tandem_run/tandemparameters.h b/src/core/tandem_run/tandemparameters.h index 5da27ecc3d2083d4db8cdd9ca6c268b182a7c420..d96065fce3e31ab5b5cacea502355c1d85e21c5c 100644 --- a/src/core/tandem_run/tandemparameters.h +++ b/src/core/tandem_run/tandemparameters.h @@ -40,6 +40,7 @@ public: TandemParameters(const TandemParameters & other); virtual ~TandemParameters(); + const QString & getValue(const QString & label) const; void setMethodName(const QString & method); void setParamLabelValue(const QString & label, const QString & value); const QMap<QString, QString> & getMapLabelValue() const; diff --git a/src/files/tandemparametersfile.cpp b/src/files/tandemparametersfile.cpp index fdcb10163272b2ca8c2ea789b09f17eace867ea9..84b2cefd9024dc1f17db9af4510ae2b88bbf0800 100644 --- a/src/files/tandemparametersfile.cpp +++ b/src/files/tandemparametersfile.cpp @@ -33,6 +33,10 @@ #include <pappsomspp/pappsoexception.h> #include "../input/xtandemparamsaxhandler.h" +TandemParametersFile::TandemParametersFile() +{ + qDebug() << "TandemParametersFile::TandemParametersFile no source"; +} TandemParametersFile::TandemParametersFile(const QString & fasta_source) : _param_source(fasta_source) { qDebug() << "TandemParametersFile::TandemParametersFile "<< fasta_source; diff --git a/src/files/tandemparametersfile.h b/src/files/tandemparametersfile.h index cd58ee67427bec4e4077a2c0e04e212f8b63ba41..a7d6d95659d4929a33d2004e765fe0fe649aa8af 100644 --- a/src/files/tandemparametersfile.h +++ b/src/files/tandemparametersfile.h @@ -36,8 +36,10 @@ class TandemParametersFile { + public: TandemParametersFile(const QString & param_file); + TandemParametersFile(); TandemParametersFile(const QFileInfo & param_file); TandemParametersFile(const TandemParametersFile & other); ~TandemParametersFile(); @@ -61,4 +63,6 @@ private : const QFileInfo _param_source; }; + +Q_DECLARE_METATYPE(TandemParametersFile) #endif // TANDEMPARAMETERSFILE_H diff --git a/src/gui/tandem_run_dialog/tandemrundialog.cpp b/src/gui/tandem_run_dialog/tandemrundialog.cpp index 6d8819d74faa6d3fe83f26ad2917dd4b9419e52c..0ad3a880d24781341663960e635eee938579db81 100644 --- a/src/gui/tandem_run_dialog/tandemrundialog.cpp +++ b/src/gui/tandem_run_dialog/tandemrundialog.cpp @@ -34,6 +34,7 @@ #include <QFileDialog> #include <QMessageBox> #include <pappsomspp/pappsoexception.h> +#include "../../files/tandemparametersfile.h" //Q_DECLARE_METATYPE(QFileInfo) @@ -69,6 +70,16 @@ TandemRunDialog::~TandemRunDialog() void TandemRunDialog::setPresetName(QString preset_name) { QSettings settings; settings.setValue("tandem/preset_name", preset_name); + + + //get presets : + + TandemParametersFile param_file = ui->preset_combobox->itemData(ui->preset_combobox->currentIndex()).data(Qt::UserRole).value<TandemParametersFile>(); + + param_file.getTandemParameters().getValue("spectrum, threads"); + + + } void TandemRunDialog::fillPresetComboBox() { ui->preset_combobox->clear();