Add EventCenter
This commit is contained in:
39
src/event/EventCenter.h
Normal file
39
src/event/EventCenter.h
Normal file
@@ -0,0 +1,39 @@
|
||||
//
|
||||
// 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
|
||||
Reference in New Issue
Block a user