summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
0b223d2)
That way, we can use methods like eventTypeByName() without having an object
instance.
-QMetaEnum EventManager::eventEnum() const {
+QMetaEnum EventManager::eventEnum() {
- int eventEnumIndex = metaObject()->indexOfEnumerator("EventType");
+ int eventEnumIndex = staticMetaObject.indexOfEnumerator("EventType");
Q_ASSERT(eventEnumIndex >= 0);
Q_ASSERT(eventEnumIndex >= 0);
- _enum = metaObject()->enumerator(eventEnumIndex);
+ _enum = staticMetaObject.enumerator(eventEnumIndex);
Q_ASSERT(_enum.isValid());
}
return _enum;
}
Q_ASSERT(_enum.isValid());
}
return _enum;
}
-EventManager::EventType EventManager::eventTypeByName(const QString &name) const {
+EventManager::EventType EventManager::eventTypeByName(const QString &name) {
int val = eventEnum().keyToValue(name.toLatin1());
return (val == -1) ? Invalid : static_cast<EventType>(val);
}
int val = eventEnum().keyToValue(name.toLatin1());
return (val == -1) ? Invalid : static_cast<EventType>(val);
}
-EventManager::EventType EventManager::eventGroupByName(const QString &name) const {
+EventManager::EventType EventManager::eventGroupByName(const QString &name) {
EventType type = eventTypeByName(name);
return type == Invalid? Invalid : static_cast<EventType>(type & EventGroupMask);
}
EventType type = eventTypeByName(name);
return type == Invalid? Invalid : static_cast<EventType>(type & EventGroupMask);
}
-QString EventManager::enumName(EventType type) const {
+QString EventManager::enumName(EventType type) {
+ return eventEnum().valueToKey(type);
+}
+
+QString EventManager::enumName(int type) {
return eventEnum().valueToKey(type);
}
return eventEnum().valueToKey(type);
}
existing[filter.object] = filter;
}
}
existing[filter.object] = filter;
}
}
+
+QMetaEnum EventManager::_enum;
EventManager(QObject *parent = 0);
EventManager(QObject *parent = 0);
- EventType eventTypeByName(const QString &name) const;
- EventType eventGroupByName(const QString &name) const;
-
- QString enumName(EventType type) const;
+ static EventType eventTypeByName(const QString &name);
+ static EventType eventGroupByName(const QString &name);
+ static QString enumName(EventType type);
+ static QString enumName(int type); // for sanity tests
public slots:
void registerObject(QObject *object, Priority priority = NormalPriority,
public slots:
void registerObject(QObject *object, Priority priority = NormalPriority,
void dispatchEvent(Event *event);
//! @return the EventType enum
void dispatchEvent(Event *event);
//! @return the EventType enum
- QMetaEnum eventEnum() const;
+ static QMetaEnum eventEnum();
HandlerHash _registeredHandlers;
HandlerHash _registeredFilters;
HandlerHash _registeredHandlers;
HandlerHash _registeredFilters;
- mutable QMetaEnum _enum;
QList<Event *> _eventQueue;
QList<Event *> _eventQueue;
+ static QMetaEnum _enum;
};
Q_DECLARE_OPERATORS_FOR_FLAGS(EventManager::EventFlags);
};
Q_DECLARE_OPERATORS_FOR_FLAGS(EventManager::EventFlags);