]> SALOME platform Git repositories - modules/multipr.git/blob - src/MULTIPRGUI/MULTIPR_GUI_Dlg.h
Salome HOME
0ae32c58a49e97452f86cd4e741f0615b3662a84
[modules/multipr.git] / src / MULTIPRGUI / MULTIPR_GUI_Dlg.h
1 // Project MULTIPR, IOLS WP1.2.1 - EDF/CS
2 // Partitioning/decimation module for the SALOME v3.2 platform
3
4 /**
5  * \file    MULTIPR_GUI_Dlg.h
6  *
7  * \brief   MULTIPR GUI Dialog (QT)
8  *
9  * \author  Olivier LE ROUX - CS, Virtual Reality Dpt
10  * 
11  * \date    01/2007
12  */
13
14 #ifndef __MULTIPR_GUI_DLG__
15 #define __MULTIPR_GUI_DLG__
16
17
18 //*****************************************************************************
19 // Includes section
20 //*****************************************************************************
21
22 #include <qdialog.h>
23 #include <qprogressdialog.h>
24
25 #include "MULTIPR_ProgressCallback.hxx"
26
27
28 //*****************************************************************************
29 // Pre-declaration
30 //*****************************************************************************
31
32 class SalomeApp_Application;
33 class CAM_Module;
34
35 class QVBoxLayout;
36 class QHBoxLayout;
37 class QGridLayout;
38 class QSpacerItem;
39 class QButtonGroup;
40 class QLabel;
41 class QComboBox;
42 class QLineEdit;
43 class QSpinBox;
44 class QPushButton;
45
46 class MULTIPR_GUI;
47
48
49
50 //*****************************************************************************
51 // Class MULTIPR_GUI_Partition1Dlg
52 // Dialog box used for extracting groups from sequential MED file
53 //*****************************************************************************
54
55 class MULTIPR_GUI_Partition1Dlg : public QDialog
56 {
57     Q_OBJECT
58
59 public:
60     MULTIPR_GUI_Partition1Dlg(MULTIPR_GUI* theModule);
61     ~MULTIPR_GUI_Partition1Dlg();
62
63     QButtonGroup* buttonGroupProcess;
64     QPushButton* pushButtonCancel;
65     QPushButton* pushButtonOK;
66     QButtonGroup* buttonGroupSelectMesh;
67     QComboBox* comboBoxSelectMesh;
68     QLabel* textLabelSelectMesh;
69
70 protected slots:
71         void accept();
72         void reject();
73         
74 private:
75         MULTIPR_GUI* mModule;
76
77 };
78
79
80 //*****************************************************************************
81 // Class MULTIPR_GUI_Partition2Dlg
82 // Dialog box used for splitting a group (use MEDSPLITTER)
83 //*****************************************************************************
84
85 class MULTIPR_GUI_Partition2Dlg : public QDialog
86 {
87     Q_OBJECT
88
89 public:
90     MULTIPR_GUI_Partition2Dlg(MULTIPR_GUI* theModule);
91     ~MULTIPR_GUI_Partition2Dlg();
92
93     QButtonGroup* buttonGroupSplitParameters;
94     QLabel* textLabelSelectNbParts;
95     QLabel* textLabelSelectSplitter;
96     QComboBox* comboBoxSelectSplitter;
97     QSpinBox* spinBoxNbParts;
98     QButtonGroup* buttonGroupProcess;
99     QPushButton* pushButtonOK;
100     QPushButton* pushButtonCancel;
101
102 protected slots:
103         void accept();
104         void reject();
105
106 private:
107         MULTIPR_GUI* mModule;
108 };
109
110
111 //*****************************************************************************
112 // Class MULTIPR_GUI_DecimateDlg
113 // Dialog box used for decimating mesh (compute 2 lower resolution: medium and low)
114 //*****************************************************************************
115
116 class MULTIPR_GUI_DecimateDlg : public QDialog
117 {
118     Q_OBJECT
119
120 public:
121     MULTIPR_GUI_DecimateDlg(MULTIPR_GUI* theModule);
122     ~MULTIPR_GUI_DecimateDlg();
123
124     QButtonGroup* buttonGroupSelectField;
125     QLabel* textLabelSelectFieldName;
126     QLabel* textLabelSelectFieldIteration;
127     QComboBox* comboBoxSelectFieldIteration;
128     QComboBox* comboBoxSelectFieldName;
129     QButtonGroup* buttonGroupSelectFilter;
130     QLabel* textLabelSelectFilter;
131     QComboBox* comboBoxSelectFilter;
132     QButtonGroup* buttonGroupParameters;
133     QLabel* textLabelTMed;
134     QLabel* textLabelTLow;
135     QLabel* textLabelRadius;
136     QLabel* textLabelBoxing;
137     QLineEdit* lineEditTMed;
138     QLineEdit* lineEditTLow;
139     QLineEdit* lineEditRadius;
140     QSpinBox* spinBoxBoxing;
141     QButtonGroup* buttonGroupProcess;
142     QPushButton* pushButtonCancel;
143     QPushButton* pushButtonOK;
144         QPushButton* pushButtonThresholdAuto;
145     QPushButton* pushButtonRadiusAuto;
146
147 protected:
148
149 protected slots:
150         void accept();
151         void reject();
152         void OnRadiusAuto();
153         void OnThresholdAuto();
154
155 private:
156         MULTIPR_GUI* mModule;
157
158 };
159
160
161 //*****************************************************************************
162 // Class MULTIPR_GUI_ProgressCallbackDlg
163 //*****************************************************************************
164
165 class MULTIPR_GUI_ProgressCallbackDlg : 
166         public QProgressDialog,
167         public MULTIPR_ProgressCallback
168         
169 {
170         Q_OBJECT
171         
172 public:
173
174         MULTIPR_GUI_ProgressCallbackDlg(QWidget* parent);
175         
176         ~MULTIPR_GUI_ProgressCallbackDlg();
177         
178         virtual void start(const char* pTaskTitle, int pNumStep);
179         
180         virtual void done();
181         
182 protected:
183         
184         virtual void progress(float pPercent);
185 };
186
187
188 #endif // __MULTIPR_GUI_DLG__
189
190
191 // EOF
192