blob: f05365f3ebb078320899bbb4a639e91ba0cdc466 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
//===========================================
// Lumina Desktop source code
// Copyright (c) 2016, Ken Moore
// Available under the 3-clause BSD license
// See the LICENSE file for full details
//===========================================
#ifndef _LUMINA_CALCULATOR_MAIN_UI_H
#define _LUMINA_CALCULATOR_MAIN_UI_H
#include <QMainWindow>
#include <QString>
#include <QChar>
#include <QListWidgetItem>
namespace Ui{
class mainUI;
};
class mainUI : public QMainWindow{
Q_OBJECT
public:
mainUI();
~mainUI();
public slots:
void updateIcons();
void updateMenus();
private slots:
void start_calc();
void clear_calc();
void captureButton1();
void captureButton2();
void captureButton3();
void captureButton4();
void captureButton5();
void captureButton6();
void captureButton7();
void captureButton8();
void captureButton9();
void captureButton0();
void captureButtonSubtract();
void captureButtonAdd();
void captureButtonDivide();
void captureButtonMultiply();
void captureButtonDecimal();
void advMenuTriggered(QAction *act);
void insert_history(QListWidgetItem *it);
void copy_to_clipboard(QListWidgetItem *it);
void checkInput(const QString&);
void saveHistory();
private:
Ui::mainUI *ui;
QMenu *advMenu;
double performOperation(double LHS, double RHS, QChar symbol);
double performSciOperation(QString func, double arg);
double strToNumber(QString str); //this is highly-recursive
QString getHistory(int number = -1);
};
#endif
|