diff options
author | Lukáš Lalinský <lalinsky@gmail.com> | 2009-03-27 00:07:16 +0100 |
---|---|---|
committer | Lukáš Lalinský <lalinsky@gmail.com> | 2009-03-27 00:07:16 +0100 |
commit | 9e8b7d5b37d985c73531f8f536728c3fa217d073 (patch) | |
tree | 0f90a9c75594cb7b9960c9c513f6d4e7b646d839 /src/items/database | |
parent | a12e272d88cb268db2ddbde40d195aea9f25ea00 (diff) | |
download | dbmodel-9e8b7d5b37d985c73531f8f536728c3fa217d073.tar.xz |
Show the data type column as an editable combo box
Diffstat (limited to 'src/items/database')
-rw-r--r-- | src/items/database/columnlistmodel.h | 9 | ||||
-rw-r--r-- | src/items/database/columnlistview.cpp | 28 |
2 files changed, 37 insertions, 0 deletions
diff --git a/src/items/database/columnlistmodel.h b/src/items/database/columnlistmodel.h index 61b1047..ce4cd25 100644 --- a/src/items/database/columnlistmodel.h +++ b/src/items/database/columnlistmodel.h @@ -26,6 +26,15 @@ class ColumnListModel : public QAbstractTableModel Q_OBJECT public: + + enum ColumnType { + NameColumn = 0, + TypeColumn, + RequiredColumn, + PrimaryKeyColumn, + NotesColumn, + }; + ColumnListModel(QObject *parent = 0); ColumnList *columnList() const { return m_columnList; } diff --git a/src/items/database/columnlistview.cpp b/src/items/database/columnlistview.cpp index cbfb4b9..8256123 100644 --- a/src/items/database/columnlistview.cpp +++ b/src/items/database/columnlistview.cpp @@ -19,6 +19,7 @@ #include "columnlistview.h" #include "databasecommands.h" #include "diagramdocument.h" +#include "utils/comboboxdelegate.h" ColumnListView::ColumnListView(QWidget *parent) : QTreeView(parent) @@ -27,6 +28,33 @@ ColumnListView::ColumnListView(QWidget *parent) setItemsExpandable(false); setExpandsOnDoubleClick(false); setModel(new ColumnListModel(this)); + ComboBoxDelegate *delegate = new ComboBoxDelegate(this); + delegate->setEditable(true); + // FIXME postgresql specific, not a complete list + delegate->setOptions(QStringList() + << "BIGINT" + << "BIGSERIAL" + << "BIT(n)" + << "VARBIT(n)" + << "BOOLEAN" + << "VARCHAR(n)" + << "CHAR(n)" + << "DATE" + << "INTEGER" + << "MONEY" + << "NUMERIC(p,s)" + << "REAL" + << "SMALLINT" + << "SERIAL" + << "TEXT" + << "TIME" + << "TIME WITH TIME ZONE" + << "TIMESTAMP" + << "TIMESTAMP WITH TIME ZONE" + << "UUID" + << "XML" + ); + setItemDelegateForColumn(ColumnListModel::TypeColumn, delegate); } void |