1/*
2 * Copyright 2007-2009 Parker Coates <coates@kde.org>
3 *
4 * This file is part of Killbots.
5 *
6 * Killbots is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * Killbots is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with Killbots. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef KILLBOTS_NUMERICDISPLAYITEM_H
21#define KILLBOTS_NUMERICDISPLAYITEM_H
22
23#include <KGameRenderedItem>
24
25#include <QtGui/QFont>
26
27namespace Killbots
28{
29
30 class NumericDisplayItem : public QObject, public KGameRenderedItem
31 {
32 Q_OBJECT
33
34 public: // functions
35 explicit NumericDisplayItem( const QString & label = QString(), QGraphicsItem * parent = 0 );
36 virtual ~NumericDisplayItem();
37
38 int value() const;
39 QString label() const;
40 int digits() const;
41 QFont font() const;
42 QSize preferredSize();
43
44 virtual void paint( QPainter * p, const QStyleOptionGraphicsItem * option, QWidget * widget = 0 );
45
46 public slots:
47 void setValue( int value );
48 void setLabel( const QString & label );
49 void setDigits( int digits );
50 void setFont( const QFont & font );
51
52 private: // data members
53 QString m_label;
54 int m_value;
55 int m_digits;
56
57 int m_margin;
58
59 QFont m_font;
60 QFont m_boldFont;
61 };
62}
63
64#endif
65