QCAD Application Framework
CAD Application Development and Automation.
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RWidgetFactory.h
Go to the documentation of this file.
1 #ifndef RWIDGETFACTORY_H
2 #define RWIDGETFACTORY_H
3 
4 #include <QDialog>
5 #include <QLineEdit>
6 #include <QString>
7 #include <QMetaType>
8 #include <QWidget>
9 
10 #include "RDocument.h"
11 #include "RHeaderDialog.h"
12 
13 #ifndef RDEFAULT_QString
14 #define RDEFAULT_QString QString()
15 #endif
16 
22 public:
23  static QWidget* createWidget(const QString& basePath, const QString& uiFile, QWidget* parent = NULL);
24  static QDialog* createDialog(const QString& basePath, const QString& uiFile, QWidget* parent = NULL);
25 
29  static QPair<QString, QString> getKey(const QString& group, QObject& obj);
30  static void saveState(QObject *widget, const QString& groupIn = RDEFAULT_QString,
31  RDocument* document = NULL, QMap<QString, QVariant> *map = NULL);
32  static void restoreState(QWidget* widget, const QString& groupIn = RDEFAULT_QString,
33  QObject* signalReceiver = NULL, bool reset = false,
34  RDocument* document = NULL, QMap<QString, QVariant>* map = NULL);
35  static void resetState(QWidget* widget, const QString& group);
36 
37  static void connect(QObject* signalSender, const char* signal, QObject* signalReceiver, const QString& objectName, bool isValue = true);
38  /*
39  static void moveChildren(QWidget* sourceWidget, QWidget* targetWidget, const QString& settingsGroup);
40  static void initLineEdit(QLineEdit* lineEdit, bool dimension);
41  */
42 
43 private:
44  static bool requiresRestart;
45  static QWidget* topLevelWidget;
46 };
47 
50 
51 #endif