* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
#include "eventmanager.h"
#include <QCoreApplication>
***************************************************************************/
#include "eventmanager.h"
#include <QCoreApplication>
// ============================================================
// EventManager
// ============================================================
// ============================================================
// EventManager
// ============================================================
{
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);
}
{
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);
}
/* NOTE:
Registering and calling handlers works fine even if they specify a subclass of Event as their parameter.
However, this most probably is a result from a reinterpret_cast somewhere deep inside Qt, so there is *no*
/* NOTE:
Registering and calling handlers works fine even if they specify a subclass of Event as their parameter.
However, this most probably is a result from a reinterpret_cast somewhere deep inside Qt, so there is *no*
- methodSignature = methodSignature.section('(', 0, 0); // chop the attribute list
- methodSignature = methodSignature.mid(methodPrefix.length()); // strip prefix
+ methodSignature = methodSignature.section('(', 0, 0); // chop the attribute list
+ methodSignature = methodSignature.mid(methodPrefix.length()); // strip prefix
int num = methodSignature.right(3).toUInt();
if (num > 0) {
QString numericSig = methodSignature.left(methodSignature.length() - 3) + "Numeric";
int num = methodSignature.right(3).toUInt();
if (num > 0) {
QString numericSig = methodSignature.left(methodSignature.length() - 3) + "Numeric";
-
-void EventManager::registerObject(QObject *object, Priority priority, const QString &methodPrefix, const QString &filterPrefix)
+void EventManager::registerObject(QObject* object, Priority priority, const QString& methodPrefix, const QString& filterPrefix)
int eventType = findEventType(methodSignature, methodPrefix);
if (eventType > 0) {
Handler handler(object, i, priority);
registeredHandlers()[eventType].append(handler);
int eventType = findEventType(methodSignature, methodPrefix);
if (eventType > 0) {
Handler handler(object, i, priority);
registeredHandlers()[eventType].append(handler);
}
eventType = findEventType(methodSignature, filterPrefix);
if (eventType > 0) {
Handler handler(object, i, priority);
registeredFilters()[eventType].append(handler);
}
eventType = findEventType(methodSignature, filterPrefix);
if (eventType > 0) {
Handler handler(object, i, priority);
registeredFilters()[eventType].append(handler);
{
registerEventHandler(QList<EventType>() << event, object, slot, NormalPriority, true);
}
{
registerEventHandler(QList<EventType>() << event, object, slot, NormalPriority, true);
}
{
registerEventHandler(events, object, slot, NormalPriority, true);
}
{
registerEventHandler(events, object, slot, NormalPriority, true);
}
-
-void EventManager::registerEventHandler(EventType event, QObject *object, const char *slot, Priority priority, bool isFilter)
+void EventManager::registerEventHandler(EventType event, QObject* object, const char* slot, Priority priority, bool isFilter)
{
registerEventHandler(QList<EventType>() << event, object, slot, priority, isFilter);
}
{
registerEventHandler(QList<EventType>() << event, object, slot, priority, isFilter);
}
-
-void EventManager::registerEventHandler(QList<EventType> events, QObject *object, const char *slot, Priority priority, bool isFilter)
+void EventManager::registerEventHandler(QList<EventType> events, QObject* object, const char* slot, Priority priority, bool isFilter)
if (isFilter) {
registeredFilters()[event].append(handler);
qDebug() << "Registered event filter for" << event << "in" << object;
if (isFilter) {
registeredFilters()[event].append(handler);
qDebug() << "Registered event filter for" << event << "in" << object;
// we try handlers from specialized to generic by masking the enum
// build a list sorted by priorities that contains all eligible handlers
QList<Handler> handlers;
// we try handlers from specialized to generic by masking the enum
// build a list sorted by priorities that contains all eligible handlers
QList<Handler> handlers;
- QHash<QObject *, Handler> filters;
- QSet<QObject *> ignored;
+ QHash<QObject*, Handler> filters;
+ QSet<QObject*> ignored;
uint type = event->type();
bool checkDupes = false;
// special handling for numeric IrcEvents
if ((type & ~IrcEventNumericMask) == IrcEventNumeric) {
uint type = event->type();
bool checkDupes = false;
// special handling for numeric IrcEvents
if ((type & ~IrcEventNumericMask) == IrcEventNumeric) {
// now dispatch the event
QList<Handler>::const_iterator it;
for (it = handlers.begin(); it != handlers.end() && !event->isStopped(); ++it) {
// now dispatch the event
QList<Handler>::const_iterator it;
for (it = handlers.begin(); it != handlers.end() && !event->isStopped(); ++it) {
- void *param[] = { Q_RETURN_ARG(bool, result).data(), Q_ARG(Event *, event).data() };
+ void* param[] = {Q_RETURN_ARG(bool, result).data(), Q_ARG(Event*, event).data()};
-
-void EventManager::insertHandlers(const QList<Handler> &newHandlers, QList<Handler> &existing, bool checkDupes)
+void EventManager::insertHandlers(const QList<Handler>& newHandlers, QList<Handler>& existing, bool checkDupes)
// priority is ignored, and only the first (should be most specialized) filter is being used
// fun things could happen if you used the registerEventFilter() methods in the wrong order though
// priority is ignored, and only the first (should be most specialized) filter is being used
// fun things could happen if you used the registerEventFilter() methods in the wrong order though
-void EventManager::insertFilters(const QList<Handler> &newFilters, QHash<QObject *, Handler> &existing)
+void EventManager::insertFilters(const QList<Handler>& newFilters, QHash<QObject*, Handler>& existing)