Man Linux: Main Page and Category List

NAME

       QwtThermo -

SYNOPSIS

       Inherits QwtScaleIf.

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.

       By default, the scale and range run over the same interval of values.
       QwtScaleIf::setScale() changes the interval of the scale and allows
       easy conversion between physical units. The example shows how to make
       the scale indicate in degrees Fahrenheit and to set the value in
       degrees Kelvin:

       #include <qapplication.h>
       #include <qwt_thermo.h>

       double Kelvin2Fahrenheit(double kelvin)
       {
           // see http://en.wikipedia.org/wiki/Kelvin
           return 1.8*kelvin - 459.67;
       }

       int main(int argc, char **argv)
       {
           const double minKelvin = 0.0;
           const double maxKelvin = 500.0;

           QApplication a(argc, argv);
           QwtThermo t;
           t.setRange(minKelvin, maxKelvin);
           t.setScale(Kelvin2Fahrenheit(minKelvin), Kelvin2Fahrenheit(maxKelvin));
           // set the value in Kelvin but the scale displays in Fahrenheit
           // 273.15 Kelvin = 0 Celsius = 32 Fahrenheit
           t.setValue(273.15);
           a.setMainWidget(&t);
           t.show();
           return a.exec();
       }

       Todo
           Improve the support for a logarithmic range and/or scale.

       Definition at line 67 of file qwt_thermo.h.

   Public Types
       enum ScalePos { None, Left, Right, Top, Bottom }

   Public Slots
       void setValue (double val)

   Public Member Functions
       QwtThermo (QWidget *parent=0, const char *name=0)
       virtual ~QwtThermo ()
       void setOrientation (Qt::Orientation o, ScalePos s)
       void setScalePosition (ScalePos s)
       ScalePos scalePosition () const
       void setBorderWidth (int w)
       int borderWidth () const
       void setFillBrush (const QBrush &b)
       const QBrush & fillBrush () const
       void setFillColor (const QColor &c)
       const QColor & fillColor () const
       void setAlarmBrush (const QBrush &b)
       const QBrush & alarmBrush () const
       void setAlarmColor (const QColor &c)
       const QColor & alarmColor () const
       void setAlarmLevel (double v)
       double alarmLevel () const
       void setAlarmEnabled (bool tf)
       bool alarmEnabled () const
       void setPipeWidth (int w)
       int pipeWidth () const
       void setMaxValue (double v)
       double maxValue () const
       void setMinValue (double v)
       double minValue () const
       double value () const
       void setRange (double vmin, double vmax, bool lg=FALSE)
       void setMargin (int m)
       virtual QSize sizeHint () const
       virtual QSize minimumSizeHint () const
       virtual QSizePolicy sizePolicy () const

   Protected Member Functions
       void draw (QPainter *p, const QRect &update_rect)
       void drawThermo (QPainter *p)
       void layoutThermo (bool update=TRUE)
       virtual void scaleChange ()
       virtual void fontChange (const QFont &oldFont)
       virtual void paintEvent (QPaintEvent *e)
       virtual void resizeEvent (QResizeEvent *e)

Constructor & Destructor Documentation

   QwtThermo::QwtThermo (QWidget * parent = 0, const char * name = 0)
       Constructor.

       Definition at line 20 of file qwt_thermo.cpp.

   QwtThermo::~QwtThermo () [virtual]
       Destructor.

       Definition at line 27 of file qwt_thermo.cpp.

