QWT 7.0.1
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Member Functions | List of all members
QwtDateScaleDraw Class Reference

A class for drawing datetime scales. More...

#include <qwt_date_scale_draw.h>

Inheritance diagram for QwtDateScaleDraw:
QwtScaleDraw QwtAbstractScaleDraw

Classes

class  PrivateData
 

Public Member Functions

 QwtDateScaleDraw (Qt::TimeSpec timeSpec=Qt::LocalTime)
 Constructor.
 
virtual ~QwtDateScaleDraw ()
 Destructor.
 
void setDateFormat (QwtDate::IntervalType, const QString &)
 Set the default format string for an datetime interval type.
 
QString dateFormat (QwtDate::IntervalType) const
 
void setTimeSpec (Qt::TimeSpec)
 Set the time specification used for the tick labels.
 
Qt::TimeSpec timeSpec () const
 
void setUtcOffset (int seconds)
 Set the offset in seconds from Coordinated Universal Time.
 
int utcOffset () const
 
void setWeek0Type (QwtDate::Week0Type)
 Sets how to identify the first week of a year.
 
QwtDate::Week0Type week0Type () const
 
virtual QwtText label (double) const QWT_OVERRIDE
 Convert a value into its representing label.
 
QDateTime toDateTime (double) const
 Translate a double value into a QDateTime object.
 
- Public Member Functions inherited from QwtScaleDraw
 QwtScaleDraw ()
 Constructor.
 
virtual ~QwtScaleDraw ()
 Destructor.
 
void getBorderDistHint (const QFont &, int &start, int &end) const
 Determine the minimum border distance.
 
int minLabelDist (const QFont &) const
 Determine the minimum distance between two labels, that is necessary that the texts don't overlap.
 
int minLength (const QFont &) const
 Calculate the minimum length that is needed to draw the scale.
 
virtual double extent (const QFont &) const QWT_OVERRIDE
 Calculate the width/height that is needed for a vertical/horizontal scale.
 
void move (double x, double y)
 Move the position of the scale.
 
void move (const QPointF &)
 Move the position of the scale.
 
void setLength (double length)
 Set the length of the backbone.
 
Alignment alignment () const
 Return alignment of the scale.
 
void setAlignment (Alignment)
 Set the alignment of the scale.
 
Qt::Orientation orientation () const
 Return the orientation.
 
QPointF pos () const
 
double length () const
 
void setLabelAlignment (Qt::Alignment)
 Change the label flags.
 
Qt::Alignment labelAlignment () const
 
void setLabelRotation (double rotation)
 Rotate all labels.
 
double labelRotation () const
 
int maxLabelHeight (const QFont &) const
 
int maxLabelWidth (const QFont &) const
 
QPointF labelPosition (double value) const
 Find the position, where to paint a label.
 
QRectF labelRect (const QFont &, double value) const
 Find the bounding rectangle for the label.
 
QSizeF labelSize (const QFont &, double value) const
 Calculate the size that is needed to draw a label.
 
QRect boundingLabelRect (const QFont &, double value) const
 Find the bounding rectangle for the label.
 
- Public Member Functions inherited from QwtAbstractScaleDraw
 QwtAbstractScaleDraw ()
 Constructor.
 
virtual ~QwtAbstractScaleDraw ()
 Destructor.
 
void setScaleDiv (const QwtScaleDiv &)
 Change the scale division.
 
const QwtScaleDivscaleDiv () const
 
void setTransformation (QwtTransform *)
 Change the transformation of the scale.
 
const QwtScaleMapscaleMap () const
 
QwtScaleMapscaleMap ()
 
void enableComponent (ScaleComponent, bool enable=true)
 En/Disable a component of the scale.
 
bool hasComponent (ScaleComponent) const
 Check if a component is enabled.
 
void setTickLength (QwtScaleDiv::TickType, double length)
 Set the length of the ticks.
 
double tickLength (QwtScaleDiv::TickType) const
 
double maxTickLength () const
 
void setSpacing (double)
 Set the spacing between tick and labels.
 
double spacing () const
 Get the spacing.
 
