Qwt User's Guide  6.2.0
QwtScaleWidget Class Reference

A Widget which contains a scale. More...

#include <qwt_scale_widget.h>

Inheritance diagram for QwtScaleWidget:

Public Types

enum  LayoutFlag { TitleInverted = 1 }
 Layout flags of the title. More...
 
typedef QFlags< LayoutFlagLayoutFlags
 

Signals

void scaleDivChanged ()
 Signal emitted, whenever the scale division changes.
 

Public Member Functions

 QwtScaleWidget (QWidget *parent=NULL)
 Create a scale with the position QwtScaleWidget::Left. More...
 
 QwtScaleWidget (QwtScaleDraw::Alignment, QWidget *parent=NULL)
 Constructor. More...
 
virtual ~QwtScaleWidget ()
 Destructor.
 
void setTitle (const QString &title)
 
void setTitle (const QwtText &title)
 
QwtText title () const
 
void setLayoutFlag (LayoutFlag, bool on)
 
bool testLayoutFlag (LayoutFlag) const
 
void setBorderDist (int dist1, int dist2)
 
int startBorderDist () const
 
int endBorderDist () const
 
void getBorderDistHint (int &start, int &end) const
 Calculate a hint for the border distances. More...
 
void getMinBorderDist (int &start, int &end) const
 
void setMinBorderDist (int start, int end)
 
void setMargin (int)
 Specify the margin to the colorBar/base line. More...
 
int margin () const
 
void setSpacing (int)
 Specify the distance between color bar, scale and title. More...
 
int spacing () const
 
void setScaleDiv (const QwtScaleDiv &)
 Assign a scale division. More...
 
void setTransformation (QwtTransform *)
 
void setScaleDraw (QwtScaleDraw *)
 
const QwtScaleDrawscaleDraw () const
 
QwtScaleDrawscaleDraw ()
 
void setLabelAlignment (Qt::Alignment)
 Change the alignment for the labels. More...
 
void setLabelRotation (double rotation)
 Change the rotation for the labels. See QwtScaleDraw::setLabelRotation(). More...
 
void setColorBarEnabled (bool)
 
bool isColorBarEnabled () const
 
void setColorBarWidth (int)
 
int colorBarWidth () const
 
void setColorMap (const QwtInterval &, QwtColorMap *)
 
QwtInterval colorBarInterval () const
 
const QwtColorMapcolorMap () const
 
virtual QSize sizeHint () const override
 
virtual QSize minimumSizeHint () const override
 
int titleHeightForWidth (int width) const
 Find the height of the title for a given width. More...
 
int dimForLength (int length, const QFont &scaleFont) const
 Find the minimum dimension for a given length. dim is the height, length the width seen in direction of the title. More...
 
void drawColorBar (QPainter *, const QRectF &) const
 
void drawTitle (QPainter *, QwtScaleDraw::Alignment, const QRectF &rect) const
 
void setAlignment (QwtScaleDraw::Alignment)
 
QwtScaleDraw::Alignment alignment () const
 
QRectF colorBarRect (const QRectF &) const
 

Protected Member Functions

virtual void paintEvent (QPaintEvent *) override
 paintEvent
 
virtual void resizeEvent (QResizeEvent *) override
 
virtual void changeEvent (QEvent *) override
 
void draw (QPainter *) const
 draw the scale
 
void scaleChange ()
 Notify a change of the scale. More...
 
void layoutScale (bool update_geometry=true)
 

Detailed Description

A Widget which contains a scale.

This Widget can be used to decorate composite widgets with a scale.

Definition at line 34 of file qwt_scale_widget.h.

Member Typedef Documentation

◆ LayoutFlags

An ORed combination of LayoutFlag values.

Definition at line 49 of file qwt_scale_widget.h.

Member Enumeration Documentation

◆ LayoutFlag

Layout flags of the title.

Enumerator
TitleInverted 

The title of vertical scales is painted from top to bottom. Otherwise it is painted from bottom to top.

Definition at line 40 of file qwt_scale_widget.h.

Constructor & Destructor Documentation

◆ QwtScaleWidget() [1/2]

QwtScaleWidget::QwtScaleWidget ( QWidget *  parent = NULL)
explicit

Create a scale with the position QwtScaleWidget::Left.

