pgLab/pglab/PgLabTableViewHelper.h

41 lines
907 B
C
Raw Normal View History

#pragma once
#include <QTableWidget>
#include <QSortFilterProxyModel>
#include "PgLabTableView.h"
template <typename TableModel>
class PgLabTableViewHelper {
public:
PgLabTableViewHelper(QWidget * parent)
{
m_tableView = new PgLabTableView(parent);
m_dataModel = new TableModel(parent);
m_sortFilter = new QSortFilterProxyModel(parent);
m_sortFilter->setSourceModel(m_dataModel);
m_tableView->setModel(m_dataModel);
m_tableView->setSortingEnabled(true);
}
PgLabTableView *tableView() const
{
return m_tableView;
}
TableModel *dataModel() const
{
return m_dataModel;
}
QSortFilterProxyModel *sortFilter() const
{
return m_sortFilter;
}
private:
PgLabTableView *m_tableView = nullptr;
TableModel *m_dataModel = nullptr;
QSortFilterProxyModel *m_sortFilter = nullptr;
};