Salome HOME
Python console has been added for HYDRO module (Bug #22).
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_CalculationOp.cxx
index 25aac2717abbc34b2da26389c67bd370c649fda6..2e36bf50f5f5ab4ea51937c6cfe505af466b4bb0 100644 (file)
@@ -28,6 +28,8 @@
 #include "HYDROGUI_Tool.h"
 #include "HYDROGUI_UpdateFlags.h"
 
+#include <HYDROData_Polyline.h>
+
 #include <LightApp_Application.h>
 #include <LightApp_UpdateFlags.h>
 
@@ -60,7 +62,16 @@ void HYDROGUI_CalculationOp::startOperation()
   {
     myEditedObject = Handle(HYDROData_Calculation)::DownCast( HYDROGUI_Tool::GetSelectedObject( module() ) );
     if ( !myEditedObject.IsNull() )
+    {
       anObjectName = myEditedObject->GetName();
+
+      Handle(HYDROData_Polyline) aBoundaryPolyline = myEditedObject->GetBoundaryPolyline();
+      if ( !aBoundaryPolyline.IsNull() )
+      {
+        QString aPolylineName = aBoundaryPolyline->GetName();
+        aPanel->setPolylineName( aPolylineName );
+      }
+    }
   }
 
   aPanel->setObjectName( anObjectName );
@@ -112,6 +123,17 @@ bool HYDROGUI_CalculationOp::processApply( int&     theUpdateFlags,
 
   aCalculObj->SetName( anObjectName );
 
+  Handle(HYDROData_Polyline) aBndPolyline;
+
+  QString aPolylineName = aPanel->getPolylineName();
+  if ( !aPolylineName.isEmpty() )
+  {
+    aBndPolyline = Handle(HYDROData_Polyline)::DownCast(
+      HYDROGUI_Tool::FindObjectByName( module(), aPolylineName, KIND_POLYLINE ) );
+  }
+
+  aCalculObj->SetBoundaryPolyline( aBndPolyline );
+
   theUpdateFlags = UF_Model;
 
   return true;