summaryrefslogtreecommitdiffstats
path: root/src/input
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire.ecortex@kdab.com>2014-11-10 08:07:54 +0100
committerSean Harmer <sean.harmer@kdab.com>2014-11-14 17:44:55 +0100
commit06a2e44dd2a7809edc5b259d9bd426ea8cc89dad (patch)
tree7b8b975878c579cb0e2f535c3068540e6c6ac7b5 /src/input
parent83d939fe6a40b1a74e21b629ccc48eb81ee5736e (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.cpp16
-rw-r--r--src/input/qkeyboardinput.h4
-rw-r--r--src/input/qkeyboardinput_p.h1
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