qwt_plot_intervalcurve.h
Go to the documentation of this file.
1 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
2  * Qwt Widget Library
3  * Copyright (C) 1997 Josef Wilgen
4  * Copyright (C) 2002 Uwe Rathmann
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the Qwt License, Version 1.0
8  *****************************************************************************/
9 
10 #ifndef QWT_PLOT_INTERVAL_CURVE_H
11 #define QWT_PLOT_INTERVAL_CURVE_H
12 
13 #include "qwt_global.h"
14 #include "qwt_plot_seriesitem.h"
15 
16 class QwtIntervalSymbol;
17 template <typename T> class QwtSeriesData;
18 
28  public QwtPlotSeriesItem, public QwtSeriesStore<QwtIntervalSample>
29 {
30 public:
38  {
43 
50 
56  UserCurve = 100
57  };
58 
64  {
70  ClipPolygons = 0x01,
71 
73  ClipSymbol = 0x02
74  };
75 
77  typedef QFlags<PaintAttribute> PaintAttributes;
78 
79  explicit QwtPlotIntervalCurve( const QString &title = QString() );
80  explicit QwtPlotIntervalCurve( const QwtText &title );
81 
82  virtual ~QwtPlotIntervalCurve();
83 
84  virtual int rtti() const QWT_OVERRIDE;
85 
86  void setPaintAttribute( PaintAttribute, bool on = true );
87  bool testPaintAttribute( PaintAttribute ) const;
88 
89  void setSamples( const QVector<QwtIntervalSample> & );
90  void setSamples( QwtSeriesData<QwtIntervalSample> * );
91 
92  void setPen( const QColor &,
93  qreal width = 0.0, Qt::PenStyle = Qt::SolidLine );
94 
95  void setPen( const QPen & );
96  const QPen &pen() const;
97 
98  void setBrush( const QBrush & );
99  const QBrush &brush() const;
100 
101  void setStyle( CurveStyle style );
102  CurveStyle style() const;
103 
104  void setSymbol( const QwtIntervalSymbol * );
105  const QwtIntervalSymbol *symbol() const;
106 
107  virtual void drawSeries( QPainter *,
108  const QwtScaleMap &xMap, const QwtScaleMap &yMap,
109  const QRectF &canvasRect, int from, int to ) const QWT_OVERRIDE;
110 
111  virtual QRectF boundingRect() const QWT_OVERRIDE;
112 
113  virtual QwtGraphic legendIcon(
114  int index, const QSizeF & ) const QWT_OVERRIDE;
115 
116 protected:
117 
118  void init();
119 
120  virtual void drawTube( QPainter *,
121  const QwtScaleMap &xMap, const QwtScaleMap &yMap,
122  const QRectF &canvasRect, int from, int to ) const;
123 
124  virtual void drawSymbols( QPainter *, const QwtIntervalSymbol &,
125  const QwtScaleMap &xMap, const QwtScaleMap &yMap,
126  const QRectF &canvasRect, int from, int to ) const;
127 
128 private:
129  class PrivateData;
130  PrivateData *d_data;
131 };
132 
133 Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotIntervalCurve::PaintAttributes )
134 
135 #endif
virtual int rtti() const
#define QWT_EXPORT
Definition: qwt_global.h:38
Abstract interface for iterating over samples.
Class storing a QwtSeriesData object.
A sample of the types (x1-x2, y) or (x, y1-y2)
Definition: qwt_samples.h:20
A class representing a text.
Definition: qwt_text.h:51
A drawing primitive for displaying an interval like an error bar.
A paint device for scalable graphics.
Definition: qwt_graphic.h:75
A scale map.
Definition: qwt_scale_map.h:26
Base class for plot items representing a series of samples.
QFlags< PaintAttribute > PaintAttributes
Paint attributes.
QwtPlotIntervalCurve represents a series of samples, where each value is associated with an interval ...
#define QWT_OVERRIDE
Definition: qwt_global.h:53
CurveStyle
Curve styles. The default setting is QwtPlotIntervalCurve::Tube.


plotjuggler
Author(s): Davide Faconti
autogenerated on Sun Dec 6 2020 03:48:10