diff options
author | Paul Lemire <paul.lemire.ecortex@kdab.com> | 2014-11-10 08:07:54 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2014-11-14 17:44:55 +0100 |
commit | 06a2e44dd2a7809edc5b259d9bd426ea8cc89dad (patch) | |
tree | 7b8b975878c579cb0e2f535c3068540e6c6ac7b5 /src/input | |
parent | 83d939fe6a40b1a74e21b629ccc48eb81ee5736e (diff) |
QKeyboardInput: add focus property
Like Item focus in QtQuick the goal is to change the current QKeyboardInput
focus for a given QKeyboardController when focus is set to true. Only a single
QKeyboardInput for a given QKeyboardController can have its focus set to true
at a given time. Setting focus to true should requests a focus change to the
backend.
Change-Id: Idaa42192076a6b67221fb112deb53642bfc2dd93
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/input')
-rw-r--r-- | src/input/qkeyboardinput.cpp | 16 | ||||
-rw-r--r-- | src/input/qkeyboardinput.h | 4 | ||||
-rw-r--r-- | src/input/qkeyboardinput_p.h | 1 |
3 files changed, 21 insertions, 0 deletions
diff --git a/src/input/qkeyboardinput.cpp b/src/input/qkeyboardinput.cpp index 1fc36f84c..9a531c77f 100644 --- a/src/input/qkeyboardinput.cpp +++ b/src/input/qkeyboardinput.cpp @@ -50,6 +50,7 @@ namespace Qt3D { QKeyboardInputPrivate::QKeyboardInputPrivate(QKeyboardInput *qq) : QComponentPrivate(qq) , m_controller(Q_NULLPTR) + , m_focus(false) { } @@ -87,6 +88,21 @@ QKeyboardController *QKeyboardInput::controller() const return d->m_controller; } +bool QKeyboardInput::focus() const +{ + Q_D(const QKeyboardInput); + return d->m_focus; +} + +void QKeyboardInput::setFocus(bool focus) +{ + Q_D(QKeyboardInput); + if (d->m_focus != focus) { + d->m_focus = focus; + emit focusChanged(); + } +} + } // Qt3D QT_END_NAMESPACE diff --git a/src/input/qkeyboardinput.h b/src/input/qkeyboardinput.h index a6786fe71..b788a0d54 100644 --- a/src/input/qkeyboardinput.h +++ b/src/input/qkeyboardinput.h @@ -56,14 +56,18 @@ class QT3DINPUTSHARED_EXPORT QKeyboardInput : public QComponent { Q_OBJECT Q_PROPERTY(Qt3D::QKeyboardController *controller READ controller WRITE setController NOTIFY controllerChanged) + Q_PROPERTY(bool focus READ focus WRITE setFocus NOTIFY focusChanged) public: explicit QKeyboardInput(QNode *parent = 0); void setController(QKeyboardController *controller); QKeyboardController *controller() const; + bool focus() const; + void setFocus(bool focus); Q_SIGNALS: void controllerChanged(); + void focusChanged(); protected: QKeyboardInput(QKeyboardInputPrivate &dd, QNode *parent = 0); diff --git a/src/input/qkeyboardinput_p.h b/src/input/qkeyboardinput_p.h index af0183480..b97150827 100644 --- a/src/input/qkeyboardinput_p.h +++ b/src/input/qkeyboardinput_p.h @@ -58,6 +58,7 @@ public: Q_DECLARE_PUBLIC(QKeyboardInput) QKeyboardController *m_controller; + bool m_focus; }; } // Qt3D |