1/*
2 SPDX-FileCopyrightText: 2014 Christoph Feck <christoph@maxiom.de>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#pragma once
8
9#include <QStatusBar>
10
11class QLabel;
12
13class KCalcStatusBar : public QStatusBar
14{
15 Q_OBJECT
16
17public:
18 explicit KCalcStatusBar(QWidget *parent = nullptr);
19 ~KCalcStatusBar() override = default;
20
21public:
22 enum AngleMode { DegMode, RadMode, GradMode };
23
24public:
25 void setBaseIndicatorVisible(bool visible);
26 void setAngleModeIndicatorVisible(bool visible);
27
28 void setShiftIndicator(bool shift);
29 void setBase(int base);
30 void setAngleMode(AngleMode mode);
31 void setMemoryIndicator(bool memory);
32
33private:
34 QLabel *addIndicator(const QList<QString> &indicatorTexts);
35
36private:
37 QLabel *const shift_indicator_;
38 QLabel *const base_indicator_;
39 QLabel *const angle_mode_indicator_;
40 QLabel *const memory_indicator_;
41};
42
43

source code of kcalc/kcalc_statusbar.h