Blame view

app/gui/oven_control/manualcookwindow.h 3.37 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
      void cookStopRequested();
097e5e14a   김태훈   프로그래밍 모드 세부 사항 구현
28
      void done();
8c2952457   김태훈   응용 프로그램 추가
29
30
  
  public slots:
8c2952457   김태훈   응용 프로그램 추가
31
32
  
  private slots:
bb26a0523   김태훈   소스 코드 정리
33
      void setupAnimation();
d0cfbd177   김태훈   GUI V0.1.10 (이 버전...
34
      void setOvenDefault(Define::Mode mode);
bb26a0523   김태훈   소스 코드 정리
35
36
      void start();
      void stop();
7c415d2f7   김태훈   현재 습도/온도 값을 볼 때 슬...
37
      void updateView();
8c2952457   김태훈   응용 프로그램 추가
38
39
40
41
      void showCurrentHumidity();
      void hideCurrentHumidity();
      void showCurrentTemp();
      void hideCurrentTemp();
bb26a0523   김태훈   소스 코드 정리
42
      void onOvenUpdated(Oven *oven);
e00c6a2a9   김태훈   기능 추가 구현
43
44
45
46
      void addFavorite();
      void jumpConfig();
      void jumpFavorites();
      void jumpWash();
ea536cd1d   김태훈   적재 / 조리 중 문 열림 시간...
47
48
49
      void onMonitor1Timeout();
      void onMonitor2Timeout();
      void onMonitor3Timeout();
271dda4ae   김태훈   엔코더 구현
50
51
52
53
54
55
56
57
58
      void onEncoderLeft();
      void onEncoderRight();
      void onEncoderClicked(QWidget *clicked);
  
      void focusHumidityButton();
      void focusTempButton();
      void focusTimeButton();
      void focusInterTempButton();
      void focusAgain();
bb26a0523   김태훈   소스 코드 정리
59
60
61
62
63
64
65
66
      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   김태훈   엔코더 구현
67
68
69
70
  
      void on_humidityButton_clicked();
      void on_tempButton_clicked();
      void on_timeButton_clicked();
bb26a0523   김태훈   소스 코드 정리
71
      void on_interTempButton_clicked();
8c2952457   김태훈   응용 프로그램 추가
72
bb26a0523   김태훈   소스 코드 정리
73
74
      void on_runStopButton_clicked();
      void on_fanButton_clicked();
8c2952457   김태훈   응용 프로그램 추가
75
      void on_preheatButton_clicked();
8c2952457   김태훈   응용 프로그램 추가
76
      void on_damperButton_clicked();
8c2952457   김태훈   응용 프로그램 추가
77
      void on_humidificationButton_clicked();
8c2952457   김태훈   응용 프로그램 추가
78
      void on_repeatButton_clicked();
8c2952457   김태훈   응용 프로그램 추가
79
      void on_cooldownButton_clicked();
8c2952457   김태훈   응용 프로그램 추가
80
      void on_reserveButton_clicked();
213c24135   김태훈   수동 요리 반복 추가
81
      void on_favoriteButton_clicked();
bb26a0523   김태훈   소스 코드 정리
82
83
84
      void on_goFrontStackButton_clicked();
  
      void on_backButton_clicked();
e00c6a2a9   김태훈   기능 추가 구현
85
86
87
88
      void on_configButton_clicked();
      void on_favoritesButton_clicked();
      void on_washButton_clicked();
      void on_helpButton_clicked();
8c2952457   김태훈   응용 프로그램 추가
89
a2de3cbfc   김태훈   수동 요리에 새 슬라이더 적용
90
      void on_timeSlider_valueChanged();
271dda4ae   김태훈   엔코더 구현
91
8c2952457   김태훈   응용 프로그램 추가
92
93
94
  private:
      Ui::ManualCookWindow *ui;
      Oven *oven;
bb26a0523   김태훈   소스 코드 정리
95
96
  
      QTimer startCookingTimer;
7c415d2f7   김태훈   현재 습도/온도 값을 볼 때 슬...
97
      QTimer updateViewTimer;
bb26a0523   김태훈   소스 코드 정리
98
99
100
  
      QTimer showCurrentHumidityTimer;
      QTimer showCurrentTempTimer;
8c2952457   김태훈   응용 프로그램 추가
101
102
103
104
105
  
      int humidity;
      int temp;
      int time;
      int interTemp;
097e5e14a   김태훈   프로그래밍 모드 세부 사항 구현
106
      bool lastCheckedCooking = false;
8c2952457   김태훈   응용 프로그램 추가
107
108
109
  
      bool showCurrentHumidity_ = false;
      bool showCurrentTemp_ = false;
213c24135   김태훈   수동 요리 반복 추가
110
7c415d2f7   김태훈   현재 습도/온도 값을 볼 때 슬...
111
112
113
114
115
116
117
118
119
      int lastViewHumidity;
      int lastViewTemp;
      int lastViewTime;
      int lastViewInterTemp;
      bool lastViewInterTempEnabled;
      bool lastViewCooking;
      bool lastViewDamper;
      bool lastViewHumidification;
      int lastViewFan;
271dda4ae   김태훈   엔코더 구현
120
      bool showFrontButtons = true;
ea536cd1d   김태훈   적재 / 조리 중 문 열림 시간...
121
122
123
124
125
      int monitorLevel;
      QTimer monitor1;
      QTimer monitor2;
      QTimer monitor3;
      bool monitorTriggered;
213c24135   김태훈   수동 요리 반복 추가
126
127
      ManualCookSetting repeatSetting;
      bool repeat;
a2de3cbfc   김태훈   수동 요리에 새 슬라이더 적용
128
129
130
  
      int sliderToTime(int value);
      int timeToSlider(int secs);
271dda4ae   김태훈   엔코더 구현
131
132
133
134
135
136
137
138
  
      QWidget *pushed = NULL;
      QWidget *focused = NULL;
  
      QTimer focusHumidityButtonTimer;
      QTimer focusTempButtonTimer;
      QTimer focusTimeButtonTimer;
      QTimer focusInterTempButtonTimer;
8c2952457   김태훈   응용 프로그램 추가
139
140
141
  };
  
  #endif // MANUALCOOKWINDOW_H