X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_IWorkshop.h;h=12e9aef22040c91a4a762d8028dcb794291c48b7;hb=1b2cab75aa9df76d3fe6f791e2ddb2a065c8cf03;hp=4d6e920b0a504c442fd6a5ffe99f6267c0a93794;hpb=c5311359309c0ec43f24a94015ff56840ab4317d;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_IWorkshop.h b/src/ModuleBase/ModuleBase_IWorkshop.h index 4d6e920b0..12e9aef22 100644 --- a/src/ModuleBase/ModuleBase_IWorkshop.h +++ b/src/ModuleBase/ModuleBase_IWorkshop.h @@ -6,37 +6,65 @@ #define ModuleBase_IWorkshop_H #include "ModuleBase.h" +#include "ModuleBase_Definitions.h" -#include - -#include +#include +#include #include class ModuleBase_IModule; +class ModuleBase_ISelection; +class ModuleBase_IViewer; +class ModuleBase_Operation; /** -* Class which provides access to Workshop object serveces -*/ -class MODULEBASE_EXPORT ModuleBase_IWorkshop: public QObject + * Class which provides access to Workshop object serveces + */ +class MODULEBASE_EXPORT ModuleBase_IWorkshop : public QObject { Q_OBJECT -public: - ModuleBase_IWorkshop(QObject* theParent):QObject(theParent) {} + public: + ModuleBase_IWorkshop(QObject* theParent) + : QObject(theParent) + {} + + virtual ~ModuleBase_IWorkshop() + {} - 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 selectedFeatures() 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 \ No newline at end of file +#endif