Qwt User's Guide  6.1-rc3
 All Classes Functions Variables Typedefs Enumerations Enumerator Pages
Public Types | Public Slots | Public Member Functions | Protected Member Functions | List of all members
QwtThermo Class Reference

The Thermometer Widget. More...

#include <qwt_thermo.h>

Inheritance diagram for QwtThermo:
Inheritance graph
[legend]

Public Types

enum  ScalePos {
  NoScale, LeftScale, RightScale, TopScale,
  BottomScale
}
 

Public Slots

virtual void setValue (double val)
 

Public Member Functions

 QwtThermo (QWidget *parent=NULL)
 
virtual ~QwtThermo ()
 Destructor.
 
void setOrientation (Qt::Orientation, ScalePos)
 Set the thermometer orientation and the scale position. More...
 
void setScalePosition (ScalePos s)
 Change the scale position (and thermometer orientation). More...
 
ScalePos scalePosition () const
 
void setSpacing (int)
 Change the spacing between pipe and scale. More...
 
int spacing () const
 
void setBorderWidth (int w)
 
int borderWidth () const
 
void setFillBrush (const QBrush &b)
 Change the brush of the liquid. More...
 
const QBrush & fillBrush () const
 
void setAlarmBrush (const QBrush &b)
 Specify the liquid brush above the alarm threshold. More...
 
const QBrush & alarmBrush () const
 
void setAlarmLevel (double v)
 
double alarmLevel () const
 
void setAlarmEnabled (bool tf)
 Enable or disable the alarm threshold. More...
 
bool alarmEnabled () const
 
void setColorMap (QwtColorMap *)
 Assign a color map for the fill color. More...
 
QwtColorMapcolorMap ()
 
const QwtColorMapcolorMap () const
 
void setPipeWidth (int w)
 
int pipeWidth () const
 
void setRangeFlags (QwtInterval::BorderFlags)
 Exclude/Include min/max values. More...
 
QwtInterval::BorderFlags rangeFlags () const
 
double value () const
 Return the value.
 
virtual QSize sizeHint () const
 
virtual QSize minimumSizeHint () const
 Return a minimum size hint. More...
 
void setScaleDraw (QwtScaleDraw *)
 Set a scale draw. More...
 
const QwtScaleDrawscaleDraw () const
 
- Public Member Functions inherited from QwtAbstractScale
 QwtAbstractScale (QWidget *parent=NULL)
 
virtual ~QwtAbstractScale ()
 Destructor.
 
void setScale (double lowerBound, double upperBound)
 Specify a scale. More...
 
void setScale (const QwtInterval &)
 Specify a scale. More...
 
void setScale (const QwtScaleDiv &)
 Specify a scale. More...
 
const QwtScaleDivscaleDiv () const
 
void setLowerBound (double value)
 
double lowerBound () const
 
void setUpperBound (double value)
 
double upperBound () const
 
void setScaleStepSize (double stepSize)
 Set the step size used for calculating a scale division. More...
 
double scaleStepSize () const
 
void setScaleMaxMajor (int ticks)
 Set the maximum number of major tick intervals. More...
 
int scaleMaxMinor () const
 
void setScaleMaxMinor (int ticks)
 Set the maximum number of minor tick intervals. More...
 
int scaleMaxMajor () const
 
void setScaleEngine (QwtScaleEngine *)
 Set a scale engine. More...
 
const QwtScaleEnginescaleEngine () const
 
QwtScaleEnginescaleEngine ()
 
int transform (double) const
 
double invTransform (int) const
 
bool isInverted () const
 
double minimum () const
 
double maximum () const
 
const QwtScaleMapscaleMap () 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
 
- Protected Member Functions inherited from QwtAbstractScale
void rescale (double lowerBound, double upperBound, double stepSize)
 
void setAbstractScaleDraw (QwtAbstractScaleDraw *)
 Set a scale draw. More...
 
