Blame view

app/gui/oven_control/operationtimemain.cpp 1.94 KB
9146b87b4   고영탁   엔코더 작업 진행중
1
  #include <QKeyEvent>
6a965b9f1   고영탁   엔지니어 모드 2차 구현
2
3
4
5
6
  #include "operationtimemain.h"
  #include "ui_operationtimemain.h"
  #include "operationtimeheat.h"
  #include "operationtimemode.h"
  #include "operationtimeparts.h"
66e60ceb5   김태훈   모든 버튼에 음향 효과 추가
7
  #include "soundplayer.h"
6a965b9f1   고영탁   엔지니어 모드 2차 구현
8
14a73498f   김태훈   소스 코드 정리
9
  OperationTimeMain::OperationTimeMain(QWidget *parent) :
6a965b9f1   고영탁   엔지니어 모드 2차 구현
10
      QMainWindow(parent),
14a73498f   김태훈   소스 코드 정리
11
      ui(new Ui::OperationTimeMain)
6a965b9f1   고영탁   엔지니어 모드 2차 구현
12
13
  {
      ui->setupUi(this);
eea7d3d59   김태훈   Segmentation Faul...
14
15
16
  
      ui->clockContainer->setParent(ui->upperStack);
      setAttribute(Qt::WA_DeleteOnClose);
66e60ceb5   김태훈   모든 버튼에 음향 효과 추가
17
18
19
  
      foreach (QPushButton *button, findChildren<QPushButton *>())
          connect(button, &QPushButton::pressed, SoundPlayer::playClick);
6a965b9f1   고영탁   엔지니어 모드 2차 구현
20
  }
14a73498f   김태훈   소스 코드 정리
21
  OperationTimeMain::~OperationTimeMain()
6a965b9f1   고영탁   엔지니어 모드 2차 구현
22
23
24
  {
      delete ui;
  }
14a73498f   김태훈   소스 코드 정리
25
  void OperationTimeMain::on_btnHeatPartTime_clicked()
6a965b9f1   고영탁   엔지니어 모드 2차 구현
26
  {
14a73498f   김태훈   소스 코드 정리
27
      OperationTimeHeat* w = new OperationTimeHeat();
6a965b9f1   고영탁   엔지니어 모드 2차 구현
28
29
30
      w->setWindowModality(Qt::WindowModal);
      w->showFullScreen();
  }
14a73498f   김태훈   소스 코드 정리
31
  void OperationTimeMain::on_btnModeTime_clicked()
6a965b9f1   고영탁   엔지니어 모드 2차 구현
32
  {
14a73498f   김태훈   소스 코드 정리
33
      OperationTimeMode* w = new OperationTimeMode();
6a965b9f1   고영탁   엔지니어 모드 2차 구현
34
35
36
      w->setWindowModality(Qt::WindowModal);
      w->showFullScreen();
  }
14a73498f   김태훈   소스 코드 정리
37
  void OperationTimeMain::on_btnPartsTime_clicked()
6a965b9f1   고영탁   엔지니어 모드 2차 구현
38
  {
14a73498f   김태훈   소스 코드 정리
39
      OperationTimeParts*w = new OperationTimeParts();
6a965b9f1   고영탁   엔지니어 모드 2차 구현
40
41
42
      w->setWindowModality(Qt::WindowModal);
      w->showFullScreen();
  }
14a73498f   김태훈   소스 코드 정리
43
  void OperationTimeMain::on_backButton_clicked()
6a965b9f1   고영탁   엔지니어 모드 2차 구현
44
  {
eea7d3d59   김태훈   Segmentation Faul...
45
      close();
6a965b9f1   고영탁   엔지니어 모드 2차 구현
46
  }
9146b87b4   고영탁   엔코더 작업 진행중
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
  
  void OperationTimeMain::keyPressEvent(QKeyEvent *event)
  {
      switch (event->key())
      {
      case 0x01000030:    // Turn left
          focusPreviousChild();
          break;
      case 0x01000031:    // Push
          break;
      case 0x01000032:    // Turn right
          focusNextChild();
          break;
      }
  }
  
  void OperationTimeMain::keyReleaseEvent(QKeyEvent *event)
  {
      switch (event->key())
      {
      case 0x01000030:    // Turn left
          focusPreviousChild();
          break;
      case 0x01000031:    // Push
      {
          QPushButton *btn = qobject_cast<QPushButton*>(focusWidget());
          if(btn != NULL){
              btn->click();
          }
          break;
      }
      case 0x01000032:    // Turn right
          focusNextChild();
          break;
      }
  }