// // Created by Krad on 2021/10/11. // #ifndef GUI_EVENTCENTER_H #define GUI_EVENTCENTER_H #include #define ADD_EVENT()\ ADD_EVENT_VALUE(PatientSelected)\ ADD_EVENT_VALUE(GUIErrorRaise) 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