Qwt User's Guide
QwtThermo Class Reference

The Thermometer Widget. More...

#include <qwt_thermo.h>

Inheritance diagram for QwtThermo:

Public Types

enum  ScalePosition { NoScale, LeadingScale, TrailingScale }
enum  OriginMode { OriginMinimum, OriginMaximum, OriginCustom }

Public Slots

virtual void setValue (double val)

Public Member Functions

 QwtThermo (QWidget *parent=NULL)
virtual ~QwtThermo ()
 Destructor.
void setOrientation (Qt::Orientation)
 Set the orientation.
Qt::Orientation orientation () const
void setScalePosition (ScalePosition)
 Change the position of the scale.
ScalePosition scalePosition () const
void setSpacing (int)
 Change the spacing between pipe and scale.
int spacing () const
void setBorderWidth (int w)
int borderWidth () const
void setOriginMode (OriginMode)
 Change how the origin is determined.
OriginMode originMode () const
void setOrigin (double)
 Specifies the custom origin.
double origin () const
void setFillBrush (const QBrush &b)
 Change the brush of the liquid.
QBrush fillBrush () const
void setAlarmBrush (const QBrush &b)
 Specify the liquid brush above the alarm threshold.
QBrush alarmBrush () const
void setAlarmLevel (double v)
double alarmLevel () const
void setAlarmEnabled (bool tf)
 Enable or disable the alarm threshold.
bool alarmEnabled () const
void setColorMap (QwtColorMap *)
 Assign a color map for the fill color.
QwtColorMapcolorMap ()
const QwtColorMapcolorMap () const
void setPipeWidth (int w)
int pipeWidth () const
void setRangeFlags (QwtInterval::BorderFlags)
 Exclude/Include min/max values.
QwtInterval::BorderFlags rangeFlags () const
double value () const
 Return the value.
virtual QSize sizeHint () const
virtual QSize minimumSizeHint () const
void setScaleDraw (QwtScaleDraw *)
 Set a scale draw.
const QwtScaleDrawscaleDraw () const

Protected Member Functions

virtual void drawLiquid (QPainter *, const QRect &) const
virtual void scaleChange ()
 Notify a scale change.
virtual void paintEvent (QPaintEvent *)
virtual void resizeEvent (QResizeEvent *)
virtual void changeEvent (QEvent *)
QwtScaleDrawscaleDraw ()
QRect pipeRect () const
QRect fillRect (const QRect &) const
 Calculate the filled rectangle of the pipe.
QRect alarmRect (const QRect &) const
 Calculate the alarm rectangle of the pipe.

Detailed Description

The Thermometer Widget.

QwtThermo is a widget which displays a value in an interval. It supports:

  • a horizontal or vertical layout;
  • a range;
  • a scale;
  • an alarm level.
sysinfo.png

The fill colors might be calculated from an optional color map If no color map has been assigned QwtThermo uses the following colors/brushes from the widget palette:

  • QPalette::Base Background of the pipe
  • QPalette::ButtonText Fill brush below the alarm level
  • QPalette::Highlight Fill brush for the values above the alarm level
  • QPalette::WindowText For the axis of the scale
  • QPalette::Text For the labels of the scale

Member Enumeration Documentation

Origin mode. This property specifies where the beginning of the liquid is placed.

See also:
setOriginMode(), setOrigin()
Enumerator:
OriginMinimum 

The origin is the minimum of the scale.

OriginMaximum 

The origin is the maximum of the scale.

OriginCustom 

The origin is specified using the origin() property.

Position of the scale

See also:
setScalePosition(), setOrientation()
Enumerator:
NoScale 

The slider has no scale.

LeadingScale 

The scale is right of a vertical or below of a horizontal slider.

TrailingScale 

The scale is left of a vertical or above of a horizontal slider.


Constructor & Destructor Documentation

QwtThermo::QwtThermo ( QWidget *  parent = NULL) [explicit]

Constructor

Parameters:
parentParent widget

Member Function Documentation

QBrush QwtThermo::alarmBrush ( ) const
Returns:
Liquid brush ( QPalette::Highlight ) above the alarm threshold.
See also:
setAlarmBrush(), QWidget::palette()
Warning:
The alarm threshold has no effect, when a color map has been assigned
bool QwtThermo::alarmEnabled ( ) const
Returns:
True, when the alarm threshold is enabled.
Warning:
The alarm threshold has no effect, when a color map has been assigned
double QwtThermo::alarmLevel ( ) const
Returns:
Alarm threshold.
See also:
setAlarmLevel()
Warning:
The alarm threshold has no effect, when a color map has been assigned
QRect QwtThermo::alarmRect ( const QRect &  fillRect) const [protected]

Calculate the alarm rectangle of the pipe.

Parameters:
fillRectFilled rectangle in the pipe
Returns:
Rectangle to be filled with the alarm brush
See also:
pipeRect(), fillRect(), alarmLevel(), alarmBrush()
int QwtThermo::borderWidth ( ) const
Returns:
Border width of the thermometer pipe.
See also:
setBorderWidth()
void QwtThermo::changeEvent ( QEvent *  event) [protected, virtual]

Qt change event handler

Parameters:
eventEvent
Returns:
Color map for the fill color
Warning:
The alarm threshold has no effect, when a color map has been assigned
const QwtColorMap * QwtThermo::colorMap ( ) const
Returns:
Color map for the fill color
Warning:
The alarm threshold has no effect, when a color map has been assigned
void QwtThermo::drawLiquid ( QPainter *  painter,
const QRect &  pipeRect 
) const [protected, virtual]

Redraw the liquid in thermometer pipe.

