00a512484
김태훈
세척 모드 화면 추가
|
1
2
|
#include "washwindow.h"
#include "ui_washwindow.h"
|
05f2a7552
김태훈
image 관리 구조 변경
|
3
|
#include <QSignalMapper>
|
538041ab9
김태훈
소스 코드 구조 개선
|
4
|
WashWindow::WashWindow(QWidget *parent) :
|
00a512484
김태훈
세척 모드 화면 추가
|
5
|
QMainWindow(parent),
|
05f2a7552
김태훈
image 관리 구조 변경
|
6
|
ui(new Ui::WashWindow),
|
61ba89b34
김태훈
GUI V0.1.6
|
7
8
9
10
|
selected(false),
opened(false),
started(false),
run(false),
|
aa40dc807
김태훈
세척 모드 중 뒤로 가기 버튼을...
|
11
|
canceled(false),
|
61ba89b34
김태훈
GUI V0.1.6
|
12
|
type(0)
|
00a512484
김태훈
세척 모드 화면 추가
|
13
14
15
16
17
18
|
{
ui->setupUi(this);
ui->clockContainer->setParent(ui->upperStack);
ui->progressContainer->setParent(ui->upperStack);
setAttribute(Qt::WA_DeleteOnClose);
|
05f2a7552
김태훈
image 관리 구조 변경
|
19
|
|
538041ab9
김태훈
소스 코드 구조 개선
|
20
|
udp = UdpHandler::getInstance();
|
05f2a7552
김태훈
image 관리 구조 변경
|
21
22
|
udp->turnOff(TG_SYSTEM);
connect(udp, SIGNAL(changed()), SLOT(onChanged()));
|
05f2a7552
김태훈
image 관리 구조 변경
|
23
|
ui->animation->load(":/images/animation/wash_04.png");
|
61ba89b34
김태훈
GUI V0.1.6
|
24
|
ui->closeDoorArrow->hide();
|
05f2a7552
김태훈
image 관리 구조 변경
|
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
QSignalMapper *sm = new QSignalMapper(this);
connect(sm, SIGNAL(mapped(int)), SLOT(start(int)));
sm->setMapping(ui->washButton_1, 1);
sm->setMapping(ui->washButton_2, 2);
sm->setMapping(ui->washButton_3, 3);
sm->setMapping(ui->washButton_4, 4);
sm->setMapping(ui->washButton_5, 5);
connect(ui->washButton_1, SIGNAL(clicked()), sm, SLOT(map()));
connect(ui->washButton_2, SIGNAL(clicked()), sm, SLOT(map()));
connect(ui->washButton_3, SIGNAL(clicked()), sm, SLOT(map()));
connect(ui->washButton_4, SIGNAL(clicked()), sm, SLOT(map()));
connect(ui->washButton_5, SIGNAL(clicked()), sm, SLOT(map()));
|
61ba89b34
김태훈
GUI V0.1.6
|
40
41
42
|
returnToClockTimer.setSingleShot(true);
returnToClockTimer.setInterval(10 * 1000);
connect(&returnToClockTimer, SIGNAL(timeout()), SLOT(returnToClock()));
|
00a512484
김태훈
세척 모드 화면 추가
|
43
44
45
46
47
48
|
}
WashWindow::~WashWindow()
{
delete ui;
}
|
05f2a7552
김태훈
image 관리 구조 변경
|
49
50
51
|
void WashWindow::start(int type)
{
|
61ba89b34
김태훈
GUI V0.1.6
|
52
|
if (selected)
|
05f2a7552
김태훈
image 관리 구조 변경
|
53
54
55
56
|
return;
if (type < 1 || type > 5)
return;
|
61ba89b34
김태훈
GUI V0.1.6
|
57
|
selected = true;
|
05f2a7552
김태훈
image 관리 구조 변경
|
58
|
|
61ba89b34
김태훈
GUI V0.1.6
|
59
60
61
|
this->type = type;
returnToClockTimer.stop();
|
05f2a7552
김태훈
image 관리 구조 변경
|
62
|
|
61ba89b34
김태훈
GUI V0.1.6
|
63
64
65
66
67
68
|
ui->animation->clear();
ui->animation->load(":/images/animation/pull_01.png");
ui->animation->load(":/images/animation/pull_02.png");
ui->animation->load(":/images/animation/pull_03.png");
ui->animation->load(":/images/animation/pull_04.png");
ui->animation->show();
|
05f2a7552
김태훈
image 관리 구조 변경
|
69
|
ui->animation->start(300);
|
61ba89b34
김태훈
GUI V0.1.6
|
70
71
72
|
udp->set(TG_OVEN_MODE, 2);
udp->turnOn(TG_SYSTEM);
|
05f2a7552
김태훈
image 관리 구조 변경
|
73
74
75
76
|
}
void WashWindow::stop()
{
|
aa40dc807
김태훈
세척 모드 중 뒤로 가기 버튼을...
|
77
78
79
80
81
82
83
|
if (!started)
return;
if (canceled)
return;
canceled = true;
|
05f2a7552
김태훈
image 관리 구조 변경
|
84
85
|
udp->turnOff(TG_CLEANING);
}
|
61ba89b34
김태훈
GUI V0.1.6
|
86
87
88
89
|
void WashWindow::returnToClock()
{
ui->upperStack->setCurrentIndex(0);
}
|
05f2a7552
김태훈
image 관리 구조 변경
|
90
91
|
void WashWindow::onChanged()
{
|
61ba89b34
김태훈
GUI V0.1.6
|
92
|
if (!selected)
|
05f2a7552
김태훈
image 관리 구조 변경
|
93
|
return;
|
61ba89b34
김태훈
GUI V0.1.6
|
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
oven_state_t state;
udp->fillData(state);
if (!opened)
{
if (state.door_state)
{
opened = true;
ui->animation->clear();
ui->animation->load(":/images/animation/door_big_09.png");
ui->animation->load(":/images/animation/door_big_08.png");
ui->animation->load(":/images/animation/door_big_07.png");
ui->animation->load(":/images/animation/door_big_06.png");
ui->animation->load(":/images/animation/door_big_05.png");
ui->animation->load(":/images/animation/door_big_04.png");
ui->animation->load(":/images/animation/door_big_03.png");
ui->animation->load(":/images/animation/door_big_02.png");
ui->animation->load(":/images/animation/door_big_01.png");
ui->closeDoorArrow->show();
}
}
else if (!started)
{
if (!state.door_state)
{
started = true;
ui->closeDoorArrow->hide();
ui->animation->clear();
ui->animation->load(":/images/animation/wash_01.png");
ui->animation->load(":/images/animation/wash_02.png");
ui->animation->load(":/images/animation/wash_03.png");
ui->animation->load(":/images/animation/wash_04.png");
ui->washStepGauge->setValue(0);
|
aa40dc807
김태훈
세척 모드 중 뒤로 가기 버튼을...
|
131
132
133
|
ui->titleLabel->setText("기기의 내부를 세척 중입니다");
ui->descLabel->setText("완료될 때까지 문을 열지 마세요.
기기의 내부의 자동 세척 기능을 실행 중입니다.");
|
61ba89b34
김태훈
GUI V0.1.6
|
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
ui->washStepTypeLabel->setText("");
ui->washStepCountLabel->setText("");
ui->upperStack->setCurrentIndex(1);
udp->set(TG_CLEAN_TYPE, type);
udp->turnOn(TG_CLEANING);
}
}
else if (state.cleaning_sate)
{
if (!run)
run = true;
oven_control_t control;
udp->fillControl(control);
if (control.clean_total != 0 && control.clean_step != 0 && control.clean_step_type != 0)
{
ui->washStepGauge->setMaximum(control.clean_total);
ui->washStepGauge->setValue(control.clean_step);
ui->washStepCountLabel->setText(QString().sprintf("%d/%d", control.clean_step, control.clean_total));
switch (control.clean_step_type)
{
case 1:
|
aa40dc807
김태훈
세척 모드 중 뒤로 가기 버튼을...
|
160
|
ui->washStepTypeLabel->setText("내부 헹굼 진행 중입니다.");
|
61ba89b34
김태훈
GUI V0.1.6
|
161
162
|
break;
case 2:
|
aa40dc807
김태훈
세척 모드 중 뒤로 가기 버튼을...
|
163
|
ui->washStepTypeLabel->setText("스팀 급수 진행 중입니다.");
|
61ba89b34
김태훈
GUI V0.1.6
|
164
165
|
break;
case 3:
|
aa40dc807
김태훈
세척 모드 중 뒤로 가기 버튼을...
|
166
|
ui->washStepTypeLabel->setText("내부 팬 세척 진행 중입니다.");
|
61ba89b34
김태훈
GUI V0.1.6
|
167
168
|
break;
case 4:
|
aa40dc807
김태훈
세척 모드 중 뒤로 가기 버튼을...
|
169
|
ui->washStepTypeLabel->setText("내부 스팀 불림 진행 중입니다.");
|
61ba89b34
김태훈
GUI V0.1.6
|
170
171
|
break;
case 5:
|
aa40dc807
김태훈
세척 모드 중 뒤로 가기 버튼을...
|
172
|
ui->washStepTypeLabel->setText("내부 강 세척 진행 중입니다.");
|
61ba89b34
김태훈
GUI V0.1.6
|
173
174
|
break;
case 6:
|
aa40dc807
김태훈
세척 모드 중 뒤로 가기 버튼을...
|
175
|
ui->washStepTypeLabel->setText("내부 상부 세척 진행 중입니다.");
|
61ba89b34
김태훈
GUI V0.1.6
|
176
177
|
break;
case 7:
|
aa40dc807
김태훈
세척 모드 중 뒤로 가기 버튼을...
|
178
|
ui->washStepTypeLabel->setText("내부 스팀 세척 진행 중입니다.");
|
61ba89b34
김태훈
GUI V0.1.6
|
179
180
|
break;
case 8:
|
aa40dc807
김태훈
세척 모드 중 뒤로 가기 버튼을...
|
181
|
ui->washStepTypeLabel->setText("세척 종료 진행 중입니다.");
|
61ba89b34
김태훈
GUI V0.1.6
|
182
183
|
break;
case 9:
|
aa40dc807
김태훈
세척 모드 중 뒤로 가기 버튼을...
|
184
|
ui->washStepTypeLabel->setText("세제 세척수 만들기 진행 중입니다.");
|
61ba89b34
김태훈
GUI V0.1.6
|
185
186
|
break;
case 10:
|
aa40dc807
김태훈
세척 모드 중 뒤로 가기 버튼을...
|
187
|
ui->washStepTypeLabel->setText("세제 세척수 헹굼 진행 중입니다.");
|
61ba89b34
김태훈
GUI V0.1.6
|
188
189
|
break;
case 11:
|
aa40dc807
김태훈
세척 모드 중 뒤로 가기 버튼을...
|
190
|
ui->washStepTypeLabel->setText("하부 탱크 세척수 만들기 진행 중입니다.");
|
61ba89b34
김태훈
GUI V0.1.6
|
191
192
193
194
|
break;
}
}
}
|
aa40dc807
김태훈
세척 모드 중 뒤로 가기 버튼을...
|
195
196
197
198
|
else if (canceled)
{
close();
}
|
61ba89b34
김태훈
GUI V0.1.6
|
199
200
|
else if (run)
{
|
aa40dc807
김태훈
세척 모드 중 뒤로 가기 버튼을...
|
201
202
203
|
ui->titleLabel->setText("세척이 종료되었습니다");
ui->descLabel->setText("");
ui->washStepTypeLabel->setText("");
|
61ba89b34
김태훈
GUI V0.1.6
|
204
205
206
207
208
209
210
211
212
213
214
215
216
|
ui->washStepCountLabel->setText("");
ui->animation->stop();
ui->animation->clear();
ui->animation->load(":/images/animation/wash_04.png");
returnToClockTimer.start();
selected = false;
opened = false;
started = false;
run = false;
}
|
05f2a7552
김태훈
image 관리 구조 변경
|
217
218
219
220
|
}
void WashWindow::on_backButton_clicked()
{
|
aa40dc807
김태훈
세척 모드 중 뒤로 가기 버튼을...
|
221
222
223
224
|
if (started)
stop();
else
close();
|
05f2a7552
김태훈
image 관리 구조 변경
|
225
|
}
|