1*4882a593Smuzhiyun /**************************************************************************** 2*4882a593Smuzhiyun ** 3*4882a593Smuzhiyun ** Copyright (C) 2016 The Qt Company Ltd. 4*4882a593Smuzhiyun ** Contact: https://www.qt.io/licensing/ 5*4882a593Smuzhiyun ** 6*4882a593Smuzhiyun ** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit. 7*4882a593Smuzhiyun ** 8*4882a593Smuzhiyun ** $QT_BEGIN_LICENSE:GPL$ 9*4882a593Smuzhiyun ** Commercial License Usage 10*4882a593Smuzhiyun ** Licensees holding valid commercial Qt licenses may use this file in 11*4882a593Smuzhiyun ** accordance with the commercial license agreement provided with the 12*4882a593Smuzhiyun ** Software or, alternatively, in accordance with the terms contained in 13*4882a593Smuzhiyun ** a written agreement between you and The Qt Company. For licensing terms 14*4882a593Smuzhiyun ** and conditions see https://www.qt.io/terms-conditions. For further 15*4882a593Smuzhiyun ** information use the contact form at https://www.qt.io/contact-us. 16*4882a593Smuzhiyun ** 17*4882a593Smuzhiyun ** GNU General Public License Usage 18*4882a593Smuzhiyun ** Alternatively, this file may be used under the terms of the GNU 19*4882a593Smuzhiyun ** General Public License version 3 or (at your option) any later version 20*4882a593Smuzhiyun ** approved by the KDE Free Qt Foundation. The licenses are as published by 21*4882a593Smuzhiyun ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22*4882a593Smuzhiyun ** included in the packaging of this file. Please review the following 23*4882a593Smuzhiyun ** information to ensure the GNU General Public License requirements will 24*4882a593Smuzhiyun ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25*4882a593Smuzhiyun ** 26*4882a593Smuzhiyun ** $QT_END_LICENSE$ 27*4882a593Smuzhiyun ** 28*4882a593Smuzhiyun ****************************************************************************/ 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun #ifndef T9WRITEINPUTMETHOD_H 31*4882a593Smuzhiyun #define T9WRITEINPUTMETHOD_H 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun #include "abstractinputmethod.h" 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun namespace QtVirtualKeyboard { 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun class T9WriteInputMethodPrivate; 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun class T9WriteInputMethod : public AbstractInputMethod 40*4882a593Smuzhiyun { 41*4882a593Smuzhiyun Q_OBJECT 42*4882a593Smuzhiyun Q_DECLARE_PRIVATE(T9WriteInputMethod) 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun public: 45*4882a593Smuzhiyun explicit T9WriteInputMethod(QObject *parent = 0); 46*4882a593Smuzhiyun ~T9WriteInputMethod(); 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun QList<InputEngine::InputMode> inputModes(const QString &locale); 49*4882a593Smuzhiyun bool setInputMode(const QString &locale, InputEngine::InputMode inputMode); 50*4882a593Smuzhiyun bool setTextCase(InputEngine::TextCase textCase); 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun bool keyEvent(Qt::Key key, const QString &text, Qt::KeyboardModifiers modifiers); 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun void reset(); 55*4882a593Smuzhiyun void update(); 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun QList<SelectionListModel::Type> selectionLists(); 58*4882a593Smuzhiyun int selectionListItemCount(SelectionListModel::Type type); 59*4882a593Smuzhiyun QVariant selectionListData(SelectionListModel::Type type, int index, int role); 60*4882a593Smuzhiyun void selectionListItemSelected(SelectionListModel::Type type, int index); 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun QList<InputEngine::PatternRecognitionMode> patternRecognitionModes() const; 63*4882a593Smuzhiyun Trace *traceBegin(int traceId, InputEngine::PatternRecognitionMode patternRecognitionMode, 64*4882a593Smuzhiyun const QVariantMap &traceCaptureDeviceInfo, const QVariantMap &traceScreenInfo); 65*4882a593Smuzhiyun bool traceEnd(Trace *trace); 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun bool reselect(int cursorPosition, const InputEngine::ReselectFlags &reselectFlags); 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun protected: 70*4882a593Smuzhiyun void timerEvent(QTimerEvent *timerEvent); 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun protected slots: 73*4882a593Smuzhiyun void dictionaryLoadCompleted(const QString &fileUri, void *dictionary); 74*4882a593Smuzhiyun void resultsAvailable(const QVariantList &resultList); 75*4882a593Smuzhiyun }; 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun } 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun #endif 80