Salome HOME
Adaptation to new Model architecture
[modules/shaper.git] / src / XGUI / XGUI_ModuleConnector.h
1 // File:        XGUI_ModuleConnector.h
2 // Created:     3 June 2014
3 // Author:      Vitaly Smetannikov
4
5 #ifndef XGUI_ModuleConnector_H
6 #define XGUI_ModuleConnector_H
7
8
9 #include "XGUI.h"
10 #include <ModuleBase_Definitions.h>
11 #include <ModuleBase_IWorkshop.h>
12
13 class Handle_AIS_InteractiveContext;
14 class XGUI_Workshop;
15 class XGUI_Displayer;
16
17 /**
18 * Implementation of IWorkshop interface which provides access to Workshop sevices at module level
19 */
20 class XGUI_EXPORT XGUI_ModuleConnector: public ModuleBase_IWorkshop
21 {
22   Q_OBJECT
23 public:
24   XGUI_ModuleConnector(XGUI_Workshop* theWorkshop);
25
26   virtual ~XGUI_ModuleConnector();
27
28   //! Returns AIS_InteractiveContext from current OCCViewer
29   virtual Handle(AIS_InteractiveContext) AISContext() const;
30
31   //! Returns list of currently selected data objects
32   virtual QList<ObjectPtr> selectedObjects() const; 
33
34   //! Returns instance of loaded module
35   virtual ModuleBase_IModule* module() const;
36
37 private:
38   XGUI_Workshop* myWorkshop;
39 };
40
41 #endif