.TH "QwtAbstractScaleDraw" 3 "Mon Dec 28 2020" "Version 6.1.6" "Qwt User's Guide" \" -*- nroff -*- .ad l .nh .SH NAME QwtAbstractScaleDraw \- A abstract base class for drawing scales\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherited by \fBQwtRoundScaleDraw\fP, and \fBQwtScaleDraw\fP\&. .SS "Public Types" .in +1c .ti -1c .RI "enum \fBScaleComponent\fP { \fBBackbone\fP = 0x01, \fBTicks\fP = 0x02, \fBLabels\fP = 0x04 }" .br .ti -1c .RI "typedef QFlags< \fBScaleComponent\fP > \fBScaleComponents\fP" .br .RI "Scale components\&. " .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBQwtAbstractScaleDraw\fP ()" .br .RI "Constructor\&. " .ti -1c .RI "virtual \fB~QwtAbstractScaleDraw\fP ()" .br .RI "Destructor\&. " .ti -1c .RI "void \fBsetScaleDiv\fP (const \fBQwtScaleDiv\fP &)" .br .ti -1c .RI "const \fBQwtScaleDiv\fP & \fBscaleDiv\fP () const" .br .ti -1c .RI "void \fBsetTransformation\fP (\fBQwtTransform\fP *)" .br .ti -1c .RI "const \fBQwtScaleMap\fP & \fBscaleMap\fP () const" .br .ti -1c .RI "\fBQwtScaleMap\fP & \fBscaleMap\fP ()" .br .ti -1c .RI "void \fBenableComponent\fP (\fBScaleComponent\fP, bool enable=true)" .br .ti -1c .RI "bool \fBhasComponent\fP (\fBScaleComponent\fP) const" .br .ti -1c .RI "void \fBsetTickLength\fP (\fBQwtScaleDiv::TickType\fP, double length)" .br .ti -1c .RI "double \fBtickLength\fP (\fBQwtScaleDiv::TickType\fP) const" .br .ti -1c .RI "double \fBmaxTickLength\fP () const" .br .ti -1c .RI "void \fBsetSpacing\fP (double)" .br .RI "Set the spacing between tick and labels\&. " .ti -1c .RI "double \fBspacing\fP () const" .br .RI "Get the spacing\&. " .ti -1c .RI "void \fBsetPenWidth\fP (int width)" .br .RI "Specify the width of the scale pen\&. " .ti -1c .RI "int \fBpenWidth\fP () const" .br .ti -1c .RI "virtual void \fBdraw\fP (QPainter *, const QPalette &) const" .br .RI "Draw the scale\&. " .ti -1c .RI "virtual \fBQwtText\fP \fBlabel\fP (double) const" .br .RI "Convert a value into its representing label\&. " .ti -1c .RI "virtual double \fBextent\fP (const QFont &font) const =0" .br .ti -1c .RI "void \fBsetMinimumExtent\fP (double)" .br .RI "Set a minimum for the extent\&. " .ti -1c .RI "double \fBminimumExtent\fP () const" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "virtual void \fBdrawTick\fP (QPainter *painter, double value, double len) const =0" .br .ti -1c .RI "virtual void \fBdrawBackbone\fP (QPainter *painter) const =0" .br .ti -1c .RI "virtual void \fBdrawLabel\fP (QPainter *painter, double value) const =0" .br .ti -1c .RI "void \fBinvalidateCache\fP ()" .br .ti -1c .RI "const \fBQwtText\fP & \fBtickLabel\fP (const QFont &, double value) const" .br .RI "Convert a value into its representing label and cache it\&. " .in -1c .SH "Detailed Description" .PP A abstract base class for drawing scales\&. \fBQwtAbstractScaleDraw\fP can be used to draw linear or logarithmic scales\&. .PP After a scale division has been specified as a \fBQwtScaleDiv\fP object using \fBsetScaleDiv()\fP, the scale can be drawn with the \fBdraw()\fP member\&. .SH "Member Enumeration Documentation" .PP .SS "enum \fBQwtAbstractScaleDraw::ScaleComponent\fP" Components of a scale .PP \fBSee also\fP .RS 4 \fBenableComponent()\fP, \fBhasComponent\fP .RE .PP .PP \fBEnumerator\fP .in +1c .TP \fB\fIBackbone \fP\fP Backbone = the line where the ticks are located\&. .TP \fB\fITicks \fP\fP Ticks\&. .TP \fB\fILabels \fP\fP Labels\&. .SH "Constructor & Destructor Documentation" .PP .SS "QwtAbstractScaleDraw::QwtAbstractScaleDraw ()" .PP Constructor\&. The range of the scale is initialized to [0, 100], The spacing (distance between ticks and labels) is set to 4, the tick lengths are set to 4,6 and 8 pixels .SH "Member Function Documentation" .PP .SS "void QwtAbstractScaleDraw::draw (QPainter * painter, const QPalette & palette) const\fC [virtual]\fP" .PP Draw the scale\&. .PP \fBParameters\fP .RS 4 \fIpainter\fP The painter .br \fIpalette\fP Palette, text color is used for the labels, foreground color for ticks and backbone .RE .PP .SS "virtual void QwtAbstractScaleDraw::drawBackbone (QPainter * painter) const\fC [protected]\fP, \fC [pure virtual]\fP" Draws the baseline of the scale .PP \fBParameters\fP .RS 4 \fIpainter\fP Painter .RE .PP \fBSee also\fP .RS 4 \fBdrawTick()\fP, \fBdrawLabel()\fP .RE .PP .PP Implemented in \fBQwtScaleDraw\fP, and \fBQwtRoundScaleDraw\fP\&. .SS "virtual void QwtAbstractScaleDraw::drawLabel (QPainter * painter, double value) const\fC [protected]\fP, \fC [pure virtual]\fP" Draws the label for a major scale tick .PP \fBParameters\fP .RS 4 \fIpainter\fP Painter .br \fIvalue\fP Value .RE .PP \fBSee also\fP .RS 4 \fBdrawTick()\fP, \fBdrawBackbone()\fP .RE .PP .PP Implemented in \fBQwtScaleDraw\fP, and \fBQwtRoundScaleDraw\fP\&. .SS "virtual void QwtAbstractScaleDraw::drawTick (QPainter * painter, double value, double len) const\fC [protected]\fP, \fC [pure virtual]\fP" Draw a tick .PP \fBParameters\fP .RS 4 \fIpainter\fP Painter .br \fIvalue\fP Value of the tick .br \fIlen\fP Length of the tick .RE .PP \fBSee also\fP .RS 4 \fBdrawBackbone()\fP, \fBdrawLabel()\fP .RE .PP .PP Implemented in \fBQwtScaleDraw\fP, and \fBQwtRoundScaleDraw\fP\&. .SS "void QwtAbstractScaleDraw::enableComponent (\fBScaleComponent\fP component, bool enable = \fCtrue\fP)" En/Disable a component of the scale .PP \fBParameters\fP .RS 4 \fIcomponent\fP Scale component .br \fIenable\fP On/Off .RE .PP \fBSee also\fP .RS 4 \fBhasComponent()\fP .RE .PP .SS "virtual double QwtAbstractScaleDraw::extent (const QFont & font) const\fC [pure virtual]\fP" Calculate the extent .PP The extent is the distance from the baseline to the outermost pixel of the scale draw in opposite to its orientation\&. It is at least \fBminimumExtent()\fP pixels\&. .PP \fBParameters\fP .RS 4 \fIfont\fP Font used for drawing the tick labels .RE .PP \fBReturns\fP .RS 4 Number of pixels .RE .PP \fBSee also\fP .RS 4 \fBsetMinimumExtent()\fP, \fBminimumExtent()\fP .RE .PP .PP Implemented in \fBQwtScaleDraw\fP, and \fBQwtRoundScaleDraw\fP\&. .SS "bool QwtAbstractScaleDraw::hasComponent (\fBScaleComponent\fP component) const" Check if a component is enabled .PP \fBParameters\fP .RS 4 \fIcomponent\fP Component type .RE .PP \fBReturns\fP .RS 4 true, when component is enabled .RE .PP \fBSee also\fP .RS 4 \fBenableComponent()\fP .RE .PP .SS "void QwtAbstractScaleDraw::invalidateCache ()\fC [protected]\fP" Invalidate the cache used by \fBtickLabel()\fP .PP The cache is invalidated, when a new \fBQwtScaleDiv\fP is set\&. If the labels need to be changed\&. while the same \fBQwtScaleDiv\fP is set, \fBinvalidateCache()\fP needs to be called manually\&. .SS "\fBQwtText\fP QwtAbstractScaleDraw::label (double value) const\fC [virtual]\fP" .PP Convert a value into its representing label\&. The value is converted to a plain text using QLocale()\&.toString(value)\&. This method is often overloaded by applications to have individual labels\&. .PP \fBParameters\fP .RS 4 \fIvalue\fP Value .RE .PP \fBReturns\fP .RS 4 Label string\&. .RE .PP .PP Reimplemented in \fBQwtDateScaleDraw\fP, and \fBQwtCompassScaleDraw\fP\&. .SS "double QwtAbstractScaleDraw::maxTickLength () const" .PP \fBReturns\fP .RS 4 Length of the longest tick .RE .PP Useful for layout calculations .PP \fBSee also\fP .RS 4 \fBtickLength()\fP, \fBsetTickLength()\fP .RE .PP .SS "double QwtAbstractScaleDraw::minimumExtent () const" Get the minimum extent .PP \fBReturns\fP .RS 4 Minimum extent .RE .PP \fBSee also\fP .RS 4 \fBextent()\fP, \fBsetMinimumExtent()\fP .RE .PP .SS "int QwtAbstractScaleDraw::penWidth () const" .PP \fBReturns\fP .RS 4 Scale pen width .RE .PP \fBSee also\fP .RS 4 \fBsetPenWidth()\fP .RE .PP .SS "const \fBQwtScaleDiv\fP & QwtAbstractScaleDraw::scaleDiv () const" .PP \fBReturns\fP .RS 4 scale division .RE .PP .SS "\fBQwtScaleMap\fP & QwtAbstractScaleDraw::scaleMap ()" .PP \fBReturns\fP .RS 4 Map how to translate between scale and pixel values .RE .PP .SS "const \fBQwtScaleMap\fP & QwtAbstractScaleDraw::scaleMap () const" .PP \fBReturns\fP .RS 4 Map how to translate between scale and pixel values .RE .PP .SS "void QwtAbstractScaleDraw::setMinimumExtent (double minExtent)" .PP Set a minimum for the extent\&. The extent is calculated from the components of the scale draw\&. In situations, where the labels are changing and the layout depends on the extent (f\&.e scrolling a scale), setting an upper limit as minimum extent will avoid jumps of the layout\&. .PP \fBParameters\fP .RS 4 \fIminExtent\fP Minimum extent .RE .PP \fBSee also\fP .RS 4 \fBextent()\fP, \fBminimumExtent()\fP .RE .PP .SS "void QwtAbstractScaleDraw::setPenWidth (int width)" .PP Specify the width of the scale pen\&. .PP \fBParameters\fP .RS 4 \fIwidth\fP Pen width .RE .PP \fBSee also\fP .RS 4 \fBpenWidth()\fP .RE .PP .SS "void QwtAbstractScaleDraw::setScaleDiv (const \fBQwtScaleDiv\fP & scaleDiv)" Change the scale division .PP \fBParameters\fP .RS 4 \fIscaleDiv\fP New scale division .RE .PP .SS "void QwtAbstractScaleDraw::setSpacing (double spacing)" .PP Set the spacing between tick and labels\&. The spacing is the distance between ticks and labels\&. The default spacing is 4 pixels\&. .PP \fBParameters\fP .RS 4 \fIspacing\fP Spacing .RE .PP \fBSee also\fP .RS 4 \fBspacing()\fP .RE .PP .SS "void QwtAbstractScaleDraw::setTickLength (\fBQwtScaleDiv::TickType\fP tickType, double length)" Set the length of the ticks .PP \fBParameters\fP .RS 4 \fItickType\fP Tick type .br \fIlength\fP New length .RE .PP \fBWarning\fP .RS 4 the length is limited to [0\&.\&.1000] .RE .PP .SS "void QwtAbstractScaleDraw::setTransformation (\fBQwtTransform\fP * transformation)" Change the transformation of the scale .PP \fBParameters\fP .RS 4 \fItransformation\fP New scale transformation .RE .PP .SS "double QwtAbstractScaleDraw::spacing () const" .PP Get the spacing\&. The spacing is the distance between ticks and labels\&. The default spacing is 4 pixels\&. .PP \fBReturns\fP .RS 4 Spacing .RE .PP \fBSee also\fP .RS 4 \fBsetSpacing()\fP .RE .PP .SS "const \fBQwtText\fP & QwtAbstractScaleDraw::tickLabel (const QFont & font, double value) const\fC [protected]\fP" .PP Convert a value into its representing label and cache it\&. The conversion between value and label is called very often in the layout and painting code\&. Unfortunately the calculation of the label sizes might be slow (really slow for rich text in Qt4), so it's necessary to cache the labels\&. .PP \fBParameters\fP .RS 4 \fIfont\fP Font .br \fIvalue\fP Value .RE .PP \fBReturns\fP .RS 4 Tick label .RE .PP .SS "double QwtAbstractScaleDraw::tickLength (\fBQwtScaleDiv::TickType\fP tickType) const" .PP \fBReturns\fP .RS 4 Length of the ticks .RE .PP \fBSee also\fP .RS 4 \fBsetTickLength()\fP, \fBmaxTickLength()\fP .RE .PP .SH "Author" .PP Generated automatically by Doxygen for Qwt User's Guide from the source code\&.