diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 2bda8f7717adf28da4af0d34fb82f63d2868c31d (patch) | |
tree | 8d927b7b47a90c4adb646482a52613f58acd6f8c /superkaramba/src/meter.h | |
download | tdeutils-2bda8f7717adf28da4af0d34fb82f63d2868c31d.tar.gz tdeutils-2bda8f7717adf28da4af0d34fb82f63d2868c31d.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeutils@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'superkaramba/src/meter.h')
-rw-r--r-- | superkaramba/src/meter.h | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/superkaramba/src/meter.h b/superkaramba/src/meter.h new file mode 100644 index 0000000..8d1aeaf --- /dev/null +++ b/superkaramba/src/meter.h @@ -0,0 +1,99 @@ +/*************************************************************************** + * Copyright (C) 2003 by Hans Karlsson * + * karlsson.h@home.se * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#ifndef METER_H +#define METER_H + +#include <qpixmap.h> +#include <qpainter.h> +#include <qstring.h> +#include <qstringlist.h> +#include <qobject.h> + +#include <qfileinfo.h> + +class karamba; + +class Meter : public QObject +{ +Q_OBJECT +public: + + Meter(karamba* k, int ix,int iy,int iw,int ih); + Meter(karamba* k); + virtual ~Meter(); + virtual int getX(); + virtual int getY(); + virtual int getWidth(); + virtual int getHeight(); + virtual void setX(int); + virtual void setY(int); + virtual void setWidth(int); + virtual void setHeight(int); + + virtual void setSize(int ix, int iy, int iw, int ih); + + virtual void setMax(long max) { maxValue = max; }; + virtual void setMin(long min) { minValue = min; }; + virtual long getMax() { return minValue; }; + virtual long getMin() { return maxValue; }; + + void setThemePath( QString ); + + virtual void mUpdate(QPainter *)=0 ; + + virtual void setValue(long) {}; + virtual long getValue() { return -1; }; + virtual void setValue(QString) {}; + virtual QString getStringValue() const { return QString::null; }; + virtual void recalculateValue() {}; + + virtual void setColor(QColor clr) { color = clr; }; + virtual QColor getColor() { return color; }; + + virtual void show() { hidden = 0; }; + virtual void hide() { hidden = 1; }; + + QRect getBoundingBox(); + + // true when given coordinate point is inside the meters + // active reagion and meter is enabled + virtual bool insideActiveArea(int, int); + + // returns true when callback meterClicked should be called. + virtual bool click( QMouseEvent* ); + + void setEnabled(bool); + bool isEnabled(); + + /* + void setOnClick( QString ); + void setOnMiddleClick( QString ); + */ + +protected: // Protected attributes + QString themePath; + + QRect boundingBox; + + // Actions to execute when clicked on meter + QString leftButtonAction; + QString middleButtonAction; + QString rightButtonAction; + + bool clickable; + int hidden; + long minValue; + long maxValue; + + QColor color; + karamba* m_karamba; +}; + +#endif // METER_H |