author | kergoth <kergoth> | 2002-01-25 22:14:26 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2002-01-25 22:14:26 (UTC) |
commit | 15318cad33835e4e2dc620d033e43cd930676cdd (patch) (unidiff) | |
tree | c2fa0399a2c47fda8e2cd0092c73a809d17f68eb /noncore/settings/sysinfo/graph.h | |
download | opie-15318cad33835e4e2dc620d033e43cd930676cdd.zip opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.gz opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.bz2 |
Initial revision
Diffstat (limited to 'noncore/settings/sysinfo/graph.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/sysinfo/graph.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/noncore/settings/sysinfo/graph.h b/noncore/settings/sysinfo/graph.h new file mode 100644 index 0000000..5a65e79 --- a/dev/null +++ b/noncore/settings/sysinfo/graph.h | |||
@@ -0,0 +1,89 @@ | |||
1 | /********************************************************************** | ||
2 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. | ||
3 | ** | ||
4 | ** This file is part of Qtopia Environment. | ||
5 | ** | ||
6 | ** This file may be distributed and/or modified under the terms of the | ||
7 | ** GNU General Public License version 2 as published by the Free Software | ||
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
9 | ** packaging of this file. | ||
10 | ** | ||
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
13 | ** | ||
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
15 | ** | ||
16 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
17 | ** not clear to you. | ||
18 | ** | ||
19 | **********************************************************************/ | ||
20 | |||
21 | #include <qframe.h> | ||
22 | #include <qarray.h> | ||
23 | #include <qstringlist.h> | ||
24 | |||
25 | class GraphData | ||
26 | { | ||
27 | public: | ||
28 | void clear(); | ||
29 | void addItem( const QString &name, int value ); | ||
30 | |||
31 | const QString &name( int i ) const { return names[i]; } | ||
32 | int value( int i ) const { return values[i]; } | ||
33 | unsigned count() const { return values.size(); } | ||
34 | |||
35 | private: | ||
36 | QStringList names; | ||
37 | QArray<int> values; | ||
38 | }; | ||
39 | |||
40 | class Graph : public QFrame | ||
41 | { | ||
42 | Q_OBJECT | ||
43 | public: | ||
44 | Graph( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); | ||
45 | |||
46 | void setData( const GraphData *p ) { data = p; } | ||
47 | |||
48 | protected: | ||
49 | const GraphData *data; | ||
50 | }; | ||
51 | |||
52 | class PieGraph : public Graph | ||
53 | { | ||
54 | Q_OBJECT | ||
55 | public: | ||
56 | PieGraph( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); | ||
57 | |||
58 | protected: | ||
59 | virtual void drawContents( QPainter *p ); | ||
60 | }; | ||
61 | |||
62 | class BarGraph : public Graph | ||
63 | { | ||
64 | Q_OBJECT | ||
65 | public: | ||
66 | BarGraph( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); | ||
67 | |||
68 | protected: | ||
69 | virtual void drawContents( QPainter *p ); | ||
70 | void drawSegment( QPainter *p, const QRect &r, const QColor &c ); | ||
71 | }; | ||
72 | |||
73 | class GraphLegend : public QFrame | ||
74 | { | ||
75 | Q_OBJECT | ||
76 | public: | ||
77 | GraphLegend( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); | ||
78 | |||
79 | void setData( const GraphData *p ); | ||
80 | virtual QSize sizeHint() const; | ||
81 | void setOrientation(Orientation o); | ||
82 | |||
83 | protected: | ||
84 | virtual void drawContents( QPainter *p ); | ||
85 | |||
86 | private: | ||
87 | const GraphData *data; | ||
88 | bool horz; | ||
89 | }; | ||