X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSet%2FPartSet_Module.h;h=cc5e97ae051b1f43a1ac92e79f39b935e37b7888;hb=03421c138afb385f1bb8d11f290ccb1663f3fbb8;hp=5264352dc98b0563d12877f826f862cce2cd67dd;hpb=368eb86f8835d384a102ad84410a6c825c597a8c;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_Module.h b/src/PartSet/PartSet_Module.h index 5264352dc..cc5e97ae0 100644 --- a/src/PartSet/PartSet_Module.h +++ b/src/PartSet/PartSet_Module.h @@ -5,7 +5,7 @@ #include "PartSet.h" #include "PartSet_Filters.h" -#include "PartSet_SketcherMgr.h" +#include "PartSet_DocumentDataModel.h" #include #include @@ -13,6 +13,8 @@ #include #include +#include + //#include #include @@ -26,6 +28,8 @@ class ModuleBase_Operation; class ModuleBase_IViewWindow; +class PartSet_MenuMgr; +class PartSet_SketcherMgr; class QAction; @@ -33,7 +37,7 @@ class QAction; * \ingroup Modules * Implementation of Partset module */ -class PARTSET_EXPORT PartSet_Module : public ModuleBase_IModule +class PARTSET_EXPORT PartSet_Module : public ModuleBase_IModule, public Events_Listener { Q_OBJECT @@ -46,6 +50,7 @@ enum RestartingMode { }; public: + /// Constructor /// \param theWshop a pointer to a workshop PartSet_Module(ModuleBase_IWorkshop* theWshop); @@ -79,14 +84,9 @@ public: /// \param theOperation a stopped operation virtual void operationStopped(ModuleBase_Operation* theOperation); - /// Realizes some functionality by an operation start - /// \param theOperation a started operation + /// Returns current operation virtual ModuleBase_Operation* currentOperation() const; - /// Returns action according to the given ID - /// \param theId an action identifier, it should be uniqued in the bounds of the module - QAction* action(const QString& theId) const; - /// Returns True if there are available Undos and the sketch manager allows undo /// \return the boolean result virtual bool canUndo() const; @@ -101,21 +101,42 @@ public: /// \param theObject a model object virtual bool canDisplayObject(const ObjectPtr& theObject) const; + /// Add menu atems for object browser into the given menu + /// \param theMenu a popup menu to be shown in the object browser + virtual void addObjectBrowserMenu(QMenu* theMenu) const; + /// Add menu atems for viewer into the given menu /// \param theMenu a popup menu to be shown in the viewer /// \param theStdActions a map of standard actions /// \return true if items are added and there is no necessity to provide standard menu - virtual bool addViewerItems(QMenu* theMenu, const QMap& theStdActions) const; + virtual bool addViewerMenu(QMenu* theMenu, const QMap& theStdActions) const; + + /// Returns a list of modes, where the AIS objects should be activated + /// \param theModes a list of modes + virtual void activeSelectionModes(QIntList& theModes); + + /// Returns whether the mouse enter the viewer's window + /// \return true if items are added and there is no necessity to provide standard menu + bool isMouseOverWindow(); + + PartSet_SketcherMgr* sketchMgr() const { return mySketchMgr; } + + /// Returns data model object for representation of data tree in Object browser + virtual ModuleBase_IDocumentDataModel* dataModel() const { return myDataModel; } + + /// Event Listener method + /// \param theMessage an event message + virtual void processEvent(const std::shared_ptr& theMessage); + + /// This method is called on object browser creation for customisation of module specific features + /// \param theObjectBrowser a pinter on Object Browser widget + virtual void customizeObjectBrowser(QWidget* theObjectBrowser); public slots: /// SLOT, that is called by no more widget signal emitted by property panel /// Set a specific flag to restart the sketcher operation void onNoMoreWidgets(); - /// Processes the context menu action click - /// \param isChecked a state of toggle if the action is checkable - void onAction(bool isChecked); - /// Slolt called on object display /// \param theObject a data object /// \param theAIS a presentation object @@ -148,6 +169,14 @@ protected slots: /// Register properties of this module virtual void registerProperties(); + /// Sends the operation for launching + /// \param theOperation the operation + virtual void sendOperation(ModuleBase_Operation* theOperation); + + //! Activates or deactivates a part + //! If PartPtr is Null pointer then PartSet will be activated + //void activatePart(std::shared_ptr theFeature); + private slots: /// Processing of vertex selected void onVertexSelected(); @@ -160,15 +189,6 @@ protected slots: /// Breaks sequense of automatically resterted operations void breakOperationSequence(); - /// Create all actions for context menus. It is called on creation of module - /// Put the created actions into an internal map - void createActions(); - - /// Add action to the internal map - /// \param theId - string ID of the item - /// \param theAction - action to add - void addAction(const QString& theId, QAction* theAction); - //! Delete features virtual bool deleteObjects(); @@ -184,9 +204,11 @@ protected slots: PartSet_SketcherMgr* mySketchMgr; - QMap myActions; // the popup menu actions + PartSet_MenuMgr* myMenuMgr; int myVisualLayerId; + + PartSet_DocumentDataModel* myDataModel; }; #endif