1 /*
2     SPDX-FileCopyrightText: 2012-2013 Evan Teran <evan.teran@gmail.com>
3     SPDX-FileCopyrightText: 2006 Michel Marti <mma@objectxp.com>
4 
5     SPDX-License-Identifier: GPL-2.0-or-later
6 */
7 
8 #pragma once
9 
10 #include <QFrame>
11 
12 class QButtonGroup;
13 class QAbstractButton;
14 class KCalcBitset : public QFrame
15 {
16     Q_OBJECT
17 
18 public:
19     explicit KCalcBitset(QWidget *parent = nullptr);
20     Q_REQUIRED_RESULT quint64 getValue() const;
21 
22 public Q_SLOTS:
23     void setValue(quint64 value);
24     void slotToggleBit(QAbstractButton *button);
25 
26 Q_SIGNALS:
27     void valueChanged(quint64 value);
28 
29 private:
30     QButtonGroup *const bit_button_group_;
31     quint64 value_;
32 };
33 
34