TablesPage is now CatalogInspector and is now a module.
This commit is contained in:
parent
d3c85722c7
commit
3e4917428d
7 changed files with 101 additions and 45 deletions
78
pglab/CatalogInspector.h
Normal file
78
pglab/CatalogInspector.h
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
#ifndef TABLESPAGE_H
|
||||
#define TABLESPAGE_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <memory>
|
||||
#include <optional>
|
||||
#include <QItemSelection>
|
||||
#include "TablesTableModel.h"
|
||||
#include "plugin_support/PluginContentWidget.h"
|
||||
#include "plugin_support/PluginModule.h"
|
||||
|
||||
namespace Ui {
|
||||
class TablesPage;
|
||||
}
|
||||
|
||||
class TablesTableModel;
|
||||
class ColumnPage;
|
||||
class ColumnTableModel;
|
||||
class ConstraintModel;
|
||||
class PgDatabaseCatalog;
|
||||
class NamespaceFilterWidget;
|
||||
class IndexModel;
|
||||
class PropertiesPage;
|
||||
class TriggerPage;
|
||||
class PgClass;
|
||||
class SqlCodePreview;
|
||||
|
||||
class CatalogInspector : public PluginContentWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit CatalogInspector(IPluginContentWidgetContext *context, QWidget *parent = nullptr);
|
||||
~CatalogInspector();
|
||||
|
||||
void setCatalog(std::shared_ptr<PgDatabaseCatalog> cat);
|
||||
void setNamespaceFilter(TablesTableModel::NamespaceFilter filter);
|
||||
private:
|
||||
Ui::TablesPage *ui;
|
||||
ColumnPage *m_columnsPage;
|
||||
PropertiesPage *m_propertiesPage;
|
||||
TriggerPage *m_triggerPage;
|
||||
SqlCodePreview *m_sqlCodePreview;
|
||||
std::shared_ptr<PgDatabaseCatalog> m_catalog;
|
||||
TablesTableModel* m_tablesModel = nullptr;
|
||||
ColumnTableModel* m_columnsModel = nullptr;
|
||||
ConstraintModel* m_constraintModel = nullptr;
|
||||
IndexModel* m_indexModel = nullptr;
|
||||
|
||||
void retranslateUi(bool all = true);
|
||||
|
||||
void selectedTableChanged(const std::optional<PgClass> &table);
|
||||
void updateSqlTab(const std::optional<PgClass> &table);
|
||||
private slots:
|
||||
|
||||
void tableListTable_currentRowChanged(const QModelIndex ¤t, const QModelIndex &previous);
|
||||
void tableListTable_layoutChanged(const QList<QPersistentModelIndex> &parents, QAbstractItemModel::LayoutChangeHint hint);
|
||||
void constraintsTable_selectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
|
||||
void constraintsTable_modelReset();
|
||||
void indexesTable_selectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
|
||||
void indexesTable_modelReset();
|
||||
void on_tableListTable_doubleClicked(const QModelIndex &index);
|
||||
};
|
||||
|
||||
class CatalogInspectorModule: public PluginModule {
|
||||
Q_OBJECT
|
||||
public:
|
||||
using PluginModule::PluginModule;
|
||||
|
||||
void init();
|
||||
private slots:
|
||||
|
||||
private:
|
||||
void moduleAction_open(IPluginContentWidgetContext* context, const ModuleActionParameters ¶ms);
|
||||
};
|
||||
|
||||
|
||||
#endif // TABLESPAGE_H
|
||||
Loading…
Add table
Add a link
Reference in a new issue