7 #include "inputmethodengine.h" 16 if (
auto *this2 = dynamic_cast<InputMethodEngineV2 *>(
this)) {
17 return this2->subModeIconImpl(entry, ic);
24 if (
auto *this2 = dynamic_cast<InputMethodEngineV2 *>(
this)) {
25 return this2->subModeLabelImpl(entry, ic);
32 if (
auto *this4 = dynamic_cast<InputMethodEngineV4 *>(
this)) {
33 this4->virtualKeyboardEventImpl(entry, virtualKeyboardEvent);
34 }
else if (
auto virtualKeyEvent = virtualKeyboardEvent.toKeyEvent()) {
37 if (virtualKeyEvent->accepted()) {
38 virtualKeyboardEvent.accept();
39 }
else if (!virtualKeyboardEvent.text().empty()) {
41 virtualKeyboardEvent.text());
47 auto ic =
event.inputContext();
48 auto commit = ic->inputPanel().clientPreedit().toStringForCommit();
49 if (!commit.empty()) {
50 ic->commitString(commit);
59 if (
auto *this3 = dynamic_cast<InputMethodEngineV3 *>(
this)) {
60 return this3->invokeActionImpl(entry, event);
62 defaultInvokeActionBehavior(event);
78 defaultInvokeActionBehavior(event);
83 throw std::logic_error(
"Not implemented virtualKeyboardEventImpl");
An input context represents a client of Fcitx.
void commitString(const std::string &text)
Commit a string to the client.