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):
connect(&workerThread, &QThread::finished, worker, &QObject::deleteLater);
connect(this, &PtSpectrumViewer::operateMsDataFile, worker, &PwizLoaderThread::doMsDataFileLoad);
connect(worker, &PwizLoaderThread::msDataReady, this, &PtSpectrumViewer::handleMsDataFile);
*/
*/
#else
// Qt4 code
/*
connect(&workerThread, SIGNAL(finished()), worker, SLOT(deleteLater()));
connect(this, SIGNAL(operateMsDataFile(QString)), worker,SLOT(doMsDataFileLoad(QString)));
connect(worker, SIGNAL(msDataReady(pwiz::msdata::MSDataFile *)), this, SLOT(handleMsDataFile(pwiz::msdata::MSDataFile *)));
*/
/*
connect(&workerThread, SIGNAL(finished()), worker, SLOT(deleteLater()));
connect(this, SIGNAL(operateMsDataFile(QString)), worker,SLOT(doMsDataFileLoad(QString)));
connect(worker, SIGNAL(msDataReady(pwiz::msdata::MSDataFile *)), this, SLOT(handleMsDataFile(pwiz::msdata::MSDataFile *)));
*/
#endif
/*
*/
_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->setDynamicSortFilter(true);
ui->tableView->setModel( _p_proxy_model );
}
......@@ -66,6 +67,8 @@ ProteinListWindow::~ProteinListWindow()
}
void ProteinListWindow::setProject(Project* project_p) {
_protein_table_model_p->setProject(project_p);
}
void ProteinListWindow::setProject(Project* 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
{
}
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)
:QAbstractTableModel(parent)
{
......@@ -43,16 +53,18 @@ ProteinTableModel::ProteinTableModel(QObject *parent)
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;
QModelIndex topLeft = createIndex(0,0);
QModelIndex bottomRight = createIndex(rowCount(),columnCount());
emit dataChanged(topLeft, bottomRight);
emit headerDataChanged(Qt::Horizontal, 0,3);
emit dataChanged(topLeft, topLeft);
}
int ProteinTableModel::rowCount(const QModelIndex &parent ) const {
if (_p_project != nullptr) {
qDebug() << "ProteinTableModel::rowCount(const QModelIndex &parent ) " << _p_project->getProteinList().size();
return _p_project->getProteinList().size();
}
return 0;
......
......@@ -34,14 +34,14 @@ 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;
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);
// void setMinDensity(double minDensity);
private:
double m_minGravity;
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