#ifndef DATABASESTABLEMODEL_H #define DATABASESTABLEMODEL_H #include class PgDatabaseContainer; class PgDatabaseCatalogue; /** Class for displaying the list of databases of a server in a QTableView * */ class DatabasesTableModel : public QAbstractTableModel { Q_OBJECT public: enum e_Columns : int { NameCol, DbaCol, EncodingCol, CollateCol, CTypeCol, IsTemplateCol, AllowConnCol, ConnLimitCol, TablespaceCol, AclCol }; 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; 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