#ifndef MAINWIDGET_H #define MAINWIDGET_H #include #include "patientemergencyinfo.h" #include #include #include "httpservice.h" #include "websocketservice.h" #include "deviceservice.h" namespace Ui { class MainWidget; } class MainWidget : public QWidget { Q_OBJECT public: explicit MainWidget(HttpService *httpService, WebsocketService *websocketService, DeviceService *deviceService, QWidget *parent = 0); ~MainWidget(); void paintEvent(QPaintEvent *event); void resizeEvent(QResizeEvent *event); void mouseDoubleClickEvent(QMouseEvent *event); void mousePressEvent(QMouseEvent *event); void wheelEvent(QWheelEvent *event); private: HttpService *m_httpService; WebsocketService *m_websocketService; DeviceService *m_deviceService; Ui::MainWidget *ui; QList m_patientEmergencyInfos; qint32 m_maxPatientNum,m_switchPatientInterval; qint32 m_patientIndex; QTimer m_countDownTimer; QTimer m_switchPatientTimer; QTimer m_ledTurnTimer; int m_wsConnectedStatus; QFont font1, font2, font3; QTimer m_lableScrollTimer; int m_width, m_height, m_curX, m_y; bool isFenzhen; PatientEmergencyInfo *keyDownPInfo; public slots: void updateUi(); void onWsConnectedStatusChanged(int); void onNewPatientMergencyInfo(QString firstAidId,QString name,QString content,qint64 realCountDownInSeconds); void onPatientMergencyStatusChanged(QString firstAidId,QString time,QString status); void addPatientToList(PatientEmergencyInfo *); void deletePatientFromList(QString firstAidId); void lableScrollDisplay(); void onKeyClicked(); void onKeyDown(); void onKeyWorked(KeyFlag flag); signals: void statusChanged(QString firstAidId,QString status); void complexOneKeyStart(QString idcard,QString name,QString sex,QString nation); void sendCardInfo(QString idcard,QString name,QString sex,QString nation); void oneKeyStart(QString idcard); }; #endif // MAINWIDGET_H