Salome HOME
NRI : First integration.
[modules/geom.git] / src / GEOMGUI / GeometryGUI_FaceDlg.h
1 //  File      : GeometryGUI_FaceDlg.h
2 //  Created   :
3 //  Author    : Lucien PIGNOLONI
4 //  Project   : SALOME
5 //  Module    : GeometryGUI
6 //  Copyright : OPEN CASCADE
7 //  $Header$
8
9 #ifndef DIALOGBOX_FACE_H
10 #define DIALOGBOX_FACE_H
11
12
13 #include "SALOME_Selection.h"
14 #include "GEOM_ShapeTypeFilter.hxx"
15
16 #include <qvariant.h>
17 #include <qdialog.h>
18
19 class QVBoxLayout; 
20 class QHBoxLayout; 
21 class QGridLayout; 
22 class QButtonGroup;
23 class QCheckBox;
24 class QGroupBox;
25 class QLabel;
26 class QLineEdit;
27 class QPushButton;
28 class QRadioButton;
29 class GeometryGUI;
30
31
32 //=================================================================================
33 // class    : GeometryGUI_FaceDlg
34 // purpose  :
35 //=================================================================================
36 class GeometryGUI_FaceDlg : public QDialog
37
38     Q_OBJECT
39
40 public:
41     GeometryGUI_FaceDlg( QWidget* parent = 0, const char* name = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0 );
42     ~GeometryGUI_FaceDlg();
43
44 private:
45
46     void Init( SALOME_Selection* Sel ) ;
47     void closeEvent( QCloseEvent* e ) ;
48     void enterEvent ( QEvent * ) ;                /* mouse enter the QWidget */
49
50     GEOM::GEOM_Gen_var myGeom ;                /* Current GeomI object */
51     GeometryGUI*          myGeomGUI ;             /* Current GeomGUI object */
52     SALOME_Selection*     mySelection ;           /* User shape selection */
53
54     TopoDS_Shape          myShape ;               /* topology used to fuse */
55     GEOM::GEOM_Shape_var        myGeomShape ;           /* is myShape */
56     bool                  myOkShape ;             /* to check when arguments is defined */
57
58     int                   myConstructorId ;       /* Current constructor id = radio button id */
59     QLineEdit*            myEditCurrentArgument;  /* Current LineEdit */
60     Handle(GEOM_ShapeTypeFilter) myWireFilter;    /* Filter selection */
61
62     QButtonGroup* GroupConstructors;
63     QRadioButton* Constructor1;
64     QGroupBox* GroupC1;
65     QLabel* TextLabelC1A1;
66     QPushButton* SelectButtonC1A1;
67     QLineEdit* LineEditC1A1;
68     QCheckBox* CheckBox1;
69     QGroupBox* GroupButtons;
70     QPushButton* buttonOk;
71     QPushButton* buttonCancel;
72     QPushButton* buttonApply;
73
74 private slots:
75
76     void ConstructorsClicked(int constructorId);
77     void ClickOnOk();
78     void ClickOnCancel();
79     void ClickOnApply();
80     void SetEditCurrentArgument() ;
81     void SelectionIntoArgument() ;
82     void LineEditReturnPressed() ;
83     void DeactivateActiveDialog() ;
84     void ActivateThisDialog() ;
85
86 protected:
87     QGridLayout* GeometryGUI_FaceDlgLayout;
88     QGridLayout* GroupConstructorsLayout;
89     QGridLayout* GroupC1Layout;
90     QGridLayout* GroupButtonsLayout;
91 };
92
93 #endif // DIALOGBOX_FACE_H