Salome HOME
This commit was generated by cvs2git to create branch 'IMPORT'.
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_InitMeshDlg.h
1 //  File      : SMESHGUI_InitMeshDlg.h
2 //  Created   : Mon May 27 10:23:17 2002
3 //  Author    : Nicolas REJNERI
4
5 //  Project   : SALOME
6 //  Module    : SMESH
7 //  Copyright : Open CASCADE 2002
8 //  $Header$
9
10 #ifndef DIALOGBOX_INIT_MESH_H
11 #define DIALOGBOX_INIT_MESH_H
12
13 #include "SALOME_Selection.h"
14 #include "SALOME_TypeFilter.hxx"
15 #include "SMESH_TypeFilter.hxx"
16
17 // QT Includes
18 #include <qvariant.h>
19 #include <qdialog.h>
20
21 // IDL Headers
22 #include <SALOMEconfig.h>
23 #include CORBA_SERVER_HEADER(GEOM_Gen)
24 #include CORBA_SERVER_HEADER(GEOM_Shape)
25 #include CORBA_SERVER_HEADER(SMESH_Gen)
26
27 class QVBoxLayout; 
28 class QHBoxLayout; 
29 class QGridLayout; 
30 class QButtonGroup;
31 class QGroupBox;
32 class QLabel;
33 class QLineEdit;
34 class QPushButton;
35 class QRadioButton;
36 class SMESHGUI;
37
38
39 //=================================================================================
40 // class    : SMESHGUI_InitMeshDlg
41 // purpose  :
42 //=================================================================================
43 class SMESHGUI_InitMeshDlg : public QDialog
44
45     Q_OBJECT
46
47 public:
48     SMESHGUI_InitMeshDlg( QWidget* parent = 0, const char* name = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0 );
49     ~SMESHGUI_InitMeshDlg();
50
51 private:
52
53     void Init( SALOME_Selection* Sel ) ;
54     void closeEvent( QCloseEvent* e ) ;
55     void enterEvent ( QEvent * ) ;
56
57     SMESHGUI*                     mySMESHGUI ;
58     SALOME_Selection*             mySelection ;
59              
60     GEOM::GEOM_Shape_var                myGeomShape ;
61     int                           myConstructorId ; 
62     QLineEdit*                    myEditCurrentArgument; 
63
64     QString                       myNameMesh ;
65
66     Handle(SALOME_TypeFilter)     myGeomFilter;
67     Handle(SMESH_TypeFilter)      myHypothesisFilter;
68     Handle(SMESH_TypeFilter)      myAlgorithmFilter;
69
70     SALOME_ListIO                 HypoList;
71     SALOME_ListIO                 AlgoList;
72
73     bool                          myOkHypothesis;
74     bool                          myOkAlgorithm;
75
76     SMESH::SMESH_Hypothesis_var   myHypothesis;
77     SMESH::SMESH_Hypothesis_var   myAlgorithm;
78
79     SMESH::SMESH_Mesh_var         myMesh;
80
81     QButtonGroup* GroupConstructors;
82     QRadioButton* Constructor1;
83     QGroupBox*    GroupButtons;
84     QPushButton*  buttonOk;
85     QPushButton*  buttonCancel;
86     QPushButton*  buttonApply;
87     QGroupBox*    GroupC1;
88     QLabel*       TextLabel_NameMesh ;
89     QLineEdit*    LineEdit_NameMesh ;
90     QLabel*       TextLabelC1A1;
91     QPushButton*  SelectButtonC1A1;
92     QLineEdit*    LineEditC1A1;
93
94     QLabel*       TextLabelC1A1Hyp;
95     QPushButton*  SelectButtonC1A1Hyp;
96     QLineEdit*    LineEditC1A1Hyp;
97
98     QLabel*       TextLabelC1A1Algo;
99     QPushButton*  SelectButtonC1A1Algo;
100     QLineEdit*    LineEditC1A1Algo;
101
102 private slots:
103
104     void ConstructorsClicked(int constructorId);
105     void ClickOnOk();
106     void ClickOnCancel();
107     void ClickOnApply();
108     void SetEditCurrentArgument() ;
109     void SelectionIntoArgument() ;
110     void DeactivateActiveDialog() ;
111     void ActivateThisDialog() ;
112     void TextChangedInLineEdit(const QString& newText) ;
113
114 protected:
115     QGridLayout* SMESHGUI_InitMeshDlgLayout;
116     QGridLayout* GroupConstructorsLayout;
117     QGridLayout* GroupButtonsLayout;
118     QGridLayout* GroupC1Layout;
119 };
120
121 #endif // DIALOGBOX_INIT_MESH_H