void setPenWidthF (qreal width)
 Specify the width of the scale pen.
 
qreal penWidthF () const
 
void setSelected (bool on)
 设置是否选中
 
bool isSelected () const
 是否选中
 
void setSelectedPenWidthOffset (qreal offset=1)
 设置坐标轴在选中状态下的画笔宽度附加值
 
qreal selectedPenWidthOffset () const
 获取当前坐标轴在选中状态下的画笔宽度附加值
 
virtual void draw (QPainter *, const QPalette &) const
 Draw the scale.
 
void setMinimumExtent (double)
 Set a minimum for the extent.
 
double minimumExtent () const
 Get the minimum extent.
 
void invalidateCache ()
 Invalidate the cache used by tickLabel()
 

Protected Member Functions

virtual QwtDate::IntervalType intervalType (const QwtScaleDiv &) const
 Find the less detailed datetime unit, where no rounding errors happen.
 
virtual QString dateFormatOfDate (const QDateTime &, QwtDate::IntervalType) const
 Format string for the representation of a datetime.
 
- Protected Member Functions inherited from QwtScaleDraw
QTransform labelTransformation (const QPointF &, const QSizeF &) const
 Calculate the transformation that is needed to paint a label depending on its alignment and rotation.
 
virtual void drawTick (QPainter *, double value, double len) const QWT_OVERRIDE
 Draw a tick.
 
virtual void drawBackbone (QPainter *) const QWT_OVERRIDE
 Draws the baseline of the scale.
 
virtual void drawLabel (QPainter *, double value) const QWT_OVERRIDE
 Draws the label for a major scale tick.
 
- Protected Member Functions inherited from QwtAbstractScaleDraw
const QwtTexttickLabel (const QFont &, double value) const
 Convert a value into its representing label and cache it.
 

Additional Inherited Members

- Public Types inherited from QwtScaleDraw
enum  Alignment { BottomScale , TopScale , LeftScale , RightScale }
 Alignment of the scale draw. More...
 
- Public Types inherited from QwtAbstractScaleDraw
enum  ScaleComponent { Backbone = 0x01 , Ticks = 0x02 , Labels = 0x04 }
 Components of a scale. More...
 

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:

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::QwtDateScaleDraw ( Qt::TimeSpec  timeSpec = Qt::LocalTime)
explicit

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

◆ dateFormat()

QString QwtDateScaleDraw::dateFormat ( QwtDate::IntervalType  intervalType) const
Parameters
intervalTypeInterval type
Returns
Default format string for an datetime interval type
See also
setDateFormat(), dateFormatOfDate()

◆ dateFormatOfDate()

QString QwtDateScaleDraw::dateFormatOfDate ( const QDateTime &  dateTime,
QwtDate::IntervalType  intervalType 
) const
protectedvirtual

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

◆ intervalType()

QwtDate::IntervalType QwtDateScaleDraw::intervalType ( const QwtScaleDiv scaleDiv) const
protectedvirtual

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

Parameters
scaleDivScale division
Returns
Interval type
See also
dateFormatOfDate()

◆ label()

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.

◆ setDateFormat()

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

◆ setTimeSpec()

void QwtDateScaleDraw::setTimeSpec ( Qt::TimeSpec  timeSpec)

Set the time specification used for the tick labels.

Parameters
timeSpecTime specification
See also
timeSpec(), setUtcOffset(), toDateTime()

◆ setUtcOffset()

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

◆ setWeek0Type()

void QwtDateScaleDraw::setWeek0Type ( QwtDate::Week0Type  week0Type)

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.

◆ timeSpec()

Qt::TimeSpec QwtDateScaleDraw::timeSpec ( ) const
Returns
Time specification used for the tick labels
See also
setTimeSpec(), utcOffset(), toDateTime()

◆ 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()

◆ utcOffset()

int QwtDateScaleDraw::utcOffset ( ) const
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()

◆ week0Type()

QwtDate::Week0Type QwtDateScaleDraw::week0Type ( ) const
Returns
Setting how to identify the first week of a year.
See also
setWeek0Type()

The documentation for this class was generated from the following files: