QwtAnalogClock Class Reference

Inheritance diagram for QwtAnalogClock:

Inheritance graph
[legend]
Collaboration diagram for QwtAnalogClock:

Collaboration graph
[legend]
List of all members.

Detailed Description

An analog clock.

analogclock.png

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 QwtDialNeedlehand (Hand) const
QwtDialNeedlehand (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()
Enumerator:
SecondHand 
MinuteHand 
HourHand 
NHands 

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::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().

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().

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.

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::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::setValid(), and QwtAbstractSlider::setValue().

Referenced by setCurrentTime().

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::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(), HourHand, QwtAbstractSlider::isValid(), MinuteHand, QwtDial::origin(), SecondHand, and QwtDoubleRange::value().

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(), HourHand, and QwtDial::needle().

Referenced by drawNeedle().


Generated on Sun Jul 22 11:26:55 2007 for Qwt User's Guide by  doxygen 1.5.2