00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef QWT_PLOT_PICKER_H
00011 #define QWT_PLOT_PICKER_H
00012
00013 #include "qwt_global.h"
00014 #include "qwt_plot_canvas.h"
00015 #include "qwt_picker.h"
00016 #include <qvector.h>
00017
00018 class QwtPlot;
00019
00028 class QWT_EXPORT QwtPlotPicker: public QwtPicker
00029 {
00030 Q_OBJECT
00031
00032 public:
00033 explicit QwtPlotPicker(QwtPlotCanvas *);
00034 virtual ~QwtPlotPicker();
00035
00036 explicit QwtPlotPicker(int xAxis, int yAxis,
00037 QwtPlotCanvas *);
00038
00039 explicit QwtPlotPicker(int xAxis, int yAxis,
00040 RubberBand rubberBand, DisplayMode trackerMode,
00041 QwtPlotCanvas *);
00042
00043 virtual void setAxis(int xAxis, int yAxis);
00044
00045 int xAxis() const;
00046 int yAxis() const;
00047
00048 QwtPlot *plot();
00049 const QwtPlot *plot() const;
00050
00051 QwtPlotCanvas *canvas();
00052 const QwtPlotCanvas *canvas() const;
00053
00054 Q_SIGNALS:
00055
00060 void selected(const QPointF &pos);
00061
00066 void selected(const QRectF &rect);
00067
00074 void selected(const QVector<QPointF> &pa);
00075
00082 void appended(const QPointF &pos);
00083
00091 void moved(const QPointF &pos);
00092
00093 protected:
00094 QRectF scaleRect() const;
00095
00096 QRectF invTransform(const QRect &) const;
00097 QRect transform(const QRectF &) const;
00098
00099 QPointF invTransform(const QPoint &) const;
00100 QPoint transform(const QPointF &) const;
00101
00102 virtual QwtText trackerText(const QPoint &) const;
00103 virtual QwtText trackerText(const QPointF &) const;
00104
00105 virtual void move(const QPoint &);
00106 virtual void append(const QPoint &);
00107 virtual bool end(bool ok = true);
00108
00109 private:
00110 int d_xAxis;
00111 int d_yAxis;
00112 };
00113
00114 #endif