Salome HOME
NRI : Change lGeometryClient by lGEOMClient.
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_OrientationElementsDlg.h
1 //  File      : SMESHGUI_OrientationElementsDlg.h
2 //  Created   : Tue Jun 25 14:30:34 2002
3 //  Author    : Nicolas REJNERI
4
5 //  Project   : SALOME
6 //  Module    : SMESH
7 //  Copyright : Open CASCADE 2002
8 //  $Header$
9
10
11 #ifndef DIALOGBOX_ORIENTATION_ELEMENTS_H
12 #define DIALOGBOX_ORIENTATION_ELEMENTS_H
13
14 #include "SALOME_Selection.h"
15
16 // QT Includes
17 #include <qvariant.h>
18 #include <qdialog.h>
19
20 // Open CASCADE Includes
21 #include <TColStd_MapOfInteger.hxx>
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 SMESHGUI;
33
34 // IDL Headers
35 #include <SALOMEconfig.h>
36 #include CORBA_SERVER_HEADER(SMESH_Mesh)
37
38 //=================================================================================
39 // class    : SMESHGUI_OrientationElementsDlg
40 // purpose  :
41 //=================================================================================
42 class SMESHGUI_OrientationElementsDlg : public QDialog
43
44     Q_OBJECT
45
46 public:
47     SMESHGUI_OrientationElementsDlg( QWidget* parent = 0, const char* name = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0 );
48     ~SMESHGUI_OrientationElementsDlg();
49
50 private:
51
52     void Init( SALOME_Selection* Sel ) ;
53     void closeEvent( QCloseEvent* e ) ;
54     void enterEvent ( QEvent * ) ;                          /* mouse enter the QWidget */
55
56     SMESHGUI*                     mySMESHGUI ;              /* Current SMESHGUI object */
57     SALOME_Selection*             mySelection ;             /* User shape selection */
58     bool                          myOkElements ;               /* to check when arguments is defined */
59     int                           myConstructorId ;         /* Current constructor id = radio button id */
60     QLineEdit*                    myEditCurrentArgument;    /* Current  LineEdit */
61
62     SMESH::SMESH_Mesh_var         myMesh;
63     TColStd_MapOfInteger          myMapIndex;
64     
65     QButtonGroup* GroupConstructors;
66     QRadioButton* Constructor1;
67     QGroupBox* GroupButtons;
68     QPushButton* buttonOk;
69     QPushButton* buttonCancel;
70     QPushButton* buttonApply;
71     QGroupBox* GroupC1;
72     QLabel* TextLabelC1A1;
73     QPushButton* SelectButtonC1A1;
74     QLineEdit* LineEditC1A1;
75
76 private slots:
77
78     void ConstructorsClicked(int constructorId);
79     void ClickOnOk();
80     void ClickOnCancel();
81     void ClickOnApply();
82     void SetEditCurrentArgument() ;
83     void SelectionIntoArgument() ;
84     void DeactivateActiveDialog() ;
85     void ActivateThisDialog() ;
86
87 protected:
88     QGridLayout* SMESHGUI_OrientationElementsDlgLayout;
89     QGridLayout* GroupConstructorsLayout;
90     QGridLayout* GroupButtonsLayout;
91     QGridLayout* GroupC1Layout;
92 };
93
94 #endif // DIALOGBOX_ORIENTATION_ELEMENTS_H