File indexing completed on 2024-10-06 06:47:25

0001 /*
0002     This file is part of Killbots.
0003 
0004     SPDX-FileCopyrightText: 2007-2009 Parker Coates <coates@kde.org>
0005 
0006     SPDX-License-Identifier: GPL-2.0-or-later
0007 */
0008 
0009 #ifndef KILLBOTS_NUMERICDISPLAYITEM_H
0010 #define KILLBOTS_NUMERICDISPLAYITEM_H
0011 
0012 #include <KGameRenderedItem>
0013 
0014 #include <QFont>
0015 
0016 namespace Killbots
0017 {
0018 
0019 class NumericDisplayItem : public QObject, public KGameRenderedItem
0020 {
0021     Q_OBJECT
0022 
0023 public: // functions
0024     explicit NumericDisplayItem(const QString &label = QString(), QGraphicsItem *parent = nullptr);
0025     ~NumericDisplayItem() override;
0026 
0027     int value() const;
0028     QString label() const;
0029     int digits() const;
0030     QFont font() const;
0031     QSize preferredSize();
0032 
0033     void paint(QPainter *p, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override;
0034 
0035 public Q_SLOTS:
0036     void setValue(int value);
0037     void setLabel(const QString &label);
0038     void setDigits(int digits);
0039     void setFont(const QFont &font);
0040 
0041 private: // data members
0042     QString m_label;
0043     int m_value;
0044     int m_digits;
0045 
0046     int m_margin;
0047 
0048     QFont m_font;
0049     QFont m_boldFont;
0050 };
0051 }
0052 
0053 #endif