blob: 8d1aeafe6bfd9ef652491b40762e49d45aa02042 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
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
|