Blame view

app/gui/oven_control/gastestwindow.cpp 1.69 KB
8c2952457   김태훈   응용 프로그램 추가
1
2
  #include "gastestwindow.h"
  #include "ui_gastestwindow.h"
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
3
  #include <QKeyEvent>
66e60ceb5   김태훈   모든 버튼에 음향 효과 추가
4
  #include "soundplayer.h"
8c2952457   김태훈   응용 프로그램 추가
5
6
7
8
9
  GasTestWindow::GasTestWindow(QWidget *parent, UdpHandler *udp) :
      QMainWindow(parent),
      ui(new Ui::GasTestWindow), udp(udp)
  {
      ui->setupUi(this);
6f96c947a   김태훈   GUI 0.1.4
10
8c2952457   김태훈   응용 프로그램 추가
11
      ui->clockContainer->setParent(ui->upperStack);
6f96c947a   김태훈   GUI 0.1.4
12
      setAttribute(Qt::WA_DeleteOnClose);
66e60ceb5   김태훈   모든 버튼에 음향 효과 추가
13
14
      foreach (QPushButton *button, findChildren<QPushButton *>())
          connect(button, &QPushButton::pressed, SoundPlayer::playClick);
8c2952457   김태훈   응용 프로그램 추가
15
16
17
18
19
20
21
      connect(udp, SIGNAL(changed()), this, SLOT(onDataChanged()));
  }
  
  GasTestWindow::~GasTestWindow()
  {
      delete ui;
  }
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
22
23
24
25
  void GasTestWindow::keyPressEvent(QKeyEvent *event)
  {
      switch (event->key())
      {
01249f413   김태훈   엔코더 방향 반전. 하드웨어가 변경됨
26
      case 0x01000032:    // Turn left
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
27
28
29
30
31
          onEncoderLeft();
          break;
      case 0x01000031:    // Push
          pushed = focusWidget();
          break;
01249f413   김태훈   엔코더 방향 반전. 하드웨어가 변경됨
32
      case 0x01000030:    // Turn right
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
33
34
35
36
37
38
39
40
41
          onEncoderRight();
          break;
      }
  }
  
  void GasTestWindow::keyReleaseEvent(QKeyEvent *event)
  {
      switch (event->key())
      {
01249f413   김태훈   엔코더 방향 반전. 하드웨어가 변경됨
42
      case 0x01000032:    // Turn left
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
43
44
45
46
47
48
49
50
          onEncoderLeft();
          break;
      case 0x01000031:    // Push
          if (focusWidget() == pushed)
              onEncoderClicked(pushed);
  
          pushed = NULL;
          break;
01249f413   김태훈   엔코더 방향 반전. 하드웨어가 변경됨
51
      case 0x01000030:    // Turn right
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
52
53
54
55
          onEncoderRight();
          break;
      }
  }
8c2952457   김태훈   응용 프로그램 추가
56
57
58
59
  void GasTestWindow::onDataChanged()
  {
  
  }
6f96c947a   김태훈   GUI 0.1.4
60
61
62
63
64
  
  void GasTestWindow::on_backButton_clicked()
  {
      close();
  }
9e1f8d093   김태훈   엔코더 구현 대비 선행 수정
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
  
  void GasTestWindow::onEncoderLeft()
  {
      focusPreviousChild();
  }
  
  void GasTestWindow::onEncoderRight()
  {
      focusNextChild();
  }
  
  void GasTestWindow::onEncoderClicked(QWidget *clicked)
  {
      QPushButton *b = qobject_cast<QPushButton *>(clicked);
      if (b)
          b->click();
  }