00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
#ifndef QWT_WHEEL_H
00011
#define QWT_WHEEL_H
00012
00013
#include "qwt_global.h"
00014
#include "qwt_sldbase.h"
00015
00025 class QWT_EXPORT QwtWheel :
public QwtSliderBase
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 QwtWheel(QWidget *parent = 0,
const char *name = 0);
00036
virtual ~QwtWheel();
00037
00038
virtual void setOrientation(Qt::Orientation);
00039
00040
double totalAngle()
const {
return d_totalAngle;}
00041
double viewAngle()
const {
return d_viewAngle;}
00042
int tickCnt()
const {
return d_tickCnt;}
00043
int internalBorder()
const {
return d_intBorder;}
00044
double mass()
const;
00045
00046
void setTotalAngle (
double angle);
00047
void setTickCnt(
int cnt);
00048
void setViewAngle(
double angle);
00049
void setInternalBorder(
int width);
00050
void setMass(
double val);
00051
void setWheelWidth(
int w );
00052
00053
virtual QSize sizeHint()
const;
00054
virtual QSize minimumSizeHint()
const;
00055
virtual QSizePolicy sizePolicy()
const;
00056
00057
protected:
00058
virtual void resizeEvent(QResizeEvent *e);
00059
virtual void paintEvent(QPaintEvent *e);
00060
00061
void layoutWheel(
bool update = TRUE );
00062
void draw(QPainter *p,
const QRect& update_rect);
00063
void drawWheel(QPainter *p,
const QRect &r);
00064
void drawWheelBackground(QPainter *p,
const QRect &r);
00065
void setColorArray();
00066
00067
virtual void valueChange();
00068
virtual void paletteChange(
const QPalette &);
00069
00070
virtual double getValue(
const QPoint &p);
00071
virtual void getScrollMode(
const QPoint &p,
00072
int &scrollMode,
int &direction);
00073
00074
private:
00075 QColor* d_colors;
00076 QRect d_sliderRect;
00077
double d_viewAngle;
00078
double d_totalAngle;
00079
int d_tickCnt;
00080
int d_intBorder;
00081
int d_borderWidth;
00082
int d_colorCnt;
00083
int d_wheelWidth;
00084
int d_allocContext;
00085 };
00086
00087
#endif