Files
GUI/src/event/EventCenter.h

85 lines
2.3 KiB
C++

#ifndef GUI_EVENTCENTER_H
#define GUI_EVENTCENTER_H
#include <QObject>
#define ADD_EVENT()\
ADD_EVENT_VALUE(RequestLogin)\
ADD_EVENT_VALUE(LoginSuccess)\
ADD_EVENT_VALUE(RequestShutdown)\
ADD_EVENT_VALUE(LoginRoleChanged)\
ADD_EVENT_VALUE(PatientSelected)\
ADD_EVENT_VALUE(RequestPreviewScan)\
ADD_EVENT_VALUE(RequestEmptyScan)\
ADD_EVENT_VALUE(RequestPatientScan)\
ADD_EVENT_VALUE(RequestContinueScan)\
ADD_EVENT_VALUE(RequestFullScanStop)\
ADD_EVENT_VALUE(RequestPreviewStop)\
ADD_EVENT_VALUE(RequestDrainage)\
ADD_EVENT_VALUE(RequestWaterflood)\
ADD_EVENT_VALUE(RequestWaterClean)\
ADD_EVENT_VALUE(RequestWaterModeExit)\
ADD_EVENT_VALUE(ResponseDeviceTemperature)\
ADD_EVENT_VALUE(ResponsePreview)\
ADD_EVENT_VALUE(ResponsePreviewData)\
ADD_EVENT_VALUE(ResponseStopPreview)\
ADD_EVENT_VALUE(DeviceErrorRaise)\
ADD_EVENT_VALUE(ShimLibInnerFault)\
ADD_EVENT_VALUE(InvokeOperationStart)\
ADD_EVENT_VALUE(InvokeOperationProgress)\
ADD_EVENT_VALUE(InvokeOperationPending)\
ADD_EVENT_VALUE(InvokeOperationEnd)\
ADD_EVENT_VALUE(PromptDialogOpen)\
ADD_EVENT_VALUE(GlobalBannerMessage)\
ADD_EVENT_VALUE(ReloadLanguage)\
ADD_EVENT_VALUE(AnonymousModeChanged)\
ADD_EVENT_VALUE(WarnStateFlagChange)\
ADD_EVENT_VALUE(GUIErrorRaise)\
ADD_EVENT_VALUE(DeviceInfoRaise)\
ADD_EVENT_VALUE(RequestScreenSaver)\
ADD_EVENT_VALUE(ReconConnectionUpdated)\
ADD_EVENT_VALUE(InputWorkListSearchValue)\
ADD_EVENT_VALUE(WorklistSearchFinished)\
ADD_EVENT_VALUE(ErrorStateActive)\
ADD_EVENT_VALUE(ErrorStateUnactive)\
ADD_EVENT_VALUE(StartScanProcess)\
ADD_EVENT_VALUE(StopScanProcess)\
ADD_EVENT_VALUE(CurrentUserInfoChanged)\
ADD_EVENT_VALUE(EmptyScanFinished)\
ADD_EVENT_VALUE(EmptyScanDataCorrupted)\
ADD_EVENT_VALUE(EmptyScanDataStateUpdated)\
ADD_EVENT_VALUE(EmptyScanDataBroked)\
ADD_EVENT_VALUE(EmptyScanDataExpire)\
ADD_EVENT_VALUE(UserVerificationSuccess)\
ADD_EVENT_VALUE(UsctStateUpdated)\
ADD_EVENT_VALUE(SetSelectedPatient)\
enum GUIEvents {
#define ADD_EVENT_VALUE(val) val,
ADD_EVENT()
#undef ADD_EVENT_VALUE
};
class EventCenter :public QObject {
Q_OBJECT
public:
static EventCenter* Default() {
static EventCenter instance;
return &instance;
}
void triggerEvent(GUIEvents event, QObject* sender, QObject* data);
signals:
#define ADD_EVENT_VALUE(val)\
void val(QObject* sender,QObject* data);
ADD_EVENT()
#undef ADD_EVENT_VALUE
};
#endif //GUI_EVENTCENTER_H