From 7167ce41b61d2ba2cdb526777a4233eb84a3b66a Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Sat, 6 Dec 2014 17:33:25 -0500 Subject: Imported Upstream version 2.99.6 --- SQLiteStudio3/guiSQLiteStudio/formmanager.h | 43 +++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 SQLiteStudio3/guiSQLiteStudio/formmanager.h (limited to 'SQLiteStudio3/guiSQLiteStudio/formmanager.h') diff --git a/SQLiteStudio3/guiSQLiteStudio/formmanager.h b/SQLiteStudio3/guiSQLiteStudio/formmanager.h new file mode 100644 index 0000000..41f98ce --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/formmanager.h @@ -0,0 +1,43 @@ +#ifndef FORMMANAGER_H +#define FORMMANAGER_H + +#include "guiSQLiteStudio_global.h" +#include "mainwindow.h" +#include +#include + +class UiLoader; + +class GUI_API_EXPORT FormManager : public QObject +{ + Q_OBJECT + + public: + FormManager(); + virtual ~FormManager(); + + QWidget* createWidget(const QString& name); + bool hasWidget(const QString& name); + QStringList getAvailableForms() const; + + private: + void init(); + void load(); + void loadRecurently(const QString& path, const QString& prefix = ""); + QString getWidgetName(const QString& path); + QWidget* createWidgetByFullPath(const QString& path); + + UiLoader* uiLoader = nullptr; + QHash widgetNameToFullPath; + QStringList resourceForms; + + private slots: + void rescanResources(Plugin* plugin, PluginType* pluginType); + void rescanResources(const QString& pluginName); + void pluginsAboutToMassUnload(); + void pluginsInitiallyLoaded(); +}; + +#define FORMS MainWindow::getInstance()->getFormManager() + +#endif // FORMMANAGER_H -- cgit v1.2.3