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 | |
11 | class QLabel; |
12 | |
13 | class KCalcStatusBar : public QStatusBar |
14 | { |
15 | Q_OBJECT |
16 | |
17 | public: |
18 | explicit KCalcStatusBar(QWidget *parent = nullptr); |
19 | ~KCalcStatusBar() override = default; |
20 | |
21 | public: |
22 | enum AngleMode { DegMode, RadMode, GradMode }; |
23 | |
24 | public: |
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 | |
33 | private: |
34 | QLabel *addIndicator(const QList<QString> &indicatorTexts); |
35 | |
36 | private: |
37 | QLabel *const shift_indicator_; |
38 | QLabel *const base_indicator_; |
39 | QLabel *const angle_mode_indicator_; |
40 | QLabel *const memory_indicator_; |
41 | }; |
42 | |
43 | |