slsDetectorPackage/libs/qwt-6.1.5/doc/man/man3/QwtDateScaleEngine.3
Dhanya Thattil 38cd10d4e6
Qt5 built in qwt (#570)
- qt4->qt5
- in built qt5 6.1.5 because rhel7 is not upto date with qt5, removed findqwt.cmake
- made a fix in qwt lib (qwt_plot_layout.h) to work with 5.15 and lower versions for qrect constr.
- qt5 forms fixed, qt4 many hard coding forms switched to forms including qtabwidget, scrolls etc, fonts moved to forms
 - docking option enabled by default, removed option to disable docking feature from "Mode"
- added qVersionResolve utility functions to handle compatibility before and after qt5.12
- qtplots (ian's code) takes in gain mode enable to set some settings within the class, with proper gain plot ticks
- ensure gain plots have no zooming of z axis in 2d and y axis in 1d
- removed placeholder text in qpalette in main window form as its not supportd until 5.12 (so using qt5.9 designer insted of qt5.15 to cope)
- tab order
Servers:
- fixed some error messages that were empty for fail in funcs (mostly minor as if this error, major issues)
2022-11-11 15:15:10 +01:00

355 lines
8.7 KiB
Groff

.TH "QwtDateScaleEngine" 3 "Mon Jun 1 2020" "Version 6.1.5" "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\&.