123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354 |
- .TH "QwtDateScaleEngine" 3 "Mon Dec 28 2020" "Version 6.1.6" "Qwt User's Guide" \" -*- nroff -*-
- .ad l
- .nh
- .SH NAME
- QwtDateScaleEngine \- A scale engine for date/time values\&.
- .SH SYNOPSIS
- .br
- .PP
- .PP
- \fC#include <qwt_date_scale_engine\&.h>\fP
- .PP
- Inherits \fBQwtLinearScaleEngine\fP\&.
- .SS "Public Member Functions"
- .in +1c
- .ti -1c
- .RI "\fBQwtDateScaleEngine\fP (Qt::TimeSpec=Qt::LocalTime)"
- .br
- .RI "Constructor\&. "
- .ti -1c
- .RI "virtual \fB~QwtDateScaleEngine\fP ()"
- .br
- .RI "Destructor\&. "
- .ti -1c
- .RI "void \fBsetTimeSpec\fP (Qt::TimeSpec)"
- .br
- .ti -1c
- .RI "Qt::TimeSpec \fBtimeSpec\fP () const"
- .br
- .ti -1c
- .RI "void \fBsetUtcOffset\fP (int seconds)"
- .br
- .ti -1c
- .RI "int \fButcOffset\fP () const"
- .br
- .ti -1c
- .RI "void \fBsetWeek0Type\fP (\fBQwtDate::Week0Type\fP)"
- .br
- .ti -1c
- .RI "\fBQwtDate::Week0Type\fP \fBweek0Type\fP () const"
- .br
- .ti -1c
- .RI "void \fBsetMaxWeeks\fP (int)"
- .br
- .ti -1c
- .RI "int \fBmaxWeeks\fP () const"
- .br
- .ti -1c
- .RI "virtual void \fBautoScale\fP (int maxNumSteps, double &x1, double &x2, double &stepSize) const"
- .br
- .ti -1c
- .RI "virtual \fBQwtScaleDiv\fP \fBdivideScale\fP (double x1, double x2, int maxMajorSteps, int maxMinorSteps, double stepSize=0\&.0) const"
- .br
- .RI "Calculate a scale division for a date/time interval\&. "
- .ti -1c
- .RI "virtual \fBQwtDate::IntervalType\fP \fBintervalType\fP (const QDateTime &, const QDateTime &, int maxSteps) const"
- .br
- .ti -1c
- .RI "QDateTime \fBtoDateTime\fP (double) const"
- .br
- .in -1c
- .SS "Protected Member Functions"
- .in +1c
- .ti -1c
- .RI "virtual QDateTime \fBalignDate\fP (const QDateTime &, double stepSize, \fBQwtDate::IntervalType\fP, bool up) const"
- .br
- .in -1c
- .SS "Additional Inherited Members"
- .SH "Detailed Description"
- .PP
- A scale engine for date/time values\&.
- \fBQwtDateScaleEngine\fP builds scales from a time intervals\&. Together with \fBQwtDateScaleDraw\fP it can be used for axes according to date/time values\&.
- .PP
- Years, months, weeks, days, hours and minutes are organized in steps with non constant intervals\&. \fBQwtDateScaleEngine\fP classifies intervals and aligns the boundaries and tick positions according to this classification\&.
- .PP
- \fBQwtDateScaleEngine\fP supports representations depending on Qt::TimeSpec specifications\&. The valid range for scales is limited by the range of QDateTime, that differs between Qt4 and Qt5\&.
- .PP
- Datetime values are expected as the number of milliseconds since 1970-01-01T00:00:00 Universal Coordinated Time - also known as 'The Epoch', that can be converted to QDateTime using \fBQwtDate::toDateTime()\fP\&.
- .PP
- \fBSee also\fP
- .RS 4
- \fBQwtDate\fP, \fBQwtPlot::setAxisScaleEngine()\fP, \fBQwtAbstractScale::setScaleEngine()\fP
- .RE
- .PP
- .SH "Constructor & Destructor Documentation"
- .PP
- .SS "QwtDateScaleEngine::QwtDateScaleEngine (Qt::TimeSpec timeSpec = \fCQt::LocalTime\fP)"
- .PP
- Constructor\&. The engine is initialized to build scales for the given time specification\&. It classifies intervals > 4 weeks as >= Qt::Month\&. The first week of a year is defined like for \fBQwtDate::FirstThursday\fP\&.
- .PP
- \fBParameters\fP
- .RS 4
- \fItimeSpec\fP Time specification
- .RE
- .PP
- \fBSee also\fP
- .RS 4
- \fBsetTimeSpec()\fP, \fBsetMaxWeeks()\fP, \fBsetWeek0Type()\fP
- .RE
- .PP
- .SH "Member Function Documentation"
- .PP
- .SS "QDateTime QwtDateScaleEngine::alignDate (const QDateTime & dateTime, double stepSize, \fBQwtDate::IntervalType\fP intervalType, bool up) const\fC [protected]\fP, \fC [virtual]\fP"
- Align a date/time value for a step size
- .PP
- For Qt::Day alignments there is no 'natural day 0' - instead the first day of the year is used to avoid jumping major ticks positions when panning a scale\&. For other alignments ( f\&.e according to the first day of the month ) \fBalignDate()\fP has to be overloaded\&.
- .PP
- \fBParameters\fP
- .RS 4
- \fIdateTime\fP Date/time value
- .br
- \fIstepSize\fP Step size
- .br
- \fIintervalType\fP Interval type
- .br
- \fIup\fP When true dateTime is ceiled - otherwise it is floored
- .RE
- .PP
- \fBReturns\fP
- .RS 4
- Aligned date/time value
- .RE
- .PP
- .SS "void QwtDateScaleEngine::autoScale (int maxNumSteps, double & x1, double & x2, double & stepSize) const\fC [virtual]\fP"
- Align and divide an interval
- .PP
- The algorithm aligns and divides the interval into steps\&.
- .PP
- Datetime interval divisions are usually not equidistant and the calculated stepSize can only be used as an approximation for the steps calculated by \fBdivideScale()\fP\&.
- .PP
- \fBParameters\fP
- .RS 4
- \fImaxNumSteps\fP Max\&. number of steps
- .br
- \fIx1\fP First limit of the interval (In/Out)
- .br
- \fIx2\fP Second limit of the interval (In/Out)
- .br
- \fIstepSize\fP Step size (Out)
- .RE
- .PP
- \fBSee also\fP
- .RS 4
- \fBQwtScaleEngine::setAttribute()\fP
- .RE
- .PP
- .PP
- Reimplemented from \fBQwtLinearScaleEngine\fP\&.
- .SS "\fBQwtScaleDiv\fP QwtDateScaleEngine::divideScale (double x1, double x2, int maxMajorSteps, int maxMinorSteps, double stepSize = \fC0\&.0\fP) const\fC [virtual]\fP"
- .PP
- Calculate a scale division for a date/time interval\&.
- .PP
- \fBParameters\fP
- .RS 4
- \fIx1\fP First interval limit
- .br
- \fIx2\fP Second interval limit
- .br
- \fImaxMajorSteps\fP Maximum for the number of major steps
- .br
- \fImaxMinorSteps\fP Maximum number of minor steps
- .br
- \fIstepSize\fP Step size\&. If stepSize == 0, the scaleEngine calculates one\&.
- .RE
- .PP
- \fBReturns\fP
- .RS 4
- Calculated scale division
- .RE
- .PP
- .PP
- Reimplemented from \fBQwtLinearScaleEngine\fP\&.
- .SS "\fBQwtDate::IntervalType\fP QwtDateScaleEngine::intervalType (const QDateTime & minDate, const QDateTime & maxDate, int maxSteps) const\fC [virtual]\fP"
- Classification of a date/time interval division
- .PP
- \fBParameters\fP
- .RS 4
- \fIminDate\fP Minimum ( = earlier ) of the interval
- .br
- \fImaxDate\fP Maximum ( = later ) of the interval
- .br
- \fImaxSteps\fP Maximum for the number of steps
- .RE
- .PP
- \fBReturns\fP
- .RS 4
- Interval classification
- .RE
- .PP
- .SS "int QwtDateScaleEngine::maxWeeks () const"
- .PP
- \fBReturns\fP
- .RS 4
- Upper limit for the number of weeks, when an interval can be classified as Qt::Week\&.
- .RE
- .PP
- \fBSee also\fP
- .RS 4
- \fBsetMaxWeeks()\fP, \fBweek0Type()\fP
- .RE
- .PP
- .SS "void QwtDateScaleEngine::setMaxWeeks (int weeks)"
- Set a upper limit for the number of weeks, when an interval can be classified as Qt::Week\&.
- .PP
- The default setting is 4 weeks\&.
- .PP
- \fBParameters\fP
- .RS 4
- \fIweeks\fP Upper limit for the number of weeks
- .RE
- .PP
- \fBNote\fP
- .RS 4
- In business charts a year is often divided into weeks [1-52]
- .RE
- .PP
- \fBSee also\fP
- .RS 4
- \fBmaxWeeks()\fP, \fBsetWeek0Type()\fP
- .RE
- .PP
- .SS "void QwtDateScaleEngine::setTimeSpec (Qt::TimeSpec timeSpec)"
- Set the time specification used by the engine
- .PP
- \fBParameters\fP
- .RS 4
- \fItimeSpec\fP Time specification
- .RE
- .PP
- \fBSee also\fP
- .RS 4
- \fBtimeSpec()\fP, \fBsetUtcOffset()\fP, \fBtoDateTime()\fP
- .RE
- .PP
- .SS "void QwtDateScaleEngine::setUtcOffset (int seconds)"
- Set the offset in seconds from Coordinated Universal Time
- .PP
- \fBParameters\fP
- .RS 4
- \fIseconds\fP Offset in seconds
- .RE
- .PP
- \fBNote\fP
- .RS 4
- The offset has no effect beside for the time specification Qt::OffsetFromUTC\&.
- .RE
- .PP
- \fBSee also\fP
- .RS 4
- QDate::utcOffset(), \fBsetTimeSpec()\fP, \fBtoDateTime()\fP
- .RE
- .PP
- .SS "void QwtDateScaleEngine::setWeek0Type (\fBQwtDate::Week0Type\fP week0Type)"
- Sets how to identify the first week of a year\&.
- .PP
- \fBParameters\fP
- .RS 4
- \fIweek0Type\fP Mode how to identify the first week of a year
- .RE
- .PP
- \fBSee also\fP
- .RS 4
- \fBweek0Type()\fP, \fBsetMaxWeeks()\fP
- .RE
- .PP
- \fBNote\fP
- .RS 4
- week0Type has no effect beside for intervals classified as \fBQwtDate::Week\fP\&.
- .RE
- .PP
- .SS "Qt::TimeSpec QwtDateScaleEngine::timeSpec () const"
- .PP
- \fBReturns\fP
- .RS 4
- Time specification used by the engine
- .RE
- .PP
- \fBSee also\fP
- .RS 4
- \fBsetTimeSpec()\fP, \fButcOffset()\fP, \fBtoDateTime()\fP
- .RE
- .PP
- .SS "QDateTime QwtDateScaleEngine::toDateTime (double value) const"
- Translate a double value into a QDateTime object\&.
- .PP
- For QDateTime result is bounded by \fBQwtDate::minDate()\fP and \fBQwtDate::maxDate()\fP
- .PP
- \fBReturns\fP
- .RS 4
- QDateTime object initialized with \fBtimeSpec()\fP and \fButcOffset()\fP\&.
- .RE
- .PP
- \fBSee also\fP
- .RS 4
- \fBtimeSpec()\fP, \fButcOffset()\fP, \fBQwtDate::toDateTime()\fP
- .RE
- .PP
- .SS "int QwtDateScaleEngine::utcOffset () const"
- .PP
- \fBReturns\fP
- .RS 4
- Offset in seconds from Coordinated Universal Time
- .RE
- .PP
- \fBNote\fP
- .RS 4
- The offset has no effect beside for the time specification Qt::OffsetFromUTC\&.
- .RE
- .PP
- \fBSee also\fP
- .RS 4
- QDate::setUtcOffset(), \fBsetTimeSpec()\fP, \fBtoDateTime()\fP
- .RE
- .PP
- .SS "\fBQwtDate::Week0Type\fP QwtDateScaleEngine::week0Type () const"
- .PP
- \fBReturns\fP
- .RS 4
- Setting how to identify the first week of a year\&.
- .RE
- .PP
- \fBSee also\fP
- .RS 4
- \fBsetWeek0Type()\fP, \fBmaxWeeks()\fP
- .RE
- .PP
- .SH "Author"
- .PP
- Generated automatically by Doxygen for Qwt User's Guide from the source code\&.
|