]> SALOME platform Git repositories - modules/shaper.git/blobdiff - src/PartSet/PartSet_Module.cpp
Salome HOME
bos #26444 Improve treatment of parameters
[modules/shaper.git] / src / PartSet / PartSet_Module.cpp
index a3095a374c5735baed2d52c0136cd790d74e6518..c648cc072f2dc444cb8f3bc612a6d35ef0bc995f 100644 (file)
@@ -83,6 +83,7 @@
 #include <ModelAPI_ResultConstruction.h>
 #include <ModelAPI_AttributeIntArray.h>
 #include <ModelAPI_ResultGroup.h>
+#include <ModelAPI_ResultParameter.h>
 
 #include <GeomDataAPI_Point2D.h>
 #include <GeomDataAPI_Point.h>
@@ -1739,6 +1740,25 @@ void PartSet_Module::onTreeViewDoubleClick(const QModelIndex& theIndex)
     if (aPartFeature.get() && (aPartFeature->getKind() == PartSetPlugin_Part::ID())) {
       aPart = std::dynamic_pointer_cast<ModelAPI_ResultPart>(aPartFeature->firstResult());
     }
+    if (aObj.get())
+    {
+      if (!aPart.get() && aObj->groupName() == ModelAPI_ResultParameter::group())
+      {
+        QObjectPtrList aObjects = aWorkshop->objectBrowser()->selectedObjects();
+        FeaturePtr aFeature;
+        ResultParameterPtr aParam;
+        foreach(ObjectPtr aObj, aObjects) {
+          aParam = std::dynamic_pointer_cast<ModelAPI_ResultParameter>(aObj);
+          if (aParam.get())
+            break;
+        }
+        if (aParam.get())
+          aFeature = ModelAPI_Feature::feature(aParam);
+
+        if (aFeature.get())
+          editFeature(aFeature);
+      }
+    }
   }
   if (aPart.get()) { // if this is a part
     if (aPart->partDoc() == aMgr->activeDocument()) {