Files
GUI/src/event/EventCenter.h

67 lines
1.6 KiB
C
Raw Normal View History

2021-10-12 17:38:00 +08:00
//
// Created by Krad on 2021/10/11.
//
#ifndef GUI_EVENTCENTER_H
#define GUI_EVENTCENTER_H
#include <QObject>
#define ADD_EVENT()\
2021-11-19 13:20:17 +08:00
ADD_EVENT_VALUE(RequestLogin)\
2023-08-21 14:22:41 +08:00
ADD_EVENT_VALUE(RequestShutdown)\
2021-12-21 16:06:21 +08:00
ADD_EVENT_VALUE(LoginRoleChanged)\
2021-10-12 17:38:00 +08:00
ADD_EVENT_VALUE(PatientSelected)\
2021-10-13 17:37:10 +08:00
ADD_EVENT_VALUE(RequestPreviewScan)\
ADD_EVENT_VALUE(RequestEmptyScan)\
ADD_EVENT_VALUE(RequestPatientScan)\
ADD_EVENT_VALUE(RequestContinueScan)\
2023-08-21 14:22:41 +08:00
ADD_EVENT_VALUE(RequestFullScanStop)\
ADD_EVENT_VALUE(RequestPreviewStop)\
2023-08-31 15:44:11 +08:00
ADD_EVENT_VALUE(RequestDrainage)\
ADD_EVENT_VALUE(ResponseDeviceTemperature)\
2021-10-13 17:37:10 +08:00
ADD_EVENT_VALUE(ResponsePreview)\
ADD_EVENT_VALUE(ResponsePreviewData)\
2023-08-21 14:22:41 +08:00
ADD_EVENT_VALUE(ResponseStopPreview)\
2021-10-13 17:37:10 +08:00
ADD_EVENT_VALUE(DeviceErrorRaise)\
ADD_EVENT_VALUE(ShimLibInnerFault)\
ADD_EVENT_VALUE(InvokeOperationStart)\
ADD_EVENT_VALUE(InvokeOperationProgress)\
ADD_EVENT_VALUE(InvokeOperationPending)\
2021-10-13 17:37:10 +08:00
ADD_EVENT_VALUE(InvokeOperationEnd)\
ADD_EVENT_VALUE(PromptDialogOpen)\
2021-10-26 13:08:11 +08:00
ADD_EVENT_VALUE(GlobalBannerMessage)\
2021-12-21 16:06:21 +08:00
ADD_EVENT_VALUE(ReloadLanguage)\
2021-12-03 14:22:50 +08:00
ADD_EVENT_VALUE(WarnStateFlagChange)\
ADD_EVENT_VALUE(GUIErrorRaise)\
2022-08-18 17:09:16 +08:00
ADD_EVENT_VALUE(DeviceInfoRaise)\
ADD_EVENT_VALUE(RequestScreenSaver)\
ADD_EVENT_VALUE(ReconConnectionUpdated)
2021-10-12 17:38:00 +08:00
2022-01-11 16:58:03 +08:00
enum GUIEvents {
2021-10-12 17:38:00 +08:00
#define ADD_EVENT_VALUE(val) val,
2022-01-11 16:58:03 +08:00
ADD_EVENT()
2021-10-12 17:38:00 +08:00
#undef ADD_EVENT_VALUE
};
2022-01-11 16:58:03 +08:00
class EventCenter :public QObject {
Q_OBJECT
2021-10-12 17:38:00 +08:00
public:
2022-01-11 16:58:03 +08:00
static EventCenter* Default() {
static EventCenter instance;
return &instance;
}
void triggerEvent(GUIEvents event, QObject* sender, QObject* data);
signals:
#define ADD_EVENT_VALUE(val)\
2021-10-12 17:38:00 +08:00
void val(QObject* sender,QObject* data);
2022-01-11 16:58:03 +08:00
ADD_EVENT()
#undef ADD_EVENT_VALUE
2021-10-12 17:38:00 +08:00
};
#endif //GUI_EVENTCENTER_H