Salome HOME
Image positioning by two points.
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_PrsZone.cxx
index 3dafc9a22233b61b8b38c380700f1ea50f4732d7..61661a7389f7eacb30395485eb26e4b57b351525 100644 (file)
@@ -29,7 +29,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 +121,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 +155,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 +170,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 );
 }