]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
0021061: [CEA 433] Problem with "fit Area" in plot2D
authorvsr <vsr@opencascade.com>
Thu, 11 Nov 2010 17:15:52 +0000 (17:15 +0000)
committervsr <vsr@opencascade.com>
Thu, 11 Nov 2010 17:15:52 +0000 (17:15 +0000)
src/Plot2d/Plot2d_ViewFrame.cxx
src/Plot2d/Plot2d_ViewFrame.h

index b2fc5e26e5f661ba80b16dd3adaf8549435c0bba..7f212a85bb45a43fb4dd6e8ac5c169efeb504d3b 100755 (executable)
@@ -786,6 +786,7 @@ void Plot2d_ViewFrame::fitAll()
     myPlot->setAxisScale( QwtPlot::yRight, y2min, y2max );
   }
   myPlot->replot();
+  if ( myPlot->zoomer() ) myPlot->zoomer()->setZoomBase();
 }
 
 /*!
@@ -813,6 +814,7 @@ void Plot2d_ViewFrame::fitArea( const QRect& area )
             myPlot->invTransform( QwtPlot::xBottom, rect.left() ), 
             myPlot->invTransform( QwtPlot::xBottom, rect.right() ) );
   myPlot->replot();
+  if ( myPlot->zoomer() ) myPlot->zoomer()->setZoomBase();
 }
 
 /*!
@@ -831,6 +833,7 @@ void Plot2d_ViewFrame::fitData(const int mode,
   if ( mode == 0 || mode == 1 ) 
     myPlot->setAxisScale( QwtPlot::xBottom, xMin, xMax ); 
   myPlot->replot();
+  if ( myPlot->zoomer() ) myPlot->zoomer()->setZoomBase();
 }
 
 /*!
@@ -1700,6 +1703,11 @@ Plot2d_Plot2d::Plot2d_Plot2d( QWidget* parent )
   : QwtPlot( parent ),
     myIsPolished( false )
 {
+  // Create alternative scales
+  setAxisScaleDraw( QwtPlot::yLeft,   new Plot2d_ScaleDraw() );
+  setAxisScaleDraw( QwtPlot::xBottom, new Plot2d_ScaleDraw() );
+  setAxisScaleDraw( QwtPlot::yRight,  new Plot2d_ScaleDraw() );
+
   myPlotZoomer = new Plot2d_QwtPlotZoomer( QwtPlot::xBottom, QwtPlot::yLeft, canvas() );
   myPlotZoomer->setSelectionFlags( QwtPicker::DragSelection | QwtPicker::CornerToCorner );
   myPlotZoomer->setTrackerMode( QwtPicker::AlwaysOff );
@@ -1708,11 +1716,6 @@ Plot2d_Plot2d::Plot2d_Plot2d( QWidget* parent )
 
   defaultPicker();
 
-  // Create alternative scales
-  setAxisScaleDraw( QwtPlot::yLeft,   new Plot2d_ScaleDraw() );
-  setAxisScaleDraw( QwtPlot::xBottom, new Plot2d_ScaleDraw() );
-  setAxisScaleDraw( QwtPlot::yRight,  new Plot2d_ScaleDraw() );
-
   // auto scaling by default
   setAxisAutoScale( QwtPlot::yLeft );
   setAxisAutoScale( QwtPlot::yRight );
index bb25204f4f1287260fd25901865e29396e59a3b5..a903be0b8ea0b29485abaa45ddb9d0343b28a1bd 100755 (executable)
@@ -229,6 +229,7 @@ public:
   QwtPlotGrid*        grid() { return myGrid; };
   CurveDict& getCurves() { return myCurves; }
   Plot2d_Curve*       getClosestCurve( QPoint p, double& distance, int& index );
+  QwtPlotZoomer*      zoomer() const { return myPlotZoomer; }
 
   virtual void        updateYAxisIdentifiers();