pgLab/pglab/ColumnPage.h

43 lines
992 B
C
Raw Normal View History

#ifndef COLUMNPAGE_H
#define COLUMNPAGE_H
#include "PgClass.h"
#include <QSplitter>
#include <memory>
#include <optional>
class QTableView;
class SqlCodePreview;
class PgDatabaseCatalog;
class ColumnTableModel;
class CustomFilterSortModel;
class QItemSelection;
class QAbstractItemModel;
class ColumnPage : public QSplitter
{
Q_OBJECT
public:
explicit ColumnPage(QWidget *parent = nullptr);
void setData(std::shared_ptr<const PgDatabaseCatalog> cat, const std::optional<PgClass> &cls);
//void setFilter(const std::optional<PgClass> &cls);
signals:
public slots:
private:
QTableView *m_tableView = nullptr;
SqlCodePreview *m_definitionView = nullptr;
ColumnTableModel *m_columnModel = nullptr;
CustomFilterSortModel *m_sortFilterProxy = nullptr;
std::shared_ptr<const PgDatabaseCatalog> m_catalog;
std::optional<PgClass> m_Class;
private slots:
void tableView_selectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
};
#endif // COLUMNPAGE_H