Member Function Documentation

   const QBrush & QwtThermo::alarmBrush () const
       Return the liquid brush above the alarm threshold.

       Definition at line 529 of file qwt_thermo.cpp.

   const QColor & QwtThermo::alarmColor () const
       Return the liquid color above the alarm threshold.

       Definition at line 545 of file qwt_thermo.cpp.

   bool QwtThermo::alarmEnabled () const
       Return if the alarm threshold is enabled or disabled.

       Definition at line 611 of file qwt_thermo.cpp.

   double QwtThermo::alarmLevel () const
       Return the alarm threshold.

       Definition at line 559 of file qwt_thermo.cpp.

   int QwtThermo::borderWidth () const
       Return the border width of the thermometer pipe.

       Definition at line 457 of file qwt_thermo.cpp.

   void QwtThermo::draw (QPainter * p, const QRect & update_rect) [protected]
       Draw the whole QwtThermo.

       Definition at line 80 of file qwt_thermo.cpp.

       References QwtScaleDraw::draw(), drawThermo(), and
       QwtScaleIf::scaleDraw().

       Referenced by paintEvent().

   void QwtThermo::drawThermo (QPainter * p) [protected]
       Redraw the liquid in thermometer pipe.

       Definition at line 288 of file qwt_thermo.cpp.

       References QwtDiMap::limTransform().

       Referenced by draw().

   const QBrush & QwtThermo::fillBrush () const
       Return the liquid brush.

       Definition at line 497 of file qwt_thermo.cpp.

   const QColor & QwtThermo::fillColor () const
       Return the liquid color.

       Definition at line 513 of file qwt_thermo.cpp.

   void QwtThermo::fontChange (const QFont & oldFont) [protected, virtual]
       Notify a font change.

       Definition at line 274 of file qwt_thermo.cpp.

       References layoutThermo().

   void QwtThermo::layoutThermo (bool update_geometry = TRUE) [protected]
       Recalculate the QwtThermo geometry and layout based on the
       QwtThermo::rect() and the fonts.

       Parameters:
           update_geometry notify the layout system and call update to redraw
           the scale

       Definition at line 109 of file qwt_thermo.cpp.

       References QwtScaleDraw::minBorderDist(), QwtScaleIf::scaleDraw(),
       QwtScaleDraw::setGeometry(), and QwtDiMap::setIntRange().

       Referenced by fontChange(), resizeEvent(), scaleChange(),
       setBorderWidth(), setOrientation(), setPipeWidth(), and setRange().

   double QwtThermo::maxValue () const
       Return the maximum value.

       Definition at line 133 of file qwt_thermo.h.

   QSize QwtThermo::minimumSizeHint () const [virtual]
       Return a minimum size hint.

       Warning:
           The return value depends on the font and the scale.

       See also:
           QwtThermo::sizeHint

       Definition at line 652 of file qwt_thermo.cpp.

       References QwtScaleDraw::minHeight(), QwtScaleDraw::minWidth(), and
       QwtScaleIf::scaleDraw().

       Referenced by sizeHint().

   double QwtThermo::minValue () const
       Return the minimum value.

       Definition at line 138 of file qwt_thermo.h.

   void QwtThermo::paintEvent (QPaintEvent * e) [protected, virtual]
       Qt paint event.

       Definition at line 68 of file qwt_thermo.cpp.

       References draw(), and QwtPaintBuffer::painter().

   int QwtThermo::pipeWidth () const
       Return the width of the pipe.

       Definition at line 575 of file qwt_thermo.cpp.

   void QwtThermo::resizeEvent (QResizeEvent * e) [protected, virtual]
       Qt resize event handler.

       Definition at line 98 of file qwt_thermo.cpp.

       References layoutThermo().

   void QwtThermo::scaleChange () [protected, virtual]
       Notify a scale change.

       Implements QwtScaleIf.

       Definition at line 281 of file qwt_thermo.cpp.

       References layoutThermo().

       Referenced by setRange().

   QwtThermo::ScalePos QwtThermo::scalePosition () const
       Return the scale position.

       Definition at line 268 of file qwt_thermo.cpp.

   void QwtThermo::setAlarmBrush (const QBrush & b)
       Specify the liquid brush above the alarm threshold.

       Parameters:
           c New brush. The default is solid white.

       Definition at line 522 of file qwt_thermo.cpp.

   void QwtThermo::setAlarmColor (const QColor & c)
       Specify the liquid color above the alarm threshold.

       Parameters:
           c New color. The default is white.

       Definition at line 538 of file qwt_thermo.cpp.

   void QwtThermo::setAlarmEnabled (bool tf)
       Enable or disable the alarm threshold.

       Parameters:
           tf TRUE (disabled) or FALSE (enabled)

       Definition at line 604 of file qwt_thermo.cpp.

   void QwtThermo::setAlarmLevel (double v)
       Specify the alarm threshold.

       Definition at line 551 of file qwt_thermo.cpp.

   void QwtThermo::setBorderWidth (int w)
       Set the border width of the pipe.

       Definition at line 446 of file qwt_thermo.cpp.

       References layoutThermo().

   void QwtThermo::setFillBrush (const QBrush & b)
       Change the brush of the liquid.

       Parameters:
           c New brush. The default brush is solid black.

       Definition at line 490 of file qwt_thermo.cpp.

   void QwtThermo::setFillColor (const QColor & c)
       Change the color of the liquid.

       Parameters:
           c New color. The default color is black.

       Definition at line 506 of file qwt_thermo.cpp.

   void QwtThermo::setMargin (int m)
       Specify the distance between the pipe’s endpoints and the widget’s
       border.

       The margin is used to leave some space for the scale labels. If a large
       font is used, it is advisable to adjust the margins.

       Parameters:
           m New Margin. The default values are 10 for horizontal orientation
           and 20 for vertical orientation.

       Warning:
           The margin has no effect if the scale is disabled.

           This function is a NOOP because margins are determined
           automatically.

       Definition at line 595 of file qwt_thermo.cpp.

   void QwtThermo::setMaxValue (double v)
       Set the maximum value.

       Definition at line 131 of file qwt_thermo.h.

   void QwtThermo::setMinValue (double v)
       Set the minimum value.

       Definition at line 136 of file qwt_thermo.h.

   void QwtThermo::setOrientation (Qt::Orientation o, ScalePos s)
       Set the thermometer orientation and the scale position.

       The scale position None disables the scale.

       Parameters:
           o orientation. Possible values are Qt::Horizontal and Qt::Vertical.
           The default value is Qt::Vertical.
           s Position of the scale. The default value is None.

       A valid combination of scale position and orientation is enforced:

       · a horizontal thermometer can have the scale positions Top, Bottom or
         None;

       · a vertical thermometer can have the scale positions Left, Right or
         None;

       · an invalid scale position will default to None.

       See also:
           QwtThermo::setScalePosition()

       Definition at line 220 of file qwt_thermo.cpp.

       References layoutThermo().

       Referenced by setScalePosition().

   void QwtThermo::setPipeWidth (int w)
       Change the width of the pipe.

       Definition at line 565 of file qwt_thermo.cpp.

       References layoutThermo().

   void QwtThermo::setRange (double vmin, double vmax, bool logarithmic =
       FALSE)
       Set the range.

       Parameters:
           vmin value corresponding lower or left end of the thermometer
           vmax value corresponding to the upper or right end of the
           thermometer
           logarithmic logarithmic mapping, TRUE or FALSE

       Definition at line 468 of file qwt_thermo.cpp.

       References QwtScaleIf::hasUserScale(), layoutThermo(), scaleChange(),
       QwtScaleDraw::scaleDiv(), QwtScaleIf::scaleDraw(),
       QwtScaleIf::scaleMaxMajor(), QwtScaleIf::scaleMaxMinor(),
       QwtDiMap::setDblRange(), and QwtScaleDraw::setScale().

   void QwtThermo::setScalePosition (ScalePos s)
       Change the scale position (and thermometer orientation).

       Parameters:
           s Position of the scale.

       A valid combination of scale position and orientation is enforced:

       · if the new scale position is Left or Right, the scale orientation
         will become Qt::Vertical;

       · if the new scale position is Bottom or Top, the scale orientation
         will become Qt::Horizontal;

       · if the new scale position is None, the scale orientation will not
         change.

       See also:
           QwtThermo::setOrientation()

       Definition at line 257 of file qwt_thermo.cpp.

       References setOrientation().

   void QwtThermo::setValue (double val) [slot]
       Set the current value.

       Definition at line 58 of file qwt_thermo.cpp.

   QSize QwtThermo::sizeHint () const [virtual]
       Returns:
           the minimum size hint

       See also:
           QwtThermo::minimumSizeHint

       Definition at line 642 of file qwt_thermo.cpp.

       References minimumSizeHint().

   QSizePolicy QwtThermo::sizePolicy () const [virtual]
       Returns:
           Fixed/MinimumExpanding for vertical, MinimumExpanding/Fixed for
           horizontal thermos.

       Definition at line 621 of file qwt_thermo.cpp.

       References QwtScaleDraw::orientation(), and QwtScaleIf::scaleDraw().

   double QwtThermo::value () const
       Return the value.

       Definition at line 141 of file qwt_thermo.h.

Author

       Generated automatically by Doxygen for Qwt User’s Guide from the source
       code.