Salome HOME
Merge branch 'BR_LAND_COVER_MAP' of ssh://git.salome-platform.org/modules/hydro into...
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_ImmersibleZoneOp.cxx
index 5778c6f133362aa95a66f5744b5b81277c6fef13..3af761cbb32ab5d86e50805d510e272c093b376b 100644 (file)
@@ -1,8 +1,4 @@
-// Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
+// Copyright (C) 2014-2015  EDF-R&D
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
@@ -82,7 +78,8 @@ void HYDROGUI_ImmersibleZoneOp::startOperation()
 
   if ( myIsEdit )
   {
-    myEditedObject = Handle(HYDROData_ImmersibleZone)::DownCast( HYDROGUI_Tool::GetSelectedObject( module() ) );
+    if ( isApplyAndClose() )
+      myEditedObject = Handle(HYDROData_ImmersibleZone)::DownCast( HYDROGUI_Tool::GetSelectedObject( module() ) );
     if( !myEditedObject.IsNull() )
     {
       anObjectName = myEditedObject->GetName();
@@ -99,12 +96,12 @@ void HYDROGUI_ImmersibleZoneOp::startOperation()
 
   aPanel->setObjectName( anObjectName );
   aPanel->setPolylineNames( HYDROGUI_Tool::FindExistingObjectsNames( doc(), KIND_POLYLINEXY ) );
-  aPanel->setBathymetryNames( HYDROGUI_Tool::FindExistingObjectsNames( doc(), KIND_BATHYMETRY ) );
+  aPanel->setAdditionalParams( HYDROGUI_Tool::FindExistingObjectsNames( doc(), KIND_BATHYMETRY ) );
 
   aPanel->blockSignals( false );
 
   aPanel->setPolylineName( aSelectedPolyline );
-  aPanel->setBathymetryName( aSelectedBathymetry );
+  aPanel->setSelectedAdditionalParamName( aSelectedBathymetry );
 }
 
 void HYDROGUI_ImmersibleZoneOp::abortOperation()
@@ -165,7 +162,7 @@ bool HYDROGUI_ImmersibleZoneOp::processApply( int& theUpdateFlags,
       HYDROGUI_Tool::FindObjectByName( module(), aPolylineName, KIND_POLYLINEXY ) );
   }
 
-  QString aBathymetryName = aPanel->getBathymetryName();
+  QString aBathymetryName = aPanel->getSelectedAdditionalParamName();
   if ( !aBathymetryName.isEmpty() )
   {
     aZoneBathymetry = Handle(HYDROData_Bathymetry)::DownCast(
@@ -186,8 +183,8 @@ bool HYDROGUI_ImmersibleZoneOp::processApply( int& theUpdateFlags,
 
   if ( !myIsEdit )
   {
-    aZoneObj->SetFillingColor( HYDROData_ImmersibleZone::DefaultFillingColor() );
-    aZoneObj->SetBorderColor( HYDROData_ImmersibleZone::DefaultBorderColor() );
+    aZoneObj->SetFillingColor( aZoneObj->DefaultFillingColor() );
+    aZoneObj->SetBorderColor( aZoneObj->DefaultBorderColor() );
   }
 
   aZoneObj->SetPolyline( aZonePolyline );
@@ -245,8 +242,8 @@ void HYDROGUI_ImmersibleZoneOp::onCreatePreview( const QString& thePolylineName
 
   if ( aViewManager && myPreviewPrs )
   {
-    QColor aFillingColor = HYDROData_ImmersibleZone::DefaultFillingColor();
-    QColor aBorderColor = HYDROData_ImmersibleZone::DefaultBorderColor();
+    QColor aFillingColor = Qt::darkBlue;
+    QColor aBorderColor = Qt::transparent;
     if ( !myEditedObject.IsNull() ) {
       aFillingColor = myEditedObject->GetFillingColor();
       aBorderColor = myEditedObject->GetBorderColor();