]> SALOME platform Git repositories - modules/multipr.git/blob - src/MULTIPRGUI/MULTIPR_GUI_Dlg.h
Salome HOME
*** empty log message ***
[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 //*****************************************************************************
189 // Class MULTIPR_GUI_EmptyMeshCallbackDlg
190 //*****************************************************************************
191
192 class MULTIPR_GUI_EmptyMeshCallbackDlg : public MULTIPR_EmptyMeshCallback   
193 {   
194 public:
195
196     MULTIPR_GUI_EmptyMeshCallbackDlg(QWidget* parent);
197     
198     ~MULTIPR_GUI_EmptyMeshCallbackDlg();
199     
200     virtual void reportEmptyMesh(std::string pInfo);
201     
202 protected:
203
204     QWidget* mParent;
205
206 };
207
208
209 #endif // __MULTIPR_GUI_DLG__
210
211
212 // EOF
213