Skip to content
Snippets Groups Projects
edittandempresetdialog.cpp 4.69 KiB
Newer Older
/**
 * \file gui/edit_tandem_preset_dialog/edittandempresetdialog.cpp
 * \date 30/9/2017
 * \author Olivier Langella
 * \brief edit tandem preset dialog
 */

/*******************************************************************************
* Copyright (c) 2017 Olivier Langella <olivier.langella@u-psud.fr>.
*
* This file is part of XTPcpp.
*
*     XTPcpp is free software: you can redistribute it and/or modify
*     it under the terms of the GNU General Public License as published by
*     the Free Software Foundation, either version 3 of the License, or
*     (at your option) any later version.
*
*     XTPcpp is distributed in the hope that it will be useful,
*     but WITHOUT ANY WARRANTY; without even the implied warranty of
*     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*     GNU General Public License for more details.
*
*     You should have received a copy of the GNU General Public License
*     along with XTPcpp.  If not, see <http://www.gnu.org/licenses/>.
*
* Contributors:
*     Olivier Langella <olivier.langella@u-psud.fr> - initial API and implementation
******************************************************************************/

#include "edittandempresetdialog.h"
#include <QDebug>

#include "ui_edit_tandem_preset_dialog.h"


EditTandemPresetDialog::EditTandemPresetDialog(QWidget * parent):
    QDialog(parent),
    ui(new Ui::EditTandemPresetView)
{
    qDebug() << "EditTandemPresetDialog::EditTandemPresetDialog begin";
    ui->setupUi(this);
    this->setModal(true);

    ui->splitter->setStretchFactor(0, 1);
#if QT_VERSION >= 0x050000
    // Qt5 code
#else
// Qt4 code

#endif
    qDebug() << "EditTandemPresetDialog::EditTandemPresetDialog end";
}

EditTandemPresetDialog::~EditTandemPresetDialog()
{
    delete ui;
    if (_p_tandem_preset_file != nullptr) {
        delete _p_tandem_preset_file;
    }
}

void EditTandemPresetDialog::setTandemParametersFiles(const TandemParametersFile & tandem_preset_file) {
    _p_tandem_preset_file = new TandemParametersFile( tandem_preset_file);

    _tandem_params = _p_tandem_preset_file->getTandemParameters();

    populate();
}

void EditTandemPresetDialog::doHelp() {
    QObject *senderObj = sender();
    QString senderObjName = senderObj->objectName();
    qDebug() << "EditTandemPresetDialog::doHelp begin " << senderObjName;
    if(senderObjName == "parent_ion_window_unit_push_button")
    {
        //spmmeu.html

        QFile html_doc(":/tandem/resources/html_doc/spmmeu.html");
        if (html_doc.open(QFile::ReadOnly | QFile::Text)) {
            QTextStream in(&html_doc);
            ui->doc_plain_text_edit->setHtml(in.readAll());
            qDebug() << "EditTandemPresetDialog::doHelp doc " << in.readAll();
        }
        else {
            qDebug() << "EditTandemPresetDialog::doHelp doc not found";
        }

    }
    qDebug() << "EditTandemPresetDialog::doHelp end " << senderObjName;
}

void EditTandemPresetDialog::readUi() {
    _tandem_params.setParamLabelValue("spectrum, parent monoisotopic mass error units", ui->parent_ion_window_unit_combo_box->itemData(ui->parent_ion_window_unit_combo_box->currentIndex()).toString());

    _tandem_params.setParamLabelValue("spectrum, parent monoisotopic mass error minus", ui->parent_ion_lower_window_edit->text());

    _tandem_params.setParamLabelValue("spectrum, parent monoisotopic mass error plus", ui->parent_ion_upper_window_edit->text());

    _tandem_params.setParamLabelValue("spectrum, parent monoisotopic mass isotope error", ui->anticipate_carbon_combo_box->itemData(ui->anticipate_carbon_combo_box->currentIndex()).toString());
}

void EditTandemPresetDialog::populate() {
    /*
     * <note type="input" label="spectrum, parent monoisotopic mass error units">ppm</note>
     * */
    int index = ui->parent_ion_window_unit_combo_box->findText(_tandem_params.getValue("spectrum, parent monoisotopic mass error units"));
    if ( index != -1 ) { // -1 for not found
        ui->parent_ion_window_unit_combo_box->setCurrentIndex(index);
    }
    //<note type="input" label="spectrum, parent monoisotopic mass error minus">10</note>
    ui->parent_ion_lower_window_edit->setText(_tandem_params.getValue("spectrum, parent monoisotopic mass error minus"));
    //<note type="input" label="spectrum, parent monoisotopic mass error plus">10</note>
    ui->parent_ion_upper_window_edit->setText(_tandem_params.getValue("spectrum, parent monoisotopic mass error plus"));
    //<note type="input" label="spectrum, parent monoisotopic mass isotope error">yes</note>
    index = ui->anticipate_carbon_combo_box->findText(_tandem_params.getValue("spectrum, parent monoisotopic mass isotope error"));
    if ( index != -1 ) { // -1 for not found
        ui->anticipate_carbon_combo_box->setCurrentIndex(index);
    }