X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPlot2d%2FPlot2d_ToolTip.cxx;h=06186bb606d0ccdf39055fc4c460addbabbaa895;hb=efe3cdefadc31ad9cdaa9fd7fc368e2931cebdf1;hp=3cdb1ba8adc6ef9555f878a437b696935804e9ab;hpb=f830c97c748d8f8a6a7eccc8e3a58e19066a1181;p=modules%2Fgui.git diff --git a/src/Plot2d/Plot2d_ToolTip.cxx b/src/Plot2d/Plot2d_ToolTip.cxx index 3cdb1ba8a..06186bb60 100644 --- a/src/Plot2d/Plot2d_ToolTip.cxx +++ b/src/Plot2d/Plot2d_ToolTip.cxx @@ -1,29 +1,34 @@ -// Copyright (C) 2005 OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D -// +// Copyright (C) 2007-2016 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 +// // 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. -// -// This library is distributed in the hope that it will be useful -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// License as published by the Free Software Foundation; either +// 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 +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// File: Plot2d_ToolTip.cxx -// Author: Alexandre SOLOVYOV +// File : Plot2d_ToolTip.cxx +// Author : Alexandre SOLOVYOV, Open CASCADE S.A.S. (alexander.solovyov@opencascade.com) -#include -#include -#include +#include "Plot2d_ToolTip.h" +#include "Plot2d_ViewFrame.h" +#include "Plot2d_Curve.h" -#include +#include +#include +#include #include #include @@ -31,13 +36,12 @@ const int maxDist = 3, tip_margin = 10; -Plot2d_ToolTip::Plot2d_ToolTip( Plot2d_ViewFrame* frame, Plot2d_Plot2d* plot ) -: QtxToolTip( plot->canvas() ), - myFrame( frame ), - myPlot( plot ) +Plot2d_ToolTip::Plot2d_ToolTip( Plot2d_ViewFrame* frame ) +: QtxToolTip( frame->getPlotCanvas() ), + myFrame( frame ) { connect( this, SIGNAL( maybeTip( QPoint, QString&, QFont&, QRect&, QRect& ) ), - this, SLOT( onToolTip( QPoint, QString&, QFont&, QRect&, QRect& ) ) ); + this, SLOT( onToolTip( QPoint, QString&, QFont&, QRect&, QRect& ) ) ); } Plot2d_ToolTip::~Plot2d_ToolTip() @@ -46,23 +50,19 @@ Plot2d_ToolTip::~Plot2d_ToolTip() void Plot2d_ToolTip::onToolTip( QPoint p, QString& str, QFont& f, QRect& txtRect, QRect& rect ) { - int curInd, pInd, dist; - double x, y; - curInd = myPlot->closestCurve( p.x(), p.y(), dist, x, y, pInd ); + int pInd; + double dist; - if( dist>maxDist ) - return; - - Plot2d_Curve* c = myFrame->getCurves().find( curInd ); - if( !c ) + Plot2d_Curve* c = myFrame->getClosestCurve( p, dist, pInd ); + if( !c || dist>maxDist ) return; str = c->text( pInd ); - if( !str ) + if( str.isEmpty() ) return; QFontMetrics m( f ); - QStringList lst = QStringList::split( "\n", str ); + QStringList lst = str.split( "\n", QString::SkipEmptyParts ); QStringList::const_iterator anIt = lst.begin(), aLast = lst.end(); int w = 0, h = 0; for( ; anIt!=aLast; anIt++ ) @@ -86,7 +86,7 @@ bool Plot2d_ToolTip::eventFilter( QObject* o, QEvent* e ) if( e && e->type() == QEvent::MouseMove ) { QMouseEvent* me = ( QMouseEvent* )e; - if( me->state()==0 ) + if( me->modifiers()==0 ) return true; } return res;