| /**************************************************************************** |
| ** |
| ** 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 QtDeclarative 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$ |
| ** |
| ****************************************************************************/ |
| |
| #include "private/qdeclarativeevents_p_p.h" |
| |
| QT_BEGIN_NAMESPACE |
| /*! |
| \qmlclass KeyEvent QDeclarativeKeyEvent |
| \since 4.7 |
| \ingroup qml-event-elements |
| |
| \brief The KeyEvent object provides information about a key event. |
| |
| For example, the following changes the Item's state property when the Enter |
| key is pressed: |
| \qml |
| Item { |
| focus: true |
| Keys.onPressed: { if (event.key == Qt.Key_Enter) state = 'ShowDetails'; } |
| } |
| \endqml |
| */ |
| |
| /*! |
| \qmlproperty int KeyEvent::key |
| |
| This property holds the code of the key that was pressed or released. |
| |
| See \l {Qt::Key}{Qt.Key} for the list of keyboard codes. These codes are |
| independent of the underlying window system. Note that this |
| function does not distinguish between capital and non-capital |
| letters, use the text() function (returning the Unicode text the |
| key generated) for this purpose. |
| |
| A value of either 0 or \l {Qt::Key_unknown}{Qt.Key_Unknown} means that the event is not |
| the result of a known key; for example, it may be the result of |
| a compose sequence, a keyboard macro, or due to key event |
| compression. |
| */ |
| |
| /*! |
| \qmlproperty string KeyEvent::text |
| |
| This property holds the Unicode text that the key generated. |
| The text returned can be an empty string in cases where modifier keys, |
| such as Shift, Control, Alt, and Meta, are being pressed or released. |
| In such cases \c key will contain a valid value |
| */ |
| |
| /*! |
| \qmlproperty bool KeyEvent::isAutoRepeat |
| |
| This property holds whether this event comes from an auto-repeating key. |
| */ |
| |
| /*! |
| \qmlproperty int KeyEvent::count |
| |
| This property holds the number of keys involved in this event. If \l KeyEvent::text |
| is not empty, this is simply the length of the string. |
| */ |
| |
| /*! |
| \qmlproperty bool KeyEvent::accepted |
| |
| Setting \a accepted to true prevents the key event from being |
| propagated to the item's parent. |
| |
| Generally, if the item acts on the key event then it should be accepted |
| so that ancestor items do not also respond to the same event. |
| */ |
| |
| /*! |
| \qmlproperty int KeyEvent::modifiers |
| |
| This property holds the keyboard modifier flags that existed immediately |
| before the event occurred. |
| |
| It contains a bitwise combination of: |
| \list |
| \o Qt.NoModifier - No modifier key is pressed. |
| \o Qt.ShiftModifier - A Shift key on the keyboard is pressed. |
| \o Qt.ControlModifier - A Ctrl key on the keyboard is pressed. |
| \o Qt.AltModifier - An Alt key on the keyboard is pressed. |
| \o Qt.MetaModifier - A Meta key on the keyboard is pressed. |
| \o Qt.KeypadModifier - A keypad button is pressed. |
| \endlist |
| |
| For example, to react to a Shift key + Enter key combination: |
| \qml |
| Item { |
| focus: true |
| Keys.onPressed: { |
| if ((event.key == Qt.Key_Enter) && (event.modifiers & Qt.ShiftModifier)) |
| doSomething(); |
| } |
| } |
| \endqml |
| */ |
| |
| |
| /*! |
| \qmlclass MouseEvent QDeclarativeMouseEvent |
| \since 4.7 |
| \ingroup qml-event-elements |
| |
| \brief The MouseEvent object provides information about a mouse event. |
| |
| The position of the mouse can be found via the \l x and \l y properties. |
| The button that caused the event is available via the \l button property. |
| |
| \sa MouseArea |
| */ |
| |
| /*! |
| \internal |
| \class QDeclarativeMouseEvent |
| */ |
| |
| /*! |
| \qmlproperty int MouseEvent::x |
| \qmlproperty int MouseEvent::y |
| |
| These properties hold the coordinates of the position supplied by the mouse event. |
| */ |
| |
| |
| /*! |
| \qmlproperty bool MouseEvent::accepted |
| |
| Setting \a accepted to true prevents the mouse event from being |
| propagated to items below this item. |
| |
| Generally, if the item acts on the mouse event then it should be accepted |
| so that items lower in the stacking order do not also respond to the same event. |
| */ |
| |
| /*! |
| \qmlproperty enumeration MouseEvent::button |
| |
| This property holds the button that caused the event. It can be one of: |
| \list |
| \o Qt.LeftButton |
| \o Qt.RightButton |
| \o Qt.MiddleButton |
| \endlist |
| */ |
| |
| /*! |
| \qmlproperty bool MouseEvent::wasHeld |
| |
| This property is true if the mouse button has been held pressed longer the |
| threshold (800ms). |
| */ |
| |
| /*! |
| \qmlproperty int MouseEvent::buttons |
| |
| This property holds the mouse buttons pressed when the event was generated. |
| For mouse move events, this is all buttons that are pressed down. For mouse |
| press and double click events this includes the button that caused the event. |
| For mouse release events this excludes the button that caused the event. |
| |
| It contains a bitwise combination of: |
| \list |
| \o Qt.LeftButton |
| \o Qt.RightButton |
| \o Qt.MiddleButton |
| \endlist |
| */ |
| |
| /*! |
| \qmlproperty int MouseEvent::modifiers |
| |
| This property holds the keyboard modifier flags that existed immediately |
| before the event occurred. |
| |
| It contains a bitwise combination of: |
| \list |
| \o Qt.NoModifier - No modifier key is pressed. |
| \o Qt.ShiftModifier - A Shift key on the keyboard is pressed. |
| \o Qt.ControlModifier - A Ctrl key on the keyboard is pressed. |
| \o Qt.AltModifier - An Alt key on the keyboard is pressed. |
| \o Qt.MetaModifier - A Meta key on the keyboard is pressed. |
| \o Qt.KeypadModifier - A keypad button is pressed. |
| \endlist |
| |
| For example, to react to a Shift key + Left mouse button click: |
| \qml |
| MouseArea { |
| onClicked: { |
| if ((mouse.button == Qt.LeftButton) && (mouse.modifiers & Qt.ShiftModifier)) |
| doSomething(); |
| } |
| } |
| \endqml |
| */ |
| |
| QT_END_NAMESPACE |