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,6 +3,7 @@ | ||
3 | #include "ui_adjustmentwindow.h" | 3 | #include "ui_adjustmentwindow.h" |
4 | #include "yesnopopupdlg.h" | 4 | #include "yesnopopupdlg.h" |
5 | #include "soundplayer.h" | 5 | #include "soundplayer.h" |
6 | +#include "notipopupdlg.h" | ||
6 | 7 | ||
7 | AdjustmentWindow::AdjustmentWindow(QWidget *parent) : | 8 | AdjustmentWindow::AdjustmentWindow(QWidget *parent) : |
8 | QMainWindow(parent), | 9 | QMainWindow(parent), |
@@ -15,6 +16,10 @@ AdjustmentWindow::AdjustmentWindow(QWidget *parent) : | @@ -15,6 +16,10 @@ AdjustmentWindow::AdjustmentWindow(QWidget *parent) : | ||
15 | 16 | ||
16 | foreach (QPushButton *button, findChildren<QPushButton *>()) | 17 | foreach (QPushButton *button, findChildren<QPushButton *>()) |
17 | connect(button, &QPushButton::pressed, SoundPlayer::playClick); | 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 | AdjustmentWindow::~AdjustmentWindow() | 25 | AdjustmentWindow::~AdjustmentWindow() |
@@ -26,20 +31,79 @@ void AdjustmentWindow::on_btnAdjust_clicked() | @@ -26,20 +31,79 @@ void AdjustmentWindow::on_btnAdjust_clicked() | ||
26 | { | 31 | { |
27 | YesNoPopupDlg* w = new YesNoPopupDlg(this,tr("모든 설정 값을 공장(출고)초기화\n값으로 변경 하시겠습니까?")); | 32 | YesNoPopupDlg* w = new YesNoPopupDlg(this,tr("모든 설정 값을 공장(출고)초기화\n값으로 변경 하시겠습니까?")); |
28 | //w->raise(); | 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 | void AdjustmentWindow::on_backButton_clicked() | 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 | close(); | 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 | void AdjustmentWindow::keyPressEvent(QKeyEvent *event){ | 108 | void AdjustmentWindow::keyPressEvent(QKeyEvent *event){ |
45 | switch (event->key()) | 109 | switch (event->key()) |
app/gui/oven_control/adjustmentwindow.h
@@ -3,6 +3,10 @@ | @@ -3,6 +3,10 @@ | ||
3 | 3 | ||
4 | #include <QMainWindow> | 4 | #include <QMainWindow> |
5 | #include <QKeyEvent> | 5 | #include <QKeyEvent> |
6 | +#include "udphandler.h" | ||
7 | + | ||
8 | +#define MAX_ADJUST_TEST_CNT 20 | ||
9 | +#define ADJUST_TIME_SEC 60 | ||
6 | 10 | ||
7 | namespace Ui { | 11 | namespace Ui { |
8 | class AdjustmentWindow; | 12 | class AdjustmentWindow; |
@@ -21,12 +25,40 @@ private slots: | @@ -21,12 +25,40 @@ private slots: | ||
21 | 25 | ||
22 | void on_backButton_clicked(); | 26 | void on_backButton_clicked(); |
23 | 27 | ||
28 | + void testTimerFired(void); | ||
29 | + | ||
24 | protected: | 30 | protected: |
25 | void keyReleaseEvent(QKeyEvent* event); | 31 | void keyReleaseEvent(QKeyEvent* event); |
26 | void keyPressEvent(QKeyEvent* event); | 32 | void keyPressEvent(QKeyEvent* event); |
27 | 33 | ||
28 | private: | 34 | private: |
29 | Ui::AdjustmentWindow *ui; | 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 | #endif // ADJUSTMENTWINDOW_H | 64 | #endif // ADJUSTMENTWINDOW_H |
app/gui/oven_control/notipopupdlg.cpp
@@ -0,0 +1,55 @@ | @@ -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 @@ | @@ -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 @@ | @@ -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,7 +125,8 @@ SOURCES += main.cpp\ | ||
125 | programmedcookpanelbutton.cpp \ | 125 | programmedcookpanelbutton.cpp \ |
126 | configdemomodedlg.cpp \ | 126 | configdemomodedlg.cpp \ |
127 | demoicon.cpp \ | 127 | demoicon.cpp \ |
128 | - halfenergyicon.cpp | 128 | + halfenergyicon.cpp \ |
129 | + notipopupdlg.cpp | ||
129 | 130 | ||
130 | 131 | ||
131 | HEADERS += mainwindow.h \ | 132 | HEADERS += mainwindow.h \ |
@@ -241,7 +242,8 @@ HEADERS += mainwindow.h \ | @@ -241,7 +242,8 @@ HEADERS += mainwindow.h \ | ||
241 | programmedcookpanelbutton.h \ | 242 | programmedcookpanelbutton.h \ |
242 | configdemomodedlg.h \ | 243 | configdemomodedlg.h \ |
243 | demoicon.h \ | 244 | demoicon.h \ |
244 | - halfenergyicon.h | 245 | + halfenergyicon.h \ |
246 | + notipopupdlg.h | ||
245 | 247 | ||
246 | FORMS += mainwindow.ui \ | 248 | FORMS += mainwindow.ui \ |
247 | manualcookwindow.ui \ | 249 | manualcookwindow.ui \ |
@@ -320,7 +322,8 @@ FORMS += mainwindow.ui \ | @@ -320,7 +322,8 @@ FORMS += mainwindow.ui \ | ||
320 | autocookcheckwindow.ui \ | 322 | autocookcheckwindow.ui \ |
321 | autocookcheckconfigwindow.ui \ | 323 | autocookcheckconfigwindow.ui \ |
322 | programmedcookpanelbutton.ui \ | 324 | programmedcookpanelbutton.ui \ |
323 | - configdemomodedlg.ui | 325 | + configdemomodedlg.ui \ |
326 | + notipopupdlg.ui | ||
324 | 327 | ||
325 | RESOURCES += \ | 328 | RESOURCES += \ |
326 | resources.qrc | 329 | resources.qrc |