const QwtAbstractScaleDrawabstractScaleDraw () const
 
QwtAbstractScaleDrawabstractScaleDraw ()
 

Detailed Description

The Thermometer Widget.

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

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:

Member Enumeration Documentation

Scale position. QwtThermo tries to enforce valid combinations of its orientation and scale position:

  • Qt::Horizontal combines with NoScale, TopScale and BottomScale
  • Qt::Vertical combines with NoScale, LeftScale and RightScale
See Also
setOrientation(), setScalePosition()
Enumerator
NoScale 

No scale.

LeftScale 

The scale is left of the pipe.

RightScale 

The scale is right of the pipe.

TopScale 

The scale is above the pipe.

BottomScale 

The scale is below the pipe.

Constructor & Destructor Documentation

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

Constructor

Parameters
parentParent widget

Member Function Documentation

const QBrush & QwtThermo::alarmBrush ( ) const

Return the 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

Return the alarm threshold.

See Also
setAlarmLevel()
Warning
The alarm threshold has no effect, when a color map has been assigned
int QwtThermo::borderWidth ( ) const

Return the border width of the thermometer pipe.

See Also
setBorderWidth()
void QwtThermo::changeEvent ( QEvent *  event)
protectedvirtual

Qt change event handler

Parameters
eventEvent
QwtColorMap * QwtThermo::colorMap ( )
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
protectedvirtual

Redraw the liquid in thermometer pipe.

Parameters
painterPainter
pipeRectBounding rectangle of the pipe without borders
const QBrush & QwtThermo::fillBrush ( ) const

Return the liquid ( QPalette::ButtonText ) brush.

See Also
setFillBrush(), QWidget::palette()
QSize QwtThermo::minimumSizeHint ( ) const
virtual

Return a minimum size hint.

Warning
The return value depends on the font and the scale.
See Also
sizeHint()
void QwtThermo::paintEvent ( QPaintEvent *  event)
protectedvirtual

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

Return the width of the pipe.

See Also
setPipeWidth()
QwtInterval::BorderFlags QwtThermo::rangeFlags ( ) const
Returns
Range flags
See Also
setRangeFlags()
void QwtThermo::resizeEvent ( QResizeEvent *  event)
protectedvirtual

Resize event handler

Parameters
eventResize event
const QwtScaleDraw * QwtThermo::scaleDraw ( ) const
Returns
the scale draw of the thermo
See Also
setScaleDraw()
QwtScaleDraw * QwtThermo::scaleDraw ( )
protected
Returns
the scale draw of the thermo
See Also
setScaleDraw()
QwtThermo::ScalePos QwtThermo::scalePosition ( ) const

Return the 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  o,
ScalePos  s 
)

Set the thermometer orientation and the scale position.

The scale position NoScale disables the scale.

Parameters
oorientation. Possible values are Qt::Horizontal and Qt::Vertical. The default value is Qt::Vertical.
sPosition of the scale. The default value is NoScale.

A valid combination of scale position and orientation is enforced:

  • a horizontal thermometer can have the scale positions TopScale, BottomScale or NoScale;
  • a vertical thermometer can have the scale positions LeftScale, RightScale or NoScale;
  • an invalid scale position will default to NoScale.
See Also
setScalePosition()
void QwtThermo::setPipeWidth ( int  width)

Change the width of the pipe.

Parameters
widthWidth of the pipe
See Also
pipeWidth()
void QwtThermo::setRangeFlags ( QwtInterval::BorderFlags  flags)

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

Change the scale position (and thermometer orientation).

Parameters
scalePosPosition of the scale.

A valid combination of scale position and orientation is enforced:

  • if the new scale position is LeftScale or RightScale, the scale orientation will become Qt::Vertical;
  • if the new scale position is BottomScale or TopScale, the scale orientation will become Qt::Horizontal;
  • if the new scale position is NoScale, the scale orientation will not change.
See Also
setOrientation(), 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)
virtualslot

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