Blame view

app/gui/oven_control/engineermenuwindow.cpp 3.03 KB
652e9cd54   고영탁   Merge
1
2
  #include "engineermenuwindow.h"
  #include "ui_engineermenuwindow.h"
6a965b9f1   고영탁   엔지니어 모드 2차 구현
3
4
5
  #include "servicehistorymain.h"
  #include "operationtimemain.h"
  #include "realtimemain.h"
069c75507   고영탁   메인 설정 버튼 기능 변경
6
7
  #include "functiontestwindow.h"
  #include "ovenstatics.h"
c12e09d9a   고영탁   교정 UI 및 팝업 추가
8
  #include "adjustmentwindow.h"
22f83e90f   김태훈   모델 설정 UI 추가
9
  #include "modelsettingwindow.h"
66e60ceb5   김태훈   모든 버튼에 음향 효과 추가
10
  #include "soundplayer.h"
652e9cd54   고영탁   Merge
11
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
12
  #include <QKeyEvent>
14a73498f   김태훈   소스 코드 정리
13
  EngineerMenuWindow::EngineerMenuWindow(QWidget *parent) :
652e9cd54   고영탁   Merge
14
      QMainWindow(parent),
14a73498f   김태훈   소스 코드 정리
15
      ui(new Ui::EngineerMenuWindow)
652e9cd54   고영탁   Merge
16
17
  {
      ui->setupUi(this);
63a45681f   고영탁   엔코더 기능 구현
18
      this->setFocus();
c50beef02   고영탁   에러 처리 루틴 및 에러 처리 ...
19
eea7d3d59   김태훈   Segmentation Faul...
20
21
      ui->clockContainer->setParent(ui->upperStack);
      setAttribute(Qt::WA_DeleteOnClose);
c50beef02   고영탁   에러 처리 루틴 및 에러 처리 ...
22
66e60ceb5   김태훈   모든 버튼에 음향 효과 추가
23
      connect(ui->backButton, SIGNAL(clicked()), this, SLOT(close()));
069c75507   고영탁   메인 설정 버튼 기능 변경
24
66e60ceb5   김태훈   모든 버튼에 음향 효과 추가
25
26
      foreach (QPushButton *button, findChildren<QPushButton *>())
          connect(button, &QPushButton::pressed, SoundPlayer::playClick);
652e9cd54   고영탁   Merge
27
  }
14a73498f   김태훈   소스 코드 정리
28
  EngineerMenuWindow::~EngineerMenuWindow()
652e9cd54   고영탁   Merge
29
30
31
  {
      delete ui;
  }
6a965b9f1   고영탁   엔지니어 모드 2차 구현
32
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
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
  void EngineerMenuWindow::keyPressEvent(QKeyEvent *event)
  {
      switch (event->key())
      {
      case 0x01000030:    // Turn left
          onEncoderLeft();
          break;
      case 0x01000031:    // Push
          pushed = focusWidget();
          break;
      case 0x01000032:    // Turn right
          onEncoderRight();
          break;
      }
  }
  
  void EngineerMenuWindow::keyReleaseEvent(QKeyEvent *event)
  {
      switch (event->key())
      {
      case 0x01000030:    // Turn left
          onEncoderLeft();
          break;
      case 0x01000031:    // Push
          if (focusWidget() == pushed)
              onEncoderClicked(pushed);
  
          pushed = NULL;
          break;
      case 0x01000032:    // Turn right
          onEncoderRight();
          break;
      }
  }
14a73498f   김태훈   소스 코드 정리
67
  void EngineerMenuWindow::on_serviceHistoryButton_clicked()
6a965b9f1   고영탁   엔지니어 모드 2차 구현
68
  {
14a73498f   김태훈   소스 코드 정리
69
      ServiceHistoryMain *w = new ServiceHistoryMain(this);
6a965b9f1   고영탁   엔지니어 모드 2차 구현
70
71
72
      w->setWindowModality(Qt::WindowModal);
      w->showFullScreen();
  }
14a73498f   김태훈   소스 코드 정리
73
  void EngineerMenuWindow::on_operationTimeButton_clicked()
6a965b9f1   고영탁   엔지니어 모드 2차 구현
74
  {
14a73498f   김태훈   소스 코드 정리
75
      OperationTimeMain *w = new OperationTimeMain(this);
6a965b9f1   고영탁   엔지니어 모드 2차 구현
76
77
78
      w->setWindowModality(Qt::WindowModal);
      w->showFullScreen();
  }
14a73498f   김태훈   소스 코드 정리
79
  void EngineerMenuWindow::on_realDataButton_clicked()
6a965b9f1   고영탁   엔지니어 모드 2차 구현
80
  {
14a73498f   김태훈   소스 코드 정리
81
      RealtimeMain* w = new RealtimeMain(this);
6a965b9f1   고영탁   엔지니어 모드 2차 구현
82
83
84
      w->setWindowModality(Qt::WindowModal);
      w->showFullScreen();
  }
069c75507   고영탁   메인 설정 버튼 기능 변경
85
14a73498f   김태훈   소스 코드 정리
86
  void EngineerMenuWindow::on_functionTestButton_clicked()
069c75507   고영탁   메인 설정 버튼 기능 변경
87
  {
538041ab9   김태훈   소스 코드 구조 개선
88
      FunctionTestWindow *w = new FunctionTestWindow(this);
069c75507   고영탁   메인 설정 버튼 기능 변경
89
90
91
92
      w->setWindowModality(Qt::WindowModal);
      w->showFullScreen();
      w->raise();
  }
c12e09d9a   고영탁   교정 UI 및 팝업 추가
93
94
95
96
97
98
99
  
  void EngineerMenuWindow::on_engAdjustButton_clicked()
  {
      AdjustmentWindow *w = new AdjustmentWindow(this);
      w->setWindowModality(Qt::WindowModal);
      w->showFullScreen();
      w->raise();
3f5f5d4ce   고영탁   디버깅 요청 사항 적용
100
101
102
103
104
  
  }
  
  void EngineerMenuWindow::on_stdConfigButton_clicked()
  {
c12e09d9a   고영탁   교정 UI 및 팝업 추가
105
  }
22f83e90f   김태훈   모델 설정 UI 추가
106
107
108
109
110
111
112
113
  
  void EngineerMenuWindow::on_modelTypeConfigButton_clicked()
  {
      ModelSettingWindow *w = new ModelSettingWindow(this);
      w->setWindowModality(Qt::WindowModal);
      w->showFullScreen();
      w->raise();
  }
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
  
  void EngineerMenuWindow::onEncoderLeft()
  {
      focusPreviousChild();
  }
  
  void EngineerMenuWindow::onEncoderRight()
  {
      focusNextChild();
  }
  
  void EngineerMenuWindow::onEncoderClicked(QWidget *clicked)
  {
      QPushButton *b = qobject_cast<QPushButton *>(clicked);
      if (b)
          b->click();
  }