Salome HOME
Add in GUI control for merging equal elements
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_EditMeshDlg.h
1
2 #ifndef DIALOGBOX_GETMESH_H
3 #define DIALOGBOX_GETMESH_H
4
5 #include "SalomeApp_SelectionMgr.h"
6 #include "SUIT_SelectionFilter.h"
7
8 // QT Includes
9 #include <qdialog.h>
10
11 // Open CASCADE Includes
12
13 class QGridLayout;
14 class QButtonGroup;
15 class QGroupBox;
16 class QLabel;
17 class QLineEdit;
18 class QPushButton;
19 class QRadioButton;
20 class SMESHGUI;
21
22 // IDL Headers
23 #include <SALOMEconfig.h>
24 #include CORBA_SERVER_HEADER(SMESH_Mesh)
25
26 //=================================================================================
27 // class    : SMESHGUI_EditMeshDlg
28 // purpose  : 
29 //=================================================================================
30 class SMESHGUI_EditMeshDlg : public QDialog
31 {
32   Q_OBJECT;
33
34  public:
35   SMESHGUI_EditMeshDlg (SMESHGUI  * theModule,
36                         const char* title,
37                         const char* icon,
38                         int         theAction);
39   ~SMESHGUI_EditMeshDlg();
40
41  private:
42   void Init();
43   void closeEvent (QCloseEvent*);
44   void enterEvent (QEvent*);              /* mouse enter the QWidget */
45   void hideEvent  (QHideEvent*);          /* ESC key */
46
47  private:
48   SMESHGUI*               mySMESHGUI;     /* Current SMESHGUI object */
49   SalomeApp_SelectionMgr* mySelectionMgr; /* User shape selection */
50
51   SMESH::SMESH_Mesh_var   myMesh;
52   SUIT_SelectionFilter*   myMeshFilter;
53
54   int myAction;
55
56   // Widgets
57   QButtonGroup* GroupConstructors;
58   QRadioButton* Constructor1;
59
60   QGroupBox* GroupButtons;
61   QPushButton* buttonOk;
62   QPushButton* buttonCancel;
63   QPushButton* buttonApply;
64
65   QGroupBox* GroupMesh;
66   QLabel* TextLabelMesh;
67   QPushButton* SelectButton;
68   QLineEdit* LineEditMesh;
69
70   //protected:
71   QGridLayout* DlgLayout;
72   QGridLayout* GroupConstructorsLayout;
73   QGridLayout* GroupButtonsLayout;
74   QGridLayout* GroupMeshLayout;
75
76  private slots:
77   void ClickOnOk();
78   void ClickOnCancel();
79   void ClickOnApply();
80   void SelectionIntoArgument();
81   void DeactivateActiveDialog();
82   void ActivateThisDialog();
83 };
84
85 #endif // DIALOGBOX_GETMESH_H