summaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/constraints/columndefaultpanel.h
diff options
context:
space:
mode:
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/constraints/columndefaultpanel.h')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/constraints/columndefaultpanel.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/constraints/columndefaultpanel.h b/SQLiteStudio3/guiSQLiteStudio/constraints/columndefaultpanel.h
index 933c2dd..3cdd962 100644
--- a/SQLiteStudio3/guiSQLiteStudio/constraints/columndefaultpanel.h
+++ b/SQLiteStudio3/guiSQLiteStudio/constraints/columndefaultpanel.h
@@ -4,6 +4,7 @@
#include "constraintpanel.h"
#include "parser/ast/sqliteconflictalgo.h"
#include "guiSQLiteStudio_global.h"
+#include "parser/ast/sqlitecreatetable.h"
#include <QWidget>
namespace Ui {
@@ -27,12 +28,25 @@ class GUI_API_EXPORT ColumnDefaultPanel : public ConstraintPanel
void storeConfiguration();
private:
+ enum class Mode
+ {
+ EXPR,
+ LITERAL,
+ ERROR
+ };
+
void init();
void readConstraint();
void updateVirtualSql();
- SqliteExprPtr parseExpression(const QString& sql);
+ QString getTempTable();
+ void storeExpr(SqliteCreateTable::Column::Constraint* constr);
+ void storeLiteral(SqliteCreateTable::Column::Constraint* constr);
+ void clearDefault(SqliteCreateTable::Column::Constraint* constr);
Ui::ColumnDefaultPanel *ui = nullptr;
+ QString lastValidatedText;
+ bool lastValidationResult = false;
+ Mode currentMode = Mode::ERROR;
private slots:
void updateState();