Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef QWT_PLOT_ZOOMER_H
00011 #define QWT_PLOT_ZOOMER_H
00012
00013 #include "qwt_global.h"
00014 #include "qwt_plot_picker.h"
00015 #include <qstack.h>
00016
00077 class QWT_EXPORT QwtPlotZoomer: public QwtPlotPicker
00078 {
00079 Q_OBJECT
00080 public:
00081 explicit QwtPlotZoomer( QWidget *, bool doReplot = true );
00082 explicit QwtPlotZoomer( int xAxis, int yAxis,
00083 QWidget *, bool doReplot = true );
00084
00085 virtual ~QwtPlotZoomer();
00086
00087 virtual void setZoomBase( bool doReplot = true );
00088 virtual void setZoomBase( const QRectF & );
00089
00090 QRectF zoomBase() const;
00091 QRectF zoomRect() const;
00092
00093 virtual void setAxis( int xAxis, int yAxis );
00094
00095 void setMaxStackDepth( int );
00096 int maxStackDepth() const;
00097
00098 const QStack<QRectF> &zoomStack() const;
00099 void setZoomStack( const QStack<QRectF> &,
00100 int zoomRectIndex = -1 );
00101
00102 uint zoomRectIndex() const;
00103
00104 public Q_SLOTS:
00105 void moveBy( double x, double y );
00106 virtual void moveTo( const QPointF & );
00107
00108 virtual void zoom( const QRectF & );
00109 virtual void zoom( int up );
00110
00111 Q_SIGNALS:
00119 void zoomed( const QRectF &rect );
00120
00121 protected:
00122 virtual void rescale();
00123
00124 virtual QSizeF minZoomSize() const;
00125
00126 virtual void widgetMouseReleaseEvent( QMouseEvent * );
00127 virtual void widgetKeyPressEvent( QKeyEvent * );
00128
00129 virtual void begin();
00130 virtual bool end( bool ok = true );
00131 virtual bool accept( QPolygon & ) const;
00132
00133 private:
00134 void init( bool doReplot );
00135
00136 class PrivateData;
00137 PrivateData *d_data;
00138 };
00139
00140 #endif