diff --git a/src/gui/protein_list_view/proteinlistwindow.cpp b/src/gui/protein_list_view/proteinlistwindow.cpp index 55f272bcbbd3da6cf0685becb1ecf5893d893a68..02c29b859e07f0acfa44bee1bff13c3bde412970 100644 --- a/src/gui/protein_list_view/proteinlistwindow.cpp +++ b/src/gui/protein_list_view/proteinlistwindow.cpp @@ -51,7 +51,11 @@ ProteinListWindow::ProteinListWindow(QWidget *parent): */ _protein_table_model_p = new ProteinTableModel(0); - ui->tableView->setModel( _protein_table_model_p ); + + + _p_proxy_model = new ProteinTableProxyModel(); + _p_proxy_model->setSourceModel(_protein_table_model_p); + ui->tableView->setModel( _p_proxy_model ); } ProteinListWindow::~ProteinListWindow() @@ -64,4 +68,4 @@ ProteinListWindow::~ProteinListWindow() void ProteinListWindow::setProject(Project* project_p) { _protein_table_model_p->setProject(project_p); - } \ No newline at end of file + } diff --git a/src/gui/protein_list_view/proteinlistwindow.h b/src/gui/protein_list_view/proteinlistwindow.h index 826d7a2b43417f7853f672cd34f7cbbe24488e8b..f4e337dc3dade9379dbcb98f06e9900cfcda9f84 100644 --- a/src/gui/protein_list_view/proteinlistwindow.h +++ b/src/gui/protein_list_view/proteinlistwindow.h @@ -52,6 +52,7 @@ signals: private: Ui::ProteinView *ui; ProteinTableModel * _protein_table_model_p = nullptr; + ProteinTableProxyModel * _p_proxy_model = nullptr; }; diff --git a/src/gui/protein_list_view/proteintablemodel.cpp b/src/gui/protein_list_view/proteintablemodel.cpp index 5ec0ff14befd2b4033df4486fb0db62feb072395..2d46cd76b041cf39b9791c88579d1a09e4ad5f34 100644 --- a/src/gui/protein_list_view/proteintablemodel.cpp +++ b/src/gui/protein_list_view/proteintablemodel.cpp @@ -25,6 +25,12 @@ #include <QDebug> + +ProteinTableProxyModel::ProteinTableProxyModel(QObject *parent): QSortFilterProxyModel(parent), + m_minGravity(0.0), m_minDensity(0.0) +{ +} + ProteinTableModel::ProteinTableModel(QObject *parent) :QAbstractTableModel(parent) { diff --git a/src/gui/protein_list_view/proteintablemodel.h b/src/gui/protein_list_view/proteintablemodel.h index 3d80ff26805d059d03955d2a22b131110a1afc73..bc6aa5cd493cb66bfa743bedf6c3e0aed730dabe 100644 --- a/src/gui/protein_list_view/proteintablemodel.h +++ b/src/gui/protein_list_view/proteintablemodel.h @@ -25,8 +25,28 @@ #define PROTEINTABLEMODEL_H #include <QAbstractTableModel> +#include <QSortFilterProxyModel> #include "../../core/project.h" + +class ProteinTableProxyModel : public QSortFilterProxyModel +{ + Q_OBJECT +public: + ProteinTableProxyModel(QObject* parent = 0); + //bool filterAcceptsRow(int source_row, + // const QModelIndex &source_parent) const; + // QVariant headerData(int section, Qt::Orientation orientation, + // int role) const; + +public slots: + //void setMinGravity(double minGravity); + // void setMinDensity(double minDensity); +private: + double m_minGravity; + double m_minDensity; +}; + class ProteinTableModel: public QAbstractTableModel { Q_OBJECT