mirror of
https://github.com/wxWidgets/wxWidgets.git
synced 2026-10-06 07:00:16 +08:00
Implement native pre-edit handling for wxGTK and Cocoa using Scintilla's tentative input support. Use a private text input client bridge to complete Cocoa NSTextInputClient and support GTK pre-edit callbacks without changing the public API or existing class ABI. Inline composition is now the default on GTK and Cocoa, existing code may call SetIMEInteraction(wxSTC_IME_WINDOWED) to retain the previous behaviour. While composition is active under wxGTK, the IM context is given first access to key events, as keys such as Enter and Backspace confirm or edit the pre-edit text and must not be handled as normal key events. Rolling the pre-edit text back relies on tentative undo actions being recorded, so windowed interaction is used while undo collection is disabled. Document platform defaults and add regression tests for composition, UTF-16 ranges, replacement ranges, virtual space, undo, and mode switching. Closes #26228. Closes #26757.