1 // Project MULTIPR, IOLS WP1.2.1 - EDF/CS
2 // Partitioning/decimation module for the SALOME v3.2 platform
7 * \brief MULTIPR GUI (QT)
9 * \author Olivier LE ROUX - CS, Virtual Reality Dpt
14 #ifndef __MULTIPR_GUI__
15 #define __MULTIPR_GUI__
18 //*****************************************************************************
20 //*****************************************************************************
22 #include <SalomeApp_Module.h>
23 #include <LightApp_DataObject.h>
24 #include <LightApp_DataModel.h>
25 #include <LightApp_RootObject.h>
27 #include <SALOMEconfig.h>
28 #include CORBA_CLIENT_HEADER(MULTIPR)
31 #include <qprogressdialog.h>
35 #include "MULTIPR_ProgressCallback.hxx"
38 //*****************************************************************************
40 //*****************************************************************************
42 class SalomeApp_Application;
57 //*****************************************************************************
60 //*****************************************************************************
62 class MULTIPR_GUI: public SalomeApp_Module
69 void initialize(CAM_Application*);
70 QString engineIOR() const;
71 void windows(QMap<int, int>&) const;
73 MULTIPR_ORB::MULTIPR_Obj_ptr getMULTIPRObj();
74 SalomeApp_Application* getAppli() const;
75 void selected(QStringList&, const bool);
77 static MULTIPR_ORB::MULTIPR_Gen_ptr InitMULTIPRGen(SalomeApp_Application*);
79 const QStringList& getSelectedParts() const { return mSelectedParts; }
82 bool deactivateModule(SUIT_Study*);
83 bool activateModule(SUIT_Study*);
86 void OnImportFromMEDFile();
92 void retrieveSelectedParts();
95 virtual CAM_DataModel* createDataModel();
101 ACTION_IMPORT_MED = 190,
108 QString mMEDFileName;
109 QStringList mSelectedParts;
110 MULTIPR_ORB::MULTIPR_Obj_ptr mMULTIPRObj;
112 }; // class MULTIPR_GUI
115 //*****************************************************************************
116 // Class MULTIPR_GUI_DataObject
117 //*****************************************************************************
119 class MULTIPR_GUI_DataObject : public LightApp_DataObject
122 MULTIPR_GUI_DataObject(SUIT_DataObject* parent, const char* name);
123 virtual ~MULTIPR_GUI_DataObject();
125 virtual QString entry() const;
126 virtual QString name() const;
127 virtual QPixmap icon() const;
128 virtual QString toolTip() const;
135 //*****************************************************************************
136 // Class MULTIPR_GUI_DataObject_Module
137 //*****************************************************************************
139 class MULTIPR_GUI_DataObject_Module : public MULTIPR_GUI_DataObject, public LightApp_ModuleObject
142 MULTIPR_GUI_DataObject_Module(CAM_DataModel* dm, SUIT_DataObject* parent, const char* name);
143 virtual ~MULTIPR_GUI_DataObject_Module();
145 virtual QString entry() const;
146 virtual QString name() const;
147 virtual QPixmap icon() const;
148 virtual QString toolTip() const;
154 //*****************************************************************************
155 // Class MULTIPR_GUI_DataObject_Mesh
156 //*****************************************************************************
158 class MULTIPR_GUI_DataObject_Mesh : public MULTIPR_GUI_DataObject
161 MULTIPR_GUI_DataObject_Mesh(SUIT_DataObject* parent, const char* name);
162 virtual ~MULTIPR_GUI_DataObject_Mesh();
164 virtual QString entry() const;
165 virtual QPixmap icon() const;
166 virtual QString toolTip() const;
172 //*****************************************************************************
173 // Class MULTIPR_GUI_DataObject_Part
174 //*****************************************************************************
176 class MULTIPR_GUI_DataObject_Part : public MULTIPR_GUI_DataObject
179 MULTIPR_GUI_DataObject_Part(SUIT_DataObject* parent, const char* name, const char* info);
180 virtual ~MULTIPR_GUI_DataObject_Part();
182 virtual QString entry() const;
183 virtual QPixmap icon() const;
184 virtual QString toolTip() const;
190 QString mMEDFileName;
195 //*****************************************************************************
196 // Class MULTIPR_GUI_DataObject_Resolution
197 //*****************************************************************************
199 class MULTIPR_GUI_DataObject_Resolution : public MULTIPR_GUI_DataObject_Part
202 MULTIPR_GUI_DataObject_Resolution(SUIT_DataObject* parent, const char* name, const char* info);
203 virtual ~MULTIPR_GUI_DataObject_Resolution();
205 virtual QString entry() const;
206 virtual QPixmap icon() const;
207 virtual QString toolTip() const;
213 //*****************************************************************************
214 // Class MULTIPR_GUI_DataModel
215 //*****************************************************************************
217 class MULTIPR_GUI_DataModel : public LightApp_DataModel
220 MULTIPR_GUI_DataModel(CAM_Module*);
221 virtual ~MULTIPR_GUI_DataModel();
224 virtual void build();
227 MULTIPR_GUI* mMULTIPR_GUI;
231 #endif // __MULTIPR_GUI__