QHistogram.hpp

00001 #ifndef _QHistogram_hpp_
00002 #define _QHistogram_hpp_
00003 
00004 #include <qwidget.h>
00005 
00006 class QPen;
00007 class QPaintEvent;
00008 
00010 class QHistogram : public QWidget {
00011    Q_OBJECT;
00012 public:
00013    enum DisplayMode {NormalDisplay=0,LogDisplay=1,SqrtDisplay=2,
00014                      Power2Display=3,ExpDisplay=4};
00015    
00016    QHistogram(QWidget * parent=0, const char * name=0, WFlags f=0 );
00017    virtual ~QHistogram();
00019    bool autoShift() const;
00022    int average() const;
00023    double value(int pos=0) const;
00024    double value(int pos1,int pos2) const;
00025    double max() const;
00026    double min() const;
00027 public slots:
00029    void setDataSize(int dataSize);
00030    void setValue(double value,int pos=0);
00031    void setAutoShift(bool);
00032    void setAverage(int val);
00033    void reset();
00034    void displayMode(DisplayMode);
00036    void draw() { update(); }
00037 protected:
00038    void paintEvent( QPaintEvent * ev);
00039 private:
00040    double findMax() const;
00041    double findMin() const;
00042    double conv2displayMode(double val) const;
00043    DisplayMode dispMode_;
00044    double max_;
00045    double min_;
00046    int dataSize_;
00047    double * dataTable_;
00048    int currentPos_;
00049    bool autoShift_;
00050    int average_;
00051    QPen * normPen_;
00052    QPen * averagePen_;
00053 };
00054 #endif

Generated on Sat Oct 27 09:21:03 2007 for QastroCam by  doxygen 1.5.1