Blame view

app/gui/oven_control/mainwindow.cpp 3.68 KB
8c2952457   김태훈   응용 프로그램 추가
1
2
3
4
5
  #include "mainwindow.h"
  #include "ui_mainwindow.h"
  
  #include <QtDebug>
  #include <QSignalMapper>
0ce283850   김태훈   로터리 엔코더 임시 구현
6
  #include <QKeyEvent>
8c2952457   김태훈   응용 프로그램 추가
7
8
9
10
11
12
  
  #include "abstractoveninterface.h"
  #include "manualcookwindow.h"
  #include "ovencontroller.h"
  #include "configwindow.h"
  #include "functiontestwindow.h"
99b8066f4   김태훈   V0.1.1
13
  #include "autocookselectionwindow.h"
05f2a7552   김태훈   image 관리 구조 변경
14
  #include "washwindow.h"
6a965b9f1   고영탁   엔지니어 모드 2차 구현
15
  #include "engineermenuwindow.h"
8597f5496   김태훈   Merge
16
  #include "programmingwindow.h"
b85726132   김태훈   부가 기능 UI 추가
17
  #include "primewindow.h"
8c2952457   김태훈   응용 프로그램 추가
18
19
20
21
22
23
  
  MainWindow::MainWindow(QWidget *parent) :
      QMainWindow(parent),
      ui(new Ui::MainWindow)
  {
      ui->setupUi(this);
0ce283850   김태훈   로터리 엔코더 임시 구현
24
25
  
      setFocus();
8c2952457   김태훈   응용 프로그램 추가
26
27
28
29
30
31
  }
  
  MainWindow::~MainWindow()
  {
      delete ui;
  }
0ce283850   김태훈   로터리 엔코더 임시 구현
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
  static QPushButton *pushedChild = NULL;
  
  void MainWindow::keyPressEvent(QKeyEvent *event)
  {
      switch (event->key())
      {
      case 0x01000030:    // Turn left
          focusPreviousChild();
          break;
      case 0x01000031:    // Push
          if (focusWidget() != this)
              pushedChild = static_cast<QPushButton *>(focusWidget());
          break;
      case 0x01000032:    // Turn right
          focusNextChild();
          break;
      }
  }
  
  void MainWindow::keyReleaseEvent(QKeyEvent *event)
  {
      switch (event->key())
      {
      case 0x01000030:    // Turn left
          focusPreviousChild();
          break;
      case 0x01000031:    // Push
          if (focusWidget() == pushedChild)
              pushedChild->click();
  
          setFocus();
          pushedChild = NULL;
          break;
      case 0x01000032:    // Turn right
          focusNextChild();
          break;
      }
  }
