/**************************************************************************** | |
** | |
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). | |
** All rights reserved. | |
** Contact: Nokia Corporation (qt-info@nokia.com) | |
** | |
** This file is part of the QtCore module of the Qt Toolkit. | |
** | |
** $QT_BEGIN_LICENSE:LGPL$ | |
** GNU Lesser General Public License Usage | |
** This file may be used under the terms of the GNU Lesser General Public | |
** License version 2.1 as published by the Free Software Foundation and | |
** appearing in the file LICENSE.LGPL included in the packaging of this | |
** file. Please review the following information to ensure the GNU Lesser | |
** General Public License version 2.1 requirements will be met: | |
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | |
** | |
** In addition, as a special exception, Nokia gives you certain additional | |
** rights. These rights are described in the Nokia Qt LGPL Exception | |
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | |
** | |
** GNU General Public License Usage | |
** Alternatively, this file may be used under the terms of the GNU General | |
** Public License version 3.0 as published by the Free Software Foundation | |
** and appearing in the file LICENSE.GPL included in the packaging of this | |
** file. Please review the following information to ensure the GNU General | |
** Public License version 3.0 requirements will be met: | |
** http://www.gnu.org/copyleft/gpl.html. | |
** | |
** Other Usage | |
** Alternatively, this file may be used in accordance with the terms and | |
** conditions contained in a signed written agreement between you and Nokia. | |
** | |
** | |
** | |
** | |
** | |
** $QT_END_LICENSE$ | |
** | |
****************************************************************************/ | |
#ifndef QCOREEVENT_H | |
#define QCOREEVENT_H | |
#include <QtCore/qnamespace.h> | |
#include <QtCore/qbytearray.h> | |
#include <QtCore/qobjectdefs.h> | |
QT_BEGIN_HEADER | |
QT_BEGIN_NAMESPACE | |
QT_MODULE(Core) | |
class QEventPrivate; | |
class Q_CORE_EXPORT QEvent // event base class | |
{ | |
Q_GADGET | |
QDOC_PROPERTY(bool accepted READ isAccepted WRITE setAccepted) | |
Q_ENUMS(Type) | |
public: | |
enum Type { | |
/* | |
If you get a strange compiler error on the line with None, | |
it's probably because you're also including X11 headers, | |
which #define the symbol None. Put the X11 includes after | |
the Qt includes to solve this problem. | |
*/ | |
None = 0, // invalid event | |
Timer = 1, // timer event | |
MouseButtonPress = 2, // mouse button pressed | |
MouseButtonRelease = 3, // mouse button released | |
MouseButtonDblClick = 4, // mouse button double click | |
MouseMove = 5, // mouse move | |
KeyPress = 6, // key pressed | |
KeyRelease = 7, // key released | |
FocusIn = 8, // keyboard focus received | |
FocusOut = 9, // keyboard focus lost | |
Enter = 10, // mouse enters widget | |
Leave = 11, // mouse leaves widget | |
Paint = 12, // paint widget | |
Move = 13, // move widget | |
Resize = 14, // resize widget | |
Create = 15, // after widget creation | |
Destroy = 16, // during widget destruction | |
Show = 17, // widget is shown | |
Hide = 18, // widget is hidden | |
Close = 19, // request to close widget | |
Quit = 20, // request to quit application | |
ParentChange = 21, // widget has been reparented | |
ParentAboutToChange = 131, // sent just before the parent change is done | |
#ifdef QT3_SUPPORT | |
Reparent = ParentChange, | |
#endif | |
ThreadChange = 22, // object has changed threads | |
WindowActivate = 24, // window was activated | |
WindowDeactivate = 25, // window was deactivated | |
ShowToParent = 26, // widget is shown to parent | |
HideToParent = 27, // widget is hidden to parent | |
Wheel = 31, // wheel event | |
WindowTitleChange = 33, // window title changed | |
WindowIconChange = 34, // icon changed | |
ApplicationWindowIconChange = 35, // application icon changed | |
ApplicationFontChange = 36, // application font changed | |
ApplicationLayoutDirectionChange = 37, // application layout direction changed | |
ApplicationPaletteChange = 38, // application palette changed | |
PaletteChange = 39, // widget palette changed | |
Clipboard = 40, // internal clipboard event | |
Speech = 42, // reserved for speech input | |
MetaCall = 43, // meta call event | |
SockAct = 50, // socket activation | |
WinEventAct = 132, // win event activation | |
DeferredDelete = 52, // deferred delete event | |
DragEnter = 60, // drag moves into widget | |
DragMove = 61, // drag moves in widget | |
DragLeave = 62, // drag leaves or is cancelled | |
Drop = 63, // actual drop | |
DragResponse = 64, // drag accepted/rejected | |
ChildAdded = 68, // new child widget | |
ChildPolished = 69, // polished child widget | |
#ifdef QT3_SUPPORT | |
ChildInsertedRequest = 67, // send ChildInserted compatibility events to receiver | |
ChildInserted = 70, // compatibility child inserted | |
LayoutHint = 72, // compatibility relayout request | |
#endif | |
ChildRemoved = 71, // deleted child widget | |
ShowWindowRequest = 73, // widget's window should be mapped | |
PolishRequest = 74, // widget should be polished | |
Polish = 75, // widget is polished | |
LayoutRequest = 76, // widget should be relayouted | |
UpdateRequest = 77, // widget should be repainted | |
UpdateLater = 78, // request update() later | |
EmbeddingControl = 79, // ActiveX embedding | |
ActivateControl = 80, // ActiveX activation | |
DeactivateControl = 81, // ActiveX deactivation | |
ContextMenu = 82, // context popup menu | |
InputMethod = 83, // input method | |
AccessibilityPrepare = 86, // accessibility information is requested | |
TabletMove = 87, // Wacom tablet event | |
LocaleChange = 88, // the system locale changed | |
LanguageChange = 89, // the application language changed | |
LayoutDirectionChange = 90, // the layout direction changed | |
Style = 91, // internal style event | |
TabletPress = 92, // tablet press | |
TabletRelease = 93, // tablet release | |
OkRequest = 94, // CE (Ok) button pressed | |
HelpRequest = 95, // CE (?) button pressed | |
IconDrag = 96, // proxy icon dragged | |
FontChange = 97, // font has changed | |
EnabledChange = 98, // enabled state has changed | |
ActivationChange = 99, // window activation has changed | |
StyleChange = 100, // style has changed | |
IconTextChange = 101, // icon text has changed | |
ModifiedChange = 102, // modified state has changed | |
MouseTrackingChange = 109, // mouse tracking state has changed | |
WindowBlocked = 103, // window is about to be blocked modally | |
WindowUnblocked = 104, // windows modal blocking has ended | |
WindowStateChange = 105, | |
ToolTip = 110, | |
WhatsThis = 111, | |
StatusTip = 112, | |
ActionChanged = 113, | |
ActionAdded = 114, | |
ActionRemoved = 115, | |
FileOpen = 116, // file open request | |
Shortcut = 117, // shortcut triggered | |
ShortcutOverride = 51, // shortcut override request | |
#ifdef QT3_SUPPORT | |
Accel = 30, // accelerator event | |
AccelAvailable = 32, // accelerator available event | |
AccelOverride = ShortcutOverride, // accelerator override event | |
#endif | |
WhatsThisClicked = 118, | |
#ifdef QT3_SUPPORT | |
CaptionChange = WindowTitleChange, | |
IconChange = WindowIconChange, | |
#endif | |
ToolBarChange = 120, // toolbar visibility toggled | |
ApplicationActivate = 121, // application has been changed to active | |
ApplicationActivated = ApplicationActivate, // deprecated | |
ApplicationDeactivate = 122, // application has been changed to inactive | |
ApplicationDeactivated = ApplicationDeactivate, // deprecated | |
QueryWhatsThis = 123, // query what's this widget help | |
EnterWhatsThisMode = 124, | |
LeaveWhatsThisMode = 125, | |
ZOrderChange = 126, // child widget has had its z-order changed | |
HoverEnter = 127, // mouse cursor enters a hover widget | |
HoverLeave = 128, // mouse cursor leaves a hover widget | |
HoverMove = 129, // mouse cursor move inside a hover widget | |
AccessibilityHelp = 119, // accessibility help text request | |
AccessibilityDescription = 130, // accessibility description text request | |
// last event id used = 132 | |
#ifdef QT_KEYPAD_NAVIGATION | |
EnterEditFocus = 150, // enter edit mode in keypad navigation | |
LeaveEditFocus = 151, // enter edit mode in keypad navigation | |
#endif | |
AcceptDropsChange = 152, | |
MenubarUpdated = 153, // Support event for Q3MainWindow, which needs to | |
// knwow when QMenubar is updated. | |
ZeroTimerEvent = 154, // Used for Windows Zero timer events | |
GraphicsSceneMouseMove = 155, // GraphicsView | |
GraphicsSceneMousePress = 156, | |
GraphicsSceneMouseRelease = 157, | |
GraphicsSceneMouseDoubleClick = 158, | |
GraphicsSceneContextMenu = 159, | |
GraphicsSceneHoverEnter = 160, | |
GraphicsSceneHoverMove = 161, | |
GraphicsSceneHoverLeave = 162, | |
GraphicsSceneHelp = 163, | |
GraphicsSceneDragEnter = 164, | |
GraphicsSceneDragMove = 165, | |
GraphicsSceneDragLeave = 166, | |
GraphicsSceneDrop = 167, | |
GraphicsSceneWheel = 168, | |
KeyboardLayoutChange = 169, // keyboard layout changed | |
DynamicPropertyChange = 170, // A dynamic property was changed through setProperty/property | |
TabletEnterProximity = 171, | |
TabletLeaveProximity = 172, | |
NonClientAreaMouseMove = 173, | |
NonClientAreaMouseButtonPress = 174, | |
NonClientAreaMouseButtonRelease = 175, | |
NonClientAreaMouseButtonDblClick = 176, | |
MacSizeChange = 177, // when the Qt::WA_Mac{Normal,Small,Mini}Size changes | |
ContentsRectChange = 178, // sent by QWidget::setContentsMargins (internal) | |
MacGLWindowChange = 179, // Internal! the window of the GLWidget has changed | |
FutureCallOut = 180, | |
GraphicsSceneResize = 181, | |
GraphicsSceneMove = 182, | |
CursorChange = 183, | |
ToolTipChange = 184, | |
NetworkReplyUpdated = 185, // Internal for QNetworkReply | |
GrabMouse = 186, | |
UngrabMouse = 187, | |
GrabKeyboard = 188, | |
UngrabKeyboard = 189, | |
MacGLClearDrawable = 191, // Internal Cocoa, the window has changed, so we must clear | |
StateMachineSignal = 192, | |
StateMachineWrapped = 193, | |
TouchBegin = 194, | |
TouchUpdate = 195, | |
TouchEnd = 196, | |
#ifndef QT_NO_GESTURES | |
NativeGesture = 197, // Internal for platform gesture support | |
#endif | |
RequestSoftwareInputPanel = 199, | |
CloseSoftwareInputPanel = 200, | |
UpdateSoftKeys = 201, // Internal for compressing soft key updates | |
WinIdChange = 203, | |
#ifndef QT_NO_GESTURES | |
Gesture = 198, | |
GestureOverride = 202, | |
#endif | |
// 512 reserved for Qt Jambi's MetaCall event | |
// 513 reserved for Qt Jambi's DeleteOnMainThread event | |
User = 1000, // first user event id | |
MaxUser = 65535 // last user event id | |
}; | |
QEvent(Type type); | |
virtual ~QEvent(); | |
inline Type type() const { return static_cast<Type>(t); } | |
inline bool spontaneous() const { return spont; } | |
inline void setAccepted(bool accepted) { m_accept = accepted; } | |
inline bool isAccepted() const { return m_accept; } | |
inline void accept() { m_accept = true; } | |
inline void ignore() { m_accept = false; } | |
static int registerEventType(int hint = -1); | |
protected: | |
QEventPrivate *d; | |
ushort t; | |
private: | |
ushort posted : 1; | |
ushort spont : 1; | |
ushort m_accept : 1; | |
ushort reserved : 13; | |
friend class QCoreApplication; | |
friend class QCoreApplicationPrivate; | |
friend class QThreadData; | |
friend class QApplication; | |
friend class QApplicationPrivate; | |
friend class Q3AccelManager; | |
friend class QShortcutMap; | |
friend class QETWidget; | |
friend class QGraphicsView; | |
friend class QGraphicsViewPrivate; | |
friend class QGraphicsScenePrivate; | |
#ifndef QT_NO_GESTURES | |
friend class QGestureManager; | |
#endif | |
}; | |
class Q_CORE_EXPORT QTimerEvent : public QEvent | |
{ | |
public: | |
QTimerEvent( int timerId ); | |
~QTimerEvent(); | |
int timerId() const { return id; } | |
protected: | |
int id; | |
}; | |
class QObject; | |
class Q_CORE_EXPORT QChildEvent : public QEvent | |
{ | |
public: | |
QChildEvent( Type type, QObject *child ); | |
~QChildEvent(); | |
QObject *child() const { return c; } | |
bool added() const { return type() == ChildAdded; } | |
#ifdef QT3_SUPPORT | |
QT3_SUPPORT bool inserted() const { return type() == ChildInserted; } | |
#endif | |
bool polished() const { return type() == ChildPolished; } | |
bool removed() const { return type() == ChildRemoved; } | |
protected: | |
QObject *c; | |
}; | |
#ifdef QT3_SUPPORT | |
class Q_CORE_EXPORT QCustomEvent : public QEvent | |
{ | |
public: | |
QT3_SUPPORT_CONSTRUCTOR QCustomEvent(int type, void *data = 0); | |
~QCustomEvent(); | |
QT3_SUPPORT void *data() const { return d; } | |
QT3_SUPPORT void setData(void* aData) { d = reinterpret_cast<QEventPrivate *>(aData); } | |
}; | |
#endif | |
class Q_CORE_EXPORT QDynamicPropertyChangeEvent : public QEvent | |
{ | |
public: | |
QDynamicPropertyChangeEvent(const QByteArray &name); | |
~QDynamicPropertyChangeEvent(); | |
inline QByteArray propertyName() const { return n; } | |
private: | |
QByteArray n; | |
}; | |
QT_END_NAMESPACE | |
QT_END_HEADER | |
#endif // QCOREEVENT_H |