Salome HOME
Merge remote-tracking branch 'origin/BR_LAND_COVER' into BR_v14_rc
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_PrsZone.cxx
index 3dafc9a22233b61b8b38c380700f1ea50f4732d7..57b566b80a0b57002f9b835a4a9a192f5079a830 100644 (file)
@@ -1,12 +1,8 @@
-// Copyright (C) 2007-2013  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
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -29,7 +25,7 @@
 // name    : HYDROGUI_PrsZone
 // Purpose : Constructor
 //=======================================================================
-HYDROGUI_PrsZone::HYDROGUI_PrsZone( const Handle(HYDROData_Object)& theObject )
+HYDROGUI_PrsZone::HYDROGUI_PrsZone( const Handle(HYDROData_Entity)& theObject )
 : HYDROGUI_Prs( theObject ),
   myZoneItem( 0 ),
   myFillingColor( Qt::transparent ),
@@ -121,7 +117,8 @@ void HYDROGUI_PrsZone::compute()
   }
   
   QPainterPath aPath( myPath );
-  aPath.setFillRule( Qt::WindingFill );
+  //aPath.setFillRule( Qt::WindingFill );
+  aPath.setFillRule( Qt::OddEvenFill ); // ouv: for correct drawing the paths with holes
 
   myZoneItem->setPath( aPath );
   myZoneItem->setBrush( QBrush( myFillingColor ) );
@@ -154,6 +151,12 @@ bool HYDROGUI_PrsZone::select( double theX, double theY, const QRectF& theRect )
 void HYDROGUI_PrsZone::unselect()
 {
   GraphicsView_Object::unselect();
+
+  // ouv: tmp
+  QPen aPen = myZoneItem->pen();
+  aPen.setColor( Qt::black );
+  aPen.setWidth( 1 );
+  myZoneItem->setPen( aPen );
 }
 
 //================================================================
@@ -163,4 +166,10 @@ void HYDROGUI_PrsZone::unselect()
 void HYDROGUI_PrsZone::setSelected( bool theState )
 {
   GraphicsView_Object::setSelected( theState );
+
+  // ouv: tmp
+  QPen aPen = myZoneItem->pen();
+  aPen.setColor( theState ? Qt::red : Qt::black );
+  aPen.setWidth( theState ? 2 : 1 );
+  myZoneItem->setPen( aPen );
 }