#ifndef DATABASESTABLEMODEL_H #define DATABASESTABLEMODEL_H #include "BaseTableModel.h" class PgDatabaseContainer; class PgDatabaseCatalogue; /** Class for displaying the list of databases of a server in a QTableView * */ class DatabasesTableModel : public BaseTableModel { Q_OBJECT public: enum e_Columns : int { NameCol, DbaCol, EncodingCol, CollateCol, CTypeCol, IsTemplateCol, AllowConnCol, ConnLimitCol, TablespaceCol, AclCol, COL_COUNT }; explicit DatabasesTableModel(QObject *parent); void setDatabaseList(const PgDatabaseCatalogue* cat); // Header: QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; // Basic functionality: int rowCount(const QModelIndex &parent = QModelIndex()) const override; int columnCount(const QModelIndex &parent = QModelIndex()) const override; virtual Oid getType(int column) const override; virtual QVariant getData(const QModelIndex &index) const override; // QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; private: const PgDatabaseCatalogue *m_catalog = nullptr; const PgDatabaseContainer *m_databases = nullptr; }; #endif // DATABASESTABLEMODEL_H