1 // File: SalomeApp_Module.h
2 // Created: 10/25/2004 11:33:06 AM
3 // Author: Sergey LITONIN
4 // Copyright (C) CEA 2004
6 #ifndef SALOMEAPP_MODULE_H
7 #define SALOMEAPP_MODULE_H
10 #include "SalomeApp_Selection.h"
12 #include <CAM_Module.h>
25 class SUIT_DataObject;
27 class SalomeApp_DataModel;
28 class SalomeApp_Application;
29 class SalomeApp_SelectionManager;
32 Class : SalomeApp_Module
33 Description : Base class for all salome modules
36 class SALOMEAPP_EXPORT SalomeApp_Module : public CAM_Module
41 SalomeApp_Module( const QString& );
42 virtual ~SalomeApp_Module();
44 virtual void initialize( CAM_Application* );
45 virtual void windows( QMap<int, int>& ) const;
46 virtual void viewManagers( QStringList& ) const;
48 // engineIOR() should be a pure virtual method, to avoid logical errors!
50 // Implementation in derived classes can return the following values:
51 // "" (empty string) - means that this is a light module, default engine should be used for interaction with SALOMEDS persistence
52 // "-1" - means that this is a light module, SALOMEDS persistence is not used at all
53 // module`s engine IOR - means that this is a standard SALOME module with a CORBA engine
55 virtual QString engineIOR() const = 0;
57 virtual void contextMenuPopup( const QString&, QPopupMenu*, QString& );
59 // Convenient shortcuts
60 SalomeApp_Application* getApp() const;
62 void updateObjBrowser( bool = true, SUIT_DataObject* = 0 );
64 virtual void selectionChanged();
67 virtual void activateModule( SUIT_Study* );
68 virtual void deactivateModule( SUIT_Study* );
72 virtual void onModelSaved();
73 virtual void onModelOpened();
74 virtual void onModelClosed();
77 QtxPopupMgr* popupMgr();
78 virtual CAM_DataModel* createDataModel();
79 virtual SalomeApp_Selection* createSelection() const;
82 QtxPopupMgr* myPopupMgr;