Salome HOME
"titled" popups implemented.
[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 #include "SalomeApp_Selection.h"
11
12 #include <CAM_Module.h>
13
14 #include <string>
15
16 class QDockWindow;
17
18 class CAM_Study;
19
20 class QtxPopupMgr;
21
22 class SUIT_Operation;
23 class SUIT_Convertor;
24 class SUIT_ViewModel;
25 class SUIT_DataObject;
26
27 class SalomeApp_DataModel;
28 class SalomeApp_Application;
29 class SalomeApp_SelectionManager;
30
31 /*
32   Class : SalomeApp_Module
33   Description : Base class for all salome modules
34 */
35
36 class SALOMEAPP_EXPORT SalomeApp_Module : public CAM_Module
37 {
38   Q_OBJECT
39
40 public:
41   SalomeApp_Module( const QString& );
42   virtual ~SalomeApp_Module();
43
44   virtual void                        initialize( CAM_Application* );
45   virtual void                        windows( QMap<int, int>& ) const;
46   virtual void                        viewManagers( QStringList& ) const;
47   virtual QString                     engineIOR() const;
48
49   virtual void                        contextMenuPopup( const QString&, QPopupMenu*, QString& );
50
51   // Convenient shortcuts
52   SalomeApp_Application*              getApp() const;
53   
54   void                                updateObjBrowser( bool = true, SUIT_DataObject* = 0 );
55
56   virtual void                        selectionChanged();
57
58 public slots:
59   virtual void                        activateModule( SUIT_Study* );
60   virtual void                        deactivateModule( SUIT_Study* );
61   void                                MenuItem();
62
63 protected slots:
64   virtual void                        onModelSaved();
65   virtual void                        onModelOpened();
66   virtual void                        onModelClosed();
67
68 protected:
69   QtxPopupMgr*                        popupMgr();
70   virtual CAM_DataModel*              createDataModel();
71   virtual SalomeApp_Selection*        createSelection() const;
72
73 private:
74   QtxPopupMgr*                        myPopupMgr;
75 };
76
77 #endif