Add tab with namespaces (schema's)

This commit is contained in:
eelke 2019-11-20 19:09:22 +01:00
parent 8dd13d103e
commit 1df8455af5
7 changed files with 171 additions and 18 deletions

View file

@ -2,9 +2,10 @@
#define NAMESPACEITEMMODEL_H
#include <QAbstractItemModel>
#include <QVector>
#include "catalog/PgNamespace.h"
#include <vector>
#include <iterator>
//#include <vector>
//#include <iterator>
namespace NamespaceItemModel_impl {
@ -20,7 +21,17 @@ class NamespaceItemModel: public QAbstractItemModel {
public:
NamespaceItemModel(QObject *parent = 0);
enum Columns {
ColNamespaceName,
ColOwner,
ColAcl,
ColCount
};
void init(std::shared_ptr<const PgNamespaceContainer> ns);
void setEnableCheckboxes(bool enable);
bool isEnableCheckboxes() const;
virtual QModelIndex index(int row, int column,
const QModelIndex &parent = QModelIndex()) const override;
@ -33,9 +44,14 @@ public:
virtual Qt::ItemFlags flags(const QModelIndex &index) const override;
private:
using GroupVec = std::vector<std::shared_ptr<NamespaceItemModel_impl::GroupNode>>;
using GroupVec = QVector<std::shared_ptr<NamespaceItemModel_impl::GroupNode>>;
GroupVec groups;
bool m_enableCheckboxes = true;
// QAbstractItemModel interface
public:
virtual QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
};
#endif // NAMESPACEITEMMODEL_H