# QwtAnalogClock Class Reference

Inheritance diagram for QwtAnalogClock:

[legend]
Collaboration diagram for QwtAnalogClock:

[legend]
List of all members.

## Detailed Description

An analog clock.

Example

      #include <qwt_analog_clock.h>

        QwtAnalogClock *clock = new QwtAnalogClock(...);
        clock->scaleDraw()->setPenWidth(3);
        clock->setLineWidth(6);
        clock->setFrameShadow(QwtDial::Sunken);
        clock->setTime();

        // update the clock every second
        QTimer *timer = new QTimer(clock);
        timer->connect(timer, SIGNAL(timeout()), clock, SLOT(setCurrentTime()));
        timer->start(1000);

Qwt is missing a set of good looking hands. Contributions are very welcome.

Note:
  The examples/dials example shows how to use QwtAnalogClock.

Definition at line 45 of file qwt_analog_clock.h.

## Public Types

enum | Hand { SecondHand, MinuteHand, HourHand, NHands }

## Public Slots

void | setCurrentTime ()
void | setTime (const QTime &=QTime::currentTime())

## Public Member Functions

| QwtAnalogClock (QWidget *parent=NULL)
virtual | ~QwtAnalogClock ()
virtual void | setHand (Hand, QwtDialNeedle *)
const QwtDialNeedle * | hand (Hand) const
QwtDialNeedle * | hand (Hand)

## Protected Member Functions

virtual QwtText | scaleLabel (double) const
virtual void | drawNeedle (QPainter *, const QPoint &, int radius, double direction, QPalette::ColorGroup) const
virtual void | drawHand (QPainter *, Hand, const QPoint &, int radius, double direction, QPalette::ColorGroup) const

## Member Enumeration Documentation

enum QwtAnalogClock::Hand

Hand type

See also:
  setHand(), hand()

Definition at line 55 of file qwt_analog_clock.h.

## Constructor & Destructor Documentation

QwtAnalogClock::QwtAnalogClock | ( | QWidget * | parent = `NULL` | ) | `[explicit]`

Constructor

Parameters:

  | parent | Parent widget

Definition at line 16 of file qwt_analog_clock.cpp.

QwtAnalogClock::~QwtAnalogClock | ( |  | ) | `[virtual]`

| Destructor. Definition at line 82 of file qwt_analog_clock.cpp.

## Member Function Documentation

void QwtAnalogClock::drawHand | ( | QPainter * | painter,
|  | Hand | hd,
|  | const QPoint & | center,
|  | int | radius,
|  | double | direction,
|  | QPalette::ColorGroup | cg
| ) | const`[protected, virtual]`

Draw a clock hand

Parameters:

  | painter | Painter
  | hd | Specify the type of hand
  | center | Center of the clock
  | radius | Maximum length for the hands
  | direction | Direction of the hand in degrees, counter clockwise
  | cg | ColorGroup

Definition at line 220 of file qwt_analog_clock.cpp.

References QwtDialNeedle::draw(), hand(), and QwtDial::needle().

Referenced by drawNeedle().

void QwtAnalogClock::drawNeedle | ( | QPainter * | painter,
|  | const QPoint & | center,
|  | int | radius,
|  | double | direction,
|  | QPalette::ColorGroup | cg
| ) | const`[protected, virtual]`

Draw the needle.

A clock has no single needle but three hands instead. drawNeedle translates value() into directions for the hands and calls drawHand().

Parameters:

  | painter | Painter
  | center | Center of the clock
  | radius | Maximum length for the hands
  | direction | Dummy, not used.
  | cg | ColorGroup

See also:
  QwtAnalogClock::drawHand()

Reimplemented from QwtDial.

Definition at line 191 of file qwt_analog_clock.cpp.

References drawHand(), QwtAbstractSlider::isValid(), QwtDial::origin(), and QwtDoubleRange::value().

QwtDialNeedle * QwtAnalogClock::hand | ( | Hand | hd | ) |

Returns:
  Clock hand

Parameters:

  | hd | Specifies the type of hand

See also:
  QwtAnalogClock::setHand

Definition at line 118 of file qwt_analog_clock.cpp.

const QwtDialNeedle * QwtAnalogClock::hand | ( | Hand | hd | ) | const

Returns:
  Clock hand

Parameters:

  | hd | Specifies the type of hand

See also:
  QwtAnalogClock::setHand

Definition at line 131 of file qwt_analog_clock.cpp.

Referenced by drawHand().

QwtText QwtAnalogClock::scaleLabel | ( | double | value | ) | const`[protected, virtual]`

Find the scale label for a given value

Parameters:

  | value | Value

Returns:
  Label

Reimplemented from QwtDial.

Definition at line 168 of file qwt_analog_clock.cpp.

void QwtAnalogClock::setCurrentTime | ( |  | ) | `[slot]`

| Set the current time. This is the same as QwtAnalogClock::setTime(), but Qt < 3.0 can't handle default parameters for slots. Definition at line 142 of file qwt_analog_clock.cpp. References setTime().

void QwtAnalogClock::setHand | ( | Hand | hand,
|  | QwtDialNeedle * | needle
| ) | `[virtual]`

Set a clockhand

Parameters:

  | hand | Specifies the type of hand
  | needle | Hand

See also:
  QwtAnalogClock::hand()

Definition at line 104 of file qwt_analog_clock.cpp.

References QwtDial::needle().

void QwtAnalogClock::setTime | ( | const QTime & | time = `QTime::currentTime()` | ) | `[slot]`

Set a time

Parameters:

  | time | Time to display

Definition at line 151 of file qwt_analog_clock.cpp.

References QwtAbstractSlider::setValue().

Referenced by setCurrentTime().