Parameters
parentParent widget

Definition at line 68 of file qwt_scale_widget.cpp.

◆ QwtScaleWidget() [2/2]

QwtScaleWidget::QwtScaleWidget ( QwtScaleDraw::Alignment  align,
QWidget *  parent = NULL 
)
explicit

Constructor.

Parameters
alignAlignment.
parentParent widget

Definition at line 79 of file qwt_scale_widget.cpp.

Member Function Documentation

◆ alignment()

QwtScaleDraw::Alignment QwtScaleWidget::alignment ( ) const
Returns
position
See also
setPosition()

Definition at line 234 of file qwt_scale_widget.cpp.

◆ changeEvent()

void QwtScaleWidget::changeEvent ( QEvent *  event)
overrideprotectedvirtual

Change Event handler

Parameters
eventChange event

Invalidates internal caches if necessary

Definition at line 519 of file qwt_scale_widget.cpp.

◆ colorBarInterval()

QwtInterval QwtScaleWidget::colorBarInterval ( ) const
Returns
Value interval for the color bar
See also
setColorMap(), colorMap()

Definition at line 941 of file qwt_scale_widget.cpp.

◆ colorBarRect()

QRectF QwtScaleWidget::colorBarRect ( const QRectF &  rect) const

Calculate the the rectangle for the color bar

Parameters
rectBounding rectangle for all components of the scale
Returns
Rectangle for the color bar

Definition at line 462 of file qwt_scale_widget.cpp.

◆ colorBarWidth()

int QwtScaleWidget::colorBarWidth ( ) const
Returns
Width of the color bar
See also
setColorBarEnabled(), setColorBarEnabled()

Definition at line 932 of file qwt_scale_widget.cpp.

◆ colorMap()

const QwtColorMap * QwtScaleWidget::colorMap ( ) const
Returns
Color map
See also
setColorMap(), colorBarInterval()

Definition at line 974 of file qwt_scale_widget.cpp.

◆ dimForLength()

int QwtScaleWidget::dimForLength ( int  length,
const QFont &  scaleFont 
) const

Find the minimum dimension for a given length. dim is the height, length the width seen in direction of the title.

Parameters
lengthwidth for horizontal, height for vertical scales
scaleFontFont of the scale
Returns
height for horizontal, width for vertical scales

Definition at line 781 of file qwt_scale_widget.cpp.

◆ drawColorBar()

void QwtScaleWidget::drawColorBar ( QPainter *  painter,
const QRectF &  rect 
) const

Draw the color bar of the scale widget

Parameters
painterPainter
rectBounding rectangle for the color bar
See also
setColorBarEnabled()

Definition at line 624 of file qwt_scale_widget.cpp.

◆ drawTitle()

void QwtScaleWidget::drawTitle ( QPainter *  painter,
QwtScaleDraw::Alignment  align,
const QRectF &  rect 
) const

Rotate and paint a title according to its position into a given rectangle.

Parameters
painterPainter
alignAlignment
rectBounding rectangle

Definition at line 644 of file qwt_scale_widget.cpp.

◆ endBorderDist()

int QwtScaleWidget::endBorderDist ( ) const
Returns
end border distance
See also
setBorderDist()

Definition at line 389 of file qwt_scale_widget.cpp.

◆ getBorderDistHint()

void QwtScaleWidget::getBorderDistHint ( int &  start,
int &  end 
) const

Calculate a hint for the border distances.

This member function calculates the distance of the scale's endpoints from the widget borders which is required for the mark labels to fit into the widget. The maximum of this distance an the minimum border distance is returned.

Parameters
startReturn parameter for the border width at the beginning of the scale
endReturn parameter for the border width at the end of the scale
Warning
  • The minimum border distance depends on the font.
See also
setMinBorderDist(), getMinBorderDist(), setBorderDist()

Definition at line 814 of file qwt_scale_widget.cpp.

◆ getMinBorderDist()

void QwtScaleWidget::getMinBorderDist ( int &  start,
int &  end 
) const

Get the minimum value for the distances of the scale's endpoints from the widget borders.

Parameters
startReturn parameter for the border width at the beginning of the scale
endReturn parameter for the border width at the end of the scale
See also
setMinBorderDist(), getBorderDistHint()

Definition at line 852 of file qwt_scale_widget.cpp.

