Skip to content
Snippets Groups Projects
Commit 7b92caa6 authored by Langella Olivier's avatar Langella Olivier
Browse files

building contaminant widget

parent 449cd24f
No related branches found
No related tags found
No related merge requests found
......@@ -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>
......
......@@ -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() );
......
......@@ -54,7 +54,6 @@ signals:
private:
Ui::LoadResultsDialog *ui;
QStringListModel * _p_file_list;
AutomaticFilterWidget* _p_automatic_filter_widget;
};
......
......@@ -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 &amp;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>
......@@ -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);
}
}
......@@ -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;
};
......
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