#include "widget.h"
#include "ui_widget.h"
#include
#include
#include
#include
#include
#include"calculate.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
connect(ui->line, SIGNAL(editingFinished()), this, SLOT(on_pushButton_equ_clicked()));
QFont font;
font.setPointSize(16);
ui->line->setFont(font);
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_pushButton_equ_clicked()
{
string str = ui->line->text().toStdString();
ans = calculator(str);
ui->line->setText(QString::number(ans));
is_new = true;
ui->textEdit->append(QString::fromStdString(str) + "=" + QString::number(ans));
}
void Widget::on_pushButton_del_clicked()
{
if(is_new){ui->line->setText("");}
QString a = ui->line->text();
if(a.right(6)=="arcsin" || a.right(6)=="arccos" || a.right(6)=="arctan") a.chop(6);
else if(a.right(3)=="sin" || a.right(3)=="cos" || a.right(3)=="tan" || a.right(3)=="Ans" || a.right(3)=="mod" || a.right(3)=="log") a.chop(3);
else if(a.right(4)=="sqrt") a.chop(4);
else if(a.right(2)=="ln" || a.right(2)=="PI") a.chop(2);
else a.chop(1);
ui->line->setText(a);
is_new = false;
}
void Widget::on_pushButton_mul_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText(ui->line->text() +'*');
is_new = false;
}
void Widget::on_pushButton_div_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText(ui->line->text() +'/');
is_new = false;
}
void Widget::on_pushButton_sub_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText(ui->line->text() +'-');
is_new = false;
}
void Widget::on_pushButton_add_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText(ui->line->text() +'+');
is_new = false;
}
void Widget::on_pushButton_pow_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText(ui->line->text() +'^');
is_new = false;
}
void Widget::on_pushButton_point_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText(ui->line->text() +'.');
is_new = false;
}
void Widget::on_pushButton_0_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText(ui->line->text() +'0');
is_new = false;
}
void Widget::on_pushButton_1_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText(ui->line->text() +'1');
is_new = false;
}
void Widget::on_pushButton_2_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText(ui->line->text() +'2');
is_new = false;
}
void Widget::on_pushButton_3_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText(ui->line->text() +'3');
is_new = false;
}
void Widget::on_pushButton_4_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText(ui->line->text() +'4');
is_new = false;
}
void Widget::on_pushButton_5_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText(ui->line->text() +'5');
is_new = false;
}
void Widget::on_pushButton_6_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText(ui->line->text() +'6');
is_new = false;
}
void Widget::on_pushButton_7_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText(ui->line->text() +'7');
is_new = false;
}
void Widget::on_pushButton_8_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText(ui->line->text() +'8');
is_new = false;
}
void Widget::on_pushButton_9_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText(ui->line->text() +'9');
is_new = false;
}
void Widget::on_pushButton_AC_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText("");
is_new = false;
}
void Widget::on_pushButton_Ans_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText(ui->line->text() +"Ans");
is_new = false;
}
void Widget::on_pushButton_left_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText(ui->line->text() +'(');
is_new = false;
}
void Widget::on_pushButton_right_clicked()
{
if(is_new){ui->line->setText("");}
ui->line->setText(ui->line->text() +')');
is_new = false;
}
void Widget::on_pushButton_pi_clicked()
{
if(is_new){ui->line->setText("");}
is_new = false;
ui->line->setText(ui->line->text() +"PI");
}
void Widget::on_pushButton_sin_clicked()
{
if(is_new){ui->line->setText("");}
is_new = false;
ui->line->setText(ui->line->text() +"sin");
}
void Widget::on_pushButton_cos_clicked()
{
if(is_new){ui->line->setText("");}
is_new = false;
ui->line->setText(ui->line->text() +"cos");
}
void Widget::on_pushButton_tan_clicked()
{
if(is_new){ui->line->setText("");}
is_new = false;
ui->line->setText(ui->line->text() +"tan");
}
void Widget::on_pushButton_1x_clicked()
{
if(is_new){ui->line->setText("");}
is_new = false;
ui->line->setText(ui->line->text() +"1/");
}
void Widget::on_pushButton_n1_clicked()
{
if(is_new){ui->line->setText("");}
is_new = false;
ui->line->setText(ui->line->text() +"!");
}
void Widget::on_pushButton_squ_clicked()
{
if(is_new){ui->line->setText("");}
is_new = false;
ui->line->setText(ui->line->text() +"sqrt");
}
void Widget::on_pushButton_e_clicked()
{
if(is_new){ui->line->setText("");}
is_new = false;
ui->line->setText(ui->line->text() +'e');
}
void Widget::on_pushButton_arcsin_clicked()
{
if(is_new){ui->line->setText("");}
is_new = false;
ui->line->setText(ui->line->text() +"arcsin");
}
void Widget::on_pushButton_arccos_clicked()
{
if(is_new){ui->line->setText("");}
is_new = false;
ui->line->setText(ui->line->text() +"arccos");
}
void Widget::on_pushButton_arctan_clicked()
{
if(is_new){ui->line->setText("");}
is_new = false;
ui->line->setText(ui->line->text() +"arctan");
}
void Widget::on_pushButton_log_clicked()
{
if(is_new){ui->line->setText("");}
is_new = false;
ui->line->setText(ui->line->text() +"log");
}
void Widget::on_pushButton_ln_clicked()
{
if(is_new){ui->line->setText("");}
is_new = false;
ui->line->setText(ui->line->text() +"ln");
}
void Widget::on_pushButton_x2_clicked()
{
if(is_new){ui->line->setText("");}
is_new = false;
ui->line->setText(ui->line->text() +"^2");
}
void Widget::on_pushButton_x3_clicked()
{
if(is_new){ui->line->setText("");}
is_new = false;
ui->line->setText(ui->line->text() +"^3");
}
void Widget::on_pushButton_ex_clicked()
{
if(is_new){ui->line->setText("");}
is_new = false;
ui->line->setText(ui->line->text() +"e^");
}
void Widget::on_pushButton_2x_clicked()
{
if(is_new){ui->line->setText("");}
is_new = false;
ui->line->setText(ui->line->text() +"2^");
}
void Widget::on_pushButton_mod_clicked()
{
if(is_new){ui->line->setText("");}
is_new = false;
ui->line->setText(ui->line->text() +"mod");
}
void Widget::on_pushButton_clicked()
{
ui->textEdit->setText("");
}