◆ isColorBarEnabled()

bool QwtScaleWidget::isColorBarEnabled ( ) const
Returns
true, when the color bar is enabled
See also
setColorBarEnabled(), setColorBarWidth()

Definition at line 907 of file qwt_scale_widget.cpp.

◆ layoutScale()

void QwtScaleWidget::layoutScale ( bool  update_geometry = true)
protected

Recalculate the scale's geometry and layout based on the current geometry and fonts.

Parameters
update_geometryNotify the layout system and call update to redraw the scale

Definition at line 547 of file qwt_scale_widget.cpp.

◆ margin()

int QwtScaleWidget::margin ( ) const
Returns
margin
See also
setMargin()

Definition at line 398 of file qwt_scale_widget.cpp.

◆ minimumSizeHint()

QSize QwtScaleWidget::minimumSizeHint ( ) const
overridevirtual
Returns
a minimum size hint

Definition at line 732 of file qwt_scale_widget.cpp.

◆ resizeEvent()

void QwtScaleWidget::resizeEvent ( QResizeEvent *  event)
overrideprotectedvirtual

Event handler for resize events

Parameters
eventResize event

Definition at line 533 of file qwt_scale_widget.cpp.

◆ scaleChange()

void QwtScaleWidget::scaleChange ( )
protected

Notify a change of the scale.

This virtual function can be overloaded by derived classes. The default implementation updates the geometry and repaints the widget.

Definition at line 716 of file qwt_scale_widget.cpp.

◆ scaleDraw() [1/2]

QwtScaleDraw * QwtScaleWidget::scaleDraw ( )
Returns
scaleDraw of this scale
See also
QwtScaleDraw::setScaleDraw()

Definition at line 362 of file qwt_scale_widget.cpp.

◆ scaleDraw() [2/2]

const QwtScaleDraw * QwtScaleWidget::scaleDraw ( ) const
Returns
scaleDraw of this scale
See also
setScaleDraw(), QwtScaleDraw::setScaleDraw()

Definition at line 353 of file qwt_scale_widget.cpp.

◆ setAlignment()

void QwtScaleWidget::setAlignment ( QwtScaleDraw::Alignment  alignment)

Change the alignment

Parameters
alignmentNew alignment
See also
alignment()

Definition at line 209 of file qwt_scale_widget.cpp.

◆ setBorderDist()

void QwtScaleWidget::setBorderDist ( int  dist1,
int  dist2 
)

Specify distances of the scale's endpoints from the widget's borders. The actual borders will never be less than minimum border distance.

Parameters
dist1Left or top Distance
dist2Right or bottom distance
See also
borderDist()

Definition at line 250 of file qwt_scale_widget.cpp.

◆ setColorBarEnabled()

void QwtScaleWidget::setColorBarEnabled ( bool  on)

En/disable a color bar associated to the scale

See also
isColorBarEnabled(), setColorBarWidth()

Definition at line 894 of file qwt_scale_widget.cpp.

◆ setColorBarWidth()

void QwtScaleWidget::setColorBarWidth ( int  width)

Set the width of the color bar

Parameters
widthWidth
See also
colorBarWidth(), setColorBarEnabled()

Definition at line 918 of file qwt_scale_widget.cpp.

◆ setColorMap()

void QwtScaleWidget::setColorMap ( const QwtInterval interval,
QwtColorMap colorMap 
)

Set the color map and value interval, that are used for displaying the color bar.

Parameters
intervalValue interval
colorMapColor map
See also
colorMap(), colorBarInterval()

Definition at line 955 of file qwt_scale_widget.cpp.

◆ setLabelAlignment()

void QwtScaleWidget::setLabelAlignment ( Qt::Alignment  alignment)

Change the alignment for the labels.

See also
QwtScaleDraw::setLabelAlignment(), setLabelRotation()

Definition at line 295 of file qwt_scale_widget.cpp.

◆ setLabelRotation()

void QwtScaleWidget::setLabelRotation ( double  rotation)

Change the rotation for the labels. See QwtScaleDraw::setLabelRotation().

Parameters
rotationRotation
See also
QwtScaleDraw::setLabelRotation(), setLabelFlags()

Definition at line 308 of file qwt_scale_widget.cpp.

◆ setLayoutFlag()

