Qwt Polar User's Guide 1.1.1

- Main Page
- Related Pages
- Classes

All Classes Functions Typedefs Enumerations Enumerator Pages
qwt_polar_curve.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_CURVE_H
10 #define QWT_POLAR_CURVE_H
11
12 #include "qwt_polar_global.h"
13 #include "qwt_polar_item.h"
14 #include <qwt_point_polar.h>
15 #include <qwt_series_data.h>
16
17 class QPainter;
18 class QwtSymbol;
19 class QwtCurveFitter;
20
30 class QWT_POLAR_EXPORT QwtPolarCurve: public QwtPolarItem
31 {
32 public:
37 enum CurveStyle
38 {
40 NoCurve,
41
47 Lines,
48
50 UserCurve = 100
51 };
52
63 enum LegendAttribute
64 {
69 LegendShowLine = 0x01,
70
72 LegendShowSymbol = 0x02
73 };
74
76 typedef QFlags<LegendAttribute> LegendAttributes;
77
78
79 explicit QwtPolarCurve();
80 explicit QwtPolarCurve( const QwtText &title );
81 explicit QwtPolarCurve( const QString &title );
82
83 virtual ~QwtPolarCurve();
84
85 virtual int rtti() const;
86
87 void setLegendAttribute( LegendAttribute, bool on = true );
88 bool testLegendAttribute( LegendAttribute ) const;
89
90 void setData( QwtSeriesData<QwtPointPolar> *data );
91 const QwtSeriesData<QwtPointPolar> *data() const;
92
93 size_t dataSize() const;
94 QwtPointPolar sample( int i ) const;
95
96 void setPen( const QPen & );
97 const QPen &pen() const;
98
99 void setStyle( CurveStyle style );
100 CurveStyle style() const;
101
102 void setSymbol( QwtSymbol * );
103 const QwtSymbol *symbol() const;
104
105 void setCurveFitter( QwtCurveFitter * );
106 QwtCurveFitter *curveFitter() const;
107
108 virtual void draw( QPainter *p,
109 const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap,
110 const QPointF &pole, double radius,
111 const QRectF &canvasRect ) const;
112
113 virtual void draw( QPainter *p,
114 const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap,
115 const QPointF &pole, int from, int to ) const;
116
117 virtual QwtInterval boundingInterval( int scaleId ) const;
118
119 virtual QwtGraphic legendIcon( int index, const QSizeF & ) const;
120
121 protected:
122
123 void init();
124
125 virtual void drawCurve( QPainter *, int style,
126 const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap,
127 const QPointF &pole, int from, int to ) const;
128
129 virtual void drawSymbols( QPainter *, const QwtSymbol &,
130 const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap,
131 const QPointF &pole, int from, int to ) const;
132
133 void drawLines( QPainter *,
134 const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap,
135 const QPointF &pole, int from, int to ) const;
136
137 private:
138 QwtSeriesData<QwtPointPolar> *d_series;
139
140 class PrivateData;
141 PrivateData *d_data;
142 };
143
145 inline const QwtSeriesData<QwtPointPolar> *QwtPolarCurve::data() const
146 {
147 return d_series;
148 }
149
154 inline QwtPointPolar QwtPolarCurve::sample( int i ) const
155 {
156 return d_series->sample( i );
157 }
158
159 Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPolarCurve::LegendAttributes )
160
161 #endif
QwtPolarCurve::CurveStyle
CurveStyle
Definition: qwt_polar_curve.h:37
QwtPolarCurve::LegendAttribute
LegendAttribute
Attributes how to represent the curve on the legend.
Definition: qwt_polar_curve.h:63
QwtPolarCurve::sample
QwtPointPolar sample(int i) const
Definition: qwt_polar_curve.h:154
QwtPolarItem::legendIcon
virtual QwtGraphic legendIcon(int index, const QSizeF &) const
Definition: qwt_polar_item.cpp:465
QwtPolarCurve::LegendAttributes
QFlags< LegendAttribute > LegendAttributes
Legend attributes.
Definition: qwt_polar_curve.h:76
QwtPolarItem::draw
virtual void draw(QPainter *painter, const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap, const QPointF &pole, double radius, const QRectF &canvasRect) const =0
Draw the item.
QwtPolarItem
Base class for items on a polar plot.
Definition: qwt_polar_item.h:37
QwtPolarItem::boundingInterval
virtual QwtInterval boundingInterval(int scaleId) const
Definition: qwt_polar_item.cpp:382
QwtPolarCurve::Lines
Definition: qwt_polar_curve.h:47
QwtPolarCurve::data
const QwtSeriesData< QwtPointPolar > * data() const
Definition: qwt_polar_curve.h:145
QwtPolarCurve::NoCurve
Don&#39;t draw a curve. Note: This doesn&#39;t affect the symbols.
Definition: qwt_polar_curve.h:40
QwtPolarCurve
An item, that represents a series of points.
Definition: qwt_polar_curve.h:30
QwtPolarItem::rtti
virtual int rtti() const
Definition: qwt_polar_item.cpp:113