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

proxy model more or less ok

parent baa16830
No related branches found
No related tags found
No related merge requests found
...@@ -38,23 +38,24 @@ ProteinListWindow::ProteinListWindow(QWidget *parent): ...@@ -38,23 +38,24 @@ ProteinListWindow::ProteinListWindow(QWidget *parent):
connect(&workerThread, &QThread::finished, worker, &QObject::deleteLater); connect(&workerThread, &QThread::finished, worker, &QObject::deleteLater);
connect(this, &PtSpectrumViewer::operateMsDataFile, worker, &PwizLoaderThread::doMsDataFileLoad); connect(this, &PtSpectrumViewer::operateMsDataFile, worker, &PwizLoaderThread::doMsDataFileLoad);
connect(worker, &PwizLoaderThread::msDataReady, this, &PtSpectrumViewer::handleMsDataFile); connect(worker, &PwizLoaderThread::msDataReady, this, &PtSpectrumViewer::handleMsDataFile);
*/ */
#else #else
// Qt4 code // Qt4 code
/* /*
connect(&workerThread, SIGNAL(finished()), worker, SLOT(deleteLater())); connect(&workerThread, SIGNAL(finished()), worker, SLOT(deleteLater()));
connect(this, SIGNAL(operateMsDataFile(QString)), worker,SLOT(doMsDataFileLoad(QString))); connect(this, SIGNAL(operateMsDataFile(QString)), worker,SLOT(doMsDataFileLoad(QString)));
connect(worker, SIGNAL(msDataReady(pwiz::msdata::MSDataFile *)), this, SLOT(handleMsDataFile(pwiz::msdata::MSDataFile *))); connect(worker, SIGNAL(msDataReady(pwiz::msdata::MSDataFile *)), this, SLOT(handleMsDataFile(pwiz::msdata::MSDataFile *)));
*/ */
#endif #endif
/* /*
*/ */
_protein_table_model_p = new ProteinTableModel(0); _protein_table_model_p = new ProteinTableModel(0);
_p_proxy_model = new ProteinTableProxyModel(); _p_proxy_model = new ProteinTableProxyModel(this);
_p_proxy_model->setSourceModel(_protein_table_model_p); _p_proxy_model->setSourceModel(_protein_table_model_p);
_p_proxy_model->setDynamicSortFilter(true);
ui->tableView->setModel( _p_proxy_model ); ui->tableView->setModel( _p_proxy_model );
} }
...@@ -66,6 +67,8 @@ ProteinListWindow::~ProteinListWindow() ...@@ -66,6 +67,8 @@ ProteinListWindow::~ProteinListWindow()
} }
void ProteinListWindow::setProject(Project* project_p) { void ProteinListWindow::setProject(Project* project_p) {
_protein_table_model_p->setProject(project_p); _protein_table_model_p->setProject(project_p);
} _p_proxy_model->setSourceModel(_protein_table_model_p);
}
...@@ -31,6 +31,16 @@ ProteinTableProxyModel::ProteinTableProxyModel(QObject *parent): QSortFilterProx ...@@ -31,6 +31,16 @@ ProteinTableProxyModel::ProteinTableProxyModel(QObject *parent): QSortFilterProx
{ {
} }
bool ProteinTableProxyModel::filterAcceptsRow(int source_row,
const QModelIndex &source_parent) const {
return true;
}
QVariant ProteinTableProxyModel::headerData(int section, Qt::Orientation orientation,
int role) const {
return sourceModel()->headerData(section, orientation,
role);
}
ProteinTableModel::ProteinTableModel(QObject *parent) ProteinTableModel::ProteinTableModel(QObject *parent)
:QAbstractTableModel(parent) :QAbstractTableModel(parent)
{ {
...@@ -43,16 +53,18 @@ ProteinTableModel::ProteinTableModel(QObject *parent) ...@@ -43,16 +53,18 @@ ProteinTableModel::ProteinTableModel(QObject *parent)
void ProteinTableModel::setProject(Project * p_project) { void ProteinTableModel::setProject(Project * p_project) {
qDebug() << "ProteinTableModel::setProject begin " << p_project->getProteinList().size(); qDebug() << "ProteinTableModel::setProject begin " << p_project->getProteinList().size();
_p_project = p_project; _p_project = p_project;
QModelIndex topLeft = createIndex(0,0); QModelIndex topLeft = createIndex(0,0);
QModelIndex bottomRight = createIndex(rowCount(),columnCount());
emit dataChanged(topLeft, bottomRight);
emit headerDataChanged(Qt::Horizontal, 0,3); emit headerDataChanged(Qt::Horizontal, 0,3);
emit dataChanged(topLeft, topLeft);
} }
int ProteinTableModel::rowCount(const QModelIndex &parent ) const { int ProteinTableModel::rowCount(const QModelIndex &parent ) const {
if (_p_project != nullptr) { if (_p_project != nullptr) {
qDebug() << "ProteinTableModel::rowCount(const QModelIndex &parent ) " << _p_project->getProteinList().size();
return _p_project->getProteinList().size(); return _p_project->getProteinList().size();
} }
return 0; return 0;
......
...@@ -34,14 +34,14 @@ class ProteinTableProxyModel : public QSortFilterProxyModel ...@@ -34,14 +34,14 @@ class ProteinTableProxyModel : public QSortFilterProxyModel
Q_OBJECT Q_OBJECT
public: public:
ProteinTableProxyModel(QObject* parent = 0); ProteinTableProxyModel(QObject* parent = 0);
//bool filterAcceptsRow(int source_row, bool filterAcceptsRow(int source_row,
// const QModelIndex &source_parent) const; const QModelIndex &source_parent) const;
// QVariant headerData(int section, Qt::Orientation orientation, QVariant headerData(int section, Qt::Orientation orientation,
// int role) const; int role) const;
public slots: public slots:
//void setMinGravity(double minGravity); //void setMinGravity(double minGravity);
// void setMinDensity(double minDensity); // void setMinDensity(double minDensity);
private: private:
double m_minGravity; double m_minGravity;
double m_minDensity; double m_minDensity;
......
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