pgLab/pglab/EditTableWidget.cpp
eelke f0c1035378 Reorganize files in pglablib
The enitities and containers of the catalog now go into catalog subfolder
Models go into model
2018-12-16 11:31:33 +01:00

44 lines
1.2 KiB
C++

#include "EditTableWidget.h"
#include "EditColumnTableModel.h"
#include "PgLabItemDelegate.h"
#include <QVBoxLayout>
#include <QTableView>
#include "OpenDatabase.h"
#include "catalog/PgDatabaseCatalog.h"
#include "SelectionEditorFactory.h"
#include "model/TypeModelFactory.h"
EditTableWidget::EditTableWidget(std::shared_ptr<OpenDatabase> database, QWidget *parent)
: QWidget(parent)
, m_database(database)
{
// Table
auto table = new QTableView(this);
// Dialogbutton
auto mainLayout = new QVBoxLayout(this);
mainLayout->addWidget(table);
setLayout(mainLayout);
auto model = new EditColumnTableModel(database->catalog(), this);
table->setModel(model);
table->setItemDelegate(new PgLabItemDelegate(this));
auto types = database->catalog()->types();
auto type_delegate = new PgLabItemDelegate(this);
type_delegate->setEditorFactory(
new SelectionEditorFactory(this, new TypeModelFactory(this, types), 0, 1)
);
table->setItemDelegateForColumn(EditColumnTableModel::TypeCol, type_delegate);
// if (opendb) {
// m_typeDelegate.setTypeSelectionModel(opendb->typeSelectionModel());
// }
// paramTableView->setModel(&m_paramList);
// paramTableView->setItemDelegateForColumn(1, &m_typeDelegate);
}