/****************************************************************************** * QwtPolar Widget Library * Copyright (C) 2008 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_POLAR_PICKER_H #define QWT_POLAR_PICKER_H #include "qwt_global.h" #include "qwt_picker.h" #include #include class QwtPolarPlot; class QwtPolarCanvas; class QwtPointPolar; /*! \brief QwtPolarPicker provides selections on a plot canvas QwtPolarPicker is a QwtPicker tailored for selections on a polar plot canvas. */ class QWT_EXPORT QwtPolarPicker : public QwtPicker { Q_OBJECT public: explicit QwtPolarPicker( QwtPolarCanvas* ); virtual ~QwtPolarPicker(); explicit QwtPolarPicker( RubberBand rubberBand, DisplayMode trackerMode, QwtPolarCanvas* ); QwtPolarPlot* plot(); const QwtPolarPlot* plot() const; QwtPolarCanvas* canvas(); const QwtPolarCanvas* canvas() const; virtual QRect pickRect() const; Q_SIGNALS: /*! A signal emitted in case of selectionFlags() & PointSelection. \param pos Selected point */ void selected( const QwtPointPolar& pos ); /*! A signal emitting the selected points, at the end of a selection. \param points Selected points */ void selected( const QVector< QwtPointPolar >& points ); /*! 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 QwtPointPolar& 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 QwtPointPolar& pos ); protected: QwtPointPolar invTransform( const QPoint& ) const; virtual QwtText trackerText( const QPoint& ) const QWT_OVERRIDE; virtual QwtText trackerTextPolar( const QwtPointPolar& ) const; virtual void move( const QPoint& ) QWT_OVERRIDE; virtual void append( const QPoint& ) QWT_OVERRIDE; virtual bool end( bool ok = true ) QWT_OVERRIDE; private: virtual QPainterPath pickArea() const QWT_OVERRIDE; class PrivateData; PrivateData* m_data; }; #endif