# QwtScaleWidget Class Reference

List of all members.

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

## Signals

void | scaleDivChanged ()

## Public Member Functions

| QwtScaleWidget (QWidget *parent=NULL)
| QwtScaleWidget (QwtScaleDraw::Alignment, QWidget *parent=NULL)
virtual | ~QwtScaleWidget ()
void | setTitle (const QString &title)
void | setTitle (const QwtText &title)
QwtText | title () const
void | setBorderDist (int start, int end)
int | startBorderDist () const
int | endBorderDist () const
void | getBorderDistHint (int &start, int &end) const
void | getMinBorderDist (int &start, int &end) const
void | setMinBorderDist (int start, int end)
void | setMargin (int)
int | margin () const
void | setSpacing (int td)
int | spacing () const
void | setPenWidth (int)
int | penWidth () const
void | setScaleDiv (QwtScaleTransformation *, const QwtScaleDiv &sd)
void | setScaleDraw (QwtScaleDraw *)
const QwtScaleDraw * | scaleDraw () const
QwtScaleDraw * | scaleDraw ()
void | setLabelAlignment (Qt::Alignment)
void | setLabelRotation (double rotation)
void | setColorBarEnabled (bool)
bool | isColorBarEnabled () const
void | setColorBarWidth (int)
int | colorBarWidth () const
void | setColorMap (const QwtDoubleInterval &, const QwtColorMap &)
QwtDoubleInterval | colorBarInterval () const
const QwtColorMap & | colorMap () const
virtual QSize | sizeHint () const
virtual QSize | minimumSizeHint () const
int | titleHeightForWidth (int width) const
int | dimForLength (int length, const QFont &scaleFont) const
void | drawColorBar (QPainter *painter, const QRect &rect) const
void | drawTitle (QPainter *painter, QwtScaleDraw::Alignment, const QRect &rect) const
void | setAlignment (QwtScaleDraw::Alignment)
QwtScaleDraw::Alignment | alignment () const
QRect | colorBarRect (const QRect &) const

## Protected Member Functions

virtual void | paintEvent (QPaintEvent *e)
virtual void | resizeEvent (QResizeEvent *e)
void | draw (QPainter *p) const
void | scaleChange ()
void | layoutScale (bool update=true)

## Constructor & Destructor Documentation

QwtScaleWidget::QwtScaleWidget | ( | QWidget * | parent = `NULL` | ) | `[explicit]`

Create a scale with the position QwtScaleWidget::Left.

Parameters:

  | parent | Parent widget

Definition at line 64 of file qwt_scale_widget.cpp.

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

Constructor.

Parameters:

  | align | Alignment.
  | parent | Parent widget

Definition at line 88 of file qwt_scale_widget.cpp.

QwtScaleWidget::~QwtScaleWidget | ( |  | ) | `[virtual]`

| Destructor. Definition at line 96 of file qwt_scale_widget.cpp.

## Member Function Documentation

QwtScaleDraw::Alignment QwtScaleWidget::alignment | ( |  | ) | const

Returns:
  position

See also:
  QwtScaleWidget::setPosition

Definition at line 218 of file qwt_scale_widget.cpp.

References QwtScaleDraw::alignment(), and scaleDraw().

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 747 of file qwt_scale_widget.cpp.

References titleHeightForWidth().

Referenced by minimumSizeHint().

void QwtScaleWidget::draw | ( | QPainter * | p | ) | const`[protected]`

| draw the scale Definition at line 428 of file qwt_scale_widget.cpp. References colorBarRect(), and drawColorBar(). Referenced by paintEvent().

