src/gui/kernel/qevent.cpp File Reference

#include "qevent.h"
#include "qcursor.h"
#include "qapplication.h"
#include "private/qapplication_p.h"
#include "private/qkeysequence_p.h"
#include "qwidget.h"
#include "qdebug.h"
#include "qmime.h"
#include "qdnd_p.h"
#include "qevent_p.h"

Include dependency graph for qevent.cpp:

Go to the source code of this file.

Functions

QDebug operator<< (QDebug dbg, const QEvent *e)


Function Documentation

QDebug operator<< ( QDebug  dbg,
const QEvent e 
)

Definition at line 2950 of file qevent.cpp.

02950                                                {
02951 #ifndef Q_BROKEN_DEBUG_STREAM
02952     // More useful event output could be added here
02953     if (!e)
02954         return dbg << "QEvent(this = 0x0)";
02955     const char *n = 0;
02956     switch (e->type()) {
02957     case QEvent::Timer:
02958         n = "Timer";
02959         break;
02960     case QEvent::MouseButtonPress:
02961     case QEvent::MouseMove:
02962     case QEvent::MouseButtonRelease:
02963     case QEvent::MouseButtonDblClick:
02964     {
02965         const QMouseEvent *me = static_cast<const QMouseEvent*>(e);
02966         switch(me->type()) {
02967         case QEvent::MouseButtonPress:
02968             n = "MouseButtonPress";
02969             break;
02970         case QEvent::MouseMove:
02971             n = "MouseMove";
02972             break;
02973         case QEvent::MouseButtonRelease:
02974             n = "MouseButtonRelease";
02975             break;
02976         case QEvent::MouseButtonDblClick:
02977         default:
02978             n = "MouseButtonDblClick";
02979             break;
02980         }
02981         dbg.nospace() << "QMouseEvent("  << n
02982                       << ", " << me->button()
02983                       << ", " << hex << (int)me->buttons()
02984                       << ", " << hex << (int)me->modifiers()
02985                       << ")";
02986     }
02987     return dbg.space();
02988 
02989 #ifndef QT_NO_TOOLTIP
02990     case QEvent::ToolTip:
02991         n = "ToolTip";
02992         break;
02993 #endif
02994     case QEvent::WindowActivate:
02995         n = "WindowActivate";
02996         break;
02997     case QEvent::WindowDeactivate:
02998         n = "WindowDeactivate";
02999         break;
03000     case QEvent::ActivationChange:
03001         n = "ActivationChange";
03002         break;
03003 #ifndef QT_NO_WHEELEVENT
03004     case QEvent::Wheel:
03005         dbg.nospace() << "QWheelEvent("  << static_cast<const QWheelEvent *>(e)->delta()
03006                       << ")";
03007         return dbg.space();
03008 #endif
03009     case QEvent::KeyPress:
03010     case QEvent::KeyRelease:
03011     case QEvent::ShortcutOverride:
03012         {
03013             const QKeyEvent *ke = static_cast<const QKeyEvent*>(e);
03014             switch(ke->type()) {
03015             case QEvent::ShortcutOverride:
03016                 n = "ShortcutOverride";
03017                 break;
03018             case QEvent::KeyRelease:
03019                 n = "KeyRelease";
03020                 break;
03021             case QEvent::KeyPress:
03022             default:
03023                 n = "KeyPress";
03024                 break;
03025             }
03026             dbg.nospace() << "QKeyEvent("  << n
03027                           << ", " << hex << ke->key()
03028                           << ", " << hex << (int)ke->modifiers()
03029                           << ", \"" << ke->text()
03030                           << "\", " << ke->isAutoRepeat()
03031                           << ", " << ke->count()
03032                           << ")";
03033         }
03034         return dbg.space();
03035     case QEvent::FocusIn:
03036         n = "FocusIn";
03037         break;
03038     case QEvent::FocusOut:
03039         n = "FocusOut";
03040         break;
03041     case QEvent::Enter:
03042         n = "Enter";
03043         break;
03044     case QEvent::Leave:
03045         n = "Leave";
03046         break;
03047     case QEvent::Paint:
03048         n = "Paint";
03049         break;
03050     case QEvent::Move:
03051         n = "Move";
03052         break;
03053     case QEvent::Resize:
03054         n = "Resize";
03055         break;
03056     case QEvent::Create:
03057         n = "Create";
03058         break;
03059     case QEvent::Destroy:
03060         n = "Destroy";
03061         break;
03062     case QEvent::Close:
03063         n = "Close";
03064         break;
03065     case QEvent::Quit:
03066         n = "Quit";
03067         break;
03068     case QEvent::FileOpen:
03069         n = "FileOpen";
03070         break;
03071 #ifdef QT3_SUPPORT
03072     case QEvent::ChildInserted: n = "ChildInserted";
03073 #endif
03074     case QEvent::ChildAdded: n = n ? n : "ChildAdded";
03075     case QEvent::ChildPolished: n = n ? n : "ChildPolished";
03076     case QEvent::ChildRemoved: n = n ? n : "ChildRemoved";
03077         dbg.nospace() << "QChildEvent(" << n << ", " << (static_cast<const QChildEvent*>(e))->child();
03078         return dbg.space();
03079     default:
03080         dbg.nospace() << "QEvent(" << (const void *)e << ", type = " << e->type() << ')';
03081         return dbg.space();
03082     }
03083 
03084     dbg.nospace() << 'Q' << n << "Event(" << (const void *)e << ')';
03085     return dbg.space();
03086 #else
03087     qWarning("This compiler doesn't support streaming QEvent to QDebug");
03088     return dbg;
03089     Q_UNUSED(e);
03090 #endif
03091 }


Generated on Thu Mar 15 13:26:37 2007 for Qt 4.2 User's Guide by  doxygen 1.5.1