Commit b74dd3f0a9e90066ff8605c306de1f7aeda00188
1 parent
04299ad6fb
Exists in
master
and in
2 other branches
엔지니어 모드 교정 기능 개발
- 교정 기능 개발 - 확인 팝업 추가
Showing
6 changed files
with
305 additions
and
9 deletions
Show diff stats
app/gui/oven_control/adjustmentwindow.cpp
| ... | ... | @@ -3,6 +3,7 @@ |
| 3 | 3 | #include "ui_adjustmentwindow.h" |
| 4 | 4 | #include "yesnopopupdlg.h" |
| 5 | 5 | #include "soundplayer.h" |
| 6 | +#include "notipopupdlg.h" | |
| 6 | 7 | |
| 7 | 8 | AdjustmentWindow::AdjustmentWindow(QWidget *parent) : |
| 8 | 9 | QMainWindow(parent), |
| ... | ... | @@ -15,6 +16,10 @@ AdjustmentWindow::AdjustmentWindow(QWidget *parent) : |
| 15 | 16 | |
| 16 | 17 | foreach (QPushButton *button, findChildren<QPushButton *>()) |
| 17 | 18 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); |
| 19 | + m_nCurStep = 0; | |
| 20 | + m_bAdjustStarted = false; | |
| 21 | + m_tmrOneSec = new QTimer(this); | |
| 22 | + connect(m_tmrOneSec, SIGNAL(timeout()), this, SLOT(testTimerFired())); | |
| 18 | 23 | } |
| 19 | 24 | |
| 20 | 25 | AdjustmentWindow::~AdjustmentWindow() |
| ... | ... | @@ -26,20 +31,79 @@ void AdjustmentWindow::on_btnAdjust_clicked() |
| 26 | 31 | { |
| 27 | 32 | YesNoPopupDlg* w = new YesNoPopupDlg(this,tr("모든 설정 값을 공장(출고)초기화\n값으로 변경 하시겠습니까?")); |
| 28 | 33 | //w->raise(); |
| 29 | - int dlgrst = w->exec(); | |
| 30 | - dlgrst = w->result(); | |
| 31 | - if(dlgrst == QDialog::Accepted) { | |
| 32 | - //Process Init Value; | |
| 33 | - qDebug() << "Accepted"; | |
| 34 | + if(m_bAdjustStarted == false){ | |
| 35 | + UdpHandler* udp = UdpHandler::getInstance(); | |
| 36 | + int dlgrst = w->exec(); | |
| 37 | + dlgrst = w->result(); | |
| 38 | + if(dlgrst == QDialog::Accepted) { | |
| 39 | + //Process Init Value; | |
| 40 | + qDebug() << "Accepted"; | |
| 41 | + m_nCurStep = 0; | |
| 42 | + m_bAdjustStarted = true; | |
| 43 | + m_nSecCnt = 0; | |
| 44 | + udp->turnOn(TG_MANUAL_BURNER1); | |
| 45 | + udp->turnOn(TG_MANUAL_BURNER2); | |
| 46 | + udp->turnOn(TG_MANUAL_BURNER3); | |
| 47 | + udp->turnOn(TG_MANUAL_FAN1); | |
| 48 | + udp->turnOn(TG_MANUAL_FAN2); | |
| 49 | + udp->turnOn(TG_MANUAL_RELAY); | |
| 50 | + udp->turnOn(m_arrTestItems[m_nCurStep]); | |
| 51 | + m_tmrOneSec->start(1000); | |
| 52 | + } | |
| 53 | + else qDebug() <<"Rejected"; | |
| 54 | + } | |
| 55 | + else{ | |
| 56 | + | |
| 34 | 57 | } |
| 35 | - else qDebug() <<"Rejected"; | |
| 36 | 58 | } |
| 37 | 59 | |
| 38 | 60 | void AdjustmentWindow::on_backButton_clicked() |
| 39 | 61 | { |
| 62 | + UdpHandler* udp = UdpHandler::getInstance(); | |
| 63 | + if(m_bAdjustStarted){ | |
| 64 | + m_tmrOneSec->stop(); | |
| 65 | + udp->turnOff(TG_MANUAL_BURNER1); | |
| 66 | + udp->turnOff(TG_MANUAL_BURNER2); | |
| 67 | + udp->turnOff(TG_MANUAL_BURNER3); | |
| 68 | + udp->turnOff(TG_MANUAL_FAN1); | |
| 69 | + udp->turnOff(TG_MANUAL_FAN2); | |
| 70 | + udp->turnOff(TG_MANUAL_RELAY); | |
| 71 | + m_bAdjustStarted = false; | |
| 72 | + } | |
| 40 | 73 | close(); |
| 41 | 74 | } |
| 42 | 75 | |
| 76 | +void AdjustmentWindow::testTimerFired() | |
| 77 | +{ | |
| 78 | + int nRestTime = ADJUST_TIME_SEC * MAX_ADJUST_TEST_CNT; | |
| 79 | + QString strTemp; | |
| 80 | + m_nSecCnt++; | |
| 81 | + if((m_nSecCnt%ADJUST_TIME_SEC)==0){ | |
| 82 | + UdpHandler* udp = UdpHandler::getInstance(); | |
| 83 | + udp->turnOff(m_arrTestItems[m_nCurStep]); | |
| 84 | + m_nCurStep++; | |
| 85 | + if(m_nCurStep < MAX_ADJUST_TEST_CNT){ | |
| 86 | + udp->turnOn(m_nCurStep); | |
| 87 | + } | |
| 88 | + else{ | |
| 89 | + //Test Finished | |
| 90 | + m_tmrOneSec->stop(); | |
| 91 | + udp->turnOff(TG_MANUAL_BURNER1); | |
| 92 | + udp->turnOff(TG_MANUAL_BURNER2); | |
| 93 | + udp->turnOff(TG_MANUAL_BURNER3); | |
| 94 | + udp->turnOff(TG_MANUAL_FAN1); | |
| 95 | + udp->turnOff(TG_MANUAL_FAN2); | |
| 96 | + udp->turnOff(TG_MANUAL_RELAY); | |
| 97 | + m_bAdjustStarted = false; | |
| 98 | + QDialog* dlg = new NotiPopupDlg(this,tr("테스트를 완료하였습니다.")); | |
| 99 | + dlg->exec(); | |
| 100 | + } | |
| 101 | + } | |
| 102 | + nRestTime = nRestTime - m_nSecCnt; | |
| 103 | + strTemp = QString("%1/ %2:%3").arg(m_nCurStep).arg((nRestTime/60),2,10,QLatin1Char('0')).arg((nRestTime%60),2,10,QLatin1Char('0')); | |
| 104 | + ui->btnAdjust->setText(strTemp); | |
| 105 | +} | |
| 106 | + | |
| 43 | 107 | |
| 44 | 108 | void AdjustmentWindow::keyPressEvent(QKeyEvent *event){ |
| 45 | 109 | switch (event->key()) | ... | ... |
app/gui/oven_control/adjustmentwindow.h
| ... | ... | @@ -3,6 +3,10 @@ |
| 3 | 3 | |
| 4 | 4 | #include <QMainWindow> |
| 5 | 5 | #include <QKeyEvent> |
| 6 | +#include "udphandler.h" | |
| 7 | + | |
| 8 | +#define MAX_ADJUST_TEST_CNT 20 | |
| 9 | +#define ADJUST_TIME_SEC 60 | |
| 6 | 10 | |
| 7 | 11 | namespace Ui { |
| 8 | 12 | class AdjustmentWindow; |
| ... | ... | @@ -21,12 +25,40 @@ private slots: |
| 21 | 25 | |
| 22 | 26 | void on_backButton_clicked(); |
| 23 | 27 | |
| 28 | + void testTimerFired(void); | |
| 29 | + | |
| 24 | 30 | protected: |
| 25 | 31 | void keyReleaseEvent(QKeyEvent* event); |
| 26 | 32 | void keyPressEvent(QKeyEvent* event); |
| 27 | 33 | |
| 28 | 34 | private: |
| 29 | 35 | Ui::AdjustmentWindow *ui; |
| 36 | + bool m_bAdjustStarted; | |
| 37 | + int m_nCurStep; | |
| 38 | + int m_nSecCnt; | |
| 39 | + QTimer* m_tmrOneSec; | |
| 40 | + const target_onoff_t m_arrTestItems[MAX_ADJUST_TEST_CNT] = { | |
| 41 | + TG_BUNNER1_MANUAL, | |
| 42 | + TG_BUNNER2_MANUAL, | |
| 43 | + TG_BUNNER3_MANUAL, | |
| 44 | + TG_BUNNER1_FAN, | |
| 45 | + TG_BUNNER2_FAN, | |
| 46 | + TG_BUNNER3_FAN, | |
| 47 | + TG_FAN1_MANUAL, | |
| 48 | + TG_FAN2_MANUAL, | |
| 49 | + TG_DV, | |
| 50 | + TG_CFAN, | |
| 51 | + TG_WSV, | |
| 52 | + TG_QNV, | |
| 53 | + TG_SSV, | |
| 54 | + TG_SNV, | |
| 55 | + TG_HL, | |
| 56 | + TG_DP, | |
| 57 | + TG_SSP, | |
| 58 | + TG_UNP, | |
| 59 | + TG_HDM, | |
| 60 | + TG_SGNV | |
| 61 | + }; | |
| 30 | 62 | }; |
| 31 | 63 | |
| 32 | 64 | #endif // ADJUSTMENTWINDOW_H | ... | ... |
app/gui/oven_control/notipopupdlg.cpp
| ... | ... | @@ -0,0 +1,55 @@ |
| 1 | +#include <QKeyEvent> | |
| 2 | +#include "notipopupdlg.h" | |
| 3 | +#include "ui_notipopupdlg.h" | |
| 4 | + | |
| 5 | +#include "soundplayer.h" | |
| 6 | + | |
| 7 | + | |
| 8 | +NotiPopupDlg::NotiPopupDlg(QWidget *parent, QString strDesc) : | |
| 9 | + QDialog(parent), | |
| 10 | + ui(new Ui::NotiPopupDlg) | |
| 11 | +{ | |
| 12 | + ui->setupUi(this); | |
| 13 | + this->setAttribute( Qt::WA_DeleteOnClose); | |
| 14 | + setWindowFlags(Qt::FramelessWindowHint); | |
| 15 | + setAttribute(Qt::WA_NoSystemBackground,false); | |
| 16 | + setAttribute(Qt::WA_TranslucentBackground); | |
| 17 | + qApp->setActiveWindow(this); | |
| 18 | + this->setFocus(); | |
| 19 | + | |
| 20 | + ui->ctrLbDesc->setText(strDesc); | |
| 21 | + | |
| 22 | + foreach (QPushButton *button, findChildren<QPushButton *>()) | |
| 23 | + connect(button, &QPushButton::pressed, SoundPlayer::playClick); | |
| 24 | + | |
| 25 | + ui->ctrBtnOk->setFocus(); | |
| 26 | +} | |
| 27 | + | |
| 28 | +NotiPopupDlg::~NotiPopupDlg() | |
| 29 | +{ | |
| 30 | + delete ui; | |
| 31 | +} | |
| 32 | + | |
| 33 | +void NotiPopupDlg::on_ctrBtnOk_clicked() | |
| 34 | +{ | |
| 35 | + accept(); | |
| 36 | +} | |
| 37 | + | |
| 38 | + | |
| 39 | +void NotiPopupDlg::keyPressEvent(QKeyEvent *event){ | |
| 40 | + | |
| 41 | +} | |
| 42 | + | |
| 43 | +void NotiPopupDlg::keyReleaseEvent(QKeyEvent *event){ | |
| 44 | + switch (event->key()) | |
| 45 | + { | |
| 46 | + case 0x01000031: // Push | |
| 47 | + { | |
| 48 | + QPushButton *btn = qobject_cast<QPushButton*>(focusWidget()); | |
| 49 | + if(btn != NULL){ | |
| 50 | + btn->click(); | |
| 51 | + } | |
| 52 | + break; | |
| 53 | + } | |
| 54 | + } | |
| 55 | +} | ... | ... |
app/gui/oven_control/notipopupdlg.h
| ... | ... | @@ -0,0 +1,29 @@ |
| 1 | +#ifndef NOTIPOPUPDLG_H | |
| 2 | +#define NOTIPOPUPDLG_H | |
| 3 | + | |
| 4 | +#include <QDialog> | |
| 5 | + | |
| 6 | +namespace Ui { | |
| 7 | +class NotiPopupDlg; | |
| 8 | +} | |
| 9 | + | |
| 10 | +class NotiPopupDlg : public QDialog | |
| 11 | +{ | |
| 12 | + Q_OBJECT | |
| 13 | + | |
| 14 | +public: | |
| 15 | + explicit NotiPopupDlg(QWidget *parent = 0,QString strDesc=""); | |
| 16 | + ~NotiPopupDlg(); | |
| 17 | + | |
| 18 | +private slots: | |
| 19 | + void on_ctrBtnOk_clicked(); | |
| 20 | + | |
| 21 | +protected: | |
| 22 | + void keyPressEvent(QKeyEvent* event); | |
| 23 | + void keyReleaseEvent(QKeyEvent* event); | |
| 24 | + | |
| 25 | +private: | |
| 26 | + Ui::NotiPopupDlg *ui; | |
| 27 | +}; | |
| 28 | + | |
| 29 | +#endif // NOTIPOPUPDLG_H | ... | ... |
app/gui/oven_control/notipopupdlg.ui
| ... | ... | @@ -0,0 +1,113 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<ui version="4.0"> | |
| 3 | + <class>NotiPopupDlg</class> | |
| 4 | + <widget class="QDialog" name="NotiPopupDlg"> | |
| 5 | + <property name="geometry"> | |
| 6 | + <rect> | |
| 7 | + <x>0</x> | |
| 8 | + <y>0</y> | |
| 9 | + <width>900</width> | |
| 10 | + <height>1600</height> | |
| 11 | + </rect> | |
| 12 | + </property> | |
| 13 | + <property name="windowOpacity"> | |
| 14 | + <double>1.000000000000000</double> | |
| 15 | + </property> | |
| 16 | + <property name="styleSheet"> | |
| 17 | + <string notr="true">#centralWidget { background-image: url(:/images/background/popup/503.png); | |
| 18 | +} | |
| 19 | +</string> | |
| 20 | + </property> | |
| 21 | + <property name="modal"> | |
| 22 | + <bool>true</bool> | |
| 23 | + </property> | |
| 24 | + <widget class="QWidget" name="centralWidget" native="true"> | |
| 25 | + <property name="geometry"> | |
| 26 | + <rect> | |
| 27 | + <x>0</x> | |
| 28 | + <y>420</y> | |
| 29 | + <width>900</width> | |
| 30 | + <height>503</height> | |
| 31 | + </rect> | |
| 32 | + </property> | |
| 33 | + <property name="styleSheet"> | |
| 34 | + <string notr="true"/> | |
| 35 | + </property> | |
| 36 | + <widget class="QPushButton" name="ctrBtnOk"> | |
| 37 | + <property name="geometry"> | |
| 38 | + <rect> | |
| 39 | + <x>572</x> | |
| 40 | + <y>362</y> | |
| 41 | + <width>128</width> | |
| 42 | + <height>70</height> | |
| 43 | + </rect> | |
| 44 | + </property> | |
| 45 | + <property name="font"> | |
| 46 | + <font> | |
| 47 | + <weight>75</weight> | |
| 48 | + <bold>true</bold> | |
| 49 | + <underline>true</underline> | |
| 50 | + </font> | |
| 51 | + </property> | |
| 52 | + <property name="styleSheet"> | |
| 53 | + <string notr="true">QPushButton{ | |
| 54 | +border : none; | |
| 55 | +color : white; | |
| 56 | +} | |
| 57 | +QPushButton::pressed, QPushButton::focus{color : yellow}</string> | |
| 58 | + </property> | |
| 59 | + <property name="text"> | |
| 60 | + <string>확인</string> | |
| 61 | + </property> | |
| 62 | + </widget> | |
| 63 | + <widget class="QLabel" name="label"> | |
| 64 | + <property name="geometry"> | |
| 65 | + <rect> | |
| 66 | + <x>415</x> | |
| 67 | + <y>99</y> | |
| 68 | + <width>61</width> | |
| 69 | + <height>51</height> | |
| 70 | + </rect> | |
| 71 | + </property> | |
| 72 | + <property name="text"> | |
| 73 | + <string/> | |
| 74 | + </property> | |
| 75 | + <property name="pixmap"> | |
| 76 | + <pixmap resource="resources.qrc">:/images/symbol/warning.png</pixmap> | |
| 77 | + </property> | |
| 78 | + </widget> | |
| 79 | + <widget class="QLabel" name="ctrLbDesc"> | |
| 80 | + <property name="geometry"> | |
| 81 | + <rect> | |
| 82 | + <x>0</x> | |
| 83 | + <y>150</y> | |
| 84 | + <width>900</width> | |
| 85 | + <height>201</height> | |
| 86 | + </rect> | |
| 87 | + </property> | |
| 88 | + <property name="font"> | |
| 89 | + <font> | |
| 90 | + <family>나눔고딕</family> | |
| 91 | + <pointsize>14</pointsize> | |
| 92 | + </font> | |
| 93 | + </property> | |
| 94 | + <property name="styleSheet"> | |
| 95 | + <string notr="true">QLabel { | |
| 96 | + color : white; | |
| 97 | + border : none; | |
| 98 | +}</string> | |
| 99 | + </property> | |
| 100 | + <property name="text"> | |
| 101 | + <string>TextLabel</string> | |
| 102 | + </property> | |
| 103 | + <property name="alignment"> | |
| 104 | + <set>Qt::AlignCenter</set> | |
| 105 | + </property> | |
| 106 | + </widget> | |
| 107 | + </widget> | |
| 108 | + </widget> | |
| 109 | + <resources> | |
| 110 | + <include location="resources.qrc"/> | |
| 111 | + </resources> | |
| 112 | + <connections/> | |
| 113 | +</ui> | ... | ... |
app/gui/oven_control/oven_control.pro
| ... | ... | @@ -125,7 +125,8 @@ SOURCES += main.cpp\ |
| 125 | 125 | programmedcookpanelbutton.cpp \ |
| 126 | 126 | configdemomodedlg.cpp \ |
| 127 | 127 | demoicon.cpp \ |
| 128 | - halfenergyicon.cpp | |
| 128 | + halfenergyicon.cpp \ | |
| 129 | + notipopupdlg.cpp | |
| 129 | 130 | |
| 130 | 131 | |
| 131 | 132 | HEADERS += mainwindow.h \ |
| ... | ... | @@ -241,7 +242,8 @@ HEADERS += mainwindow.h \ |
| 241 | 242 | programmedcookpanelbutton.h \ |
| 242 | 243 | configdemomodedlg.h \ |
| 243 | 244 | demoicon.h \ |
| 244 | - halfenergyicon.h | |
| 245 | + halfenergyicon.h \ | |
| 246 | + notipopupdlg.h | |
| 245 | 247 | |
| 246 | 248 | FORMS += mainwindow.ui \ |
| 247 | 249 | manualcookwindow.ui \ |
| ... | ... | @@ -320,7 +322,8 @@ FORMS += mainwindow.ui \ |
| 320 | 322 | autocookcheckwindow.ui \ |
| 321 | 323 | autocookcheckconfigwindow.ui \ |
| 322 | 324 | programmedcookpanelbutton.ui \ |
| 323 | - configdemomodedlg.ui | |
| 325 | + configdemomodedlg.ui \ | |
| 326 | + notipopupdlg.ui | |
| 324 | 327 | |
| 325 | 328 | RESOURCES += \ |
| 326 | 329 | resources.qrc | ... | ... |