Blame view

app/gui/oven_control/define.cpp 12.6 KB
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
1
  #include "define.h"
5a38a241e   김태훈   환경 설정 뼈대 추가
2
  Define::CookConfigType Define::identifyConfigType(QString type)
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
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
131
132
133
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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
  {
      if (type == "brightness")
          return Brightness;
      else if (type == "cookinglevel")
          return BurnDegree;
      else if (type == "boiledlevel")
          return SoftBoilDegree;
      else if (type == "size")
          return PieceSize;
      else if (type == "crispy1")
          return CrispyDegree;
      else if (type == "moisten1")
          return MoistDegree;
      else if (type == "thickness")
          return Thickness;
      else if (type == "humidity")
          return Humidity;
      else if (type == "temperature")
          return Temperature;
      else if (type == "cookingtime")
          return Time;
      else if (type == "coretemperature")
          return CoreTemperature;
      else if (type == "coretemperaturesensor")
          return Thermometer;
      else
          return InvalidConfig;
  }
  
  Define::StepType Define::identifyStepType(QString type)
  {
      if (type == "preheat")
          return Preheat;
      else if (type == "load")        //
          return Load;
      else if (type == "therometer")  //
          return PutThermometer;
      else if (type == "cut")         //
          return Cut;
      else if (type == "pour")        //
          return Pour;
      else if (type == "bake")
          return Bake;
      else if (type == "dry")
          return Dry;
      else if (type == "ferment")
          return Ferment;
      else if (type == "steaming")
          return BlowSteam;
      else if (type == "cooldown")
          return CoolDown;
      else if (type == "steam")
          return Steam;
      else if (type == "roasting")
          return Roast;
      else if (type == "boil")
          return Boil;
      else if (type == "thicken")
          return Thicken;
      else if (type == "warmup")
          return WarmUp;
      else if (type == "crispy2")
          return MakeCrispy;
      else if (type == "finish")
          return Finish;
      else if (type == "damp")
          return Damp;
      else if (type == "defer")
          return Defer;
      else if (type == "grill")
          return Grill;
      else if (type == "end")
          return End;
      else if (type == "burn")
          return Burn;
      else if (type == "fry")
          return Fry;
      else if (type == "heatup")
          return HeatUp;
      else if (type == "ripen")
          return Ripen;
      else if (type == "ripenkeep")
          return RipenKeep;
      else if (type == "boilsteadily")
          return BoilSteadily;
      else if (type == "cookgratin")
          return CookGratin;
      else if (type == "brown")
          return Brown;
      else if (type == "simmer")
          return Simmer;
      else if (type == "moisten2")
          return Moisten;
      else
          return Invalid;
  }
  
  Define::StepClass Define::classify(Define::StepType type)
  {
      switch (type)
      {
      case Invalid:
          return InvalidClass;
      case Preheat:
          return PreheatClass;
      case PutThermometer:
      case Load:
      case Cut:
      case Pour:
          return DoorClass;
      case Bake:
      case Dry:
      case Ferment:
      case BlowSteam:
      case CoolDown:
      case Steam:
      case Roast:
      case Boil:
      case Thicken:
      case WarmUp:
      case MakeCrispy:
      case Finish:
      case Damp:
      case Defer:
      case Grill:
      case End:
      case Burn:
      case Fry:
      case HeatUp:
      case Ripen:
      case RipenKeep:
      case BoilSteadily:
      case CookGratin:
      case Brown:
      case Simmer:
      case Moisten:
          return CookClass;
      }
  
      return InvalidClass;
  }
  
  Define::Mode Define::identifyMode(QString mode)
  {
      if (mode == "combi")
          return CombiMode;
      else if (mode == "dry")
          return DryMode;
      else if (mode == "steam")
          return SteamMode;
      else
          return InvalidMode;
  }
  
  QString Define::icon(Define::CookType type)
  {
      switch (type)
      {
      case Poultry:
          return ":/images/cook_type/poultry_ov.png";
      case Meat:
          return ":/images/cook_type/meat_ov.png";
      case Fish:
          return ":/images/cook_type/fish_ov.png";
      case Desert:
          return ":/images/cook_type/desert_ov.png";
      case Vegetable:
          return ":/images/cook_type/vegetable_ov.png";
      case Bread:
          return ":/images/cook_type/bread_ov.png";
      case Etc:
          return ":/images/cook_type/etc_ov.png";
      default:
          return "";
      }
  }
