Qwt User's Guide  6.1.6
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
 Layout flags of the title.
 

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
 
virtual QSize minimumSizeHint () const
 
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 *painter, const QRectF &) const
 
void drawTitle (QPainter *painter, 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 *)
 paintEvent
 
virtual void resizeEvent (QResizeEvent *)
 
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.

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.

Constructor & Destructor Documentation

◆ QwtScaleWidget() [1/2]

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

Create a scale with the position QwtScaleWidget::Left.

Parameters
parentParent widget

◆ QwtScaleWidget() [2/2]

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

Constructor.

Parameters
alignAlignment.
parentParent widget

Member Function Documentation

◆ alignment()

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

◆ colorBarInterval()

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

◆ 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

◆ colorBarWidth()

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

◆ colorMap()

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

◆ 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

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

◆ 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

◆ endBorderDist()

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

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

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

◆ isColorBarEnabled()

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

◆ 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

◆ margin()

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

◆ minimumSizeHint()

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

◆ resizeEvent()

void QwtScaleWidget::resizeEvent ( QResizeEvent *  event)
protectedvirtual

Event handler for resize events

Parameters
eventResize event

◆ 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.

◆ scaleDraw() [1/2]

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

◆ scaleDraw() [2/2]

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

◆ setAlignment()

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

Change the alignment

Parameters
alignmentNew alignment
See also
alignment()

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

◆ setColorBarEnabled()

void QwtScaleWidget::setColorBarEnabled ( bool  on)

En/disable a color bar associated to the scale

See also
isColorBarEnabled(), setColorBarWidth()

◆ setColorBarWidth()

void QwtScaleWidget::setColorBarWidth ( int  width)

Set the width of the color bar

Parameters
widthWidth
See also
colorBarWidth(), setColorBarEnabled()

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

◆ setLabelAlignment()

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

Change the alignment for the labels.

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

◆ setLabelRotation()

void QwtScaleWidget::setLabelRotation ( double  rotation)

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

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

◆ setLayoutFlag()

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

Toggle an layout flag

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

◆ setMargin()

void QwtScaleWidget::setMargin ( int  margin)

Specify the margin to the colorBar/base line.

Parameters
marginMargin
See also
margin()

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

◆ 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.

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

◆ setSpacing()

void QwtScaleWidget::setSpacing ( int  spacing)

Specify the distance between color bar, scale and title.

Parameters
spacingSpacing
See also
spacing()

◆ setTitle() [1/2]

void QwtScaleWidget::setTitle ( const QString &  title)

Give title new text contents

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

◆ 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.

◆ setTransformation()

void QwtScaleWidget::setTransformation ( QwtTransform transformation)

Set the transformation

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

◆ sizeHint()

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

◆ spacing()

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

◆ startBorderDist()

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

◆ testLayoutFlag()

bool QwtScaleWidget::testLayoutFlag ( LayoutFlag  flag) const

Test a layout flag

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

◆ title()

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

◆ titleHeightForWidth()

int QwtScaleWidget::titleHeightForWidth ( int  width) const

Find the height of the title for a given width.

Parameters
widthWidth
Returns
height Height