Files
GUI/src/event/EventCenter.h

40 lines
694 B
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()\
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