5a38a241e   김태훈   환경 설정 뼈대 추가
179
  QString Define::icon(Define::CookConfigType type)
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
180
181
182
183
184
185
186
187
188
189
190
191
192
193
  {
      switch (type)
      {
      case Brightness:
          return ":/images/slider_icon/gau_icon_01.png";
      case BurnDegree:
          return ":/images/slider_icon/gau_icon_02.png";
      case SoftBoilDegree:
          return ":/images/slider_icon/gau_icon_03.png";
      case PieceSize:
          return ":/images/slider_icon/gau_icon_04.png";
      case CrispyDegree:
          return ":/images/slider_icon/gau_icon_05.png";
      case MoistDegree:
7e1173fe8   김태훈   UI 수정
194
          return ":/images/slider_icon/Gau_icon_06.png";
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
195
      case Thickness:
7e1173fe8   김태훈   UI 수정
196
          return ":/images/slider_icon/Gau_icon_07.png";
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
      case Humidity:
          return ":/images/slider_icon/humidity.png";
      case Temperature:
          return ":/images/slider_icon/temp.png";
      case Time:
          return ":/images/slider_icon/time.png";
      case CoreTemperature:
          return ":/images/slider_icon/core_temp_enabled.png";
      case Thermometer:
          return ":/images/slider_icon/thermometer_enabled.png";
      case InvalidConfig:
      case ConfigNotUsed:
      default:
          return "";
      }
  }
5a38a241e   김태훈   환경 설정 뼈대 추가
213
  QString Define::iconOverlay(Define::CookConfigType type)
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
214
215
216
217
218
219
220
221
222
223
224
225
226
227
  {
      switch (type)
      {
      case Brightness:
          return ":/images/slider_icon/gau_icon_01_ov.png";
      case BurnDegree:
          return ":/images/slider_icon/gau_icon_02_ov.png";
      case SoftBoilDegree:
          return ":/images/slider_icon/gau_icon_03_ov.png";
      case PieceSize:
          return ":/images/slider_icon/gau_icon_04_ov.png";
      case CrispyDegree:
          return ":/images/slider_icon/gau_icon_05_ov.png";
      case MoistDegree:
7e1173fe8   김태훈   UI 수정
228
          return ":/images/slider_icon/Gau_icon_06_ov.png";
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
229
      case Thickness:
7e1173fe8   김태훈   UI 수정
230
          return ":/images/slider_icon/Gau_icon_07_ov.png";
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
      case Humidity:
          return ":/images/slider_icon/humidity_ov.png";
      case Temperature:
          return ":/images/slider_icon/temp_ov.png";
      case Time:
          return ":/images/slider_icon/time_ov.png";
      case CoreTemperature:
          return ":/images/slider_icon/core_temp_ov.png";
      case Thermometer:
          return ":/images/slider_icon/thermometer_ov.png";
      case InvalidConfig:
      case ConfigNotUsed:
      default:
          return "";
      }
  }
5a38a241e   김태훈   환경 설정 뼈대 추가
247
  QString Define::minimum(Define::CookConfigType type)
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
248
249
250
251
  {
      switch (type)
      {
      case Brightness:
5f644fa45   고영탁   한글화 진행 define.cpp...
252
          return QObject::tr("연한색");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
253
      case BurnDegree:
5f644fa45   고영탁   한글화 진행 define.cpp...
254
          return QObject::tr("중간익힘");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
255
      case SoftBoilDegree:
5f644fa45   고영탁   한글화 진행 define.cpp...
256
          return QObject::tr("반숙");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
257
      case PieceSize:
5f644fa45   고영탁   한글화 진행 define.cpp...
258
          return QObject::tr("작은조각");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
259
      case CrispyDegree:
5f644fa45   고영탁   한글화 진행 define.cpp...
260
          return QObject::tr("연한색");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
261
      case MoistDegree:
5f644fa45   고영탁   한글화 진행 define.cpp...
262
          return QObject::tr("촉촉하게");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
263
      case Thickness:
5f644fa45   고영탁   한글화 진행 define.cpp...
264
          return QObject::tr("얇음");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
265
      case Humidity:
5f644fa45   고영탁   한글화 진행 define.cpp...
266
          return QObject::tr("건조함");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
267
      case Temperature:
5f644fa45   고영탁   한글화 진행 define.cpp...
268
          return QObject::tr("약");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
269
      case Time:
5f644fa45   고영탁   한글화 진행 define.cpp...
270
          return QObject::tr("단시간");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
271
      case CoreTemperature:
5f644fa45   고영탁   한글화 진행 define.cpp...
272
          return QObject::tr("따뜻함");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
273
      case Thermometer:
5f644fa45   고영탁   한글화 진행 define.cpp...
274
          return QObject::tr("있음");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
275
276
277
278
279
280
      case InvalidConfig:
      case ConfigNotUsed:
      default:
          return "";
      }
  }
