qcoreevent.h
上传用户:detong
上传日期:2022-06-22
资源大小:20675k
文件大小:15k
- /****************************************************************************
- **
- ** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
- ** Contact: Qt Software Information (qt-info@nokia.com)
- **
- ** This file is part of the QtCore module of the Qt Toolkit.
- **
- ** Commercial Usage
- ** Licensees holding valid Qt Commercial licenses may use this file in
- ** accordance with the Qt Commercial License Agreement provided with the
- ** Software or, alternatively, in accordance with the terms contained in
- ** a written agreement between you and Nokia.
- **
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License versions 2.0 or 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 GNU General Public Licensing requirements will be met:
- ** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
- ** http://www.gnu.org/copyleft/gpl.html. In addition, as a special
- ** exception, Nokia gives you certain additional rights. These rights
- ** are described in the Nokia Qt GPL Exception version 1.3, included in
- ** the file GPL_EXCEPTION.txt in this package.
- **
- ** Qt for Windows(R) Licensees
- ** As a special exception, Nokia, as the sole copyright holder for Qt
- ** Designer, grants users of the Qt/Eclipse Integration plug-in the
- ** right for the Qt/Eclipse Integration to link to functionality
- ** provided by Qt Designer and its related libraries.
- **
- ** If you are unsure which license is appropriate for your use, please
- ** contact the sales department at qt-sales@nokia.com.
- **
- ****************************************************************************/
- #ifndef QCOREEVENT_H
- #define QCOREEVENT_H
- #include <QtCore/qnamespace.h>
- #include <QtCore/qbytearray.h>
- QT_BEGIN_HEADER
- QT_BEGIN_NAMESPACE
- QT_MODULE(Core)
- class QEventPrivate;
- class Q_CORE_EXPORT QEvent // event base class
- {
- QDOC_PROPERTY(bool accepted READ isAccepted WRITE setAccepted)
- 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,
- 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;
- };
- 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