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/uiloader.h | 33 ++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 SQLiteStudio3/guiSQLiteStudio/uiloader.h (limited to 'SQLiteStudio3/guiSQLiteStudio/uiloader.h') diff --git a/SQLiteStudio3/guiSQLiteStudio/uiloader.h b/SQLiteStudio3/guiSQLiteStudio/uiloader.h new file mode 100644 index 0000000..5d16bcb --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/uiloader.h @@ -0,0 +1,33 @@ +#ifndef UILOADER_H +#define UILOADER_H + +#include "guiSQLiteStudio_global.h" +#include +#include +#include +#include + +class UiLoaderPropertyHandler; + +class GUI_API_EXPORT UiLoader : public QUiLoader +{ + Q_OBJECT + public: + typedef std::function FactoryFunction; + + explicit UiLoader(QObject *parent = 0); + + QWidget* createWidget(const QString & className, QWidget * parent = 0, const QString & name = QString()); + void registerWidgetClass(const QString& className, FactoryFunction factoryFunction); + void registerPropertyHandler(UiLoaderPropertyHandler* handler); + QWidget* load(const QString& path); + + private: + void handlePropertiesRecursively(QWidget* widget); + void handleProperties(QWidget* widget); + + QHash registeredClasses; + QList propertyHandlers; +}; + +#endif // UILOADER_H -- cgit v1.2.3