Refactor EventsCenter.
This commit is contained in:
@@ -3,5 +3,3 @@
|
||||
//
|
||||
|
||||
#include "EventsCenter.h"
|
||||
|
||||
EventsCenter* EventsCenter::instance = new EventsCenter;
|
||||
@@ -8,9 +8,11 @@
|
||||
#include <QtCore/QObject>
|
||||
#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;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user