Flexible models

This commit is contained in:
Eelke Klein 2018-09-02 10:30:30 +00:00
parent 50cb21b6f9
commit 8b7bbec807
24 changed files with 333 additions and 51 deletions

View file

@ -9,8 +9,7 @@
class PgClass;
class PgDatabaseCatalog;
class TablesTableModel: public BaseTableModel
{
class TablesTableModel: public QAbstractTableModel {
public:
enum e_Columns : int {
NameCol, ///< either table, ns.table or table (ns) depending on settings/filters
@ -38,9 +37,6 @@ public:
virtual QVariant data(const QModelIndex &index, int role) const override;
PgClass getTable(int row) const;
Oid getTableOid(int row) const;
protected:
virtual Oid getType(int column) const override;
virtual QVariant getData(const QModelIndex &index) const override;
private:
using t_Tables = std::vector<PgClass>;
@ -48,6 +44,8 @@ private:
std::shared_ptr<const PgDatabaseCatalog> m_catalog;
t_Tables m_tables;
Oid getType(int column) const;
QVariant getData(const QModelIndex &index) const;
QString formatTableName(const PgClass &cls) const;
void doSort(int so);
};