Blame view

app/gui/oven_control/manualcookwindow.h 3.32 KB
8c2952457   김태훈   응용 프로그램 추가
1
2
3
4
  #ifndef MANUALCOOKWINDOW_H
  #define MANUALCOOKWINDOW_H
  
  #include <QMainWindow>
271dda4ae   김태훈   엔코더 구현
5
  #include <QKeyEvent>
8c2952457   김태훈   응용 프로그램 추가
6
7
8
  
  #include "oven.h"
  #include "udphandler.h"
f588aa273   김태훈   부가 기능 로직 추가
9
  #include "cookhistory.h"
8c2952457   김태훈   응용 프로그램 추가
10
11
12
13
14
15
16
17
18
19
  
  namespace Ui {
  class ManualCookWindow;
  }
  
  class ManualCookWindow : public QMainWindow
  {
      Q_OBJECT
  
  public:
d0cfbd177   김태훈   GUI V0.1.10 (이 버전...
20
      explicit ManualCookWindow(QWidget *parent, Define::Mode mode);
f588aa273   김태훈   부가 기능 로직 추가
21
      explicit ManualCookWindow(QWidget *parent, ManualCookSetting setting);
8c2952457   김태훈   응용 프로그램 추가
22
      ~ManualCookWindow();
271dda4ae   김태훈   엔코더 구현
23
24
25
  protected:
      void keyPressEvent(QKeyEvent *event);
      void keyReleaseEvent(QKeyEvent *event);
8c2952457   김태훈   응용 프로그램 추가
26
  signals:
8c2952457   김태훈   응용 프로그램 추가
27
28
29
      void cookStopRequested();
  
  public slots:
8c2952457   김태훈   응용 프로그램 추가
30
31
  
  private slots:
bb26a0523   김태훈   소스 코드 정리
32
      void setupAnimation();
d0cfbd177   김태훈   GUI V0.1.10 (이 버전...
33
      void setOvenDefault(Define::Mode mode);
bb26a0523   김태훈   소스 코드 정리
34
35
      void start();
      void stop();
7c415d2f7   김태훈   현재 습도/온도 값을 볼 때 슬...
36
      void updateView();
8c2952457   김태훈   응용 프로그램 추가
37
38
39
40
      void showCurrentHumidity();
      void hideCurrentHumidity();
      void showCurrentTemp();
      void hideCurrentTemp();
bb26a0523   김태훈   소스 코드 정리
41
      void onOvenUpdated(Oven *oven);
e00c6a2a9   김태훈   기능 추가 구현
42
43
44
45
      void addFavorite();
      void jumpConfig();
      void jumpFavorites();
      void jumpWash();
ea536cd1d   김태훈   적재 / 조리 중 문 열림 시간...
46
47
48
      void onMonitor1Timeout();
      void onMonitor2Timeout();
      void onMonitor3Timeout();
271dda4ae   김태훈   엔코더 구현
49
50
51
52
53
54
55
56
57
      void onEncoderLeft();
      void onEncoderRight();
      void onEncoderClicked(QWidget *clicked);
  
      void focusHumidityButton();
      void focusTempButton();
      void focusTimeButton();
      void focusInterTempButton();
      void focusAgain();
bb26a0523   김태훈   소스 코드 정리
58
59
60
61
62
63
64
65
      void on_steamButton_clicked();
      void on_combiButton_clicked();
      void on_dryheatButton_clicked();
  
      void on_humidityButton_pressed();
      void on_humidityButton_released();
      void on_tempButton_pressed();
      void on_tempButton_released();
271dda4ae   김태훈   엔코더 구현
66
67
68
69
  
      void on_humidityButton_clicked();
      void on_tempButton_clicked();
      void on_timeButton_clicked();
bb26a0523   김태훈   소스 코드 정리
70
      void on_interTempButton_clicked();
8c2952457   김태훈   응용 프로그램 추가
71
bb26a0523   김태훈   소스 코드 정리
72
73
      void on_runStopButton_clicked();
      void on_fanButton_clicked();
8c2952457   김태훈   응용 프로그램 추가
74
      void on_preheatButton_clicked();
8c2952457   김태훈   응용 프로그램 추가
75
      void on_damperButton_clicked();
8c2952457   김태훈   응용 프로그램 추가
76
      void on_humidificationButton_clicked();
8c2952457   김태훈   응용 프로그램 추가
77
      void on_repeatButton_clicked();
8c2952457   김태훈   응용 프로그램 추가
78
      void on_cooldownButton_clicked();
8c2952457   김태훈   응용 프로그램 추가
79
      void on_reserveButton_clicked();
213c24135   김태훈   수동 요리 반복 추가
80
      void on_favoriteButton_clicked();
bb26a0523   김태훈   소스 코드 정리
81
82
83
      void on_goFrontStackButton_clicked();
  
      void on_backButton_clicked();
e00c6a2a9   김태훈   기능 추가 구현
84
85
86
87
      void on_configButton_clicked();
      void on_favoritesButton_clicked();
      void on_washButton_clicked();
      void on_helpButton_clicked();
8c2952457   김태훈   응용 프로그램 추가
88
a2de3cbfc   김태훈   수동 요리에 새 슬라이더 적용
89
      void on_timeSlider_valueChanged();
271dda4ae   김태훈   엔코더 구현
90
8c2952457   김태훈   응용 프로그램 추가
91
92
93
  private:
      Ui::ManualCookWindow *ui;
      Oven *oven;
bb26a0523   김태훈   소스 코드 정리
94
95
  
      QTimer startCookingTimer;
7c415d2f7   김태훈   현재 습도/온도 값을 볼 때 슬...
96
      QTimer updateViewTimer;
bb26a0523   김태훈   소스 코드 정리
97
98
99
  
      QTimer showCurrentHumidityTimer;
      QTimer showCurrentTempTimer;
8c2952457   김태훈   응용 프로그램 추가
100
101
102
103
104
105
106
107
  
      int humidity;
      int temp;
      int time;
      int interTemp;
  
      bool showCurrentHumidity_ = false;
      bool showCurrentTemp_ = false;
213c24135   김태훈   수동 요리 반복 추가
108
7c415d2f7   김태훈   현재 습도/온도 값을 볼 때 슬...
109
110
111
112
113
114
115
116
117
      int lastViewHumidity;
      int lastViewTemp;
      int lastViewTime;
      int lastViewInterTemp;
      bool lastViewInterTempEnabled;
      bool lastViewCooking;
      bool lastViewDamper;
      bool lastViewHumidification;
      int lastViewFan;
271dda4ae   김태훈   엔코더 구현
118
      bool showFrontButtons = true;
ea536cd1d   김태훈   적재 / 조리 중 문 열림 시간...
119
120
121
122
123
      int monitorLevel;
      QTimer monitor1;
      QTimer monitor2;
      QTimer monitor3;
      bool monitorTriggered;
213c24135   김태훈   수동 요리 반복 추가
124
125
      ManualCookSetting repeatSetting;
      bool repeat;
a2de3cbfc   김태훈   수동 요리에 새 슬라이더 적용
126
127
128
  
      int sliderToTime(int value);
      int timeToSlider(int secs);
271dda4ae   김태훈   엔코더 구현
129
130
131
132
133
134
135
136
  
      QWidget *pushed = NULL;
      QWidget *focused = NULL;
  
      QTimer focusHumidityButtonTimer;
      QTimer focusTempButtonTimer;
      QTimer focusTimeButtonTimer;
      QTimer focusInterTempButtonTimer;
8c2952457   김태훈   응용 프로그램 추가
137
138
139
  };
  
  #endif // MANUALCOOKWINDOW_H