5a38a241e   김태훈   환경 설정 뼈대 추가
281
  QString Define::maximum(Define::CookConfigType type)
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
282
283
284
285
  {
      switch (type)
      {
      case Brightness:
5f644fa45   고영탁   한글화 진행 define.cpp...
286
          return QObject::tr("진한색");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
287
      case BurnDegree:
5f644fa45   고영탁   한글화 진행 define.cpp...
288
          return QObject::tr("완전익힘");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
289
      case SoftBoilDegree:
5f644fa45   고영탁   한글화 진행 define.cpp...
290
          return QObject::tr("완숙");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
291
      case PieceSize:
5f644fa45   고영탁   한글화 진행 define.cpp...
292
          return QObject::tr("큰조각");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
293
      case CrispyDegree:
5f644fa45   고영탁   한글화 진행 define.cpp...
294
          return QObject::tr("진한색");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
295
      case MoistDegree:
5f644fa45   고영탁   한글화 진행 define.cpp...
296
          return QObject::tr("완전익힘");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
297
      case Thickness:
5f644fa45   고영탁   한글화 진행 define.cpp...
298
          return QObject::tr("두꺼움");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
299
      case Humidity:
5f644fa45   고영탁   한글화 진행 define.cpp...
300
          return QObject::tr("습윤");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
301
      case Temperature:
5f644fa45   고영탁   한글화 진행 define.cpp...
302
          return QObject::tr("강");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
303
      case Time:
5f644fa45   고영탁   한글화 진행 define.cpp...
304
          return QObject::tr("장시간");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
305
      case CoreTemperature:
5f644fa45   고영탁   한글화 진행 define.cpp...
306
          return QObject::tr("뜨거움");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
307
      case Thermometer:
5f644fa45   고영탁   한글화 진행 define.cpp...
308
          return QObject::tr("없음");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
      case InvalidConfig:
      case ConfigNotUsed:
      default:
          return "";
      }
  }
  
  QString Define::icon(Define::StepType type)
  {
      switch (type)
      {
      case Roast:
      case Grill:
          return ":/images/cook_step_type/sys_icon_01.png";
      case Boil:
      case BoilSteadily:
      case HeatUp:
      case Thicken:
      case WarmUp:
      case Simmer:
          return ":/images/cook_step_type/sys_icon_02.png";
      case End:
          return ":/images/cook_step_type/sys_icon_03.png";
      case MakeCrispy:
      case Brown:
      case BlowSteam:
      case Damp:
          return ":/images/cook_step_type/sys_icon_04.png";
      case Preheat:
      case Finish:
          return ":/images/cook_step_type/sys_icon_05.png";
      case Burn:
      case CookGratin:
          return ":/images/cook_step_type/sys_icon_06.png";
      case CoolDown:
          return ":/images/cook_step_type/sys_icon_07.png";
      case Defer:
      case RipenKeep:
          return ":/images/cook_step_type/sys_icon_08.png";
      case Bake:
          return ":/images/cook_step_type/sys_icon_09.png";
      case Fry:
      case Steam:
          return ":/images/cook_step_type/sys_icon_10.png";
      case Ripen:
      case Ferment:
      case Moisten:
          return ":/images/cook_step_type/sys_icon_11.png";
      case Dry:
          return ":/images/cook_step_type/sys_icon_12.png";
      default:
          return "";
      }
  }
  
  QString Define::name(Define::StepType type)
  {
      switch (type)
      {
      case Preheat:
5f644fa45   고영탁   한글화 진행 define.cpp...
369
          return QObject::tr("예열");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
370
      case PutThermometer:
5f644fa45   고영탁   한글화 진행 define.cpp...
371
          return QObject::tr("중심 온도계 삽입");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
372
      case Load:
5f644fa45   고영탁   한글화 진행 define.cpp...
373
          return QObject::tr("식재료 적재");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
374
      case Cut:
5f644fa45   고영탁   한글화 진행 define.cpp...
375
          return QObject::tr("자르기");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
376
      case Pour:
5f644fa45   고영탁   한글화 진행 define.cpp...
377
          return QObject::tr("물 붓기");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
378
      case Bake:
5f644fa45   고영탁   한글화 진행 define.cpp...
379
          return QObject::tr("베이킹");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
380
      case Dry:
5f644fa45   고영탁   한글화 진행 define.cpp...
381
          return QObject::tr("건조");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
382
      case Ferment:
5f644fa45   고영탁   한글화 진행 define.cpp...
383
          return QObject::tr("발효");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
384
      case BlowSteam:
5f644fa45   고영탁   한글화 진행 define.cpp...
385
          return QObject::tr("스팀 쏘이기");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
386
      case CoolDown:
5f644fa45   고영탁   한글화 진행 define.cpp...
387
          return QObject::tr("식히기");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
388
      case Steam:
5f644fa45   고영탁   한글화 진행 define.cpp...
389
          return QObject::tr("찌기");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
390
      case Roast:
5f644fa45   고영탁   한글화 진행 define.cpp...
391
          return QObject::tr("로스팅");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
392
      case Boil:
5f644fa45   고영탁   한글화 진행 define.cpp...
393
          return QObject::tr("끓이기");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
394
      case Thicken:
5f644fa45   고영탁   한글화 진행 define.cpp...
395
          return QObject::tr("걸쭉하게 만들기");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
396
      case WarmUp:
5f644fa45   고영탁   한글화 진행 define.cpp...
397
          return QObject::tr("데우기");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
398
      case MakeCrispy:
5f644fa45   고영탁   한글화 진행 define.cpp...
399
          return QObject::tr("바삭하게 만들기");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
400
      case Finish:
5f644fa45   고영탁   한글화 진행 define.cpp...
401
          return QObject::tr("피니싱");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
402
      case Damp:
5f644fa45   고영탁   한글화 진행 define.cpp...
403
          return QObject::tr("습윤하게 만들기");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
404
      case Defer:
5f644fa45   고영탁   한글화 진행 define.cpp...
405
          return QObject::tr("보류");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
406
      case Grill:
5f644fa45   고영탁   한글화 진행 define.cpp...
407
          return QObject::tr("그릴");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
408
      case End:
5f644fa45   고영탁   한글화 진행 define.cpp...
409
          return QObject::tr("종료");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
410
      case Burn:
5f644fa45   고영탁   한글화 진행 define.cpp...
411
          return QObject::tr("그을리기");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
412
      case Fry:
5f644fa45   고영탁   한글화 진행 define.cpp...
413
          return QObject::tr("기름에 재빨리 볶기");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
414
      case HeatUp:
5f644fa45   고영탁   한글화 진행 define.cpp...
415
          return QObject::tr("온도 높이기");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
416
      case Ripen:
5f644fa45   고영탁   한글화 진행 define.cpp...
417
          return QObject::tr("숙성");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
418
      case RipenKeep:
5f644fa45   고영탁   한글화 진행 define.cpp...
419
          return QObject::tr("숙성 & 보존");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
420
      case BoilSteadily:
5f644fa45   고영탁   한글화 진행 define.cpp...
421
          return QObject::tr("뭉근하게 끓이기");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
422
      case CookGratin:
5f644fa45   고영탁   한글화 진행 define.cpp...
423
          return QObject::tr("그라탱 요리");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
424
      case Brown:
5f644fa45   고영탁   한글화 진행 define.cpp...
425
          return QObject::tr( "브라우닝");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
426
      case Simmer:
5f644fa45   고영탁   한글화 진행 define.cpp...
427
          return QObject::tr("약한 불로 끓이기");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
428
      case Moisten:
5f644fa45   고영탁   한글화 진행 define.cpp...
429
          return QObject::tr("촉촉하게");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
      default:
          return "";
      }
  }
  
  Define::Process Define::identifyProcess(QString type)
  {
      if (type == "again")
          return CookAgain;
      else if (type == "crispy3")
          return MakeCrisper;
      else if (type == "heatreserve")
          return KeepWarm;
      else
          return InvalidProcess;
  }
  
  QString Define::icon(Define::Process type)
  {
      switch (type)
      {
      case CookAgain:
          return ":/images/auto_button/option_btn_01.png";
      case MakeCrisper:
          return ":/images/auto_button/option_btn_01.png";
      case KeepWarm:
          return ":/images/auto_button/option_btn_01.png";
      default:
          return ":/images/button/152.png";
      }
  }
  
  QString Define::iconOverlay(Define::Process type)
  {
      switch (type)
      {
      case CookAgain:
          return ":/images/auto_button/option_btn_01_ov.png";
      case MakeCrisper:
          return ":/images/auto_button/option_btn_01_ov.png";
      case KeepWarm:
          return ":/images/auto_button/option_btn_01_ov.png";
      default:
          return ":/images/button/152_ov.png";
      }
  }
  
  QString Define::name(Define::Process type)
  {
      switch (type)
      {
      case CookAgain:
5f644fa45   고영탁   한글화 진행 define.cpp...
482
          return QObject::tr("새로운 재료 넣기");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
483
      case MakeCrisper:
5f644fa45   고영탁   한글화 진행 define.cpp...
484
          return QObject::tr("바삭함 주기");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
485
      case KeepWarm:
5f644fa45   고영탁   한글화 진행 define.cpp...
486
          return QObject::tr("보온 유지");
6a81d38e4   김태훈   자동 요리 관련 로직 전면 재작성
487
488
489
490
      default:
          return "";
      }
  }