Parameters:
painterPainter
pipeRectBounding rectangle of the pipe without borders
QBrush QwtThermo::fillBrush ( ) const
Returns:
Liquid ( QPalette::ButtonText ) brush.
See also:
setFillBrush(), QWidget::palette()
QRect QwtThermo::fillRect ( const QRect &  pipeRect) const [protected]

Calculate the filled rectangle of the pipe.

Parameters:
pipeRectRectangle of the pipe
Returns:
Rectangle to be filled ( fill and alarm brush )
See also:
pipeRect(), alarmRect()
QSize QwtThermo::minimumSizeHint ( ) const [virtual]
Returns:
Minimum size hint
Warning:
The return value depends on the font and the scale.
See also:
sizeHint()
Qt::Orientation QwtThermo::orientation ( ) const
Returns:
Orientation
See also:
setOrientation()
double QwtThermo::origin ( ) const
Returns:
Origin of the thermo, when OriginCustom is enabled
See also:
setOrigin(), setOriginMode(), originMode()
Returns:
Mode, how the origin is determined.
See also:
setOriginMode(), serOrigin(), origin()
void QwtThermo::paintEvent ( QPaintEvent *  event) [protected, virtual]

Paint event handler

Parameters:
eventPaint event
QRect QwtThermo::pipeRect ( ) const [protected]
Returns:
Bounding rectangle of the pipe ( without borders ) in widget coordinates
int QwtThermo::pipeWidth ( ) const
Returns:
Width of the pipe.
See also:
setPipeWidth()
Returns:
Range flags
See also:
setRangeFlags()
void QwtThermo::resizeEvent ( QResizeEvent *  event) [protected, virtual]

Resize event handler

Parameters:
eventResize event
Returns:
the scale draw of the thermo
See also:
setScaleDraw()
Returns:
the scale draw of the thermo
See also:
setScaleDraw()
Returns:
Scale position.
See also:
setScalePosition()
void QwtThermo::setAlarmBrush ( const QBrush &  brush)

Specify the liquid brush above the alarm threshold.

Changes the QPalette::Highlight brush of the palette.

Parameters:
brushNew brush.
See also:
alarmBrush(), QWidget::setPalette()
Warning:
The alarm threshold has no effect, when a color map has been assigned
void QwtThermo::setAlarmEnabled ( bool  on)

Enable or disable the alarm threshold.

Parameters:
ontrue (disabled) or false (enabled)
Warning:
The alarm threshold has no effect, when a color map has been assigned
void QwtThermo::setAlarmLevel ( double  level)

Specify the alarm threshold.

Parameters:
levelAlarm threshold
See also:
alarmLevel()
Warning:
The alarm threshold has no effect, when a color map has been assigned
void QwtThermo::setBorderWidth ( int  width)

Set the border width of the pipe.

Parameters:
widthBorder width
See also:
borderWidth()
void QwtThermo::setColorMap ( QwtColorMap colorMap)

Assign a color map for the fill color.

Parameters:
colorMapColor map
Warning:
The alarm threshold has no effect, when a color map has been assigned
void QwtThermo::setFillBrush ( const QBrush &  brush)

Change the brush of the liquid.

Changes the QPalette::ButtonText brush of the palette.

Parameters:
brushNew brush.
See also:
fillBrush(), QWidget::setPalette()
void QwtThermo::setOrientation ( Qt::Orientation  orientation)

Set the orientation.

Parameters:
orientationAllowed values are Qt::Horizontal and Qt::Vertical.
See also:
orientation(), scalePosition()
void QwtThermo::setOrigin ( double  origin)

Specifies the custom origin.

If originMode is set to OriginCustom this property controls where the liquid starts.

Parameters:
originNew origin level
See also:
setOriginMode(), originMode(), origin()

Change how the origin is determined.

See also:
originMode(), serOrigin(), origin()
void QwtThermo::setPipeWidth ( int  width)

Change the width of the pipe.

Parameters:
widthWidth of the pipe
See also:
pipeWidth()

Exclude/Include min/max values.

According to the flags minValue() and maxValue() are included/excluded from the pipe. In case of an excluded value the corresponding tick is painted 1 pixel off of the pipeRect().

F.e. when a minimum of 0.0 has to be displayed as an empty pipe the minValue() needs to be excluded.

Parameters:
flagsRange flags
See also:
rangeFlags()
void QwtThermo::setScaleDraw ( QwtScaleDraw scaleDraw)

Set a scale draw.

For changing the labels of the scales, it is necessary to derive from QwtScaleDraw and overload QwtScaleDraw::label().

Parameters:
scaleDrawScaleDraw object, that has to be created with new and will be deleted in ~QwtThermo() or the next call of setScaleDraw().
void QwtThermo::setScalePosition ( ScalePosition  scalePosition)

Change the position of the scale.

Parameters:
scalePositionPosition of the scale.
See also:
ScalePosition, scalePosition()
void QwtThermo::setSpacing ( int  spacing)

Change the spacing between pipe and scale.

A spacing of 0 means, that the backbone of the scale is below the pipe.

The default setting is 3 pixels.

Parameters:
spacingNumber of pixels
See also:
spacing();
void QwtThermo::setValue ( double  value) [virtual, slot]

Set the current value.

Parameters:
valueNew Value
See also:
value()
QSize QwtThermo::sizeHint ( ) const [virtual]
Returns:
the minimum size hint
See also:
minimumSizeHint()
int QwtThermo::spacing ( ) const
Returns:
Number of pixels between pipe and scale
See also:
setSpacing()

List of all members.

 All Classes Functions Variables Typedefs Enumerations Enumerator