Salome HOME
The external feature should be executed manually in order to return first result.
[modules/shaper.git] / src / PartSet / PartSet_WidgetShapeSelector.cpp
old mode 100644 (file)
new mode 100755 (executable)
index 4f8134e..0bbeb05
@@ -28,8 +28,6 @@
 #include <SelectMgr_IndexedMapOfOwner.hxx>
 #include <StdSelect_BRepOwner.hxx>
 
-//#define DEBUG_EMPTY_SHAPE
-
 PartSet_WidgetShapeSelector::PartSet_WidgetShapeSelector(QWidget* theParent,
                                                          ModuleBase_IWorkshop* theWorkshop,
                                                          const Config_WidgetAPI* theData,
@@ -63,10 +61,6 @@ void PartSet_WidgetShapeSelector::setObject(ObjectPtr theSelectedObject, GeomSha
   std::shared_ptr<SketchPlugin_Feature> aSPFeature = 
           std::dynamic_pointer_cast<SketchPlugin_Feature>(aSelectedFeature);
   // Processing of sketch object
-#ifdef DEBUG_EMPTY_SHAPE
-  if (aSPFeature.get() != NULL && theShape.get()) {
-    setPointAttribute(theSelectedObject, theShape);
-#else
   if (aSPFeature.get() != NULL) {
     GeomShapePtr aShape = theShape;
     if (!aShape.get()) {
@@ -76,7 +70,6 @@ void PartSet_WidgetShapeSelector::setObject(ObjectPtr theSelectedObject, GeomSha
       }
     }
     setPointAttribute(theSelectedObject, aShape);
-#endif
   }
   else
     ModuleBase_WidgetShapeSelector::setObject(theSelectedObject, theShape);
@@ -101,7 +94,7 @@ void PartSet_WidgetShapeSelector::getGeomSelection(const ModuleBase_ViewerPrs& t
         aShape = aResult->shape();
     }
     if (aShape.get() != NULL && !aShape->isNull())
-      theObject = myExternalObjectMgr->externalObject(theObject, aShape, sketch());
+      theObject = myExternalObjectMgr->externalObject(theObject, aShape, sketch(), myIsInValidate);
   }
 }
 
@@ -122,7 +115,7 @@ GeomShapePtr PartSet_WidgetShapeSelector::getShape() const
 void PartSet_WidgetShapeSelector::restoreAttributeValue(const bool theValid)
 {
   ModuleBase_WidgetShapeSelector::restoreAttributeValue(theValid);
-  myExternalObjectMgr->removeExternal(sketch(), myFeature, myWorkshop);
+  myExternalObjectMgr->removeExternal(sketch(), myFeature, myWorkshop, true);
 }
 
 //********************************************************************