Blame view

app/gui/oven_control/config1digitsetandenablesetdlg.cpp 3.05 KB
63a45681f   고영탁   엔코더 기능 구현
1
  #include <QKeyEvent>
663943a37   고영탁   설정 기능 마무리 진행 중
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  #include "config1digitsetandenablesetdlg.h"
  #include "ui_config1digitsetandenablesetdlg.h"
  #include "soundplayer.h"
  
  Config1DigitSetAndEnableSetDlg::Config1DigitSetAndEnableSetDlg(QWidget *parent, uint16_t val) :
      QDialog(parent),
      ui(new Ui::Config1DigitSetAndEnableSetDlg)
  {
      ui->setupUi(this);
      this->setWindowFlags(Qt::FramelessWindowHint);
  
      foreach (QPushButton *button, findChildren<QPushButton *>())
          connect(button, &QPushButton::pressed, SoundPlayer::playClick);
  
      if(val < MIN_MONITORING_VALUE) val = MIN_MONITORING_VALUE;
  
      ui->ctrSpBxValue->setMaximum(MAX_MONITORING_VALUE);
      ui->ctrSpBxValue->setMinimum(MIN_MONITORING_VALUE);
      ui->ctrSpBxValue->setValue(val);
  
      ui->ctrSpBxValue->installEventFilter(this);
63a45681f   고영탁   엔코더 기능 구현
23
24
25
  
      connect(ui->keyboardwidget, SIGNAL(onOkKeyClicked()), this, SLOT(keyEnter_clicked()));
      connect(ui->keyboardwidget, SIGNAL(onCancelKeyClicked()), this, SLOT(keyCancel_clicked()));
663943a37   고영탁   설정 기능 마무리 진행 중
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
  }
  
  Config1DigitSetAndEnableSetDlg::~Config1DigitSetAndEnableSetDlg()
  {
      delete ui;
  }
  
  void Config1DigitSetAndEnableSetDlg::on_ctrBtnOk_clicked()
  {
      m_nResult = result_ok;
      close();
  }
  
  
  
  void Config1DigitSetAndEnableSetDlg::on_ctrBtnOk_2_clicked()
  {
      m_nResult = result_disable;
      close();
  }
  
  void Config1DigitSetAndEnableSetDlg::on_ctrBtnCancel_clicked()
  {
      m_nResult = result_rejected;
      close();
  }
63a45681f   고영탁   엔코더 기능 구현
52
53
54
55
56
57
58
59
60
61
  void Config1DigitSetAndEnableSetDlg::keyCancel_clicked()
  {
          if(focusWidget() == ui->ctrSpBxValue) ui->ctrSpBxValue->setValue(m_nPrevValue);
          ui->keyboardwidget->focusOutKeyboard();
  }
  
  void Config1DigitSetAndEnableSetDlg::keyEnter_clicked()
  {
      ui->keyboardwidget->focusOutKeyboard();
  }
663943a37   고영탁   설정 기능 마무리 진행 중
62
63
64
  int Config1DigitSetAndEnableSetDlg::getValue(){
      return ui->ctrSpBxValue->value();
  }
63a45681f   고영탁   엔코더 기능 구현
65
66
67
  
  
  void Config1DigitSetAndEnableSetDlg::keyPressEvent(QKeyEvent *event){
63a45681f   고영탁   엔코더 기능 구현
68
69
      switch (event->key())
      {
01249f413   김태훈   엔코더 방향 반전. 하드웨어가 변경됨
70
      case 0x01000032:    // Turn left
63a45681f   고영탁   엔코더 기능 구현
71
72
73
74
75
76
          if(focusWidget() == ui->ctrSpBxValue) ui->ctrBtnCancel->setFocus();
          else focusPreviousChild();
          break;
      case 0x01000031:    // Push
  
          break;
01249f413   김태훈   엔코더 방향 반전. 하드웨어가 변경됨
77
      case 0x01000030:    // Turn right
63a45681f   고영탁   엔코더 기능 구현
78
79
80
81
82
83
84
85
          if(focusWidget() == ui->ctrBtnCancel) ui->ctrSpBxValue->setFocus();
          else focusNextChild();
  
          break;
      }
  }
  
  void Config1DigitSetAndEnableSetDlg::keyReleaseEvent(QKeyEvent *event){
63a45681f   고영탁   엔코더 기능 구현
86
87
      switch (event->key())
      {
01249f413   김태훈   엔코더 방향 반전. 하드웨어가 변경됨
88
      case 0x01000032:    // Turn left
63a45681f   고영탁   엔코더 기능 구현
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
          if(focusWidget() == ui->ctrSpBxValue) ui->ctrBtnCancel->setFocus();
          else focusPreviousChild();
          break;
      case 0x01000031:    // Push
      {
          QPushButton *btn = qobject_cast<QPushButton*>(focusWidget());
          if(btn != NULL){
              btn->click();
          }
          else{
              QSpinBox *spbx = qobject_cast<QSpinBox*>(focusWidget());
              if(spbx != NULL) {
                  m_nPrevValue = spbx->value();
                  ui->keyboardwidget->focusInKeyboard();
              }
          }
          break;
      }
01249f413   김태훈   엔코더 방향 반전. 하드웨어가 변경됨
107
      case 0x01000030:    // Turn right
63a45681f   고영탁   엔코더 기능 구현
108
109
110
111
112
          if(focusWidget() == ui->ctrBtnCancel) ui->ctrSpBxValue->setFocus();
          else focusNextChild();
          break;
      }
  }