Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

qwt_thermo.h

00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- ***************************** 00002 * Qwt Widget Library 00003 * Copyright (C) 1997 Josef Wilgen 00004 * Copyright (C) 2002 Uwe Rathmann 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the Qwt License, Version 1.0 00008 *****************************************************************************/ 00009 00010 #ifndef QWT_THERMO_H 00011 #define QWT_THERMO_H 00012 00013 #include <qwidget.h> 00014 #include <qcolor.h> 00015 #include <qfont.h> 00016 #include <qrect.h> 00017 #include "qwt_global.h" 00018 #include "qwt_dimap.h" 00019 #include "qwt_scldraw.h" 00020 #include "qwt_sclif.h" 00021 00022 00067 class QWT_EXPORT QwtThermo: public QWidget, public QwtScaleIf 00068 { 00069 Q_OBJECT 00070 00071 Q_ENUMS( ScalePos ) 00072 00073 Q_PROPERTY( QBrush alarmBrush READ alarmBrush WRITE setAlarmBrush ) 00074 Q_PROPERTY( QColor alarmColor READ alarmColor WRITE setAlarmColor ) 00075 Q_PROPERTY( bool alarmEnabled READ alarmEnabled WRITE setAlarmEnabled ) 00076 Q_PROPERTY( double alarmLevel READ alarmLevel WRITE setAlarmLevel ) 00077 Q_PROPERTY( ScalePos scalePosition READ scalePosition 00078 WRITE setScalePosition ) 00079 Q_PROPERTY( int borderWidth READ borderWidth WRITE setBorderWidth ) 00080 Q_PROPERTY( QBrush fillBrush READ fillBrush WRITE setFillBrush ) 00081 Q_PROPERTY( QColor fillColor READ fillColor WRITE setFillColor ) 00082 Q_PROPERTY( double maxValue READ maxValue WRITE setMaxValue ) 00083 Q_PROPERTY( double minValue READ minValue WRITE setMinValue ) 00084 Q_PROPERTY( int pipeWidth READ pipeWidth WRITE setPipeWidth ) 00085 Q_PROPERTY( double value READ value WRITE setValue ) 00086 00087 public: 00088 /* 00089 Scale position. QwtSlider tries to enforce valid combinations of its 00090 orientation and scale position: 00091 - Qt::Horizonal combines with None, Top and Bottom 00092 - Qt::Vertical combines with None, Left and Right 00093 00094 \sa QwtThermo::setOrientation, QwtThermo::setScalePosition 00095 */ 00096 enum ScalePos {None, Left, Right, Top, Bottom}; 00097 00098 QwtThermo(QWidget *parent = 0, const char *name = 0); 00099 virtual ~QwtThermo(); 00100 00101 void setOrientation(Qt::Orientation o, ScalePos s); 00102 00103 void setScalePosition(ScalePos s); 00104 ScalePos scalePosition() const; 00105 00106 void setBorderWidth(int w); 00107 int borderWidth() const; 00108 00109 void setFillBrush(const QBrush &b); 00110 const QBrush &fillBrush() const; 00111 00112 void setFillColor(const QColor &c); 00113 const QColor &fillColor() const; 00114 00115 void setAlarmBrush(const QBrush &b); 00116 const QBrush &alarmBrush() const; 00117 00118 void setAlarmColor(const QColor &c); 00119 const QColor &alarmColor() const; 00120 00121 void setAlarmLevel(double v); 00122 double alarmLevel() const; 00123 00124 void setAlarmEnabled(bool tf); 00125 bool alarmEnabled() const; 00126 00127 void setPipeWidth(int w); 00128 int pipeWidth() const; 00129 00131 void setMaxValue(double v) { setRange(d_minValue, v); } 00133 double maxValue() const { return d_maxValue; } 00134 00136 void setMinValue(double v) { setRange(v, d_maxValue); } 00138 double minValue() const { return d_minValue; } 00139 00141 double value() const { return d_value; } 00142 00143 void setRange(double vmin, double vmax, bool lg = FALSE); 00144 void setMargin(int m); 00145 00146 virtual QSize sizeHint() const; 00147 virtual QSize minimumSizeHint() const; 00148 virtual QSizePolicy sizePolicy() const; 00149 00150 public slots: 00151 void setValue(double val); 00152 00153 protected: 00154 void draw(QPainter *p, const QRect& update_rect); 00155 void drawThermo(QPainter *p); 00156 void layoutThermo( bool update = TRUE ); 00157 virtual void scaleChange(); 00158 virtual void fontChange(const QFont &oldFont); 00159 00160 virtual void paintEvent(QPaintEvent *e); 00161 virtual void resizeEvent(QResizeEvent *e); 00162 00163 private: 00164 void init(); 00165 00166 QwtDiMap d_map; 00167 QRect d_thermoRect; 00168 QBrush d_fillBrush; 00169 QBrush d_alarmBrush; 00170 00171 Qt::Orientation d_orient; 00172 ScalePos d_scalePos; 00173 int d_borderWidth; 00174 int d_scaleDist; 00175 int d_thermoWidth; 00176 00177 double d_minValue; 00178 double d_maxValue; 00179 double d_value; 00180 double d_alarmLevel; 00181 bool d_alarmEnabled; 00182 }; 00183 00184 #endif 00185 00186 // Local Variables: 00187 // mode: C++ 00188 // c-file-style: "stroustrup" 00189 // indent-tabs-mode: nil 00190 // End:

Generated on Tue Nov 16 21:12:21 2004 for Qwt User's Guide by doxygen 1.3.8