X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_IWorkshop.h;h=12e9aef22040c91a4a762d8028dcb794291c48b7;hb=fc6da0810f1fa783b09e5a41f11dfb43ba9c7e02;hp=d9dcf5405fb4d8968a5f9259566a96080c2ff3b9;hpb=50eee93b00efc7e0e2595937d9cba45e131ca8cb;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_IWorkshop.h b/src/ModuleBase/ModuleBase_IWorkshop.h index d9dcf5405..12e9aef22 100644 --- a/src/ModuleBase/ModuleBase_IWorkshop.h +++ b/src/ModuleBase/ModuleBase_IWorkshop.h @@ -6,32 +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_ISelection* selection() 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; - virtual ~ModuleBase_IWorkshop() {}; + /// Deactivate sub-shapes selection (closes local context) + virtual void deactivateSubShapesSelection() = 0; - //! Returns AIS_InteractiveContext from current OCCViewer - virtual Handle(AIS_InteractiveContext) AISContext() const = 0; + //! Returns instance of loaded module + virtual ModuleBase_IModule* module() const = 0; - //! Returns list of currently selected data objects - virtual QList selectedFeatures() 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