]> SALOME platform Git repositories - modules/gui.git/blob - src/SalomeApp/SalomeApp_Module.h
Salome HOME
21d5064a945b04569478161afae669f27a13b091
[modules/gui.git] / src / SalomeApp / SalomeApp_Module.h
1 // File:      SalomeApp_Module.h
2 // Created:   10/25/2004 11:33:06 AM
3 // Author:    Sergey LITONIN
4 // Copyright (C) CEA 2004
5
6 #ifndef SALOMEAPP_MODULE_H
7 #define SALOMEAPP_MODULE_H
8
9 #include "SalomeApp.h"
10
11 #include <LightApp_Module.h>
12
13 #include <string>
14
15 class CAM_DataModel;
16 class SalomeApp_Application;
17 class LightApp_Operation;
18 class LightApp_Selection;
19
20 class QString;
21
22 /*!
23  * \brief Base class for all salome modules
24 */
25 class SALOMEAPP_EXPORT SalomeApp_Module : public LightApp_Module
26 {
27   Q_OBJECT
28
29 public:
30   SalomeApp_Module( const QString& );
31   virtual ~SalomeApp_Module();
32
33   /*! engineIOR() should be a pure virtual method, to avoid logical errors!\n
34    * Implementation in derived classes can return the following values:\n
35    * module`s engine IOR - means that this is a standard SALOME module with a CORBA engine
36    * \li "" (empty string)   - means that this not correct SALOME module
37    */
38   virtual QString                     engineIOR() const = 0;
39   
40   /*! Convenient shortcuts*/
41
42   SalomeApp_Application*              getApp() const;
43
44 protected:
45   virtual CAM_DataModel*              createDataModel();
46   virtual LightApp_Selection*         createSelection() const;
47
48 };
49
50 #endif