Refactor EventsCenter.

This commit is contained in:
Krad
2022-07-27 13:09:34 +08:00
parent d9ad380d49
commit 6f94cbf42c
2 changed files with 10 additions and 11 deletions

View File

@@ -3,5 +3,3 @@
// //
#include "EventsCenter.h" #include "EventsCenter.h"
EventsCenter* EventsCenter::instance = new EventsCenter;

View File

@@ -8,9 +8,11 @@
#include <QtCore/QObject> #include <QtCore/QObject>
#include "QtCore/qmap.h" #include "QtCore/qmap.h"
#include "QString" #include "QString"
#define aLLEventMacro() \ #define aLLEventMacro() \
_add_Event(DefaultEvent)\ _add_Event(DefaultEvent)\
_add_Event(DragEvent) _add_Event(DragEvent)\
_add_Event(SyncStateChanged)
enum Events{ enum Events{
@@ -31,18 +33,19 @@ public:
class EventsCenter:public QObject { class EventsCenter:public QObject {
Q_OBJECT Q_OBJECT
public: public:
static EventsCenter* Instance(){ static EventsCenter* Default(){
return instance; static EventsCenter instance;
return &instance;
} }
static void TriggerEvent(Events eventId, EventObject &callData){ static void TriggerEvent(Events eventId, EventObject* callData = nullptr){
Instance()->triggerEvent(eventId, callData); Default()->triggerEvent(eventId, callData);
} }
signals: signals:
#define _add_Event(enum) void enum (EventObject &); #define _add_Event(enum) void enum (EventObject *);
aLLEventMacro() aLLEventMacro()
#undef _add_Event #undef _add_Event
private: private:
void triggerEvent(Events eventId, EventObject &callData){ void triggerEvent(Events eventId, EventObject *callData){
switch (eventId) { switch (eventId) {
#define _add_Event(enum) \ #define _add_Event(enum) \
case Events::enum:\ case Events::enum:\
@@ -58,8 +61,6 @@ private:
break; break;
} }
} }
static EventsCenter* instance;
}; };