Salome HOME
NRI : Replace Geometry by GEOM.
[modules/geom.git] / src / GEOMGUI / GeometryGUI_PipeDlg.h
1 //  File      : GeometryGUI_PipeDlg.h
2 //  Created   :
3 //  Author    : Lucien PIGNOLONI
4 //  Project   : SALOME
5 //  Module    : GeometryGUI
6 //  Copyright : OPEN CASCADE
7 //  $Header$
8
9 #ifndef DIALOGBOX_PIPE_H
10 #define DIALOGBOX_PIPE_H
11
12 #include "SALOME_Selection.h"
13 #include "GEOM_ShapeTypeFilter.hxx"
14
15 #include <BRepOffsetAPI_MakePipe.hxx>
16
17 #include <qvariant.h>
18 #include <qdialog.h>
19
20 class QVBoxLayout; 
21 class QHBoxLayout; 
22 class QGridLayout; 
23 class QButtonGroup;
24 class QGroupBox;
25 class QLabel;
26 class QLineEdit;
27 class QPushButton;
28 class QRadioButton;
29 class GeometryGUI;
30
31
32 //=================================================================================
33 // class    : GeometryGUI_PipeDlg
34 // purpose  :
35 //=================================================================================
36 class GeometryGUI_PipeDlg : public QDialog
37
38     Q_OBJECT
39
40 public:
41     GeometryGUI_PipeDlg( QWidget* parent = 0, const char* name = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0 );
42     ~GeometryGUI_PipeDlg();
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     TopoDS_Shape          myShape1 ;              /* topology used */
54     TopoDS_Shape          myShape2 ;              /* topology used */
55     GEOM::GEOM_Shape_var        myGeomShape1 ;          /* is myShape1 */
56     GEOM::GEOM_Shape_var        myGeomShape2 ;          /* is myShape2 */
57     bool                  myOkShape1 ;
58     bool                  myOkShape2 ;            /* to check when arguments are defined */
59     int                   myConstructorId ;       /* Current constructor id = radio button id */
60     QLineEdit*            myEditCurrentArgument;  /* Current LineEdit */
61     // Handle(GEOM_ShapeTypeFilter) myEdgFilter ;   /* Filter selection */
62     // Handle(GEOM_ShapeTypeFilter) myWireFilter ;  /* Filter selection */
63
64     TopoDS_Shape          mySimulationTopoDs ;    /* Shape used for simulation display */
65
66     QButtonGroup* GroupConstructors;
67     QRadioButton* Constructor1;
68     QGroupBox* GroupButtons;
69     QPushButton* buttonOk;
70     QPushButton* buttonCancel;
71     QPushButton* buttonApply;
72     QGroupBox* GroupC1;
73     QLineEdit* LineEditC1A1;
74     QPushButton* SelectButtonC1A1;
75     QLabel* TextLabelC1A1;
76     QLabel* TextLabelC1A2;
77     QPushButton* SelectButtonC1A2;
78     QLineEdit* LineEditC1A2;
79
80 private slots:
81
82     void ConstructorsClicked(int constructorId);
83     void ClickOnOk();
84     void ClickOnCancel();
85     void ClickOnApply();
86     void SetEditCurrentArgument() ;
87     void SelectionIntoArgument() ;
88     void LineEditReturnPressed() ;
89     void DeactivateActiveDialog() ;
90     void ActivateThisDialog() ;
91
92 protected:
93     QGridLayout* GeometryGUI_PipeDlgLayout;
94     QGridLayout* GroupConstructorsLayout;
95     QGridLayout* GroupButtonsLayout;
96     QGridLayout* GroupC1Layout;
97 };
98
99 #endif // DIALOGBOX_PIPE_H