File indexing completed on 2024-04-21 05:50:05

0001 /*
0002     SPDX-FileCopyrightText: 2012-2013 Evan Teran <evan.teran@gmail.com>
0003     SPDX-FileCopyrightText: 2006 Michel Marti <mma@objectxp.com>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #pragma once
0009 
0010 #include <QFrame>
0011 
0012 class QButtonGroup;
0013 class QAbstractButton;
0014 class KCalcBitset : public QFrame
0015 {
0016     Q_OBJECT
0017 
0018 public:
0019     explicit KCalcBitset(QWidget *parent = nullptr);
0020     Q_REQUIRED_RESULT quint64 getValue() const;
0021 
0022 protected:
0023     void resizeEvent(QResizeEvent *event) override;
0024 
0025 public Q_SLOTS:
0026     void setValue(quint64 value);
0027     void slotToggleBit(QAbstractButton *button);
0028 
0029 Q_SIGNALS:
0030     void valueChanged(quint64 value);
0031 
0032 private:
0033     QButtonGroup *const bit_button_group_;
0034     quint64 value_;
0035     float ratio_;
0036 };
0037