Qwt User's Guide 6.3.0
Loading...
Searching...
No Matches
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.
 
 QwtScaleWidget (QwtScaleDraw::Alignment, QWidget *parent=NULL)
 Constructor.
 
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.
 
void getMinBorderDist (int &start, int &end) const
 
void setMinBorderDist (int start, int end)
 
void setMargin (int)
 Specify the margin to the colorBar/base line.
 
int margin () const
 
void setSpacing (int)
 Specify the distance between color bar, scale and title.
 
int spacing () const
 
void setScaleDiv (const QwtScaleDiv &)
 Assign a scale division.
 
void setTransformation (QwtTransform *)
 
void setScaleDraw (QwtScaleDraw *)
 
const QwtScaleDrawscaleDraw () const
 
QwtScaleDrawscaleDraw ()
 
void setLabelAlignment (Qt::Alignment)
 Change the alignment for the labels.
 
void setLabelRotation (double rotation)
 Change the rotation for the labels. See QwtScaleDraw::setLabelRotation().
 
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.
 
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.
 
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.
 
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.

◆ ~QwtScaleWidget()

QwtScaleWidget::~QwtScaleWidget ( )
virtual

Destructor.

Definition at line 86 of file qwt_scale_widget.cpp.

Member Function Documentation

◆ alignment()

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

Definition at line 235 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 520 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 942 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 463 of file qwt_scale_widget.cpp.

◆ colorBarWidth()

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

Definition at line 933 of file qwt_scale_widget.cpp.

◆ colorMap()

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

Definition at line 975 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 782 of file qwt_scale_widget.cpp.

◆ draw()

void QwtScaleWidget::draw ( QPainter * painter) const
protected

draw the scale

Definition at line 431 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 625 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 645 of file qwt_scale_widget.cpp.

◆ endBorderDist()

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

Definition at line 390 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 815 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 853 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 908 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 548 of file qwt_scale_widget.cpp.

◆ margin()

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

Definition at line 399 of file qwt_scale_widget.cpp.

◆ minimumSizeHint()

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

Definition at line 733 of file qwt_scale_widget.cpp.

◆ paintEvent()

void QwtScaleWidget::paintEvent ( QPaintEvent * event)
overrideprotectedvirtual

paintEvent

Definition at line 416 of file qwt_scale_widget.cpp.

◆ resizeEvent()

void QwtScaleWidget::resizeEvent ( QResizeEvent * event)
overrideprotectedvirtual

Event handler for resize events

Parameters
eventResize event

Definition at line 534 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 717 of file qwt_scale_widget.cpp.

◆ scaleDraw() [1/2]

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

Definition at line 363 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 354 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 251 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 895 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 919 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 956 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 296 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 309 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 266 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 836 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 867 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 326 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 281 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 885 of file qwt_scale_widget.cpp.

◆ sizeHint()

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

Definition at line 725 of file qwt_scale_widget.cpp.

◆ spacing()

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

Definition at line 408 of file qwt_scale_widget.cpp.

◆ startBorderDist()

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

Definition at line 381 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 372 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 768 of file qwt_scale_widget.cpp.