Salome HOME
NRI : First integration.
[modules/geom.git] / src / GEOMGUI / GeometryGUI_CutDlg.h
1 //  File      : GeometryGUI_CutDlg.h
2 //  Created   :
3 //  Author    : Lucien PIGNOLONI
4 //  Project   : SALOME
5 //  Module    : GeometryGUI
6 //  Copyright : OPEN CASCADE
7 //  $Header$
8
9 #ifndef DIALOGBOX_CUT_H
10 #define DIALOGBOX_CUT_H
11
12 #include "SALOME_Selection.h"
13 #include "GEOM_ShapeTypeFilter.hxx"
14
15 #include <BRepAlgoAPI_Cut.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 QFrame;
25 class QGroupBox;
26 class QLabel;
27 class QLineEdit;
28 class QPushButton;
29 class QRadioButton;
30 class GeometryGUI;
31
32
33 //=================================================================================
34 // class    : GeometryGUI_CutDlg
35 // purpose  :
36 //=================================================================================
37 class GeometryGUI_CutDlg : public QDialog
38
39     Q_OBJECT
40
41 public:
42     GeometryGUI_CutDlg( QWidget* parent = 0, const char* name = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0 );
43     ~GeometryGUI_CutDlg();
44
45 private:
46
47     void Init( SALOME_Selection* Sel ) ;
48     void closeEvent( QCloseEvent* e ) ;
49     void enterEvent ( QEvent * ) ;                /* mouse enter the QWidget */
50
51     GEOM::GEOM_Gen_var myGeom ;                /* Current GeomI object */
52     GeometryGUI*          myGeomGUI ;             /* Current GeomGUI object */
53     SALOME_Selection*     mySelection ;           /* User shape selection */
54     TopoDS_Shape          myShape1 ;              /* topology used to fuse */
55     TopoDS_Shape          myShape2 ;              /* topology used to fuse */
56     GEOM::GEOM_Shape_var        myGeomShape1 ;          /* is myShape1 */
57     GEOM::GEOM_Shape_var        myGeomShape2 ;          /* is myShape2 */
58     bool                  myOkShape1 ;
59     bool                  myOkShape2 ;            /* to check when arguments are defined */
60     int                   myConstructorId ;       /* Current constructor id = radio button id */
61     QLineEdit*            myEditCurrentArgument;  /* Current LineEdit */
62
63     QButtonGroup* GroupConstructors;
64     QRadioButton* Constructor1;
65
66     QGroupBox* GroupConstructor1;
67     QLineEdit* LineEditC1A1Shape;
68     QLineEdit* LineEditC1A2Shape;
69     QPushButton* SelectButtonC1A1Shape;
70     QPushButton* SelectButtonC1A2Shape;
71     QLabel* TextLabelC1A2Shape;
72     QLabel* TextLabelC1A1Shape;
73
74     QGroupBox* GroupButtons;
75     QPushButton* buttonApply;
76     QPushButton* buttonOk;
77     QPushButton* buttonCancel;
78
79 private slots:
80
81     void ConstructorsClicked(int constructorId);
82     void ClickOnOk();
83     void ClickOnCancel();
84     void ClickOnApply();
85     void SetEditCurrentArgument() ;
86     void SelectionIntoArgument() ;
87     void LineEditReturnPressed() ;
88     void DeactivateActiveDialog() ;
89     void ActivateThisDialog() ;
90
91 protected:
92     QGridLayout* GeometryGUI_CutDlgLayout;
93     QGridLayout* GroupConstructorsLayout;
94     QGridLayout* GroupButtonsLayout;
95     QGridLayout* GroupConstructor1Layout;
96 };
97
98 #endif // DIALOGBOX_CUT_H