Salome HOME
Feature selector widget for recover feature.
[modules/shaper.git] / src / PartSet / PartSet_SketcherMgr.h
index c739c2852540327f8a4d019cd1b235a46df4a1e8..47ea8850adf1add3897ecfc827f1cc791ff78e40 100644 (file)
@@ -91,20 +91,24 @@ public:
   /// \return the boolean result
   static bool isSketchOperation(ModuleBase_Operation* theOperation);
 
-  /// Returns true if the operation id is in the sketch operation id list
+  /// Returns true if the operation feature belongs to list of granted features of Sketch
+  /// operation. An operation of a sketch should be started before.
   /// \param theOperation an operation
   /// \return the boolean result
-  static bool isNestedSketchOperation(ModuleBase_Operation* theOperation);
+  bool isNestedSketchOperation(ModuleBase_Operation* theOperation) const;
 
-  /// Returns true if the operation is a create nested feature one
+  /// Returns true if the operation is a create and nested sketch operationn
   /// \param theOperation a checked operation
+  /// \param theSketch a sketch feature
   //// \return boolean value
-  static bool isNestedCreateOperation(ModuleBase_Operation* theOperation);
+  bool isNestedCreateOperation(ModuleBase_Operation* theOperation,
+                                      const CompositeFeaturePtr& /*theSketch*/) const;
 
   /// Returns true if the operation is an edit nested feature one
   /// \param theOperation a checked operation
   //// \return boolean value
-  static bool isNestedEditOperation(ModuleBase_Operation* theOperation);
+  bool isNestedEditOperation(ModuleBase_Operation* theOperation,
+                                    const CompositeFeaturePtr& /*theSketch*/) const;
 
   /// Returns whether the current operation is a sketch entity - line, point, arc or circle
   /// \param theId is an id of object
@@ -190,7 +194,7 @@ public:
   /// Check the given objects either there are some results of the current sketch. If so,
   /// it suggests to delete them as there are no functionality to show back hidden sketch objects
   /// \param theObjects a list of hidden objects
-  virtual void processHiddenObject(const std::list<ObjectPtr>& theObjects);
+  //virtual void processHiddenObject(const std::list<ObjectPtr>& theObjects);
 
   /// Returns true if the mouse is over viewer or property panel value is changed
   /// \return boolean result
@@ -230,8 +234,8 @@ public:
   /// It nullify internal flags concerned to clicked mouse event
   void clearClickedFlags();
 
-  /// Returns list of strings which contains id's of sketch operations
-  static const QStringList& sketchOperationIdList();
+  /// Returns list of strings which contains id's of sketch replication operations
+  static const QStringList& replicationsIdList();
 
   /// Returns list of strings which contains id's of constraints operations
   static const QStringList& constraintsIdList();
@@ -312,20 +316,6 @@ private:
   typedef QMap<FeaturePtr, std::pair<std::set<AttributePtr>, std::set<ResultPtr> > >
                                                                        FeatureToSelectionMap;
 
-  /// 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
-  /// It gets all results of the feature, find an AIS object in the viewer and takes all BRep
-  /// selection owners. If the owner is vertex, the corresponded attribute is seached in
-  /// the feature, if the owner is edge, the current result is added to the container of results.
-  /// \param theFeature a feature or result object
-  /// \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 FeaturePtr& theFeature,
-                                  const FeaturePtr& theSketch,
-                                  ModuleBase_IWorkshop* theWorkshop,
-                                  FeatureToSelectionMap& theSelection);
-
   /// Applyes the current selection to the object in the workshop viewer 
   /// It includes the selection in all modes of activation, even local context - vertexes, edges
   /// It gets all results of the feature, find an AIS object in the viewer and takes all BRep
@@ -363,6 +353,10 @@ private:
                         const bool isToDisplay, const bool isFlushRedisplay = true);
 
 private:
+  /// Updates selection priority of the presentation
+  /// \param theObject object to find a presentation which will be corrected
+  /// \param theFeature a feature of the presentation
+  void updateSelectionPriority(ObjectPtr theObject, FeaturePtr theFeature);
   /// Returns current workshop
   XGUI_Workshop* workshop() const;
   /// Returns operation manager