]> SALOME platform Git repositories - modules/geom.git/blob - src/GEOMGUI/GeometryGUI_DistanceDlg.h
Salome HOME
NRI : First integration.
[modules/geom.git] / src / GEOMGUI / GeometryGUI_DistanceDlg.h
1 //  File      : GeometryGUI_DistanceDlg.h
2 //  Created   : Mon Mar 04 22:34:22 2002
3 //  Author    : Nicolas REJNERI
4 //  Project   : SALOME
5 //  Module    : GEOM
6 //  Copyright : Open CASCADE 2002
7 //  $Header$
8
9
10 #ifndef DIALOGBOX_DISTANCE_H
11 #define DIALOGBOX_DISTANCE_H
12
13 #include "SALOME_Selection.h"
14 #include "GEOM_ShapeTypeFilter.hxx"
15
16 #include <BRepExtrema_DistShapeShape.hxx>
17 #include <AIS_LengthDimension.hxx>
18
19 #include <qvariant.h>
20 #include <qdialog.h>
21
22 class QVBoxLayout; 
23 class QHBoxLayout; 
24 class QGridLayout; 
25 class QButtonGroup;
26 class QFrame;
27 class QGroupBox;
28 class QLabel;
29 class QLineEdit;
30 class QPushButton;
31 class QRadioButton;
32 class GeometryGUI;
33
34
35 //=================================================================================
36 // class    : GeometryGUI_DistanceDlg
37 // purpose  :
38 //=================================================================================
39 class GeometryGUI_DistanceDlg : public QDialog
40
41     Q_OBJECT
42
43 public:
44     GeometryGUI_DistanceDlg( QWidget* parent = 0, const char* name = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0 );
45     ~GeometryGUI_DistanceDlg();
46
47 private:
48
49     void Init( SALOME_Selection* Sel ) ;
50     void closeEvent( QCloseEvent* e ) ;
51     void enterEvent ( QEvent * ) ;                /* mouse enter the QWidget */
52     void MakeDistanceSimulationAndDisplay( const TopoDS_Shape& S1, const TopoDS_Shape& S2 ) ;
53     void EraseDistance() ;
54
55     GEOM::GEOM_Gen_var myGeom ;                /* Current GeomI object */
56     GeometryGUI*          myGeomGUI ;             /* Current GeomGUI object */
57     SALOME_Selection*     mySelection ;           /* User shape selection */
58     TopoDS_Shape          myShape1 ;              
59     TopoDS_Shape          myShape2 ;              
60     GEOM::GEOM_Shape_var        myGeomShape1 ;          
61     GEOM::GEOM_Shape_var        myGeomShape2 ;          
62     bool                  myOkShape1 ;
63     bool                  myOkShape2 ;            /* to check when arguments are defined */
64     int                   myConstructorId ;       /* Current constructor id = radio button id */
65     QLineEdit*            myEditCurrentArgument;  /* Current LineEdit */    
66     TopoDS_Shape          mySimulationTopoDs;     /* Shape used for simulation display */
67
68     QButtonGroup* GroupConstructors;
69     QRadioButton* Constructor1;
70
71     QGroupBox* GroupConstructor1;
72     QLineEdit* LineEditC1A1Shape;
73     QLineEdit* LineEditC1A2Shape;
74     QPushButton* SelectButtonC1A1Shape;
75     QPushButton* SelectButtonC1A2Shape;
76     QLabel* TextLabelC1A2Shape;
77     QLabel* TextLabelC1A1Shape;
78
79     QLabel* TextLabel_Length;
80     QLineEdit* LineEdit_Length;
81
82     QGroupBox* GroupButtons;
83     QPushButton* buttonApply;
84     QPushButton* buttonOk;
85     QPushButton* buttonCancel;
86
87 private slots:
88
89     void ConstructorsClicked(int constructorId);
90     void ClickOnOk();
91     void ClickOnCancel();
92     void ClickOnApply();
93     void SetEditCurrentArgument() ;
94     void SelectionIntoArgument() ;
95     void LineEditReturnPressed() ;
96     void DeactivateActiveDialog() ;
97     void ActivateThisDialog() ;
98
99 protected:
100     QGridLayout* GeometryGUI_DistanceDlgLayout;
101     QGridLayout* GroupConstructorsLayout;
102     QGridLayout* GroupButtonsLayout;
103     QGridLayout* GroupConstructor1Layout;
104 };
105
106 #endif // DIALOGBOX_DISTANCE_H