Reorganization of pgLab project
This commit is contained in:
parent
7300865c77
commit
c71fdc4af7
78 changed files with 204 additions and 148 deletions
46
pglab/catalog/widgets/CatalogConstraintPage.cpp
Normal file
46
pglab/catalog/widgets/CatalogConstraintPage.cpp
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
#include "catalog/widgets/CatalogConstraintPage.h"
|
||||
#include "catalog/models/ConstraintModel.h"
|
||||
#include "CustomFilterSortModel.h"
|
||||
#include "catalog/delegates/IconColumnDelegate.h"
|
||||
#include "util/PgLabTableView.h"
|
||||
#include "SqlCodePreview.h"
|
||||
#include <QHeaderView>
|
||||
#include <QStringBuilder>
|
||||
|
||||
CatalogConstraintPage::CatalogConstraintPage(QWidget *parent)
|
||||
: CatalogPageBase(parent)
|
||||
{
|
||||
m_constraintModel = new ConstraintModel(this);
|
||||
m_sortFilterProxy->setSourceModel(m_constraintModel);
|
||||
|
||||
m_tableView->setItemDelegateForColumn(0, new IconColumnDelegate(this));
|
||||
m_tableView->horizontalHeader()->setSortIndicator(ConstraintModel::NameCol, Qt::AscendingOrder);
|
||||
m_tableView->setSortingEnabled(true);
|
||||
|
||||
connect(m_tableView->selectionModel(), &QItemSelectionModel::selectionChanged,
|
||||
this, &CatalogConstraintPage::tableView_selectionChanged);
|
||||
connect(m_constraintModel, &ConstraintModel::modelReset, m_definitionView, &SqlCodePreview::clear);
|
||||
}
|
||||
|
||||
void CatalogConstraintPage::catalogSet()
|
||||
{
|
||||
}
|
||||
|
||||
void CatalogConstraintPage::setFilter(const std::optional<PgClass> &cls)
|
||||
{
|
||||
m_constraintModel->setData(m_catalog, cls);
|
||||
m_tableView->resizeColumnsToContents();
|
||||
}
|
||||
|
||||
void CatalogConstraintPage::tableView_selectionChanged(const QItemSelection &/*selected*/, const QItemSelection &/*deselected*/)
|
||||
{
|
||||
auto rijen = selectedRows();
|
||||
QString drops;
|
||||
QString creates;
|
||||
for (auto rij : rijen) {
|
||||
const PgConstraint constraint = m_constraintModel->constraint(rij);
|
||||
drops += constraint.dropSql() % "\n";
|
||||
creates += constraint.createSql() % "\n";
|
||||
}
|
||||
m_definitionView->setPlainText(drops % "\n" % creates);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue