00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision: 1.12 $ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or http://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 #ifndef QMITKHISTOGRAM_H 00019 #define QMITKHISTOGRAM_H 00020 00021 #include <qglobal.h> 00022 #include <qcolor.h> 00023 00024 #include <qwt_plot_item.h> 00025 #include <qwt_interval_data.h> 00026 00032 class QmitkHistogram: public QwtPlotItem 00033 { 00034 00035 // Q_OBJECT 00036 00037 public: 00038 explicit QmitkHistogram(const QString &title = QString::null); 00039 explicit QmitkHistogram(const QwtText &title); 00040 virtual ~QmitkHistogram(); 00041 00042 void setData(const QwtIntervalData &data); 00043 const QwtIntervalData &data() const; 00044 00045 void setColor(const QColor &); 00046 QColor color() const; 00047 00048 virtual QwtDoubleRect boundingRect() const; 00049 00050 virtual void draw(QPainter *, const QwtScaleMap &xMap, 00051 const QwtScaleMap &yMap, const QRect &) const; 00052 00053 void setBaseline(double reference); 00054 double baseline() const; 00055 00056 protected: 00057 virtual void drawBar(QPainter *, 00058 Qt::Orientation o, const QRect &) const; 00059 00060 private: 00061 void init(); 00062 00063 class HistogramData; 00064 HistogramData *m_Data; 00065 }; 00066 00067 #endif