Qwt Polar User's Guide  1.1.0-rc1
 All Classes Functions Typedefs Enumerations Enumerator Pages
qwt_polar_picker.h
1 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
2  * QwtPolar Widget Library
3  * Copyright (C) 2008 Uwe Rathmann
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the Qwt License, Version 1.0
7  *****************************************************************************/
8 
9 #ifndef QWT_POLAR_PICKER_H
10 #define QWT_POLAR_PICKER_H
11 
12 #include "qwt_polar_global.h"
13 #include "qwt_picker.h"
14 #include <qvector.h>
15 #include <qpainterpath.h>
16 
17 class QwtPolarPlot;
18 class QwtPolarCanvas;
19 class QwtPointPolar;
20 
28 class QWT_POLAR_EXPORT QwtPolarPicker: public QwtPicker
29 {
30  Q_OBJECT
31 
32 public:
33  explicit QwtPolarPicker( QwtPolarCanvas * );
34  virtual ~QwtPolarPicker();
35 
36  explicit QwtPolarPicker(
37  RubberBand rubberBand, DisplayMode trackerMode,
38  QwtPolarCanvas * );
39 
40  QwtPolarPlot *plot();
41  const QwtPolarPlot *plot() const;
42 
43  QwtPolarCanvas *canvas();
44  const QwtPolarCanvas *canvas() const;
45 
46  virtual QRect pickRect() const;
47 
48 Q_SIGNALS:
49 
54  void selected( const QwtPointPolar &pos );
55 
62  void selected( const QVector<QwtPointPolar> &points );
63 
70  void appended( const QwtPointPolar &pos );
71 
79  void moved( const QwtPointPolar &pos );
80 
81 protected:
82  QwtPointPolar invTransform( const QPoint & ) const;
83 
84  virtual QwtText trackerText( const QPoint & ) const;
85  virtual QwtText trackerTextPolar( const QwtPointPolar & ) const;
86 
87  virtual void move( const QPoint & );
88  virtual void append( const QPoint & );
89  virtual bool end( bool ok = true );
90 
91 private:
92  virtual QPainterPath pickArea() const;
93 
94  class PrivateData;
95  PrivateData *d_data;
96 };
97 
98 #endif