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