Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qiosinputcontext.h
Go to the documentation of this file.
1// Copyright (C) 2020 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QIOSINPUTCONTEXT_H
6#define QIOSINPUTCONTEXT_H
7
8#include <UIKit/UIKit.h>
9
10#include <QtCore/qlocale.h>
11#include <QtGui/qevent.h>
12#include <QtGui/qtransform.h>
13#include <qpa/qplatforminputcontext.h>
14
15const char kImePlatformDataInputView[] = "inputView";
16const char kImePlatformDataInputAccessoryView[] = "inputAccessoryView";
17const char kImePlatformDataHideShortcutsBar[] = "hideShortcutsBar";
18const char kImePlatformDataReturnKeyType[] = "returnKeyType";
19
20@class QIOSLocaleListener;
21@class QIOSKeyboardListener;
22@class QIOSTextResponder;
23@protocol KeyboardState;
24
25QT_BEGIN_NAMESPACE
26
27struct KeyboardState
28{
29 KeyboardState() :
30 keyboardVisible(false), keyboardAnimating(false),
31 animationDuration(0), animationCurve(UIViewAnimationCurve(-1))
32 {}
33
34 bool keyboardVisible;
35 bool keyboardAnimating;
36 QRectF keyboardRect;
37 CGRect keyboardEndRect;
38 NSTimeInterval animationDuration;
39 UIViewAnimationCurve animationCurve;
40};
41
43{
44 ImeState() = default;
45 Qt::InputMethodQueries update(Qt::InputMethodQueries properties);
47 QObject *focusObject = nullptr;
48};
49
51{
52public:
55
56 bool isValid() const override { return true; }
57
60
62 bool isAnimating() const override;
63 QRectF keyboardRect() const override;
64
65 void update(Qt::InputMethodQueries) override;
68
69 QLocale locale() const override;
70
72
73 void setFocusObject(QObject *object) override;
74 void focusWindowChanged(QWindow *focusWindow);
75
77 void scroll(int y);
78
79 void updateKeyboardState(NSNotification *notification = nullptr);
80
81 const ImeState &imeState() { return m_imeState; }
82 const KeyboardState &keyboardState() { return m_keyboardState; }
83
84 bool inputMethodAccepted() const;
85
86 static QIOSInputContext *instance();
87
88private:
89 UIView* scrollableRootView();
90
91 QIOSLocaleListener *m_localeListener;
92 QIOSKeyboardListener *m_keyboardHideGesture;
93 QIOSTextResponder *m_textResponder;
94 KeyboardState m_keyboardState;
95 ImeState m_imeState;
96};
97
98QT_END_NAMESPACE
99
100#endif
void setFocusObject(QObject *object) override
This virtual method gets called to notify updated focus to object.
void clearCurrentFocusObject()
QRectF keyboardRect() const override
This function can be reimplemented to return virtual keyboard rectangle in currently active window co...
const KeyboardState & keyboardState()
void updateKeyboardState(NSNotification *notification=nullptr)
bool isValid() const override
Returns input context validity.
void scroll(int y)
static QIOSInputContext * instance()
QLocale locale() const override
void reset() override
Method to be called when input method needs to be reset.
const ImeState & imeState()
void commit() override
bool isAnimating() const override
This function can be reimplemented to return true whenever input method is animating shown or hidden.
void showInputPanel() override
Request to show input panel.
void focusWindowChanged(QWindow *focusWindow)
void hideInputPanel() override
Request to hide input panel.
bool isInputPanelVisible() const override
Returns input panel visibility status.
bool inputMethodAccepted() const
void update(Qt::InputMethodQueries) override
Notification on editor updates.
static QIOSIntegration * instance()
bool isQtApplication()
Definition qiosglobal.mm:21
#define qImDebug
Definition qiosglobal.h:21
const char kImePlatformDataReturnKeyType[]
const char kImePlatformDataInputAccessoryView[]
const char kImePlatformDataHideShortcutsBar[]
#define qPrintable(string)
Definition qstring.h:1685
connect(manager, &QNetworkAccessManager::finished, this, &MyClass::replyFinished)
Qt::InputMethodQueries update(Qt::InputMethodQueries properties)
QInputMethodQueryEvent currentState
ImeState()=default
QObject * focusObject