diff options
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/dbobjectdialogs.h')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/dbobjectdialogs.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/dbobjectdialogs.h b/SQLiteStudio3/guiSQLiteStudio/dbobjectdialogs.h new file mode 100644 index 0000000..bedbab8 --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/dbobjectdialogs.h @@ -0,0 +1,67 @@ +#ifndef DBOBJECTDIALOGS_H +#define DBOBJECTDIALOGS_H + +#include "db/db.h" +#include "guiSQLiteStudio_global.h" +#include <QString> +#include <QStringList> + +class QWidget; +class MainWindow; +class MdiArea; +class TableWindow; +class ViewWindow; + +class GUI_API_EXPORT DbObjectDialogs : public QObject +{ + public: + explicit DbObjectDialogs(Db* db); + DbObjectDialogs(Db* db, QWidget* parentWidget); + + TableWindow* addTable(); + TableWindow* editTable(const QString& database, const QString& table); + TableWindow* addTableSimilarTo(const QString& database, const QString& table); + + void addIndex(const QString& table); + void editIndex(const QString& index); + + void addTriggerOnTable(const QString& table); + void addTriggerOnView(const QString& view); + void addTrigger(const QString& table, const QString& view); + void editTrigger(const QString& trigger); + + ViewWindow* addView(const QString& initialSelect = QString()); + ViewWindow* editView(const QString& database, const QString& view); + + void editObject(const QString& name); + void editObject(const QString& database, const QString& name); + bool dropObject(const QString& name); + bool dropObject(const QString& database, const QString& name); + + bool getNoConfirmation() const; + void setNoConfirmation(bool value); + + bool getNoSchemaRefreshing() const; + void setNoSchemaRefreshing(bool value); + + private: + enum class Type + { + TABLE = 0, + INDEX = 1, + TRIGGER = 2, + VIEW = 3, + UNKNOWN = -1 + }; + + Type getObjectType(const QString& database, const QString& name); + + Db* db = nullptr; + QWidget* parentWidget = nullptr; + MainWindow* mainWindow = nullptr; + MdiArea* mdiArea = nullptr; + bool noConfirmation = false; + bool noSchemaRefreshing = false; +}; + +#endif // DBOBJECTDIALOGS_H |
