2017-12-10 14:20:45 +01:00
|
|
|
|
#include "TablesPage.h"
|
2017-12-10 08:17:07 +01:00
|
|
|
|
#include "ui_TablesPage.h"
|
|
|
|
|
|
|
2017-12-12 20:13:53 +01:00
|
|
|
|
#include "PgAttribute.h"
|
2017-12-29 08:39:08 +01:00
|
|
|
|
#include "PgDatabaseCatalog.h"
|
2017-12-10 14:20:45 +01:00
|
|
|
|
#include "TablesTableModel.h"
|
2017-12-12 20:13:53 +01:00
|
|
|
|
#include "ResultTableModelUtil.h"
|
|
|
|
|
|
#include "ColumnTableModel.h"
|
2017-12-29 08:39:08 +01:00
|
|
|
|
#include "NamespaceFilterWidget.h"
|
2017-12-10 14:20:45 +01:00
|
|
|
|
|
2017-12-10 08:17:07 +01:00
|
|
|
|
TablesPage::TablesPage(QWidget *parent) :
|
|
|
|
|
|
QWidget(parent),
|
|
|
|
|
|
ui(new Ui::TablesPage)
|
|
|
|
|
|
{
|
|
|
|
|
|
ui->setupUi(this);
|
2017-12-10 14:20:45 +01:00
|
|
|
|
|
2017-12-12 20:13:53 +01:00
|
|
|
|
SetTableViewDefault(ui->tableListTable);
|
2017-12-10 14:20:45 +01:00
|
|
|
|
m_tablesModel = new TablesTableModel(this);
|
|
|
|
|
|
ui->tableListTable->setModel(m_tablesModel);
|
|
|
|
|
|
|
2017-12-12 20:13:53 +01:00
|
|
|
|
SetTableViewDefault(ui->columnsTable);
|
|
|
|
|
|
m_columnsModel = new ColumnTableModel(this);
|
|
|
|
|
|
ui->columnsTable->setModel(m_columnsModel);
|
|
|
|
|
|
|
2017-12-29 08:39:08 +01:00
|
|
|
|
m_namespaceFilterWidget = new NamespaceFilterWidget(this);
|
|
|
|
|
|
ui->verticalLayoutTableView->addWidget(m_namespaceFilterWidget);
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-12-12 20:13:53 +01:00
|
|
|
|
connect(ui->tableListTable->selectionModel(), &QItemSelectionModel::currentRowChanged, this,
|
|
|
|
|
|
&TablesPage::on_tableListTable_currentRowChanged);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
TablesPage::~TablesPage()
|
|
|
|
|
|
{
|
|
|
|
|
|
delete ui;
|
2017-12-10 14:20:45 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void TablesPage::setCatalog(std::shared_ptr<PgDatabaseCatalog> cat)
|
|
|
|
|
|
{
|
|
|
|
|
|
m_catalog = cat;
|
|
|
|
|
|
m_tablesModel->setCatalog(cat);
|
2017-12-19 19:55:12 +01:00
|
|
|
|
ui->tableListTable->resizeColumnsToContents();
|
2017-12-29 08:39:08 +01:00
|
|
|
|
m_namespaceFilterWidget->init(cat->namespaces());
|
2017-12-10 08:17:07 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
2017-12-12 20:13:53 +01:00
|
|
|
|
void TablesPage::on_tableListTable_currentRowChanged(const QModelIndex ¤t, const QModelIndex &previous)
|
2017-12-10 08:17:07 +01:00
|
|
|
|
{
|
2017-12-12 20:13:53 +01:00
|
|
|
|
if (current.row() != previous.row()) {
|
2017-12-17 19:54:23 +01:00
|
|
|
|
PgClass table = m_tablesModel->getTable(current.row());
|
|
|
|
|
|
m_columnsModel->setData(m_catalog, table);
|
2017-12-17 20:05:09 +01:00
|
|
|
|
ui->columnsTable->resizeColumnsToContents();
|
2017-12-12 20:13:53 +01:00
|
|
|
|
}
|
2017-12-10 08:17:07 +01:00
|
|
|
|
}
|