Commit 71bc74deb31b5686feae15cfaed5fbfba8a38c1e
1 parent
e064d04c8d
Exists in
master
and in
2 other branches
스팀 통 세척 추가
Showing
5 changed files
with
430 additions
and
3 deletions
Show diff stats
app/gui/oven_control/config.cpp
@@ -18,6 +18,7 @@ | @@ -18,6 +18,7 @@ | ||
18 | #include "confighalfenergydlg.h" | 18 | #include "confighalfenergydlg.h" |
19 | #include "config1digitsetdlg.h" | 19 | #include "config1digitsetdlg.h" |
20 | #include "configdutywashdlg.h" | 20 | #include "configdutywashdlg.h" |
21 | +#include "configsteamwashdlg.h" | ||
21 | #include "fileprocessor.h" | 22 | #include "fileprocessor.h" |
22 | #include "backlight.h" | 23 | #include "backlight.h" |
23 | #include "udphandler.h" | 24 | #include "udphandler.h" |
@@ -536,6 +537,9 @@ void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){ | @@ -536,6 +537,9 @@ void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){ | ||
536 | case config_demo_mode: | 537 | case config_demo_mode: |
537 | dlg = new ConfigDemoModeDlg(parent); | 538 | dlg = new ConfigDemoModeDlg(parent); |
538 | break; | 539 | break; |
540 | + case config_steam_wash: | ||
541 | + dlg = new ConfigSteamWashDlg(parent); | ||
542 | + break; | ||
539 | default: | 543 | default: |
540 | dlg=NULL; | 544 | dlg=NULL; |
541 | } | 545 | } |
app/gui/oven_control/configsteamwashdlg.cpp
@@ -0,0 +1,193 @@ | @@ -0,0 +1,193 @@ | ||
1 | +#include "configsteamwashdlg.h" | ||
2 | +#include "ui_configsteamwashdlg.h" | ||
3 | + | ||
4 | +#include "udphandler.h" | ||
5 | + | ||
6 | +ConfigSteamWashDlg::ConfigSteamWashDlg(QWidget *parent) : | ||
7 | + QDialog(parent), | ||
8 | + ui(new Ui::ConfigSteamWashDlg) | ||
9 | +{ | ||
10 | + ui->setupUi(this); | ||
11 | + | ||
12 | + setWindowFlags(Qt::FramelessWindowHint); | ||
13 | + setAttribute(Qt::WA_NoSystemBackground); | ||
14 | + setAttribute(Qt::WA_TranslucentBackground); | ||
15 | + setAttribute(Qt::WA_DeleteOnClose); | ||
16 | + setFocus(); | ||
17 | + | ||
18 | + qApp->setActiveWindow(this); | ||
19 | + | ||
20 | + UdpHandler *udp = UdpHandler::getInstance(); | ||
21 | + connect(udp, SIGNAL(changed()), SLOT(onChanged())); | ||
22 | + | ||
23 | + updateView(); | ||
24 | +} | ||
25 | + | ||
26 | +ConfigSteamWashDlg::~ConfigSteamWashDlg() | ||
27 | +{ | ||
28 | + delete ui; | ||
29 | +} | ||
30 | + | ||
31 | +void ConfigSteamWashDlg::updateView() | ||
32 | +{ | ||
33 | + switch (phase) { | ||
34 | + case Idle: | ||
35 | + ui->ctrLbBody->setText(tr("시작하시겠습니까?")); | ||
36 | + ui->ctrLbBody->show(); | ||
37 | + ui->ctrGauge->hide(); | ||
38 | + ui->ctrBtnOk->setGeometry(300, 350, 150, 100); | ||
39 | + ui->ctrBtnOk->show(); | ||
40 | + ui->ctrBtnCancel->show(); | ||
41 | + break; | ||
42 | + case Starting: | ||
43 | + ui->ctrLbBody->hide(); | ||
44 | + ui->ctrGauge->hide(); | ||
45 | + ui->ctrBtnOk->hide(); | ||
46 | + ui->ctrBtnCancel->hide(); | ||
47 | + break; | ||
48 | + case Started: | ||
49 | + { | ||
50 | + UdpHandler *udp = UdpHandler::getInstance(); | ||
51 | + | ||
52 | + oven_control_t control; | ||
53 | + udp->fillControl(control); | ||
54 | + | ||
55 | + switch (control.clean_step_type) | ||
56 | + { | ||
57 | + case 1: | ||
58 | + ui->ctrLbBody->setText(tr("내부 헹굼 진행 중입니다.")); | ||
59 | + break; | ||
60 | + case 2: | ||
61 | + ui->ctrLbBody->setText(tr("스팀 급수 진행 중입니다.")); | ||
62 | + break; | ||
63 | + case 3: | ||
64 | + ui->ctrLbBody->setText(tr("내부 팬 세척 진행 중입니다.")); | ||
65 | + break; | ||
66 | + case 4: | ||
67 | + ui->ctrLbBody->setText(tr("내부 스팀 불림 진행 중입니다.")); | ||
68 | + break; | ||
69 | + case 5: | ||
70 | + ui->ctrLbBody->setText(tr("내부 강 세척 진행 중입니다.")); | ||
71 | + break; | ||
72 | + case 6: | ||
73 | + ui->ctrLbBody->setText(tr("내부 상부 세척 진행 중입니다.")); | ||
74 | + break; | ||
75 | + case 7: | ||
76 | + ui->ctrLbBody->setText(tr("내부 스팀 세척 진행 중입니다.")); | ||
77 | + break; | ||
78 | + case 8: | ||
79 | + ui->ctrLbBody->setText(tr("세척 종료 진행 중입니다.")); | ||
80 | + break; | ||
81 | + case 9: | ||
82 | + ui->ctrLbBody->setText(tr("세제 세척수 만들기 진행 중입니다.")); | ||
83 | + break; | ||
84 | + case 10: | ||
85 | + ui->ctrLbBody->setText(tr("세제 세척수 헹굼 진행 중입니다.")); | ||
86 | + break; | ||
87 | + case 11: | ||
88 | + ui->ctrLbBody->setText(tr("하부 탱크 세척수 만들기 진행 중입니다.")); | ||
89 | + break; | ||
90 | + } | ||
91 | + ui->ctrLbBody->show(); | ||
92 | + | ||
93 | + ui->ctrGauge->setMaximum(control.clean_total); | ||
94 | + ui->ctrGauge->setValue(control.clean_step); | ||
95 | + ui->ctrGauge->show(); | ||
96 | + | ||
97 | + ui->ctrBtnOk->hide(); | ||
98 | + ui->ctrBtnCancel->hide(); | ||
99 | + break; | ||
100 | + } | ||
101 | + case Finished: | ||
102 | + ui->ctrLbBody->setText(tr("세척이 종료되었습니다")); | ||
103 | + ui->ctrLbBody->show(); | ||
104 | + ui->ctrGauge->setMaximum(1); | ||
105 | + ui->ctrGauge->setValue(1); | ||
106 | + ui->ctrGauge->show(); | ||
107 | + ui->ctrBtnOk->setGeometry(300, 350, 300, 100); | ||
108 | + ui->ctrBtnOk->show(); | ||
109 | + ui->ctrBtnCancel->hide(); | ||
110 | + } | ||
111 | +} | ||
112 | + | ||
113 | +void ConfigSteamWashDlg::onChanged() | ||
114 | +{ | ||
115 | + switch (phase) { | ||
116 | + case Idle: | ||
117 | + return; | ||
118 | + case Starting: | ||
119 | + if (isStarted()) | ||
120 | + phase = Started; | ||
121 | + break; | ||
122 | + case Started: | ||
123 | + if (isFinished()) | ||
124 | + phase = Finished; | ||
125 | + break; | ||
126 | + case Finished: | ||
127 | + return; | ||
128 | + } | ||
129 | + | ||
130 | + updateView(); | ||
131 | +} | ||
132 | + | ||
133 | +void ConfigSteamWashDlg::start() | ||
134 | +{ | ||
135 | + UdpHandler *udp = UdpHandler::getInstance(); | ||
136 | + udp->set(TG_OVEN_MODE, 2); | ||
137 | + udp->set(TG_CLEAN_TYPE, 6); | ||
138 | + udp->turnOn(TG_CLEANING); | ||
139 | + | ||
140 | + phase = Starting; | ||
141 | + | ||
142 | + updateView(); | ||
143 | +} | ||
144 | + | ||
145 | +bool ConfigSteamWashDlg::isStarted() | ||
146 | +{ | ||
147 | + UdpHandler *udp = UdpHandler::getInstance(); | ||
148 | + | ||
149 | + oven_control_t control; | ||
150 | + oven_state_t state; | ||
151 | + udp->fillControl(control); | ||
152 | + udp->fillData(state); | ||
153 | + | ||
154 | + return state.cleaning_sate != 0 | ||
155 | + && control.clean_total != 0 | ||
156 | + && control.clean_step != 0 | ||
157 | + && control.clean_step_type != 0; | ||
158 | +} | ||
159 | + | ||
160 | +bool ConfigSteamWashDlg::isFinished() | ||
161 | +{ | ||
162 | + UdpHandler *udp = UdpHandler::getInstance(); | ||
163 | + | ||
164 | + oven_state_t state; | ||
165 | + udp->fillData(state); | ||
166 | + | ||
167 | + return state.cleaning_sate == 0; | ||
168 | +} | ||
169 | + | ||
170 | +void ConfigSteamWashDlg::on_ctrBtnOk_clicked() | ||
171 | +{ | ||
172 | + switch (phase) { | ||
173 | + case Idle: | ||
174 | + start(); | ||
175 | + break; | ||
176 | + case Finished: | ||
177 | + close(); | ||
178 | + break; | ||
179 | + default: | ||
180 | + return; | ||
181 | + } | ||
182 | +} | ||
183 | + | ||
184 | +void ConfigSteamWashDlg::on_ctrBtnCancel_clicked() | ||
185 | +{ | ||
186 | + switch (phase) { | ||
187 | + case Idle: | ||
188 | + close(); | ||
189 | + break; | ||
190 | + default: | ||
191 | + return; | ||
192 | + } | ||
193 | +} |
app/gui/oven_control/configsteamwashdlg.h
@@ -0,0 +1,41 @@ | @@ -0,0 +1,41 @@ | ||
1 | +#ifndef CONFIGSTEAMWASHDLG_H | ||
2 | +#define CONFIGSTEAMWASHDLG_H | ||
3 | + | ||
4 | +#include <QDialog> | ||
5 | +#include <QTimer> | ||
6 | + | ||
7 | +namespace Ui { | ||
8 | +class ConfigSteamWashDlg; | ||
9 | +} | ||
10 | + | ||
11 | +class ConfigSteamWashDlg : public QDialog | ||
12 | +{ | ||
13 | + Q_OBJECT | ||
14 | + | ||
15 | + enum Phase { | ||
16 | + Idle, Starting, Started, Finished | ||
17 | + }; | ||
18 | + | ||
19 | +public: | ||
20 | + explicit ConfigSteamWashDlg(QWidget *parent = 0); | ||
21 | + ~ConfigSteamWashDlg(); | ||
22 | + | ||
23 | +private slots: | ||
24 | + void updateView(); | ||
25 | + | ||
26 | + void onChanged(); | ||
27 | + | ||
28 | + void start(); | ||
29 | + bool isStarted(); | ||
30 | + bool isFinished(); | ||
31 | + | ||
32 | + void on_ctrBtnOk_clicked(); | ||
33 | + void on_ctrBtnCancel_clicked(); | ||
34 | + | ||
35 | +private: | ||
36 | + Ui::ConfigSteamWashDlg *ui; | ||
37 | + | ||
38 | + enum Phase phase = Idle; | ||
39 | +}; | ||
40 | + | ||
41 | +#endif // CONFIGSTEAMWASHDLG_H |
app/gui/oven_control/configsteamwashdlg.ui
@@ -0,0 +1,186 @@ | @@ -0,0 +1,186 @@ | ||
1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
2 | +<ui version="4.0"> | ||
3 | + <class>ConfigSteamWashDlg</class> | ||
4 | + <widget class="QDialog" name="ConfigSteamWashDlg"> | ||
5 | + <property name="geometry"> | ||
6 | + <rect> | ||
7 | + <x>0</x> | ||
8 | + <y>0</y> | ||
9 | + <width>900</width> | ||
10 | + <height>1600</height> | ||
11 | + </rect> | ||
12 | + </property> | ||
13 | + <property name="windowTitle"> | ||
14 | + <string>Dialog</string> | ||
15 | + </property> | ||
16 | + <property name="styleSheet"> | ||
17 | + <string notr="true">#centralWidget { background-image: url(:/images/background/popup/503.png); | ||
18 | +} | ||
19 | +</string> | ||
20 | + </property> | ||
21 | + <widget class="QWidget" name="centralWidget" native="true"> | ||
22 | + <property name="geometry"> | ||
23 | + <rect> | ||
24 | + <x>0</x> | ||
25 | + <y>430</y> | ||
26 | + <width>900</width> | ||
27 | + <height>503</height> | ||
28 | + </rect> | ||
29 | + </property> | ||
30 | + <property name="styleSheet"> | ||
31 | + <string notr="true"/> | ||
32 | + </property> | ||
33 | + <widget class="QPushButton" name="ctrBtnOk"> | ||
34 | + <property name="geometry"> | ||
35 | + <rect> | ||
36 | + <x>300</x> | ||
37 | + <y>350</y> | ||
38 | + <width>150</width> | ||
39 | + <height>100</height> | ||
40 | + </rect> | ||
41 | + </property> | ||
42 | + <property name="font"> | ||
43 | + <font> | ||
44 | + <weight>75</weight> | ||
45 | + <bold>true</bold> | ||
46 | + <underline>true</underline> | ||
47 | + </font> | ||
48 | + </property> | ||
49 | + <property name="styleSheet"> | ||
50 | + <string notr="true">QPushButton { | ||
51 | +border: none; | ||
52 | +color: white; | ||
53 | +} | ||
54 | +QPushButton:pressed, QPushButton:focus { | ||
55 | +color: yellow; | ||
56 | +}</string> | ||
57 | + </property> | ||
58 | + <property name="text"> | ||
59 | + <string>확인</string> | ||
60 | + </property> | ||
61 | + </widget> | ||
62 | + <widget class="QLabel" name="ctrLbTitle"> | ||
63 | + <property name="geometry"> | ||
64 | + <rect> | ||
65 | + <x>0</x> | ||
66 | + <y>0</y> | ||
67 | + <width>900</width> | ||
68 | + <height>91</height> | ||
69 | + </rect> | ||
70 | + </property> | ||
71 | + <property name="font"> | ||
72 | + <font> | ||
73 | + <family>나눔고딕</family> | ||
74 | + <pointsize>13</pointsize> | ||
75 | + <weight>75</weight> | ||
76 | + <bold>true</bold> | ||
77 | + </font> | ||
78 | + </property> | ||
79 | + <property name="styleSheet"> | ||
80 | + <string notr="true">QLabel { | ||
81 | + color : white; | ||
82 | + border : none; | ||
83 | +}</string> | ||
84 | + </property> | ||
85 | + <property name="text"> | ||
86 | + <string>증기 발생기 헹굼</string> | ||
87 | + </property> | ||
88 | + <property name="alignment"> | ||
89 | + <set>Qt::AlignCenter</set> | ||
90 | + </property> | ||
91 | + </widget> | ||
92 | + <widget class="Line" name="line"> | ||
93 | + <property name="geometry"> | ||
94 | + <rect> | ||
95 | + <x>0</x> | ||
96 | + <y>93</y> | ||
97 | + <width>900</width> | ||
98 | + <height>3</height> | ||
99 | + </rect> | ||
100 | + </property> | ||
101 | + <property name="orientation"> | ||
102 | + <enum>Qt::Horizontal</enum> | ||
103 | + </property> | ||
104 | + </widget> | ||
105 | + <widget class="QLabel" name="ctrLbBody"> | ||
106 | + <property name="geometry"> | ||
107 | + <rect> | ||
108 | + <x>0</x> | ||
109 | + <y>100</y> | ||
110 | + <width>900</width> | ||
111 | + <height>91</height> | ||
112 | + </rect> | ||
113 | + </property> | ||
114 | + <property name="font"> | ||
115 | + <font> | ||
116 | + <family>나눔고딕</family> | ||
117 | + <pointsize>13</pointsize> | ||
118 | + <weight>75</weight> | ||
119 | + <bold>true</bold> | ||
120 | + </font> | ||
121 | + </property> | ||
122 | + <property name="styleSheet"> | ||
123 | + <string notr="true">QLabel { | ||
124 | + color : white; | ||
125 | + border : none; | ||
126 | +}</string> | ||
127 | + </property> | ||
128 | + <property name="text"> | ||
129 | + <string>시작하시겠습니까?</string> | ||
130 | + </property> | ||
131 | + <property name="alignment"> | ||
132 | + <set>Qt::AlignCenter</set> | ||
133 | + </property> | ||
134 | + </widget> | ||
135 | + <widget class="WashStepGauge" name="ctrGauge" native="true"> | ||
136 | + <property name="geometry"> | ||
137 | + <rect> | ||
138 | + <x>184</x> | ||
139 | + <y>210</y> | ||
140 | + <width>532</width> | ||
141 | + <height>58</height> | ||
142 | + </rect> | ||
143 | + </property> | ||
144 | + </widget> | ||
145 | + <widget class="QPushButton" name="ctrBtnCancel"> | ||
146 | + <property name="geometry"> | ||
147 | + <rect> | ||
148 | + <x>450</x> | ||
149 | + <y>350</y> | ||
150 | + <width>150</width> | ||
151 | + <height>100</height> | ||
152 | + </rect> | ||
153 | + </property> | ||
154 | + <property name="font"> | ||
155 | + <font> | ||
156 | + <weight>75</weight> | ||
157 | + <bold>true</bold> | ||
158 | + <underline>true</underline> | ||
159 | + </font> | ||
160 | + </property> | ||
161 | + <property name="styleSheet"> | ||
162 | + <string notr="true">QPushButton { | ||
163 | +border: none; | ||
164 | +color: white; | ||
165 | +} | ||
166 | +QPushButton:pressed, QPushButton:focus { | ||
167 | +color: yellow; | ||
168 | +}</string> | ||
169 | + </property> | ||
170 | + <property name="text"> | ||
171 | + <string>취소</string> | ||
172 | + </property> | ||
173 | + </widget> | ||
174 | + </widget> | ||
175 | + </widget> | ||
176 | + <customwidgets> | ||
177 | + <customwidget> | ||
178 | + <class>WashStepGauge</class> | ||
179 | + <extends>QWidget</extends> | ||
180 | + <header>washstepgauge.h</header> | ||
181 | + <container>1</container> | ||
182 | + </customwidget> | ||
183 | + </customwidgets> | ||
184 | + <resources/> | ||
185 | + <connections/> | ||
186 | +</ui> |
app/gui/oven_control/oven_control.pro
@@ -126,7 +126,8 @@ SOURCES += main.cpp\ | @@ -126,7 +126,8 @@ SOURCES += main.cpp\ | ||
126 | configdemomodedlg.cpp \ | 126 | configdemomodedlg.cpp \ |
127 | demoicon.cpp \ | 127 | demoicon.cpp \ |
128 | halfenergyicon.cpp \ | 128 | halfenergyicon.cpp \ |
129 | - notipopupdlg.cpp | 129 | + notipopupdlg.cpp \ |
130 | + configsteamwashdlg.cpp | ||
130 | 131 | ||
131 | 132 | ||
132 | HEADERS += mainwindow.h \ | 133 | HEADERS += mainwindow.h \ |
@@ -243,7 +244,8 @@ HEADERS += mainwindow.h \ | @@ -243,7 +244,8 @@ HEADERS += mainwindow.h \ | ||
243 | configdemomodedlg.h \ | 244 | configdemomodedlg.h \ |
244 | demoicon.h \ | 245 | demoicon.h \ |
245 | halfenergyicon.h \ | 246 | halfenergyicon.h \ |
246 | - notipopupdlg.h | 247 | + notipopupdlg.h \ |
248 | + configsteamwashdlg.h | ||
247 | 249 | ||
248 | FORMS += mainwindow.ui \ | 250 | FORMS += mainwindow.ui \ |
249 | manualcookwindow.ui \ | 251 | manualcookwindow.ui \ |
@@ -323,7 +325,8 @@ FORMS += mainwindow.ui \ | @@ -323,7 +325,8 @@ FORMS += mainwindow.ui \ | ||
323 | autocookcheckconfigwindow.ui \ | 325 | autocookcheckconfigwindow.ui \ |
324 | programmedcookpanelbutton.ui \ | 326 | programmedcookpanelbutton.ui \ |
325 | configdemomodedlg.ui \ | 327 | configdemomodedlg.ui \ |
326 | - notipopupdlg.ui | 328 | + notipopupdlg.ui \ |
329 | + configsteamwashdlg.ui | ||
327 | 330 | ||
328 | RESOURCES += \ | 331 | RESOURCES += \ |
329 | resources.qrc | 332 | resources.qrc |