QwtAnalogClock Class Reference

An analog clock. More...

#include <qwt_analog_clock.h>

Inheritance diagram for QwtAnalogClock:
Inheritance graph
[legend]

List of all members.

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

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.

Member Enumeration Documentation

Hand type

See also:
setHand(), hand()

Constructor & Destructor Documentation

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

Constructor

Parameters:
parent Parent widget
QwtAnalogClock::~QwtAnalogClock (  )  [virtual]

Destructor.


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

Reimplemented from QwtDial.

QwtDialNeedle * QwtAnalogClock::hand ( Hand  hd  ) 
Returns:
Clock hand
Parameters:
hd Specifies the type of hand
See also:
setHand()
const QwtDialNeedle * QwtAnalogClock::hand ( Hand  hd  )  const
Returns:
Clock hand
Parameters:
hd Specifies the type of hand
See also:
setHand()
QwtText QwtAnalogClock::scaleLabel ( double  value  )  const [protected, virtual]

Find the scale label for a given value

Parameters:
value Value
Returns:
Label

Reimplemented from QwtDial.

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.

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

Set a clockhand

Parameters:
hand Specifies the type of hand
needle Hand
See also:
hand()
void QwtAnalogClock::setTime ( const QTime &  time = QTime::currentTime()  )  [slot]

Set a time

Parameters:
time Time to display
Generated on Sun Nov 21 12:01:30 2010 for Qwt User's Guide by  doxygen 1.6.3