aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/windows/constrainttabmodel.h
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2014-12-06 17:33:25 -0500
committerLibravatarUnit 193 <unit193@ubuntu.com>2014-12-06 17:33:25 -0500
commit7167ce41b61d2ba2cdb526777a4233eb84a3b66a (patch)
treea35c14143716e1f2c98f808c81f89426045a946f /SQLiteStudio3/guiSQLiteStudio/windows/constrainttabmodel.h
Imported Upstream version 2.99.6upstream/2.99.6
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/windows/constrainttabmodel.h')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/windows/constrainttabmodel.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/windows/constrainttabmodel.h b/SQLiteStudio3/guiSQLiteStudio/windows/constrainttabmodel.h
new file mode 100644
index 0000000..f93415b
--- /dev/null
+++ b/SQLiteStudio3/guiSQLiteStudio/windows/constrainttabmodel.h
@@ -0,0 +1,70 @@
+#ifndef CONSTRAINTTABMODEL_H
+#define CONSTRAINTTABMODEL_H
+
+#include "parser/ast/sqlitecreatetable.h"
+#include "guiSQLiteStudio_global.h"
+#include <QAbstractTableModel>
+#include <QPointer>
+
+class GUI_API_EXPORT ConstraintTabModel : public QAbstractTableModel
+{
+ Q_OBJECT
+ public:
+ explicit ConstraintTabModel(QObject *parent = 0);
+
+ int rowCount(const QModelIndex& parent = QModelIndex()) const;
+ int columnCount(const QModelIndex& parent = QModelIndex()) const;
+ QVariant data(const QModelIndex& index, int role) const;
+ QVariant data(SqliteCreateTable::Constraint* constr, int column, int role) const;
+ QVariant data(SqliteCreateTable::Column::Constraint* constr, int column, int role) const;
+ QVariant headerData(int section, Qt::Orientation orientation, int role) const;
+
+ void setCreateTable(const QPointer<SqliteCreateTable>& value);
+
+ private:
+ enum class Columns
+ {
+ SCOPE,
+ TYPE,
+ NAME,
+ DETAILS
+ };
+
+ Columns getColumn(int idx) const;
+
+ QString getTypeLabel(SqliteCreateTable::Constraint::Type type) const;
+ QString getTypeLabel(SqliteCreateTable::Column::Constraint::Type type) const;
+
+ QIcon getTypeIcon(SqliteCreateTable::Constraint::Type type) const;
+ QIcon getTypeIcon(SqliteCreateTable::Column::Constraint::Type type) const;
+
+ QString getDetails(SqliteCreateTable::Constraint* constr) const;
+ QString getDetails(SqliteCreateTable::Column::Constraint* constr) const;
+
+ QString getPkDetails(SqliteCreateTable::Constraint* constr) const;
+ QString getUniqueDetails(SqliteCreateTable::Constraint* constr) const;
+ QString getCheckDetails(SqliteCreateTable::Constraint* constr) const;
+ QString getFkDetails(SqliteCreateTable::Constraint* constr) const;
+
+ QString getPkDetails(SqliteCreateTable::Column::Constraint* constr) const;
+ QString getUniqueDetails(SqliteCreateTable::Column::Constraint* constr) const;
+ QString getCheckDetails(SqliteCreateTable::Column::Constraint* constr) const;
+ QString getFkDetails(SqliteCreateTable::Column::Constraint* constr) const;
+ QString getNotNullDetails(SqliteCreateTable::Column::Constraint* constr) const;
+ QString getCollateDetails(SqliteCreateTable::Column::Constraint* constr) const;
+ QString getDefaultDetails(SqliteCreateTable::Column::Constraint* constr) const;
+
+ QString getConstrDetails(SqliteCreateTable::Constraint* constr, int tokenOffset) const;
+ QString getConstrDetails(SqliteCreateTable::Column::Constraint* constr, int tokenOffset) const;
+ QString getConstrDetails(const TokenList& constrTokens, int tokenOffset) const;
+
+ QPointer<SqliteCreateTable> createTable;
+
+ signals:
+
+ public slots:
+ void updateModel();
+
+};
+
+#endif // CONSTRAINTTABMODEL_H