Qwt User's Guide
QwtDateScaleDraw Class Reference

A class for drawing datetime scales. More...

#include <qwt_date_scale_draw.h>

Inheritance diagram for QwtDateScaleDraw:

Public Member Functions

 QwtDateScaleDraw (Qt::TimeSpec=Qt::LocalTime)
 Constructor.
virtual ~QwtDateScaleDraw ()
 Destructor.
void setDateFormat (QwtDate::IntervalType, const QString &)
QString dateFormat (QwtDate::IntervalType) const
void setTimeSpec (Qt::TimeSpec)
Qt::TimeSpec timeSpec () const
void setUtcOffset (int seconds)
int utcOffset () const
void setWeek0Type (QwtDate::Week0Type)
QwtDate::Week0Type week0Type () const
virtual QwtText label (double) const
 Convert a value into its representing label.
QDateTime toDateTime (double) const

Protected Member Functions

virtual QwtDate::IntervalType intervalType (const QwtScaleDiv &) const
virtual QString dateFormatOfDate (const QDateTime &, QwtDate::IntervalType) const

Detailed Description

A class for drawing datetime scales.

QwtDateScaleDraw displays values as datetime labels. The format of the labels depends on the alignment of the major tick labels.

The default format strings are:

  • Millisecond
    "hh:mm:ss:zzz\nddd dd MMM yyyy"
  • Second
    "hh:mm:ss\nddd dd MMM yyyy"
  • Minute
    "hh:mm\nddd dd MMM yyyy"
  • Hour
    "hh:mm\nddd dd MMM yyyy"
  • Day
    "ddd dd MMM yyyy"
  • Week
    "Www yyyy"
  • Month
    "MMM yyyy"
  • Year
    "yyyy"

The format strings can be modified using setDateFormat() or individually for each tick label by overloading dateFormatOfDate(),

Usually QwtDateScaleDraw is used in combination with QwtDateScaleEngine, that calculates scales for datetime intervals.

See also:
QwtDateScaleEngine, QwtPlot::setAxisScaleDraw()

Constructor & Destructor Documentation

QwtDateScaleDraw::QwtDateScaleDraw ( Qt::TimeSpec  timeSpec = Qt::LocalTime)

Constructor.

The default setting is to display tick labels for the given time specification. The first week of a year is defined like for QwtDate::FirstThursday.

Parameters:
timeSpecTime specification
See also:
setTimeSpec(), setWeek0Type()

Member Function Documentation

QString QwtDateScaleDraw::dateFormat ( QwtDate::IntervalType  intervalType) const
Parameters:
intervalTypeInterval type
Returns:
Default format string for an datetime interval type
See also:
setDateFormat(), dateFormatOfDate()
QString QwtDateScaleDraw::dateFormatOfDate ( const QDateTime &  dateTime,
QwtDate::IntervalType  intervalType 
) const [protected, virtual]

Format string for the representation of a datetime

dateFormatOfDate() is intended to be overloaded for situations, where formats are individual for specific datetime values.

The default setting ignores dateTime and return the default format for the interval type.

Parameters:
dateTimeDatetime value
intervalTypeInterval type
Returns:
Format string
See also:
setDateFormat(), QwtDate::toString()
QwtDate::IntervalType QwtDateScaleDraw::intervalType ( const QwtScaleDiv scaleDiv) const [protected, virtual]

Find the less detailed datetime unit, where no rounding errors happen.

Parameters:
scaleDivScale division
Returns:
Interval type
See also:
dateFormatOfDate()
QwtText QwtDateScaleDraw::label ( double  value) const [virtual]

Convert a value into its representing label.

The value is converted to a datetime value using toDateTime() and converted to a plain text using QwtDate::toString().

Parameters:
valueValue
Returns:
Label string.
See also:
dateFormatOfDate()

Reimplemented from QwtAbstractScaleDraw.

void QwtDateScaleDraw::setDateFormat ( QwtDate::IntervalType  intervalType,
const QString &  format 
)

Set the default format string for an datetime interval type

Parameters:
intervalTypeInterval type
formatDefault format string
See also:
dateFormat(), dateFormatOfDate(), QwtDate::toString()
void QwtDateScaleDraw::setTimeSpec ( Qt::TimeSpec  timeSpec)

Set the time specification used for the tick labels

Parameters:
timeSpecTime specification
See also:
timeSpec(), setUtcOffset(), toDateTime()
void QwtDateScaleDraw::setUtcOffset ( int  seconds)

Set the offset in seconds from Coordinated Universal Time

Parameters:
secondsOffset in seconds
Note:
The offset has no effect beside for the time specification Qt::OffsetFromUTC.
See also:
QDate::utcOffset(), setTimeSpec(), toDateTime()

Sets how to identify the first week of a year.

Parameters:
week0TypeMode how to identify the first week of a year
See also:
week0Type().
Note:
week0Type has no effect beside for intervals classified as QwtDate::Week.
Qt::TimeSpec QwtDateScaleDraw::timeSpec ( ) const
Returns:
Time specification used for the tick labels
See also:
setTimeSpec(), utcOffset(), toDateTime()
QDateTime QwtDateScaleDraw::toDateTime ( double  value) const

Translate a double value into a QDateTime object.

Returns:
QDateTime object initialized with timeSpec() and utcOffset().
See also:
timeSpec(), utcOffset(), QwtDate::toDateTime()
Returns:
Offset in seconds from Coordinated Universal Time
Note:
The offset has no effect beside for the time specification Qt::OffsetFromUTC.
See also:
QDate::setUtcOffset(), setTimeSpec(), toDateTime()
Returns:
Setting how to identify the first week of a year.
See also:
setWeek0Type()

List of all members.

 All Classes Functions Variables Typedefs Enumerations Enumerator