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