void QwtScaleWidget::setLayoutFlag ( LayoutFlag  flag,
bool  on 
)

Toggle an layout flag

Parameters
flagLayout flag
ontrue/false
See also
testLayoutFlag(), LayoutFlag

Definition at line 141 of file qwt_scale_widget.cpp.

◆ setMargin()

void QwtScaleWidget::setMargin ( int  margin)

Specify the margin to the colorBar/base line.

Parameters
marginMargin
See also
margin()

Definition at line 265 of file qwt_scale_widget.cpp.

◆ setMinBorderDist()

void QwtScaleWidget::setMinBorderDist ( int  start,
int  end 
)

Set a minimum value for the distances of the scale's endpoints from the widget borders. This is useful to avoid that the scales are "jumping", when the tick labels or their positions change often.

Parameters
startMinimum for the start border
endMinimum for the end border
See also
getMinBorderDist(), getBorderDistHint()

Definition at line 835 of file qwt_scale_widget.cpp.

◆ setScaleDiv()

void QwtScaleWidget::setScaleDiv ( const QwtScaleDiv scaleDiv)

Assign a scale division.

The scale division determines where to set the tick marks.

Parameters
scaleDivScale Division
See also
For more information about scale divisions, see QwtScaleDiv.

Definition at line 866 of file qwt_scale_widget.cpp.

◆ setScaleDraw()

void QwtScaleWidget::setScaleDraw ( QwtScaleDraw scaleDraw)

Set a scale draw

scaleDraw has to be created with new and will be deleted in ~QwtScaleWidget() or the next call of setScaleDraw(). scaleDraw will be initialized with the attributes of the previous scaleDraw object.

Parameters
scaleDrawScaleDraw object
See also
scaleDraw()

Definition at line 325 of file qwt_scale_widget.cpp.

◆ setSpacing()

void QwtScaleWidget::setSpacing ( int  spacing)

Specify the distance between color bar, scale and title.

Parameters
spacingSpacing
See also
spacing()

Definition at line 280 of file qwt_scale_widget.cpp.

◆ setTitle() [1/2]

void QwtScaleWidget::setTitle ( const QString &  title)

Give title new text contents

Parameters
titleNew title
See also
title(), setTitle(const QwtText &);

Definition at line 172 of file qwt_scale_widget.cpp.

◆ setTitle() [2/2]

void QwtScaleWidget::setTitle ( const QwtText title)

Give title new text contents

Parameters
titleNew title
See also
title()
Warning
The title flags are interpreted in direction of the label, AlignTop, AlignBottom can't be set as the title will always be aligned to the scale.

Definition at line 190 of file qwt_scale_widget.cpp.

◆ setTransformation()

void QwtScaleWidget::setTransformation ( QwtTransform transformation)

Set the transformation

Parameters
transformationTransformation
See also
QwtAbstractScaleDraw::scaleDraw(), QwtScaleMap

Definition at line 884 of file qwt_scale_widget.cpp.

◆ sizeHint()

QSize QwtScaleWidget::sizeHint ( ) const
overridevirtual
Returns
a size hint

Definition at line 724 of file qwt_scale_widget.cpp.

◆ spacing()

int QwtScaleWidget::spacing ( ) const
Returns
distance between scale and title
See also
setMargin()

Definition at line 407 of file qwt_scale_widget.cpp.

◆ startBorderDist()

int QwtScaleWidget::startBorderDist ( ) const
Returns
start border distance
See also
setBorderDist()

Definition at line 380 of file qwt_scale_widget.cpp.

◆ testLayoutFlag()

bool QwtScaleWidget::testLayoutFlag ( LayoutFlag  flag) const

Test a layout flag

Parameters
flagLayout flag
Returns
true/false
See also
setLayoutFlag(), LayoutFlag

Definition at line 161 of file qwt_scale_widget.cpp.

◆ title()

QwtText QwtScaleWidget::title ( ) const
Returns
title
See also
setTitle()

Definition at line 371 of file qwt_scale_widget.cpp.

◆ titleHeightForWidth()

int QwtScaleWidget::titleHeightForWidth ( int  width) const

Find the height of the title for a given width.

Parameters
widthWidth
Returns
height Height

Definition at line 767 of file qwt_scale_widget.cpp.