-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcalculatewidget.cpp
More file actions
38 lines (28 loc) · 940 Bytes
/
calculatewidget.cpp
File metadata and controls
38 lines (28 loc) · 940 Bytes
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
#include "calculatewidget.h"
#include "ui_calculatewidget.h"
#include "calculatedialog.h"
CalculateWidget::CalculateWidget(std::vector<Expr>& vec,QWidget *parent)
: QWidget(parent)
, ui(new Ui::EvaluateWidget)
{
ui->setupUi(this);
for(size_t i = 0; i < vec.size(); ++i)
{
ui->listWidget->addItem(vec[i].prefix);
}
expressions = vec;
connect(ui->listWidget, &QListWidget::itemDoubleClicked,
this, [=](QListWidgetItem *item){
int row = ui->listWidget->row(item);
if(row >= 0 && row < static_cast<int>(expressions.size())) {
Expr& targetExpr = expressions[row];
CalculateDialog *dlg = new CalculateDialog(targetExpr, this);
dlg->setAttribute(Qt::WA_DeleteOnClose);
dlg->exec();
}
});
}
CalculateWidget::~CalculateWidget()
{
delete ui;
}