From c6b801d0742464a64372c0c7c3ecac18dfe316fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=BA=D0=B0=D1=82=D0=B5=D1=80=D0=B8=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=A1=D0=BF=D0=BE=D1=80=D0=BE=D0=B2=D0=B0?= Date: Sat, 19 Dec 2020 15:28:00 +0000 Subject: [PATCH] Add new file --- Calc.h | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 Calc.h diff --git a/Calc.h b/Calc.h new file mode 100644 index 0000000..bd757d2 --- /dev/null +++ b/Calc.h @@ -0,0 +1,54 @@ +#ifndef CALC_H +#define CALC_H + +#include +#include +class QLCDNumber; +class QPushButton; +class QGridLayout; +class QRadioButton; +class QHBoxLayout; + +class Calculator : public QWidget +{ + Q_OBJECT + +public: + Calculator(QWidget *parent = nullptr); + ~Calculator(); + void calc(); + +private: + QLCDNumber* f_lcdNum; + QRadioButton* f_radioBtnCasual; + QRadioButton* f_radioBtnSci; + + QStack f_operStack; + QString f_currentNum; + bool f_if_currNumChangable; + + QGridLayout* f_BtnLayoutCasual; + QGridLayout* f_BtnLayoutSciExtr; + QWidget* f_BtnLayoutSciExtrWidget; + QWidget* f_BtnLayoutCasualExtrWidget; + + QHBoxLayout* f_HBoxBtnLayout; + + QGridLayout* MainLayout; + + + const double PI = 3.1415926535; + const QVector NumND = {"e", "pi"}; + const QVector UnOp = {"rev", "sqr", "sqrt", "-x", "sin", "cos", "tan", "tanh", "sinh", "cosh", "ln", "exp", "n!", "cubic root", "cubic sqr"}; + const QVector OpToCountimmediately = {"log", "ysqr", "ysqrt"}; + const QVector SumOp = {"+", "-"}; + + QPushButton* createButton(const QString &p_str, size_t p_horz, size_t p_vert); + +public slots: + void slotButtonClicked(); + void slotHideSci(bool); + void slotShowSci(bool); + +}; +#endif // CALCULATOR_H -- GitLab