pgLab/pglab/PropertyProxyModel.h
eelke ad4c6fd442 The PropertyProxyModel now properly maps the second column to the active row of the source.
It has a slot to receive the activeRow.
Used this in the TablesPage to let the property tab follow the currentIndex in the list of tables.
2018-08-26 07:59:15 +02:00

30 lines
905 B
C++

#ifndef HORIZONTALPROXYMODEL_H
#define HORIZONTALPROXYMODEL_H
#include <QIdentityProxyModel>
class PropertyProxyModel : public QIdentityProxyModel {
Q_OBJECT
public:
PropertyProxyModel(QObject * parent = nullptr);
QModelIndex mapToSource(const QModelIndex &proxyIndex) const;
QModelIndex mapFromSource(const QModelIndex &sourceIndex) const;
QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const;
QModelIndex parent(const QModelIndex &child) const;
int rowCount(const QModelIndex &parent) const;
int columnCount(const QModelIndex &parent) const;
QVariant headerData(int section, Qt::Orientation orientation, int role) const;
QVariant data(const QModelIndex &proxyIndex, int role) const;
public Q_SLOTS:
void setActiveRow(int row);
private:
enum Columns {
propertyColumn = 0,
valueColumn
};
int activeRow = -1;
};
#endif // HORIZONTALPROXYMODEL_H