1 // File: ModuleBase_IWorkshop.h
2 // Created: 2 June 2014
3 // Author: Vitaly Smetannikov
5 #ifndef ModuleBase_IWorkshop_H
6 #define ModuleBase_IWorkshop_H
8 #include "ModuleBase.h"
10 #include <ModelAPI_Object.h>
14 class ModuleBase_IModule;
15 class ModuleBase_ISelection;
16 class ModuleBase_IViewer;
17 class ModuleBase_Operation;
20 * Class which provides access to Workshop object serveces
22 class MODULEBASE_EXPORT ModuleBase_IWorkshop : public QObject
26 ModuleBase_IWorkshop(QObject* theParent)
30 virtual ~ModuleBase_IWorkshop()
33 virtual ModuleBase_ISelection* selection() const = 0;
35 //! Returns instance of loaded module
36 virtual ModuleBase_IModule* module() const = 0;
38 //! Returns current viewer
39 virtual ModuleBase_IViewer* viewer() const = 0;
41 //! Returns currently active operation
42 virtual ModuleBase_Operation* currentOperation() const = 0;
45 void selectionChanged();
47 void operationStarted(ModuleBase_Operation*);
48 void operationStopped(ModuleBase_Operation*);