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< LayoutFlag > | LayoutFlags

## 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 QwtScaleDraw * | scaleDraw () const
QwtScaleDraw * | scaleDraw ()
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 QwtColorMap * | colorMap () 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

typedef QFlags<LayoutFlag > QwtScaleWidget::LayoutFlags

An ORed combination of LayoutFlag values.

Definition at line 49 of file qwt_scale_widget.h.

## Member Enumeration Documentation

## LayoutFlag

enum QwtScaleWidget::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

  parent | Parent 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

  align | Alignment.
  parent | Parent 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 | ) |

override protected virtual

Change Event handler

Parameters

  event | Change 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

  rect | Bounding 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

  length | width for horizontal, height for vertical scales
  scaleFont | Font 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

  painter | Painter
  rect | Bounding 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

  painter | Painter
  align | Alignment
  rect | Bounding 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

  start | Return parameter for the border width at the beginning of the scale
  end | Return 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

  start | Return parameter for the border width at the beginning of the scale
  end | Return 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_geometry | Notify 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

override virtual

Returns
  a minimum size hint

Definition at line 732 of file qwt_scale_widget.cpp.

## resizeEvent()

void QwtScaleWidget::resizeEvent | ( | QResizeEvent * | event | ) |

override protected virtual

Event handler for resize events

Parameters

  event | Resize 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

  alignment | New 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

  dist1 | Left or top Distance
  dist2 | Right 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

  width | Width

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

  interval | Value interval
  colorMap | Color 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

  rotation | Rotation

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

  flag | Layout flag
  on | true/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

  margin | Margin

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

  start | Minimum for the start border
  end | Minimum 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

  scaleDiv | Scale 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

  scaleDraw | ScaleDraw 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

  spacing | Spacing

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

  title | New 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

  title | New 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

  transformation | Transformation

See also
  QwtAbstractScaleDraw::scaleDraw(), QwtScaleMap

Definition at line 884 of file qwt_scale_widget.cpp.

## sizeHint()

QSize QwtScaleWidget::sizeHint | ( |  | ) | const

override virtual

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

  flag | Layout 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

  width | Width

Returns
  height Height

Definition at line 767 of file qwt_scale_widget.cpp.