diff options
Diffstat (limited to 'src/libpcp_qwt/src/qwt_plot_picker.h')
-rw-r--r-- | src/libpcp_qwt/src/qwt_plot_picker.h | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/src/libpcp_qwt/src/qwt_plot_picker.h b/src/libpcp_qwt/src/qwt_plot_picker.h new file mode 100644 index 0000000..f7d1bee --- /dev/null +++ b/src/libpcp_qwt/src/qwt_plot_picker.h @@ -0,0 +1,115 @@ +/* -*- mode: C++ ; c-file-style: "stroustrup" -*- ***************************** + * Qwt Widget Library + * Copyright (C) 1997 Josef Wilgen + * Copyright (C) 2002 Uwe Rathmann + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the Qwt License, Version 1.0 + *****************************************************************************/ + +#ifndef QWT_PLOT_PICKER_H +#define QWT_PLOT_PICKER_H + +#include "qwt_global.h" +#include "qwt_plot_canvas.h" +#include "qwt_picker.h" +#include <qvector.h> + +class QwtPlot; + +/*! + \brief QwtPlotPicker provides selections on a plot canvas + + QwtPlotPicker is a QwtPicker tailored for selections on + a plot canvas. It is set to a x-Axis and y-Axis and + translates all pixel coordinates into this coodinate system. +*/ + +class QWT_EXPORT QwtPlotPicker: public QwtPicker +{ + Q_OBJECT + +public: + explicit QwtPlotPicker( QwtPlotCanvas * ); + virtual ~QwtPlotPicker(); + + explicit QwtPlotPicker( int xAxis, int yAxis, QwtPlotCanvas * ); + + explicit QwtPlotPicker( int xAxis, int yAxis, + RubberBand rubberBand, DisplayMode trackerMode, + QwtPlotCanvas * ); + + virtual void setAxis( int xAxis, int yAxis ); + + int xAxis() const; + int yAxis() const; + + QwtPlot *plot(); + const QwtPlot *plot() const; + + QwtPlotCanvas *canvas(); + const QwtPlotCanvas *canvas() const; + +Q_SIGNALS: + + /*! + A signal emitted in case of selectionFlags() & PointSelection. + \param pos Selected point + */ + void selected( const QPointF &pos ); + + /*! + A signal emitted in case of selectionFlags() & RectSelection. + \param rect Selected rectangle + */ + void selected( const QRectF &rect ); + + /*! + A signal emitting the selected points, + at the end of a selection. + + \param pa Selected points + */ + void selected( const QVector<QPointF> &pa ); + + /*! + A signal emitted when a point has been appended to the selection + + \param pos Position of the appended point. + \sa append(). moved() + */ + void appended( const QPointF &pos ); + + /*! + A signal emitted whenever the last appended point of the + selection has been moved. + + \param pos Position of the moved last point of the selection. + \sa move(), appended() + */ + void moved( const QPointF &pos ); + +protected: + QRectF scaleRect() const; + +public: + QRectF invTransform( const QRect & ) const; + QRect transform( const QRectF & ) const; + + QPointF invTransform( const QPoint & ) const; + QPoint transform( const QPointF & ) const; + +protected: + virtual QwtText trackerText( const QPoint & ) const; + virtual QwtText trackerTextF( const QPointF & ) const; + + virtual void move( const QPoint & ); + virtual void append( const QPoint & ); + virtual bool end( bool ok = true ); + +private: + int d_xAxis; + int d_yAxis; +}; + +#endif |