diff options
| author | 2014-12-06 17:33:25 -0500 | |
|---|---|---|
| committer | 2014-12-06 17:33:25 -0500 | |
| commit | 7167ce41b61d2ba2cdb526777a4233eb84a3b66a (patch) | |
| tree | a35c14143716e1f2c98f808c81f89426045a946f /SQLiteStudio3/guiSQLiteStudio/dialogs/newconstraintdialog.h | |
Imported Upstream version 2.99.6upstream/2.99.6
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/dialogs/newconstraintdialog.h')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/dialogs/newconstraintdialog.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/newconstraintdialog.h b/SQLiteStudio3/guiSQLiteStudio/dialogs/newconstraintdialog.h new file mode 100644 index 0000000..e374312 --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/newconstraintdialog.h @@ -0,0 +1,65 @@ +#ifndef NEWCONSTRAINTDIALOG_H +#define NEWCONSTRAINTDIALOG_H + +#include "parser/ast/sqlitecreatetable.h" +#include "db/db.h" +#include "dialogs/constraintdialog.h" +#include "iconmanager.h" +#include "guiSQLiteStudio_global.h" +#include <QDialog> +#include <QPointer> + +namespace Ui { + class NewConstraintDialog; +} + +class GUI_API_EXPORT NewConstraintDialog : public QDialog +{ + Q_OBJECT + + public: + explicit NewConstraintDialog(SqliteCreateTable* createTable, Db* db, QWidget *parent = 0); + explicit NewConstraintDialog(SqliteCreateTable::Column* column, Db* db, QWidget *parent = 0); + explicit NewConstraintDialog(ConstraintDialog::Constraint constraintType, SqliteCreateTable* createTable, Db* db, QWidget *parent = 0); + explicit NewConstraintDialog(ConstraintDialog::Constraint constraintType, SqliteCreateTable::Column* column, Db* db, QWidget *parent = 0); + ~NewConstraintDialog(); + + SqliteStatement* getConstraint(); + int exec(); + + protected: + void changeEvent(QEvent *e); + + private: + void init(); + void initTable(); + void initColumn(); + void addButton(const Icon& icon, const QString text, const char* slot); + int createColumnConstraint(ConstraintDialog::Constraint constraintType); + int createTableConstraint(ConstraintDialog::Constraint constraintType); + int editConstraint(); + + Ui::NewConstraintDialog *ui = nullptr; + ConstraintDialog::Type type; + Db* db = nullptr; + ConstraintDialog::Constraint predefinedConstraintType = ConstraintDialog::UNKNOWN; + SqliteStatement* constrStatement = nullptr; + QPointer<SqliteCreateTable> createTable; + QPointer<SqliteCreateTable::Column> columnStmt; + ConstraintDialog* constraintDialog = nullptr; + + private slots: + void createTablePk(); + void createTableFk(); + void createTableUnique(); + void createTableCheck(); + void createColumnPk(); + void createColumnFk(); + void createColumnUnique(); + void createColumnCheck(); + void createColumnNotNull(); + void createColumnDefault(); + void createColumnCollate(); +}; + +#endif // NEWCONSTRAINTDIALOG_H |
