qwt_wheel.h

00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
00002  * Qwt Widget Library
00003  * Copyright (C) 1997   Josef Wilgen
00004  * Copyright (C) 2002   Uwe Rathmann
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the Qwt License, Version 1.0
00008  *****************************************************************************/
00009 
00010 #ifndef QWT_WHEEL_H
00011 #define QWT_WHEEL_H
00012 
00013 #include "qwt_global.h"
00014 #include "qwt_abstract_slider.h"
00015 
00025 class QWT_EXPORT QwtWheel : public QwtAbstractSlider
00026 {
00027     Q_OBJECT 
00028     Q_PROPERTY( double totalAngle READ totalAngle WRITE setTotalAngle )
00029     Q_PROPERTY( double viewAngle READ viewAngle WRITE setViewAngle )
00030     Q_PROPERTY( int    tickCnt READ tickCnt WRITE setTickCnt )
00031     Q_PROPERTY( int    internalBorder READ internalBorder WRITE setInternalBorder )
00032     Q_PROPERTY( double mass READ mass WRITE setMass )
00033             
00034 public:
00035     explicit QwtWheel(QWidget *parent = NULL);
00036 #if QT_VERSION < 0x040000
00037     explicit QwtWheel(QWidget *parent, const char *name);
00038 #endif
00039     virtual ~QwtWheel();
00040 
00041     virtual void setOrientation(Qt::Orientation);
00042 
00043     double totalAngle() const;
00044     double viewAngle() const;
00045     int tickCnt() const;
00046     int internalBorder() const;
00047 
00048     double mass() const;
00049 
00050     void setTotalAngle (double angle);
00051     void setTickCnt(int cnt);
00052     void setViewAngle(double angle);
00053     void setInternalBorder(int width);
00054     void setMass(double val);
00055     void setWheelWidth( int w );
00056 
00057     virtual QSize sizeHint() const;
00058     virtual QSize minimumSizeHint() const;
00059 
00060 protected:
00061     virtual void resizeEvent(QResizeEvent *e);
00062     virtual void paintEvent(QPaintEvent *e);
00063 
00064     void layoutWheel( bool update = true );
00065     void draw(QPainter *p, const QRect& update_rect);
00066     void drawWheel(QPainter *p, const QRect &r);
00067     void drawWheelBackground(QPainter *p, const QRect &r);
00068     void setColorArray();
00069 
00070     virtual void valueChange();
00071     virtual void paletteChange( const QPalette &);
00072 
00073     virtual double getValue(const QPoint &p);
00074     virtual void getScrollMode(const QPoint &p, 
00075         int &scrollMode, int &direction);
00076 
00077 private:
00078     void initWheel();
00079 
00080     class PrivateData;
00081     PrivateData *d_data;
00082 };
00083 
00084 #endif

Generated on Mon Feb 26 21:22:39 2007 for Qwt User's Guide by  doxygen 1.4.6