QwtScaleWidget Class Reference

A Widget which contains a scale. More...

`#include <qwt_scale_widget.h>`

Inheritance diagram for QwtScaleWidget:
[legend]

## Public Types

enum | LayoutFlag { TitleInverted = 1 }
| Layout flags of the title. More...
typedef QFlags< LayoutFlag > | LayoutFlags
| 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 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
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

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.

## Constructor & Destructor Documentation

## QwtScaleWidget() [1/2]

QwtScaleWidget::QwtScaleWidget | ( | QWidget * | parent = `NULL` | ) |

explicit

Create a scale with the position QwtScaleWidget::Left.

Parameters

  parent | Parent widget

## QwtScaleWidget() [2/2]

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

explicit

Constructor.

Parameters

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

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

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

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

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

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

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

## 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_geometry | Notify 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 | ) |

protected virtual

Event handler for resize events

Parameters

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

const QwtScaleDraw * QwtScaleWidget::scaleDraw | ( |  | ) | const

Returns
  scaleDraw of this scale

See also
  setScaleDraw(), QwtScaleDraw::setScaleDraw()

## scaleDraw() [2/2]

QwtScaleDraw * QwtScaleWidget::scaleDraw | ( |  | ) |

Returns
  scaleDraw of this scale

See also
  QwtScaleDraw::setScaleDraw()

## setAlignment()

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

Change the alignment

Parameters

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

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

  width | Width

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

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

  rotation | Rotation

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

## setLayoutFlag()

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

Toggle an layout flag

Parameters

  flag | Layout flag
  on | true/false

See also
  testLayoutFlag(), LayoutFlag

## setMargin()

void QwtScaleWidget::setMargin | ( | int | margin | ) |

Specify the margin to the colorBar/base line.

Parameters

  margin | Margin

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

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

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

  scaleDraw | ScaleDraw object

See also
  scaleDraw()

## setSpacing()

void QwtScaleWidget::setSpacing | ( | int | spacing | ) |

Specify the distance between color bar, scale and title.

Parameters

  spacing | Spacing

See also
  spacing()

## setTitle() [1/2]

void QwtScaleWidget::setTitle | ( | const QString & | title | ) |

Give title new text contents

Parameters

  title | New title

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

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

## setTransformation()

void QwtScaleWidget::setTransformation | ( | QwtTransform * | transformation | ) |

Set the transformation

Parameters

  transformation | Transformation

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

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

  width | Width

Returns
  height Height