1 // Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 #include "HYDROGUI_PrsPolyline.h"
27 //=======================================================================
28 // name : HYDROGUI_PrsPolyline
29 // Purpose : Constructor
30 //=======================================================================
31 HYDROGUI_PrsPolyline::HYDROGUI_PrsPolyline( const Handle(HYDROData_Entity)& theObject )
32 : HYDROGUI_Prs( theObject ),
37 //=======================================================================
38 // name : HYDROGUI_PrsPolyline
39 // Purpose : Destructor
40 //=======================================================================
41 HYDROGUI_PrsPolyline::~HYDROGUI_PrsPolyline()
45 //================================================================
48 //================================================================
49 void HYDROGUI_PrsPolyline::setPath( const QPainterPath& thePath )
54 //================================================================
57 //================================================================
58 QPainterPath HYDROGUI_PrsPolyline::getPath() const
63 //================================================================
64 // Function : boundingRect
66 //================================================================
67 QRectF HYDROGUI_PrsPolyline::boundingRect() const
69 return myPolylineItem->boundingRect();
72 //================================================================
75 //================================================================
76 void HYDROGUI_PrsPolyline::compute()
80 myPolylineItem = new QGraphicsPathItem( this );
81 addToGroup( myPolylineItem );
83 myPolylineItem->setPath( myPath );
86 //================================================================
87 // Function : checkHighlight
89 //================================================================
90 bool HYDROGUI_PrsPolyline::checkHighlight( double theX, double theY, QCursor& theCursor ) const
96 //================================================================
99 //================================================================
100 bool HYDROGUI_PrsPolyline::select( double theX, double theY, const QRectF& theRect )
102 return GraphicsView_Object::select( theX, theY, theRect );
105 //================================================================
106 // Function : unselect
108 //================================================================
109 void HYDROGUI_PrsPolyline::unselect()
111 GraphicsView_Object::unselect();
114 QPen aPen = myPolylineItem->pen();
115 aPen.setColor( Qt::black );
117 myPolylineItem->setPen( aPen );
120 //================================================================
121 // Function : setSelected
123 //================================================================
124 void HYDROGUI_PrsPolyline::setSelected( bool theState )
126 GraphicsView_Object::setSelected( theState );
129 QPen aPen = myPolylineItem->pen();
130 aPen.setColor( theState ? Qt::red : Qt::black );
131 aPen.setWidth( theState ? 2 : 1 );
132 myPolylineItem->setPen( aPen );