Salome HOME
c78c1d82a20ea8353cb79a3321b35e62261de3b7
[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 #include "XGUI.h"
9 #include <ModuleBase_Definitions.h>
10 #include <ModuleBase_IWorkshop.h>
11
12 class Handle_AIS_InteractiveContext;
13 class XGUI_Workshop;
14 class XGUI_Displayer;
15
16 /**
17  * Implementation of IWorkshop interface which provides access to Workshop sevices at module level
18  */
19 class XGUI_EXPORT XGUI_ModuleConnector : public ModuleBase_IWorkshop
20 {
21 Q_OBJECT
22  public:
23   XGUI_ModuleConnector(XGUI_Workshop* theWorkshop);
24
25   virtual ~XGUI_ModuleConnector();
26
27   //! Returns list of currently selected data objects
28   virtual ModuleBase_ISelection* selection() const;
29
30   //! Returns instance of loaded module
31   virtual ModuleBase_IModule* module() const;
32
33   //! Returns current viewer
34   virtual ModuleBase_IViewer* viewer() const;
35
36   //! Returns currently active operation
37   virtual ModuleBase_Operation* currentOperation() const;
38
39   XGUI_Workshop* workshop() const { return myWorkshop; }
40
41  private:
42   XGUI_Workshop* myWorkshop;
43 };
44
45 #endif