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/formmanager.h | |
Imported Upstream version 2.99.6upstream/2.99.6
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/formmanager.h')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/formmanager.h | 43 |
1 files changed, 43 insertions, 0 deletions
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 <QHash> +#include <QString> + +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<QString,QString> 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 |
