Salome HOME
lot 10 - warnings for DTM - untested
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_SetColorOp.cxx
index 840d219458d8244e9b174e979048257b98369dde..eb52c47e5f1fc079185f9abbc9ffab304ac71e8a 100644 (file)
@@ -21,7 +21,7 @@
 #include "HYDROGUI_ColorDlg.h"
 #include "HYDROGUI_DataModel.h"
 #include "HYDROGUI_Module.h"
-#include "HYDROGUI_Tool.h"
+#include "HYDROGUI_Tool2.h"
 #include "HYDROGUI_UpdateFlags.h"
 
 #include <HYDROData_Object.h>
@@ -96,7 +96,12 @@ void HYDROGUI_SetColorOp::startOperation()
     Handle(HYDROData_IPolyline) aPolyObject =
       Handle(HYDROData_IPolyline)::DownCast( myEditedObject );
 
-    aFirstColor = aPolyObject->GetWireColor();
+    //aFirstColor = aPolyObject->GetWireColor();
+
+    if (aPolyObject->NbSections() > 0)
+      aPolyObject->GetSectionColor(0, aFirstColor);
+    else
+      aFirstColor = aPolyObject->GetWireColor();
 
     anIsOneColor = true;
   }
@@ -159,7 +164,15 @@ bool HYDROGUI_SetColorOp::processApply( int& theUpdateFlags,
     Handle(HYDROData_IPolyline) aPolyObject =
       Handle(HYDROData_IPolyline)::DownCast( myEditedObject );
 
-    aPolyObject->SetWireColor( aFirstColor );
+    //aPolyObject->SetWireColor( aFirstColor );
+    int nbSec = aPolyObject->NbSections();
+    if (nbSec > 0)
+    {
+      for (int i = 0; i < nbSec; i++)
+        aPolyObject->SetSectionColor(i, aFirstColor);
+    }
+    else
+      aPolyObject->SetWireColor( aFirstColor );
   }
   else if ( myEditedObject->IsKind( STANDARD_TYPE(HYDROData_LandCoverMap) ) )
   {