385 lines
9.7 KiB
Groff
385 lines
9.7 KiB
Groff
.TH "QwtDateScaleEngine" 3 "Sun Jul 18 2021" "Version 6.2.0" "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 override"
|
|
.br
|
|
.ti -1c
|
|
.RI "virtual \fBQwtScaleDiv\fP \fBdivideScale\fP (double x1, double x2, int maxMajorSteps, int maxMinorSteps, double stepSize=0\&.0) const override"
|
|
.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
|
|
|
|
.PP
|
|
Definition at line 42 of file qwt_date_scale_engine\&.h\&.
|
|
.SH "Constructor & Destructor Documentation"
|
|
.PP
|
|
.SS "QwtDateScaleEngine::QwtDateScaleEngine (Qt::TimeSpec timeSpec = \fCQt::LocalTime\fP)\fC [explicit]\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
|
|
|
|
.PP
|
|
Definition at line 747 of file qwt_date_scale_engine\&.cpp\&.
|
|
.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
|
|
|
|
.PP
|
|
Definition at line 1108 of file qwt_date_scale_engine\&.cpp\&.
|
|
.SS "void QwtDateScaleEngine::autoScale (int maxNumSteps, double & x1, double & x2, double & stepSize) const\fC [override]\fP, \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\&.
|
|
.PP
|
|
Definition at line 925 of file qwt_date_scale_engine\&.cpp\&.
|
|
.SS "\fBQwtScaleDiv\fP QwtDateScaleEngine::divideScale (double x1, double x2, int maxMajorSteps, int maxMinorSteps, double stepSize = \fC0\&.0\fP) const\fC [override]\fP, \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\&.
|
|
.PP
|
|
Definition at line 992 of file qwt_date_scale_engine\&.cpp\&.
|
|
.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
|
|
|
|
.PP
|
|
Definition at line 865 of file qwt_date_scale_engine\&.cpp\&.
|
|
.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
|
|
|
|
.PP
|
|
Definition at line 851 of file qwt_date_scale_engine\&.cpp\&.
|
|
.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
|
|
|
|
.PP
|
|
Definition at line 841 of file qwt_date_scale_engine\&.cpp\&.
|
|
.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
|
|
|
|
.PP
|
|
Definition at line 765 of file qwt_date_scale_engine\&.cpp\&.
|
|
.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
|
|
|
|
.PP
|
|
Definition at line 789 of file qwt_date_scale_engine\&.cpp\&.
|
|
.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
|
|
|
|
.PP
|
|
Definition at line 815 of file qwt_date_scale_engine\&.cpp\&.
|
|
.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
|
|
|
|
.PP
|
|
Definition at line 774 of file qwt_date_scale_engine\&.cpp\&.
|
|
.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
|
|
|
|
.PP
|
|
Definition at line 1298 of file qwt_date_scale_engine\&.cpp\&.
|
|
.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
|
|
|
|
.PP
|
|
Definition at line 801 of file qwt_date_scale_engine\&.cpp\&.
|
|
.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
|
|
|
|
.PP
|
|
Definition at line 824 of file qwt_date_scale_engine\&.cpp\&.
|
|
|
|
.SH "Author"
|
|
.PP
|
|
Generated automatically by Doxygen for Qwt User's Guide from the source code\&.
|