Salome HOME
3241bfb2f12e7450af0415e5a5ae2a3345cee84e
[modules/shaper.git] / src / ModuleBase / ModuleBase_WidgetFactory.h
1 /*
2  * ModuleBase_WidgetFactory.h
3  *
4  *  Created on: Apr 3, 2014
5  *      Author: sbh
6  */
7
8 #ifndef ModuleBase_WidgetFactory_H_
9 #define ModuleBase_WidgetFactory_H_
10
11 #include <ModuleBase.h>
12 #include <QString>
13
14 class QObject;
15 class QWidget;
16 class Config_WidgetAPI;
17 class ModuleBase_Operation;
18
19 class MODULEBASE_EXPORT ModuleBase_WidgetFactory
20 {
21 public:
22   ModuleBase_WidgetFactory(ModuleBase_Operation*);
23   virtual ~ModuleBase_WidgetFactory();
24
25   void createWidget(QWidget* theParent);
26
27 protected:
28   //Widgets
29   QWidget* createWidgetByType(const std::string& theType, QWidget* theParent = NULL);
30   QWidget* labelControl(QWidget* theParent);
31   QWidget* doubleSpinBoxControl();
32   QWidget* pointSelectorControl(QWidget* theParent);
33   QWidget* createContainer(const std::string& theType, QWidget* theParent = NULL);
34
35   bool connectWidget(QObject*, const QString&);
36   QString qs(const std::string& theStdString) const;
37
38 private:
39   Config_WidgetAPI* myWidgetApi;
40   ModuleBase_Operation*   myOperation;
41
42
43 };
44
45 #endif /* ModuleBase_WidgetFactory_H_ */