d0cfbd177   김태훈   GUI V0.1.10 (이 버전...
70
  void MainWindow::showManualCookWindow(Define::Mode mode)
538041ab9   김태훈   소스 코드 구조 개선
71
72
73
74
75
76
  {
      ManualCookWindow *w = new ManualCookWindow(this, mode);
      w->setWindowModality(Qt::WindowModal);
      w->showFullScreen();
      w->raise();
  }
3f52600cc   김태훈   소스 코드 구조 개선
77
78
79
80
81
82
83
  void MainWindow::showAutoCookSelectionWindow(Define::CookType type)
  {
      AutoCookSelectionWindow *w = new AutoCookSelectionWindow(this, type);
      w->setWindowModality(Qt::WindowModal);
      w->showFullScreen();
      w->raise();
  }
538041ab9   김태훈   소스 코드 구조 개선
84
  void MainWindow::on_steamButton_clicked()
8c2952457   김태훈   응용 프로그램 추가
85
  {
d0cfbd177   김태훈   GUI V0.1.10 (이 버전...
86
      showManualCookWindow(Define::SteamMode);
8c2952457   김태훈   응용 프로그램 추가
87
  }
538041ab9   김태훈   소스 코드 구조 개선
88
  void MainWindow::on_combiButton_clicked()
8c2952457   김태훈   응용 프로그램 추가
89
  {
d0cfbd177   김태훈   GUI V0.1.10 (이 버전...
90
      showManualCookWindow(Define::CombiMode);
538041ab9   김태훈   소스 코드 구조 개선
91
92
93
94
  }
  
  void MainWindow::on_dryheatButton_clicked()
  {
d0cfbd177   김태훈   GUI V0.1.10 (이 버전...
95
      showManualCookWindow(Define::DryMode);
8c2952457   김태훈   응용 프로그램 추가
96
  }
99b8066f4   김태훈   V0.1.1
97
98
99
  
  void MainWindow::on_poultryButton_clicked()
  {
3f52600cc   김태훈   소스 코드 구조 개선
100
      showAutoCookSelectionWindow(Define::Poultry);
99b8066f4   김태훈   V0.1.1
101
102
103
104
  }
  
  void MainWindow::on_meatButton_clicked()
  {
3f52600cc   김태훈   소스 코드 구조 개선
105
      showAutoCookSelectionWindow(Define::Meat);
99b8066f4   김태훈   V0.1.1
106
  }
538041ab9   김태훈   소스 코드 구조 개선
107
108
109
110
111
112
113
114
115
116
117
118
119
120
  void MainWindow::on_fishButton_clicked()
  {
      showAutoCookSelectionWindow(Define::Fish);
  }
  
  void MainWindow::on_dessertButton_clicked()
  {
      showAutoCookSelectionWindow(Define::Desert);
  }
  
  void MainWindow::on_grainButton_clicked()
  {
      showAutoCookSelectionWindow(Define::Vegetable);
  }
99b8066f4   김태훈   V0.1.1
121
122
  void MainWindow::on_breadButton_clicked()
  {
3f52600cc   김태훈   소스 코드 구조 개선
123
      showAutoCookSelectionWindow(Define::Bread);
99b8066f4   김태훈   V0.1.1
124
  }
05f2a7552   김태훈   image 관리 구조 변경
125
538041ab9   김태훈   소스 코드 구조 개선
126
127
128
129
  void MainWindow::on_etcButton_clicked()
  {
      showAutoCookSelectionWindow(Define::Etc);
  }
b85726132   김태훈   부가 기능 UI 추가
130
131
  void MainWindow::on_primeButton_clicked()
  {
f588aa273   김태훈   부가 기능 로직 추가
132
133
134
135
      PrimeWindow *w = new PrimeWindow(this);
      w->setWindowModality(Qt::WindowModal);
      w->showFullScreen();
      w->raise();
b85726132   김태훈   부가 기능 UI 추가
136
  }
05f2a7552   김태훈   image 관리 구조 변경
137
138
  void MainWindow::on_washButton_clicked()
  {
538041ab9   김태훈   소스 코드 구조 개선
139
140
141
142
143
144
145
146
      WashWindow *w = new WashWindow(this);
      w->setWindowModality(Qt::WindowModal);
      w->showFullScreen();
      w->raise();
  }
  
  void MainWindow::on_configButton_clicked()
  {
f588aa273   김태훈   부가 기능 로직 추가
147
      ConfigWindow *w = new ConfigWindow(this);
453d18662   김태훈   GUI 버전 0.1.11
148
149
150
      w->setWindowModality(Qt::WindowModal);
      w->showFullScreen();
      w->raise();
f588aa273   김태훈   부가 기능 로직 추가
151
152
153
154
  //    EngineerMenuWindow *w = new EngineerMenuWindow(this);
  //    w->setWindowModality(Qt::WindowModal);
  //    w->showFullScreen();
  //    w->raise();
05f2a7552   김태훈   image 관리 구조 변경
155
  }
6a965b9f1   고영탁   엔지니어 모드 2차 구현
156
157
158
  
  void MainWindow::on_helpButton_clicked()
  {
069c75507   고영탁   메인 설정 버튼 기능 변경
159
6a965b9f1   고영탁   엔지니어 모드 2차 구현
160
  }
8597f5496   김태훈   Merge
161
162
163
  
  void MainWindow::on_programmingButton_clicked()
  {
f588aa273   김태훈   부가 기능 로직 추가
164
165
166
167
      ProgrammingWindow *w = new ProgrammingWindow(this);
      w->setWindowModality(Qt::WindowModal);
      w->showFullScreen();
      w->raise();
8597f5496   김태훈   Merge
168
  }