Salome HOME
NRI : First integration.
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_AddEdgeDlg.h
1 //  File      : SMESHGUI_AddEdgeDlg.h
2 //  Created   : Wed Jun 26 21:00:41 2002
3 //  Author    : Nicolas REJNERI
4
5 //  Project   : SALOME
6 //  Module    : SMESH
7 //  Copyright : Open CASCADE 2002
8 //  $Header$
9
10
11 #ifndef DIALOGBOX_ADD_EDGE_H
12 #define DIALOGBOX_ADD_EDGE_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 QCheckBox;
33 class SMESHGUI;
34
35 // IDL Headers
36 #include <SALOMEconfig.h>
37 #include CORBA_SERVER_HEADER(SMESH_Mesh)
38
39 //=================================================================================
40 // class    : SMESHGUI_AddEdgeDlg
41 // purpose  :
42 //=================================================================================
43 class SMESHGUI_AddEdgeDlg : public QDialog
44
45     Q_OBJECT
46
47 public:
48     SMESHGUI_AddEdgeDlg( QWidget* parent = 0, const char* name = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0 );
49     ~SMESHGUI_AddEdgeDlg();
50
51 private:
52
53     void Init( SALOME_Selection* Sel ) ;
54     void closeEvent( QCloseEvent* e ) ;
55     void enterEvent ( QEvent * ) ;                          /* mouse enter the QWidget */
56
57     SMESHGUI*                     mySMESHGUI ;              /* Current SMESHGUI object */
58     SALOME_Selection*             mySelection ;             /* User shape selection */
59     bool                          myOkNodes ;               /* to check when arguments is defined */
60
61     int                           myNodes ;
62     int                           myConstructorId ;         /* Current constructor id = radio button id */
63     QLineEdit*                    myEditCurrentArgument;    /* Current  LineEdit */
64
65     SMESH::SMESH_Mesh_var         myMesh;
66     TColStd_MapOfInteger          myMapIndex;
67     
68     QButtonGroup* GroupConstructors;
69     QRadioButton* Constructor1;
70     QGroupBox* GroupButtons;
71     QPushButton* buttonOk;
72     QPushButton* buttonCancel;
73     QPushButton* buttonApply;
74     QGroupBox* GroupC1;
75     QLabel* TextLabelC1A1;
76     QPushButton* SelectButtonC1A1;
77     QLineEdit* LineEditC1A1;
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 DeactivateActiveDialog() ;
88     void ActivateThisDialog() ;
89
90 protected:
91     QGridLayout* SMESHGUI_AddEdgeDlgLayout;
92     QGridLayout* GroupConstructorsLayout;
93     QGridLayout* GroupButtonsLayout;
94     QGridLayout* GroupC1Layout;
95 };
96
97 #endif // DIALOGBOX_ADD_EDGE_H