Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members | Related Pages

qwt_dial_needle.h

Go to the documentation of this file.
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_DIAL_ITEM_H
00011 #define QWT_DIAL_ITEM_H 1
00012 
00013 #include <qpalette.h>
00014 #include "qwt_global.h"
00015 
00016 class QPainter;
00017 class QPoint;
00018 
00019 class QWT_EXPORT QwtDialNeedle
00020 {
00021 public:
00022   QwtDialNeedle();
00023   virtual ~QwtDialNeedle();
00024 
00025   virtual void draw(QPainter *, const QPoint &, int length, 
00026     double direction, QPalette::ColorGroup = QPalette::Active) const = 0;
00027 
00028   virtual void setPalette(const QPalette &);
00029   const QPalette &palette() const; 
00030 
00031 protected:
00032   const QColorGroup &colorGroup(QPalette::ColorGroup) const;
00033 
00034 private:
00035   QPalette d_palette;
00036 };
00037 
00038 class QWT_EXPORT QwtCompassMagnetNeedle: public QwtDialNeedle
00039 {
00040 public:
00041   QwtCompassMagnetNeedle(const QColor &light = Qt::white,
00042     const QColor &dark = Qt::red);
00043 
00044   virtual void draw(QPainter *, const QPoint &, int length, 
00045     double direction, QPalette::ColorGroup = QPalette::Active) const;
00046 
00047   static void drawNeedle(QPainter *, const QPoint &, 
00048     int length, double direction, 
00049     const QColor &light, const QColor &dark);
00050 };
00051 
00052 class QWT_EXPORT QwtCompassNeedle1: public QwtDialNeedle
00053 {
00054 public:
00055   QwtCompassNeedle1(const QColor &mid = Qt::black);
00056 
00057   virtual void draw(QPainter *, const QPoint &, int length, 
00058     double direction, QPalette::ColorGroup = QPalette::Active) const;
00059 
00060   static void drawNeedle(QPainter *, const QPoint &, 
00061     int length, double direction, const QColor &);
00062 };
00063 
00064 class QWT_EXPORT QwtCompassNeedle2: public QwtDialNeedle
00065 {
00066 public:
00067   QwtCompassNeedle2(const QColor &light = Qt::gray, const QColor &mid = Qt::black);
00068 
00069   virtual void draw(QPainter *, const QPoint &, int length, 
00070     double direction, QPalette::ColorGroup = QPalette::Active) const;
00071 
00072   static void drawNeedle(QPainter *, const QPoint &, 
00073     int length, double direction, const QColor &, const QColor &);
00074 };
00075 
00076 class QWT_EXPORT QwtCompassNeedle3: public QwtDialNeedle
00077 {
00078 public:
00079   QwtCompassNeedle3(const QColor &base = Qt::black, const QColor &mid = Qt::black);
00080 
00081   virtual void draw(QPainter *, const QPoint &, int length, 
00082     double direction, QPalette::ColorGroup = QPalette::Active) const;
00083 
00084   static void drawNeedle(QPainter *, const QPoint &, 
00085     int length, double direction, const QColor &, const QColor &);
00086 };
00087 
00088 class QWT_EXPORT QwtCompassNeedle4: public QwtDialNeedle
00089 {
00090 public:
00091     QwtCompassNeedle4(const QColor &light = Qt::white,
00092         const QColor &dark = Qt::red, const QColor &mid = Qt::gray);
00093 
00094   virtual void draw(QPainter *, const QPoint &, int length, 
00095     double direction, QPalette::ColorGroup = QPalette::Active) const;
00096 
00097   static void drawNeedle(QPainter *, const QPoint &, 
00098     int length, double direction, 
00099     const QColor &, const QColor &, const QColor &);
00100 
00101 protected:
00102   static void drawPointer(QPainter *painter, const QColor &color,
00103       int colorOffset, const QPoint &center, 
00104     int length, int width, double direction);
00105 
00106 };
00107 
00108 class QWT_EXPORT QwtCompassLineNeedle: public QwtDialNeedle
00109 {
00110 public:
00111   QwtCompassLineNeedle(const QColor &foreground = Qt::black);
00112 
00113   virtual void draw(QPainter *, const QPoint &, int length, 
00114     double direction, QPalette::ColorGroup = QPalette::Active) const;
00115 
00116   static void drawNeedle(QPainter *, const QPoint &, 
00117     int length, double direction, const QColor &);
00118 };
00119 
00120 #endif // QWT_DIAL_ITEM_H

Generated on Fri Nov 7 14:11:45 2003 for Qwt Developer's Guide by doxygen 1.3.2