#ifndef DATABASESTABLEMODEL_H #define DATABASESTABLEMODEL_H #include "BaseTableModel.h" #include class PgDatabaseContainer; class PgDatabaseCatalog; /** 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, CommentCol, SizeCol, AclCol, COL_COUNT }; explicit DatabasesTableModel(QObject *parent); void setDatabaseList(std::shared_ptr 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; protected: virtual QVariant getDataMeaning(const QModelIndex &index) const override; private: std::shared_ptr m_catalog; std::shared_ptr m_databases; }; #endif // DATABASESTABLEMODEL_H