diff --git a/src/gui/load_results_dialog/load_results_dialog.ui b/src/gui/load_results_dialog/load_results_dialog.ui index cd022f4b49a7f1947bb05b61dcae4b5f4cf33b5d..205c242162a31707843547fb31758322d9d049d8 100644 --- a/src/gui/load_results_dialog/load_results_dialog.ui +++ b/src/gui/load_results_dialog/load_results_dialog.ui @@ -88,9 +88,16 @@ <property name="title"> <string>Peptide and protein filters</string> </property> - <layout class="QVBoxLayout" name="filter_parameter_layout"/> + <layout class="QVBoxLayout" name="filter_parameter_layout"> + <item> + <widget class="AutomaticFilterWidget" name="automatic_filter_widget" native="true"/> + </item> + </layout> </widget> </item> + <item> + <widget class="ContaminantWidget" name="contaminant_widget" native="true"/> + </item> <item> <layout class="QHBoxLayout" name="horizontalLayout"> <item> @@ -124,6 +131,20 @@ </item> </layout> </widget> + <customwidgets> + <customwidget> + <class>ContaminantWidget</class> + <extends>QWidget</extends> + <header>gui/widgets/contaminant_widget/contaminantwidget.h</header> + <container>1</container> + </customwidget> + <customwidget> + <class>AutomaticFilterWidget</class> + <extends>QWidget</extends> + <header>gui/widgets/automatic_filter_widget/automaticfilterwidget.h</header> + <container>1</container> + </customwidget> + </customwidgets> <resources/> <connections> <connection> diff --git a/src/gui/load_results_dialog/loadresultsdialog.cpp b/src/gui/load_results_dialog/loadresultsdialog.cpp index 4fbf2035f528cf53f62aa5ce6e5fdd95158a60c1..df97b21b4911c4e963f0b547fc16ad635cfc4d7a 100644 --- a/src/gui/load_results_dialog/loadresultsdialog.cpp +++ b/src/gui/load_results_dialog/loadresultsdialog.cpp @@ -39,22 +39,18 @@ LoadResultsDialog::LoadResultsDialog(QWidget * parent): this->setModal(true); _p_file_list = new QStringListModel(); - - _p_automatic_filter_widget = new AutomaticFilterWidget(this); - _p_automatic_filter_widget->hideButton(); + ui->automatic_filter_widget->hideButton(); QSettings settings; - AutomaticFilterParameters param = _p_automatic_filter_widget->getAutomaticFilterParameters(); + AutomaticFilterParameters param = ui->automatic_filter_widget->getAutomaticFilterParameters(); param.setFilterCrossSamplePeptideNumber(settings.value("automatic_filter/cross_sample", "true").toBool()); param.setFilterMinimumPeptidePerMatch((unsigned int) settings.value("automatic_filter/peptide_number", "2").toInt()); param.setFilterPeptideEvalue(settings.value("automatic_filter/peptide_evalue", "0.05").toDouble()); param.setFilterProteinEvalue(settings.value("automatic_filter/protein_evalue", "0.01").toDouble()); - _p_automatic_filter_widget->setAutomaticFilterParameters(param); - + ui->automatic_filter_widget->setAutomaticFilterParameters(param); - ui->filter_parameter_layout->addWidget(_p_automatic_filter_widget); #if QT_VERSION >= 0x050000 // Qt5 code #else @@ -68,7 +64,6 @@ LoadResultsDialog::LoadResultsDialog(QWidget * parent): LoadResultsDialog::~LoadResultsDialog() { delete _p_file_list; - delete _p_automatic_filter_widget; delete ui; } @@ -82,7 +77,7 @@ QStringList LoadResultsDialog::getFileList() const { } AutomaticFilterParameters LoadResultsDialog::getAutomaticFilterParameters() const { - return _p_automatic_filter_widget->getAutomaticFilterParameters(); + return ui->automatic_filter_widget->getAutomaticFilterParameters(); } void LoadResultsDialog::clearFileList() { _p_file_list->removeRows( 0, _p_file_list->rowCount() ); diff --git a/src/gui/load_results_dialog/loadresultsdialog.h b/src/gui/load_results_dialog/loadresultsdialog.h index 72be680f4550998c1c7115bb82f41bcdf76fd382..3d02ae1796ee3caaa7eb77b3125d5b2853476b9e 100644 --- a/src/gui/load_results_dialog/loadresultsdialog.h +++ b/src/gui/load_results_dialog/loadresultsdialog.h @@ -54,7 +54,6 @@ signals: private: Ui::LoadResultsDialog *ui; QStringListModel * _p_file_list; - AutomaticFilterWidget* _p_automatic_filter_widget; }; diff --git a/src/gui/widgets/contaminant_widget/contaminant_widget.ui b/src/gui/widgets/contaminant_widget/contaminant_widget.ui index dddbd58151aa062f483d278fac60013b0a9b787d..5255bcd7869a9987a881fbf4929f2bf6f6a8f6b8 100644 --- a/src/gui/widgets/contaminant_widget/contaminant_widget.ui +++ b/src/gui/widgets/contaminant_widget/contaminant_widget.ui @@ -6,14 +6,72 @@ <rect> <x>0</x> <y>0</y> - <width>400</width> + <width>405</width> <height>300</height> </rect> </property> <property name="windowTitle"> <string>Form</string> </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QGroupBox" name="contaminant_groupbox"> + <property name="title"> + <string>Contaminants</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_6"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_4"> + <item> + <widget class="QRadioButton" name="contaminant_file_radiobutton"> + <property name="toolTip"> + <string>select contaminants from fasta files</string> + </property> + <property name="text"> + <string>contaminant file</string> + </property> + <attribute name="buttonGroup"> + <string notr="true">contaminant_source_buttongroup</string> + </attribute> + </widget> + </item> + <item> + <widget class="QRadioButton" name="contaminant_regexp_radiobutton"> + <property name="toolTip"> + <string>select contaminants using a regular expression</string> + </property> + <property name="text"> + <string>contaminant &regular expression</string> + </property> + <attribute name="buttonGroup"> + <string notr="true">contaminant_source_buttongroup</string> + </attribute> + </widget> + </item> + </layout> + </item> + <item> + <widget class="QListView" name="contaminant_database_listview"/> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout_8"> + <item> + <widget class="QLineEdit" name="contaminant_protein_regexp_line_edit"> + <property name="placeholderText"> + <string>^conta\\|</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + </item> + </layout> </widget> <resources/> <connections/> + <buttongroups> + <buttongroup name="contaminant_source_buttongroup"/> + </buttongroups> </ui> diff --git a/src/gui/widgets/contaminant_widget/contaminantwidget.cpp b/src/gui/widgets/contaminant_widget/contaminantwidget.cpp index 61c0dd3b570be8535142fe9ffa94f99c687de2d4..ab94e6497f402d52ef092d539cc3ee149a27df0d 100644 --- a/src/gui/widgets/contaminant_widget/contaminantwidget.cpp +++ b/src/gui/widgets/contaminant_widget/contaminantwidget.cpp @@ -41,6 +41,10 @@ ContaminantWidget::ContaminantWidget(QWidget * parent): qDebug() << "ContaminantWidget::ContaminantWidget begin"; ui->setupUi(this); + _p_fasta_str_li = new QStandardItemModel(); + ui->contaminant_database_listview->setModel(_p_fasta_str_li); + QItemSelectionModel * selection_model = ui->contaminant_database_listview->selectionModel(); + ui->contaminant_database_listview->setSelectionMode(QAbstractItemView::MultiSelection); qDebug() << "ContaminantWidget::ContaminantWidget end"; } @@ -48,5 +52,31 @@ ContaminantWidget::~ContaminantWidget() { qDebug() << "ContaminantWidget::~ContaminantWidget"; delete ui; + delete _p_fasta_str_li; qDebug() << "ContaminantWidget::~ContaminantWidget end"; } + + +void ContaminantWidget::setRegexpContaminantPattern(const QString & pattern) { + ui->contaminant_protein_regexp_line_edit->setText(pattern); +} + +const QString ContaminantWidget::getRegexpContaminant() const { + + return ui->contaminant_protein_regexp_line_edit->text(); +} + +void ContaminantWidget::setFastaFileList(std::vector<FastaFileSp> fasta_file_list) { + + _p_fasta_str_li->removeRows(0, _p_fasta_str_li->rowCount()); + for (FastaFileSp fasta_file : fasta_file_list ) { + + QStandardItem *item; + item = new QStandardItem(QString("%1").arg(fasta_file.get()->getFilename())); + item->setEditable(false); + item->setData(QVariant::fromValue(fasta_file.get()), Qt::UserRole); + _p_fasta_str_li->appendRow(item); + //item->setData(QVariant(QString("%1").arg(fasta_file.get()->getAbsoluteFilePath())),Qt::UserRole); + } + +} diff --git a/src/gui/widgets/contaminant_widget/contaminantwidget.h b/src/gui/widgets/contaminant_widget/contaminantwidget.h index 5ffe1dfc13907bba6f4f79dbbafefcf81ef22254..6971cd12134579df1d20ba48d39dfcf6bf0e7cc4 100644 --- a/src/gui/widgets/contaminant_widget/contaminantwidget.h +++ b/src/gui/widgets/contaminant_widget/contaminantwidget.h @@ -32,6 +32,8 @@ #define CONTAMINANTWIDGET_H #include <QWidget> +#include <QStandardItemModel> +#include "../../../files/fastafile.h" namespace Ui { @@ -45,6 +47,13 @@ class ContaminantWidget : public QWidget public: explicit ContaminantWidget(QWidget * parent); ~ContaminantWidget(); + + + void setRegexpContaminantPattern(const QString & pattern); + + const QString getRegexpContaminant() const; + + void setFastaFileList(std::vector<FastaFileSp> fasta_file_list); public slots: @@ -52,6 +61,8 @@ signals: private: Ui::ContaminantWidget *ui; + + QStandardItemModel * _p_fasta_str_li; };