X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSet%2FPartSet_SketcherMgr.h;h=c5f7effe100641a20f6e164cf34eac5720d1fb65;hb=a731f82dccbfdb67cbf8e8d617222a4d3e32018a;hp=69e3dcd706e60cb13ecd9625eb7e3644871ffc68;hpb=47aefba9ed96153cab39ebfc4aa7fecc51942f21;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_SketcherMgr.h b/src/PartSet/PartSet_SketcherMgr.h index 69e3dcd70..c5f7effe1 100644 --- a/src/PartSet/PartSet_SketcherMgr.h +++ b/src/PartSet/PartSet_SketcherMgr.h @@ -87,13 +87,20 @@ public: /// \return the boolean result static bool isNestedSketchOperation(ModuleBase_Operation* theOperation); - /// Returns whethe the current operation is a sketch distance - lenght, distance or radius + /// Returns true if the operation is a create nested feature one + /// \param theOperation a checked operation + //// \return boolean value + static bool isNestedCreateOperation(ModuleBase_Operation* theOperation); + + /// Returns whether the current operation is a sketch entity - line, point, arc or circle /// \param the operation /// \return a boolean value - static bool isDistanceOperation(ModuleBase_Operation* theOperation); + static bool isEntityOperation(ModuleBase_Operation* theOperation); - /// Launches the operation from current highlighting - void launchEditing(); + /// Returns whether the current operation is a sketch distance - lenght, distance or radius + /// \param the operation + /// \return a boolean value + static bool isDistanceOperation(ModuleBase_Operation* theOperation); /// Returns current Sketch feature/ Returns NULL if there is no launched sketch operation CompositeFeaturePtr activeSketch() const { return myCurrentSketch; } @@ -130,6 +137,15 @@ public: /// \param theObject a model object bool canDisplayObject() const; + /// Returns true if the current operation is sketch entity create operation + /// \param theValue the current auxiliary value + /// \return the boolean result + bool canSetAuxiliary(bool& theValue) const; + + /// Changes the sketcher entity construction argument value + /// \param isChecked if true, the feature is a construction + void setAuxiliary(const bool isChecked); + public slots: /// Process sketch plane selected event void onPlaneSelected(const std::shared_ptr& thePln); @@ -155,7 +171,13 @@ private slots: void onApplicationStarted(); void onBeforeWidgetActivated(ModuleBase_ModelWidget* theWidget); + void onBeforeContextMenu(); + void onAfterContextMenu(); + private: + /// Launches the operation from current highlighting + void launchEditing(); + /// Returns list of strings which contains id's of sketch operations static QStringList sketchOperationIdList(); @@ -164,20 +186,8 @@ private: void get2dPoint(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent, Point& thePoint); - typedef QList AttributeList; - typedef QMap FeatureToAttributesMap; - typedef std::map, std::set > > + typedef QMap, std::set > > FeatureToSelectionMap; - /// Obtains the current selection of the object in the workshop viewer by a map of feature to attributes - /// It calls the next method for each feature - /// \param theFeatureToAttributes a map of feature to attributes - /// \param theSketch a current sketch feature - /// \param theWorkshop a workshop to have an access to AIS context and displayer - /// \param theSelection a container for the selection, to save results and attributres for a feature - static void getCurrentSelection(const FeatureToAttributesMap& theFeatureToAttributes, - const FeaturePtr& theSketch, - ModuleBase_IWorkshop* theWorkshop, - FeatureToSelectionMap& theSelection); /// Obtains the current selection of the object in the workshop viewer /// It includes the selection in all modes of activation, even local context - vertices, edges @@ -223,18 +233,16 @@ private: /// \return an operation ModuleBase_Operation* getCurrentOperation() const; - /// Returns true if the operation is a create nested feature one - /// \param theOperation a checked operation - //// \return boolean value - bool isNestedCreateOperation(ModuleBase_Operation* theOperation) const; - /// Erase or display the feature of the current operation. If the mouse over the active view or /// a current value is changed by property panel, the feature is displayed otherwise it is hidden /// \param theOperation an operation which feature is to be displayed, it is nested create operation /// \param isToDisplay a flag about the display or erase the feature void visualizeFeature(ModuleBase_Operation* theOperation, const bool isToDisplay); - void storeSelection(); + /// Saves the current selection in the viewer into an internal container + /// It obtains the selected attributes. The highlighted objects can be processes as the selected ones + /// \param theHighlightedUse a boolean flag + void storeSelection(const bool theHighlightedOnly = false); void restoreSelection(); private: @@ -246,13 +254,12 @@ private: bool myIsPropertyPanelValueChanged; /// the state that value in the property panel is changed bool myIsMouseOverWindow; /// the state that the mouse over the view bool myIsMouseOverViewProcessed; /// the state whether the over view state is processed by mouseMove method + bool myIsPopupMenuActive; /// the state of the popup menu is shown Point myCurrentPoint; Point myClickedPoint; CompositeFeaturePtr myCurrentSketch; - FeatureToAttributesMap myFeature2AttributeMap; /// a map of a feature to attributes - Handle(ModuleBase_ShapeInPlaneFilter) myPlaneFilter; FeatureToSelectionMap myCurrentSelection; bool myPreviousUpdateViewerEnabled;