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

item delegate apply to the right column

parent 7d3d4c2e
No related branches found
No related tags found
No related merge requests found
......@@ -105,6 +105,10 @@ pappso::pappso_double PeptideEvidence::getEvalue() const {
pappso::pappso_double PeptideEvidence::getExperimentalMass() const {
return _exp_mass;
}
pappso::pappso_double PeptideEvidence::getExperimentalMhplus() const {
return _exp_mass + pappso::MHPLUS;
}
pappso::pappso_double PeptideEvidence::getExperimentalMz() const {
pappso::mz mz = _exp_mass;
for (unsigned int i=0; i < _charge; i++) {
......
......@@ -61,6 +61,11 @@ public :
* @return the computed mass given the precursor measured mass and the deduced peptide charge
*/
pappso::pappso_double getExperimentalMass() const;
/** @brief get experimental MH+ of this peptide
* @return getExperimentalMass + MHPLUS
*/
pappso::pappso_double getExperimentalMhplus() const;
/** @brief get experimental mz of this peptide
* @return the real mass measured (precuror mass) by the spectrometer
......
......@@ -22,7 +22,6 @@
******************************************************************************/
#include <QSettings>
#include "../widgets/massitemdelegate.h"
#include "peptidelistwindow.h"
#include "../project_view/projectwindow.h"
......@@ -82,16 +81,6 @@ PeptideListWindow::PeptideListWindow(ProjectWindow *parent):
ui->tableView->setSortingEnabled(true);
ui->tableView->setAlternatingRowColors(true);
MassItemDelegate * item_delegate = new MassItemDelegate(ui->tableView);
ui->tableView->setItemDelegateForColumn((std::int8_t) PeptideListColumn::experimental_mhplus, item_delegate);
ui->tableView->setItemDelegateForColumn((std::int8_t) PeptideListColumn::theoretical_mhplus, item_delegate);
ui->tableView->setItemDelegateForColumn((std::int8_t) PeptideListColumn::experimental_mz, item_delegate);
MinuteItemDelegate * minute_delegate = new MinuteItemDelegate(ui->tableView);
ui->tableView->setItemDelegateForColumn((std::int8_t) PeptideListColumn::rtmin, minute_delegate);
SecondItemDelegate * second_delegate = new SecondItemDelegate(ui->tableView);
ui->tableView->setItemDelegateForColumn((std::int8_t) PeptideListColumn::rt, second_delegate);
//connect(ui->tableView, SIGNAL(clicked(const QModelIndex &)), _p_proxy_model, SLOT(onTableClicked(const QModelIndex &)));
......@@ -144,7 +133,6 @@ PeptideListWindow::PeptideListWindow(ProjectWindow *parent):
#endif
/*
*/
}
PeptideListWindow::~PeptideListWindow()
......@@ -201,6 +189,7 @@ void PeptideListWindow::setProteinMatch(IdentificationGroup * p_identification_g
_p_proxy_model->sort((std::int8_t) PeptideListColumn::peptide_grouping_id, Qt::AscendingOrder);
_p_proxy_model->resteItemDelegates();
}
}
......
......@@ -186,7 +186,7 @@ QVariant PeptideTableModel::data(const QModelIndex &index, int role ) const {
return QVariant((qreal) _p_protein_match->getPeptideMatchList().at(row).getPeptideEvidence()->getEvalue());
break;
case (std::int8_t)PeptideListColumn::experimental_mhplus:
return QVariant((_p_protein_match->getPeptideMatchList().at(row).getPeptideEvidence()->getExperimentalMass()+pappso::MHPLUS));
return QVariant(_p_protein_match->getPeptideMatchList().at(row).getPeptideEvidence()->getExperimentalMhplus());
break;
case (std::int8_t)PeptideListColumn::theoretical_mhplus:
return QVariant(_p_protein_match->getPeptideMatchList().at(row).getPeptideEvidence()->getPeptideXtpSp().get()->getMz(1));
......
......@@ -39,6 +39,9 @@ PeptideTableProxyModel::PeptideTableProxyModel(PeptideListWindow * p_peptide_lis
for (std::size_t i=0; i < _column_display.size(); i++) {
_column_display[i] = settings.value(QString("peptide_list_columns/%1").arg(_peptide_table_model_p->getTitle((PeptideListColumn)i)), "true").toBool();
}
_mass_delegate = new MassItemDelegate(_p_peptide_list_window);
_minute_delegate = new MinuteItemDelegate(_p_peptide_list_window);
_second_delegate = new SecondItemDelegate(_p_peptide_list_window);
}
bool PeptideTableProxyModel::filterAcceptsColumn(int source_column, const QModelIndex & source_parent) const {
......@@ -244,7 +247,39 @@ void PeptideTableProxyModel::setPeptideListColumnDisplay(PeptideListColumn colum
QSettings settings;
settings.setValue(QString("peptide_list_columns/%1").arg(_peptide_table_model_p->getTitle(column)),toggled);
_column_display[(std::int8_t) column] = toggled;
endResetModel();
resteItemDelegates();
//emit columnsRemoved(createIndex(1, 2), (int) column, (int) column)
}
void PeptideTableProxyModel::resteItemDelegates() const {
for (int i = 0; i < columnCount(); ++i) {
_p_peptide_list_window->ui->tableView->setItemDelegateForColumn(i, _p_peptide_list_window->ui->tableView->itemDelegate());
if (mapToSource(index(0, i)).column() == (std::int8_t) PeptideListColumn::experimental_mhplus) {
_p_peptide_list_window->ui->tableView->setItemDelegateForColumn(i, _mass_delegate);
}
if (mapToSource(index(0, i)).column() == (std::int8_t) PeptideListColumn::theoretical_mhplus) {
_p_peptide_list_window->ui->tableView->setItemDelegateForColumn(i, _mass_delegate);
}
if (mapToSource(index(0, i)).column() == (std::int8_t) PeptideListColumn::experimental_mz) {
_p_peptide_list_window->ui->tableView->setItemDelegateForColumn(i, _mass_delegate);
}
if (mapToSource(index(0, i)).column() == (std::int8_t) PeptideListColumn::rtmin) {
_p_peptide_list_window->ui->tableView->setItemDelegateForColumn(i, _minute_delegate);
}
if (mapToSource(index(0, i)).column() == (std::int8_t) PeptideListColumn::rt) {
_p_peptide_list_window->ui->tableView->setItemDelegateForColumn(i, _second_delegate);
}
}
/*
MinuteItemDelegate * minute_delegate = new MinuteItemDelegate(ui->tableView);
ui->tableView->setItemDelegateForColumn((std::int8_t) PeptideListColumn::rtmin, minute_delegate);
SecondItemDelegate * second_delegate = new SecondItemDelegate(ui->tableView);
ui->tableView->setItemDelegateForColumn((std::int8_t) PeptideListColumn::rt, second_delegate);
*/
}
......@@ -26,6 +26,7 @@
#include <QAbstractTableModel>
#include <QSortFilterProxyModel>
#include "../widgets/massitemdelegate.h"
#include "../../core/project.h"
#include "peptidetablemodel.h"
......@@ -54,9 +55,10 @@ public:
void setPeptideListColumnDisplay(PeptideListColumn column, bool toggled);
bool getPeptideListColumnDisplay(PeptideListColumn column) const;
void resteItemDelegates() const;
public slots:
void onTableClicked(const QModelIndex &index);
private :
private:
PeptideTableModel* _peptide_table_model_p;
PeptideListWindow * _p_peptide_list_window;
......@@ -66,6 +68,9 @@ private:
bool _hide_not_grouped = true;
QString _search_on = "peptide";
std::vector<bool> _column_display;
MassItemDelegate * _mass_delegate;
MinuteItemDelegate * _minute_delegate;
SecondItemDelegate * _second_delegate;
};
#endif // PEPTIDETABLEPROXYMODEL_H
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