00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef QWT_PLOT_PICKER
00013 #define QWT_PLOT_PICKER
00014
00015 #include "qwt_double_rect.h"
00016 #include "qwt_array.h"
00017 #include "qwt_plot_canvas.h"
00018 #include "qwt_picker.h"
00019
00020 class QwtPlot;
00021
00038 class QWT_EXPORT QwtPlotPicker: public QwtPicker
00039 {
00040 Q_OBJECT
00041
00042 public:
00043 QwtPlotPicker(QwtPlotCanvas *, const char *name = 0);
00044
00045 QwtPlotPicker(int xAxis, int yAxis,
00046 QwtPlotCanvas *, const char *name = 0);
00047
00048 QwtPlotPicker(int xAxis, int yAxis, int selectionFlags,
00049 RubberBand rubberBand, DisplayMode cursorLabelMode,
00050 QwtPlotCanvas *, const char *name = 0);
00051
00052 virtual void setAxis(int xAxis, int yAxis);
00053
00054 int xAxis() const;
00055 int yAxis() const;
00056
00057 QwtPlot *plot();
00058 const QwtPlot *plot() const;
00059
00060 QwtPlotCanvas *canvas();
00061 const QwtPlotCanvas *canvas() const;
00062
00063 signals:
00064
00069 void selected(const QwtDoublePoint &pos);
00070
00075 void selected(const QwtDoubleRect &rect);
00076
00083 void selected(const QwtArray<QwtDoublePoint> &pa);
00084
00091 void appended(const QwtDoublePoint &pos);
00092
00100 void moved(const QwtDoublePoint &pos);
00101
00102 protected:
00103 QwtDoubleRect scaleRect() const;
00104
00105 QwtDoubleRect invTransform(const QRect &) const;
00106 QRect transform(const QwtDoubleRect &) const;
00107
00108 QwtDoublePoint invTransform(const QPoint &) const;
00109 QPoint transform(const QwtDoublePoint &) const;
00110
00111 virtual QString cursorLabel(const QPoint &) const;
00112 virtual QString cursorLabel(const QwtDoublePoint &) const;
00113
00114 virtual void move(const QPoint &);
00115 virtual void append(const QPoint &);
00116 virtual bool end(bool ok = TRUE);
00117
00118 private:
00119 int d_xAxis;
00120 int d_yAxis;
00121 };
00122
00123 #endif
00124
00125
00126
00127
00128
00129