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