Salome HOME
Issue #1343 Improvement of Extrusion and Revolution operations: extrusion cut.
[modules/shaper.git] / src / PartSet / PartSet_WidgetSketchCreator.cpp
index 58c2776d1119b7ec5de2a105dcb90f7378f95a96..8243a253a5bf6914138b351b50cff65f4686cd68 100644 (file)
@@ -249,7 +249,7 @@ void PartSet_WidgetSketchCreator::onSelectionChanged()
     for (; anIt != aLast; anIt++) {
       ModuleBase_ViewerPrs aValue = *anIt;
       if (isValidInFilters(aValue))
-        aProcessed = setSelectionCustom(aValue) || aProcessed;
+        aProcessed = setBaseAttributeSelection(aValue) || aProcessed;
     }
     if (aProcessed) {
       emit valuesChanged();
@@ -263,10 +263,14 @@ void PartSet_WidgetSketchCreator::onSelectionChanged()
 }
 
 //********************************************************************
-void PartSet_WidgetSketchCreator::setObject(ObjectPtr theSelectedObject,
+void PartSet_WidgetSketchCreator::setObject(ObjectPtr theObject,
                                             GeomShapePtr theShape)
 {
-  // do nothing because all processing is in onSelectionChanged()
+  DataPtr aData = myFeature->data();
+  ModuleBase_Tools::setObject(aData->attribute(attributeID()), theObject, theShape,
+                              myWorkshop, myIsInValidate);
+
+  //::setObject(aData->attribute(attributeID()), theObject, theShape);
 }
 
 bool PartSet_WidgetSketchCreator::startSketchOperation(const QList<ModuleBase_ViewerPrs>& theValues)
@@ -426,3 +430,17 @@ void PartSet_WidgetSketchCreator::onResumed(ModuleBase_Operation* theOp)
     }
   }
 }
+
+bool PartSet_WidgetSketchCreator::setBaseAttributeSelection(const ModuleBase_ViewerPrs& theValue)
+{
+  bool isDone = false;
+  ObjectPtr anObject;
+  GeomShapePtr aShape;
+  getGeomSelection(theValue, anObject, aShape);
+
+  std::string anAttributeId = myAttributeListID;
+  DataPtr aData = myFeature->data();
+  ModuleBase_Tools::setObject(aData->attribute(anAttributeId), anObject, aShape,
+                              myWorkshop, false);
+  return true;
+}