Blame view

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