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/triggerdialog.h | |
Imported Upstream version 2.99.6upstream/2.99.6
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/dialogs/triggerdialog.h')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/dialogs/triggerdialog.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/triggerdialog.h b/SQLiteStudio3/guiSQLiteStudio/dialogs/triggerdialog.h new file mode 100644 index 0000000..d8e7ed4 --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/triggerdialog.h @@ -0,0 +1,62 @@ +#ifndef TRIGGERDIALOG_H +#define TRIGGERDIALOG_H + +#include "db/db.h" +#include "parser/ast/sqlitecreatetrigger.h" +#include "guiSQLiteStudio_global.h" +#include <QDialog> + +namespace Ui { + class TriggerDialog; +} + +class GUI_API_EXPORT TriggerDialog : public QDialog +{ + Q_OBJECT + + public: + explicit TriggerDialog(Db* db, QWidget *parent = 0); + ~TriggerDialog(); + + void setParentTable(const QString& name); + void setParentView(const QString& name); + void setTrigger(const QString& name); + + protected: + void changeEvent(QEvent *e); + + private: + void init(); + void initTrigger(); + void parseDdl(); + void readTrigger(); + void setupVirtualSqls(); + void readColumns(); + QString getTargetObjectName() const; + void rebuildTrigger(); + + QString originalTriggerName; + QString trigger; + QString table; + QString view; + Db* db = nullptr; + bool forTable = true; + bool existingTrigger = false; + QStringList targetColumns; + QStringList selectedColumns; + QString ddl; + SqliteCreateTriggerPtr createTrigger; + Ui::TriggerDialog *ui = nullptr; + + private slots: + void updateState(); + void updateValidation(); + void showColumnsDialog(); + void updateDdlTab(int tabIdx); + void tableChanged(const QString& newValue); + + public slots: + void accept(); +}; + +#endif // TRIGGERDIALOG_H |
