]> SALOME platform Git repositories - modules/multipr.git/blob - src/MULTIPRGUI/MULTIPR_GUI.h
Salome HOME
*** empty log message ***
[modules/multipr.git] / src / MULTIPRGUI / MULTIPR_GUI.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.h
6  *
7  * \brief   MULTIPR GUI (QT)
8  *
9  * \author  Olivier LE ROUX - CS, Virtual Reality Dpt
10  * 
11  * \date    01/2007
12  */
13
14 #ifndef __MULTIPR_GUI__
15 #define __MULTIPR_GUI__
16
17
18 //*****************************************************************************
19 // Includes section
20 //*****************************************************************************
21
22 #include <SalomeApp_Module.h>
23 #include <LightApp_DataObject.h>
24 #include <LightApp_DataModel.h>
25
26 #include <SALOMEconfig.h>
27 #include CORBA_CLIENT_HEADER(MULTIPR)
28
29 #include "MULTIPR_ProgressCallback.hxx"
30
31
32 //*****************************************************************************
33 // Pre-declaration
34 //*****************************************************************************
35
36 class SalomeApp_Application;
37 class CAM_Module;
38
39 class QVBoxLayout;
40 class QHBoxLayout;
41 class QGridLayout;
42 class QSpacerItem;
43 class QButtonGroup;
44 class QLabel;
45 class QComboBox;
46 class QLineEdit;
47 class QSpinBox;
48 class QPushButton;
49
50
51 //*****************************************************************************
52 // Class MULTIPR_GUI
53 // Salome Application
54 //*****************************************************************************
55
56 class MULTIPR_GUI: public SalomeApp_Module
57 {
58     Q_OBJECT
59
60 public:
61
62     MULTIPR_GUI();
63     
64     virtual ~MULTIPR_GUI();
65     
66     void initialize(CAM_Application*);
67     
68     QString engineIOR() const;
69     
70     void windows(QMap<int, int>&) const;
71     
72     MULTIPR_ORB::MULTIPR_Obj_ptr getMULTIPRObj();
73     
74     SalomeApp_Application* getAppli() const;
75     
76     void selected(QStringList&, const bool);
77     
78     const QStringList& getSelectedParts() const { return mSelectedParts; }
79
80 public slots:
81
82     bool deactivateModule(SUIT_Study*);
83     bool activateModule(SUIT_Study*);
84
85 protected slots:
86
87     void OnImportFromMEDFile();
88     void OnPartition1();
89     void OnPartition2();
90     void OnDecimate();
91     void OnRemove();
92     void OnSave();
93     
94 protected:
95
96     virtual CAM_DataModel* createDataModel();
97     
98     void retrieveSelectedParts();
99     bool isPartExist(const char* partName);
100     bool removeLowerResolution();
101     
102 protected:
103
104     enum 
105     { 
106         ACTION_IMPORT_MED = 190,
107         ACTION_SAVE,
108         ACTION_REMOVE,
109         ACTION_SPLIT,
110         ACTION_DECIMATE
111     };
112     
113 private:
114
115     QString                      mMEDFileName;
116     QStringList                  mSelectedParts;
117     MULTIPR_ORB::MULTIPR_Obj_ptr mMULTIPRObj;
118   
119 }; // class MULTIPR_GUI
120
121
122 //*****************************************************************************
123 // Class MULTIPR_GUI_DataObject
124 // To use Object Browser
125 //*****************************************************************************
126
127 class MULTIPR_GUI_DataObject : public LightApp_DataObject
128 {
129 public:
130
131     MULTIPR_GUI_DataObject(SUIT_DataObject* parent, const char* name);
132     virtual ~MULTIPR_GUI_DataObject();
133     
134     virtual QString entry()   const;
135     virtual QString name()    const;
136     virtual QPixmap icon()    const;
137     virtual QString toolTip() const;
138
139 protected:
140
141     QString mName;
142 };
143
144
145 //*****************************************************************************
146 // Class MULTIPR_GUI_DataObject_Module
147 //*****************************************************************************
148
149 class MULTIPR_GUI_DataObject_Module : public MULTIPR_GUI_DataObject, public LightApp_ModuleObject
150 {
151 public:
152
153     MULTIPR_GUI_DataObject_Module(CAM_DataModel* dm, SUIT_DataObject* parent, const char* name);
154     virtual ~MULTIPR_GUI_DataObject_Module();
155     
156     virtual QString entry()   const;
157     virtual QString name()    const;
158     virtual QPixmap icon()    const;
159     virtual QString toolTip() const;
160 };
161
162
163 //*****************************************************************************
164 // Class MULTIPR_GUI_DataObject_Mesh
165 //*****************************************************************************
166
167 class MULTIPR_GUI_DataObject_Mesh : public MULTIPR_GUI_DataObject
168 {
169 public:
170
171     MULTIPR_GUI_DataObject_Mesh(SUIT_DataObject* parent, const char* name);
172     virtual ~MULTIPR_GUI_DataObject_Mesh();
173     
174     virtual QString entry()   const;
175     virtual QPixmap icon()    const;
176     virtual QString toolTip() const;
177 };
178
179
180 //*****************************************************************************
181 // Class MULTIPR_GUI_DataObject_Part
182 //*****************************************************************************
183
184 class MULTIPR_GUI_DataObject_Part : public MULTIPR_GUI_DataObject
185 {
186 public:
187
188     MULTIPR_GUI_DataObject_Part(SUIT_DataObject* parent, const char* name, const char* info);
189     virtual ~MULTIPR_GUI_DataObject_Part();
190     
191     virtual QString entry()   const;
192     virtual QPixmap icon()    const;
193     virtual QString toolTip() const;
194
195 protected:
196
197     QString mMeshName;
198     int     mId;
199     QString mPath;
200     QString mMEDFileName;
201     QString mTooltip;
202 };
203
204
205 //*****************************************************************************
206 // Class MULTIPR_GUI_DataObject_Resolution
207 //*****************************************************************************
208
209 class MULTIPR_GUI_DataObject_Resolution : public MULTIPR_GUI_DataObject_Part
210 {
211 public:
212
213     MULTIPR_GUI_DataObject_Resolution(SUIT_DataObject* parent, const char* name, const char* info);
214     virtual ~MULTIPR_GUI_DataObject_Resolution();
215     
216     virtual QString entry()   const;
217     virtual QPixmap icon()    const;
218     virtual QString toolTip() const;
219 };
220
221
222 //*****************************************************************************
223 // Class MULTIPR_GUI_DataModel
224 //*****************************************************************************
225
226 class MULTIPR_GUI_DataModel : public LightApp_DataModel
227 {
228 public:
229
230     MULTIPR_GUI_DataModel(CAM_Module*);
231     virtual ~MULTIPR_GUI_DataModel();
232
233 protected:
234
235     virtual void build();
236     
237 private:
238
239     MULTIPR_GUI* mMULTIPR_GUI;
240 };
241
242
243 #endif // __MULTIPR_GUI__
244
245
246 // EOF
247