void QwtScaleWidget::drawTitle | ( | QPainter * | painter,
|  | QwtScaleDraw::Alignment | align,
|  | const QRect & | 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 622 of file qwt_scale_widget.cpp.

References QwtText::draw(), QwtText::setRenderFlags(), and title().

int QwtScaleWidget::endBorderDist | ( |  | ) | const

Returns:
  end border distance

See also:
  QwtScaleWidget::setBorderDist

Definition at line 376 of file qwt_scale_widget.cpp.

Referenced by QwtPlot::canvasMap().

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.

Warning:
  - The minimum border distance depends on the font.

See also:
  setMinBorderDist(), getMinBorderDist(), setBorderDist()

Definition at line 775 of file qwt_scale_widget.cpp.

Referenced by layoutScale(), and minimumSizeHint().

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

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

See also:
  setMinBorderDist(), getBorderDistHint()

Definition at line 806 of file qwt_scale_widget.cpp.

void QwtScaleWidget::layoutScale | ( | bool | update = `true` | ) | `[protected]`

Recalculate the scale's geometry and layout based on.

Definition at line 552 of file qwt_scale_widget.cpp.

References colorBarWidth(), and getBorderDistHint().

Referenced by resizeEvent(), scaleChange(), setAlignment(), setBorderDist(), setColorBarEnabled(), setColorBarWidth(), setColorMap(), setLabelRotation(), setMargin(), setPenWidth(), setScaleDiv(), setScaleDraw(), setSpacing(), and setTitle().

int QwtScaleWidget::margin | ( |  | ) | const

Returns:
  margin

See also:
  QwtScaleWidget::setMargin

Definition at line 385 of file qwt_scale_widget.cpp.

QSize QwtScaleWidget::minimumSizeHint | ( |  | ) | const`[virtual]`

Returns:
  a minimum size hint

Definition at line 698 of file qwt_scale_widget.cpp.

References dimForLength(), and getBorderDistHint().

Referenced by QwtPlotLayout::minimumSizeHint(), sizeHint(), and QwtPlot::sizeHint().

void QwtScaleWidget::paintEvent | ( | QPaintEvent * | e | ) | `[protected, virtual]`

| paintEvent Definition at line 410 of file qwt_scale_widget.cpp. References draw().

int QwtScaleWidget::penWidth | ( |  | ) | const

Returns:
  Scale pen width

See also:
  QwtScaleWidget::setPenWidth

Definition at line 403 of file qwt_scale_widget.cpp.

void QwtScaleWidget::resizeEvent | ( | QResizeEvent * | e | ) | `[protected, virtual]`

| resizeEvent Definition at line 542 of file qwt_scale_widget.cpp. References layoutScale().

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 682 of file qwt_scale_widget.cpp. References layoutScale().

void QwtScaleWidget::scaleDivChanged | ( |  | ) | `[signal]`

| Signal emitted, whenever the scale divison changes. Referenced by setScaleDiv().

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

scaleDraw of this scale

See also:
  QwtScaleDraw::setScaleDraw

Definition at line 349 of file qwt_scale_widget.cpp.

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

scaleDraw of this scale

See also:
  QwtScaleDraw::setScaleDraw

Definition at line 340 of file qwt_scale_widget.cpp.

Referenced by alignment(), QwtPlot::axisScaleDraw(), QwtPlot::printScale(), and QwtPlot::sizeHint().

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

Change the alignment

Parameters:

  | alignment | New alignment

See also:
  QwtScaleWidget::alignment

Definition at line 187 of file qwt_scale_widget.cpp.

References layoutScale().

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

Definition at line 234 of file qwt_scale_widget.cpp.

References layoutScale().

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

Change the alignment for the labels.

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

Definition at line 299 of file qwt_scale_widget.cpp.

void QwtScaleWidget::setLabelRotation | ( | double | rotation | ) |

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

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

Definition at line 311 of file qwt_scale_widget.cpp.

References layoutScale().

Referenced by QwtPlot::setAxisLabelRotation().

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

Specify the margin to the colorBar/base line.

Parameters:

  | margin | Margin

See also:
  QwtScaleWidget::margin

Definition at line 249 of file qwt_scale_widget.cpp.

References layoutScale().

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.

See also:
  getMinBorderDist(), getBorderDistHint()

Definition at line 794 of file qwt_scale_widget.cpp.

void QwtScaleWidget::setPenWidth | ( | int | width | ) |

Specify the width of the scale pen.

Parameters:

  | width | Pen width

See also:
  QwtScaleWidget::penWidth

Definition at line 279 of file qwt_scale_widget.cpp.

References layoutScale().

void QwtScaleWidget::setScaleDiv | ( | QwtScaleTransformation * | transformation,
|  | const QwtScaleDiv & | scaleDiv
| ) |

Assign a scale division.

The scale division determines where to set the tick marks.

Parameters:

  | transformation | Transformation, needed to translate between scale and pixal values
  | scaleDiv | Scale Division

See also:
  For more information about scale divisions, see QwtScaleDiv.

Definition at line 840 of file qwt_scale_widget.cpp.

References layoutScale(), QwtAbstractScaleDraw::map(), QwtAbstractScaleDraw::scaleDiv(), scaleDivChanged(), QwtAbstractScaleDraw::setScaleDiv(), QwtAbstractScaleDraw::setTransformation(), QwtScaleMap::transformation(), and QwtScaleTransformation::type().

void QwtScaleWidget::setScaleDraw | ( | QwtScaleDraw * |  | ) |

| Set a scale draw sd has to be created with new and will be deleted in QwtScaleWidget::~QwtScale or the next call of QwtScaleWidget::setScaleDraw. Definition at line 322 of file qwt_scale_widget.cpp. References layoutScale(), and QwtScaleDraw::setAlignment(). Referenced by QwtPlot::setAxisScaleDraw().

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

Specify the distance between color bar, scale and title.

Parameters:

  | spacing | Spacing

See also:
  QwtScaleWidget::spacing

Definition at line 264 of file qwt_scale_widget.cpp.

References layoutScale().

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

Give title new text contents.

Parameters:

  | title | New title

See also:
  QwtScaleWidget::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 168 of file qwt_scale_widget.cpp.

References layoutScale(), QwtText::renderFlags(), QwtText::setRenderFlags(), and title().

QSize QwtScaleWidget::sizeHint | ( |  | ) | const`[virtual]`

Returns:
  a size hint

Definition at line 690 of file qwt_scale_widget.cpp.

References minimumSizeHint().

int QwtScaleWidget::spacing | ( |  | ) | const

Returns:
  distance between scale and title

See also:
  QwtScaleWidget::setMargin

Definition at line 394 of file qwt_scale_widget.cpp.

Referenced by QwtPlot::printScale().

int QwtScaleWidget::startBorderDist | ( |  | ) | const

Returns:
  start border distance

See also:
  QwtScaleWidget::setBorderDist

Definition at line 367 of file qwt_scale_widget.cpp.

Referenced by QwtPlot::canvasMap().

QwtText QwtScaleWidget::title | ( |  | ) | const

Returns:
  title

See also:
  QwtScaleWidget::setTitle

Definition at line 358 of file qwt_scale_widget.cpp.

Referenced by QwtPlot::axisTitle(), drawTitle(), and setTitle().

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 733 of file qwt_scale_widget.cpp.

Referenced by dimForLength().