X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_IWorkshop.h;h=12e9aef22040c91a4a762d8028dcb794291c48b7;hb=1b2cab75aa9df76d3fe6f791e2ddb2a065c8cf03;hp=b05e2d62976875af9a6eddeec709a7eefcb5a89a;hpb=cd9217d7e87997ec8bc150a6d8c389e742ca0f84;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_IWorkshop.h b/src/ModuleBase/ModuleBase_IWorkshop.h index b05e2d629..12e9aef22 100644 --- a/src/ModuleBase/ModuleBase_IWorkshop.h +++ b/src/ModuleBase/ModuleBase_IWorkshop.h @@ -6,14 +6,17 @@ #define ModuleBase_IWorkshop_H #include "ModuleBase.h" +#include "ModuleBase_Definitions.h" #include - -#include +#include #include class ModuleBase_IModule; +class ModuleBase_ISelection; +class ModuleBase_IViewer; +class ModuleBase_Operation; /** * Class which provides access to Workshop object serveces @@ -24,25 +27,44 @@ Q_OBJECT public: ModuleBase_IWorkshop(QObject* theParent) : QObject(theParent) - { - } + {} virtual ~ModuleBase_IWorkshop() - { - } - ; + {} + + virtual ModuleBase_ISelection* selection() const = 0; - //! Returns AIS_InteractiveContext from current OCCViewer - virtual Handle(AIS_InteractiveContext) AISContext() const = 0; + /// Activate sub-shapes selection (opens local context) + /// Types has to be dined according to TopAbs_ShapeEnum + virtual void activateSubShapesSelection(const QIntList& theTypes) = 0; - //! Returns list of currently selected data objects - virtual QList selectedObjects() const = 0; + /// Deactivate sub-shapes selection (closes local context) + virtual void deactivateSubShapesSelection() = 0; //! Returns instance of loaded module virtual ModuleBase_IModule* module() const = 0; + //! Returns current viewer + virtual ModuleBase_IViewer* viewer() const = 0; + + //! Returns currently active operation + virtual ModuleBase_Operation* currentOperation() const = 0; + + //! Returns AIS opbject by data object + virtual AISObjectPtr findPresentation(const ObjectPtr& theObject) const = 0; + + //! Returns data object by AIS + virtual ObjectPtr findPresentedObject(const AISObjectPtr& theAIS) const = 0; + + //! Select features clearing previous selection. + //! If the list is empty then selection will be cleared + virtual void setSelected(const QList& theFeatures) = 0; + signals: void selectionChanged(); + + void operationStarted(ModuleBase_Operation*); + void operationStopped(ModuleBase_Operation*); }; #endif