4#ifndef QQNXINPUTCONTEXT_H
5#define QQNXINPUTCONTEXT_H
7#include <qpa/qplatforminputcontext.h>
10#include <QtCore/QLocale>
11#include <QtCore/QMetaType>
12#include <QtCore/QList>
13#include <qpa/qplatformintegration.h>
15#include "imf/imf_client.h"
16#include "imf/input_control.h"
20class QQnxAbstractVirtualKeyboard;
45 bool handleKeyboardEvent(
int flags,
int sym,
int mod,
int scan,
int cap,
int sequenceId)
override;
57 static bool checkSpelling(
const QString &text,
void *context,
void (*spellCheckDone)(
void *context,
const QString &text,
const QList<
int> &indices));
61 void keyboardLocaleChanged(
const QLocale &locale);
66 bool dispatchFocusGainEvent(
int inputHints);
67 void dispatchFocusLossEvent();
68 bool dispatchRequestSoftwareInputPanel();
69 bool dispatchCloseSoftwareInputPanel();
70 int handleSpellCheck(spell_check_event_t *event);
71 int32_t processEvent(event_t *event);
76 void updateCursorPosition();
77 void endComposition();
78 void finishComposingText();
79 bool hasSelectedText();
80 void updateComposition(spannable_string_t *text, int32_t new_cursor_position);
83 int32_t onCommitText(spannable_string_t *text, int32_t new_cursor_position);
84 int32_t onDeleteSurroundingText(int32_t left_length, int32_t right_length);
85 int32_t onGetCursorCapsMode(int32_t req_modes);
86 int32_t onFinishComposingText();
87 int32_t onGetCursorPosition();
88 spannable_string_t *onGetTextAfterCursor(int32_t n, int32_t flags);
89 spannable_string_t *onGetTextBeforeCursor(int32_t n, int32_t flags);
90 int32_t onSendEvent(event_t *event);
91 int32_t onSetComposingRegion(int32_t start, int32_t end);
92 int32_t onSetComposingText(spannable_string_t *text, int32_t new_cursor_position);
93 int32_t onIsTextSelected(int32_t* pIsSelected);
94 int32_t onIsAllTextSelected(int32_t* pIsSelected);
95 int32_t onForceUpdate();
99 QString m_composingText;
100 bool m_isUpdatingText;
101 bool m_inputPanelVisible;
102 QLocale m_inputPanelLocale;
104 QObject *m_focusObject;
106 QColor m_highlightColor[3];
108 QQnxAbstractVirtualKeyboard &m_virtualKeyboard;
spannable_string_t * text
input_session_t * session
int32_t new_cursor_position
spannable_string_t * result
QQnxImfRequest(input_session_t *_session, ImfEventType _type)
bool handleKeyboardEvent(int flags, int sym, int mod, int scan, int cap, int sequenceId) override
void update(Qt::InputMethodQueries) override
Notification on editor updates.
bool isInputPanelVisible() const override
Returns input panel visibility status.
void reset() override
Method to be called when input method needs to be reset.
void hideInputPanel() override
Request to hide input panel.
static bool checkSpelling(const QString &text, void *context, void(*spellCheckDone)(void *context, const QString &text, const QList< int > &indices))
void setFocusObject(QObject *object) override
This virtual method gets called to notify updated focus to object.
QLocale locale() const override
bool isValid() const override
Returns input context validity.
bool filterEvent(const QEvent *event) override
This function can be reimplemented to filter input events.
QRectF keyboardRect() const override
This function can be reimplemented to return virtual keyboard rectangle in currently active window co...
void showInputPanel() override
Request to show input panel.
static void setHighlightColor(int index, const QColor &color)
QQnxScreen * primaryDisplay() const
static void injectKeyboardEvent(int flags, int sym, int mod, int scan, int cap)
Q_LOGGING_CATEGORY(lcEventDispatcher, "qt.eventdispatcher")
Q_GLOBAL_STATIC(QReadWriteLock, g_updateMutex)
static void(* p_imf_client_disconnect)()
static const input_session_t * sInputSession
static QQnxInputContext * sInputContextInstance
static bool imfAvailable()
static bool isSessionOkay(input_session_t *ic)
static spannable_string_t * toSpannableString(const QString &text)
static int adjustIndex(const QChar *text, int utf32Index, int utf16StartIndex, int *highSurrogateCount)
static bool s_imfInitFailed
static void initEvent(event_t *pEvent, const input_session_t *pSession, EventType eventType, int eventId, int eventSize)
static const input_session_t * sSpellCheckSession
static const input_session_t *(* p_ictrl_open_session)(connection_interface_t *)
static QColor sSelectedColor(0, 0xb8, 0, 85)
static void executeIMFRequest(QQnxImfRequest *event)
@ ImfDeleteSurroundingText
static void(* p_ictrl_close_session)(input_session_t *)
void(* spellCheckDone)(void *, const QString &, const QList< int > &)
SpellCheckInfo(void *_context, void(*_spellCheckDone)(void *, const QString &, const QList< int > &))