blob: d8e7ed4eeee9fd4d0c8dde11b18ac144f0f1186a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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
|