aboutsummaryrefslogtreecommitdiffstats
path: root/src/virtualkeyboard/abstractinputmethod.h
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@digia.com>2014-01-27 14:06:59 +0100
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2014-01-28 14:50:17 +0200
commit9778eb24c145ce24c80ca753ea3526e104e9aa91 (patch)
tree988e487da09aee27157dd23ac6c4e7673603bd63 /src/virtualkeyboard/abstractinputmethod.h
parent631db7a021c80949b122311e5f38203989319743 (diff)
Restructure and rename.
This restructures the repo to match other Qt modules, like the Enterprise Controls. It also renames the plugin and usages of its name in the documentation so that the abbreviated "VKB" is not used anywhere. Change-Id: I5de3fc67846a50438e52f4be057abfa0d9be0d91 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Diffstat (limited to 'src/virtualkeyboard/abstractinputmethod.h')
-rw-r--r--src/virtualkeyboard/abstractinputmethod.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/src/virtualkeyboard/abstractinputmethod.h b/src/virtualkeyboard/abstractinputmethod.h
new file mode 100644
index 00000000..8ea91559
--- /dev/null
+++ b/src/virtualkeyboard/abstractinputmethod.h
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc
+** All rights reserved.
+** For any questions to Digia, please use contact form at http://qt.digia.com
+**
+** This file is part of the Qt Quick Enterprise Controls add-on.
+**
+** Licensees holding valid Qt Enterprise licenses may use this file in
+** accordance with the Qt Enterprise License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia.
+**
+** If you have questions regarding the use of this file, please use
+** contact form at http://qt.digia.com
+**
+****************************************************************************/
+
+#ifndef ABSTRACTINPUTMETHOD_H
+#define ABSTRACTINPUTMETHOD_H
+
+#include "declarativeinputengine.h"
+#include "declarativeselectionlistmodel.h"
+
+class AbstractInputMethodPrivate
+{
+public:
+ virtual ~AbstractInputMethodPrivate() {}
+ DeclarativeInputEngine *inputEngine;
+};
+
+class AbstractInputMethod : public QObject
+{
+ Q_OBJECT
+ Q_DECLARE_PRIVATE(AbstractInputMethod)
+ Q_PROPERTY(QString className READ className CONSTANT)
+
+protected:
+ AbstractInputMethod(AbstractInputMethodPrivate *d_ptr, QObject *parent = 0);
+public:
+ explicit AbstractInputMethod(QObject *parent = 0);
+ ~AbstractInputMethod();
+
+ QString className() const;
+ DeclarativeInputContext *inputContext() const;
+ DeclarativeInputEngine *inputEngine() const;
+
+ virtual QList<DeclarativeInputEngine::InputMode> inputModes(const QString &locale) = 0;
+ virtual bool setInputMode(const QString &locale, DeclarativeInputEngine::InputMode inputMode) = 0;
+ virtual bool setTextCase(DeclarativeInputEngine::TextCase textCase) = 0;
+
+ virtual bool keyEvent(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers) = 0;
+
+ virtual QList<DeclarativeSelectionListModel::Type> selectionLists();
+ virtual int selectionListItemCount(DeclarativeSelectionListModel::Type type);
+ virtual QVariant selectionListData(DeclarativeSelectionListModel::Type type, int index, int role);
+ virtual void selectionListItemSelected(DeclarativeSelectionListModel::Type type, int index);
+
+signals:
+ void selectionListChanged(int type);
+ void selectionListActiveItemChanged(int type, int index);
+
+public slots:
+ virtual void reset();
+ virtual void update();
+
+private:
+ void setInputEngine(DeclarativeInputEngine *inputEngine);
+
+ friend class DeclarativeInputEngine;
+
+protected:
+ QScopedPointer<AbstractInputMethodPrivate> d_ptr;
+};
+
+#endif