From 6f94cbf42c013e283f0c0967eeb03b7e71ba2225 Mon Sep 17 00:00:00 2001 From: Krad Date: Wed, 27 Jul 2022 13:09:34 +0800 Subject: [PATCH] Refactor EventsCenter. --- src/src/Events/EventsCenter.cpp | 2 -- src/src/Events/EventsCenter.h | 19 ++++++++++--------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/src/Events/EventsCenter.cpp b/src/src/Events/EventsCenter.cpp index 4e682bc..4562e5b 100644 --- a/src/src/Events/EventsCenter.cpp +++ b/src/src/Events/EventsCenter.cpp @@ -3,5 +3,3 @@ // #include "EventsCenter.h" - -EventsCenter* EventsCenter::instance = new EventsCenter; \ No newline at end of file diff --git a/src/src/Events/EventsCenter.h b/src/src/Events/EventsCenter.h index b860b98..536e610 100644 --- a/src/src/Events/EventsCenter.h +++ b/src/src/Events/EventsCenter.h @@ -8,9 +8,11 @@ #include #include "QtCore/qmap.h" #include "QString" + #define aLLEventMacro() \ _add_Event(DefaultEvent)\ - _add_Event(DragEvent) + _add_Event(DragEvent)\ + _add_Event(SyncStateChanged) enum Events{ @@ -31,18 +33,19 @@ public: class EventsCenter:public QObject { Q_OBJECT public: - static EventsCenter* Instance(){ - return instance; + static EventsCenter* Default(){ + static EventsCenter instance; + return &instance; } - static void TriggerEvent(Events eventId, EventObject &callData){ - Instance()->triggerEvent(eventId, callData); + static void TriggerEvent(Events eventId, EventObject* callData = nullptr){ + Default()->triggerEvent(eventId, callData); } signals: - #define _add_Event(enum) void enum (EventObject &); + #define _add_Event(enum) void enum (EventObject *); aLLEventMacro() #undef _add_Event private: - void triggerEvent(Events eventId, EventObject &callData){ + void triggerEvent(Events eventId, EventObject *callData){ switch (eventId) { #define _add_Event(enum) \ case Events::enum:\ @@ -58,8 +61,6 @@ private: break; } } - static EventsCenter* instance; - };