00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef QVHISTOGRAM_H
00011 #define QVHISTOGRAM_H
00012
00013 #include <qglobal.h>
00014 #include <qcolor.h>
00015
00016 #include <qwt_plot_item.h>
00017
00018 #ifndef DOXYGEN_IGNORE_THIS
00019 class QwtIntervalData;
00020 class QString;
00021
00022 class QVHistogram: public QwtPlotItem
00023 {
00024 public:
00025 explicit QVHistogram(const QString &title = QString::null);
00026 explicit QVHistogram(const QwtText &title);
00027 virtual ~QVHistogram();
00028
00029 void setData(const QwtIntervalData &data);
00030 const QwtIntervalData &data() const;
00031
00032 void setColor(const QColor &);
00033 QColor color() const;
00034
00035 virtual QwtDoubleRect boundingRect() const;
00036
00037 virtual int rtti() const;
00038
00039 virtual void draw(QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRect &) const;
00040
00041 void setBaseline(double reference);
00042 double baseline() const;
00043
00044 enum HistogramAttribute
00045 {
00046 Auto = 0,
00047 Xfy = 1
00048 };
00049
00050 void setHistogramAttribute(HistogramAttribute, bool on = true);
00051 bool testHistogramAttribute(HistogramAttribute) const;
00052
00053 protected:
00054 virtual void drawBar(QPainter *,
00055 Qt::Orientation o, const QRect &) const;
00056
00057 private:
00058 void init();
00059
00060 class PrivateData;
00061 PrivateData *d_data;
00062 };
00063
00064 #endif
00065 #endif
00066