00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef QWT_PLOT_INTERVAL_CURVE_H
00011 #define QWT_PLOT_INTERVAL_CURVE_H
00012
00013 #include "qwt_global.h"
00014 #include "qwt_plot_seriesitem.h"
00015 #include "qwt_series_data.h"
00016
00017 class QwtIntervalSymbol;
00018
00019 class QWT_EXPORT QwtPlotIntervalCurve: public QwtPlotSeriesItem<QwtIntervalSample>
00020 {
00021 public:
00022 enum CurveStyle
00023 {
00024 NoCurve,
00025 Tube,
00026
00027 UserCurve = 100
00028 };
00029
00030 explicit QwtPlotIntervalCurve(const QString &title = QString::null);
00031 explicit QwtPlotIntervalCurve(const QwtText &title);
00032
00033 virtual ~QwtPlotIntervalCurve();
00034
00035 virtual int rtti() const;
00036
00037 void setSamples(const QVector<QwtIntervalSample> &);
00038
00039 void setPen(const QPen &);
00040 const QPen &pen() const;
00041
00042 void setBrush(const QBrush &);
00043 const QBrush &brush() const;
00044
00045 void setCurveStyle(CurveStyle style);
00046 CurveStyle curveStyle() const;
00047
00048 void setSymbol(const QwtIntervalSymbol&);
00049 const QwtIntervalSymbol& symbol() const;
00050
00051 virtual void drawSeries(QPainter *p,
00052 const QwtScaleMap &xMap, const QwtScaleMap &yMap,
00053 const QRectF &canvasRect, int from, int to) const;
00054
00055 virtual QRectF boundingRect() const;
00056 virtual void drawLegendIdentifier(QPainter *, const QRectF &) const;
00057
00058 protected:
00059
00060 void init();
00061
00062 virtual void drawTube(QPainter *p,
00063 const QwtScaleMap &xMap, const QwtScaleMap &yMap,
00064 int from, int to) const;
00065
00066 virtual void drawSymbols(QPainter *p,
00067 const QwtScaleMap &xMap, const QwtScaleMap &yMap,
00068 int from, int to) const;
00069
00070 private:
00071 class PrivateData;
00072 PrivateData *d_data;
00073 };
00074
00075 #endif