Salome HOME
Task 2.4. Ability to modify the radius of circles and arcs of circle with the mouse
[modules/shaper.git] / src / ModuleBase / ModuleBase_PageGroupBox.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2 /*
3  * ModuleBase_PageGroupBox.h
4  *
5  *  Created on: Mar 4, 2015
6  *      Author: sbh
7  */
8
9 #ifndef MODULEBASE_PAGEGROUPBOX_H_
10 #define MODULEBASE_PAGEGROUPBOX_H_
11
12 #include <ModuleBase.h>
13 #include <ModuleBase_PageBase.h>
14
15 #include <QGroupBox>
16 #include <QList>
17
18 class ModuleBase_ModelWidget;
19 class QGridLayout;
20
21
22 /*!
23  * \ingroup GUI
24  * Represent a property panel's list of ModuleBase_ModelWidgets.
25  */
26 class MODULEBASE_EXPORT ModuleBase_PageGroupBox : public QGroupBox, public ModuleBase_PageBase
27 {
28   Q_OBJECT
29  public:
30   /// Constructs a page that looks like a QGroupBox
31   explicit ModuleBase_PageGroupBox(QWidget* theParent = 0);
32   /// Destructs the page
33   virtual ~ModuleBase_PageGroupBox();
34
35  protected:
36   /// Adds the given widget to page's layout
37   virtual void placeModelWidget(ModuleBase_ModelWidget* theWidget);
38   /// Adds the given page to page's layout
39   virtual void placeWidget(QWidget* theWidget);
40   /// Returns page's layout (QGridLayout)
41   virtual QLayout* pageLayout();
42   /// Adds a stretch to page's layout
43   virtual void addPageStretch();
44
45  private:
46   QGridLayout* myMainLayout; ///< page's layout
47 };
48
49 #endif /* MODULEBASE_PAGEGROUPBOX_H_ */