Proof of Concept: Replace Scintilla WX platform by Scintilla's own integration with native toolkits (PR #26277)

20 views
Skip to first unread message

filip-hejsek

unread,
Mar 7, 2026, 10:04:08 AMMar 7
to wx-...@googlegroups.com, Subscribed

The goal of this PR is to be able to make use all features and bugfixes implemented in Scintilla upstream. In particular, this fixes IME support, which is currently completely missing from the WX platform on everything except wxMSW (#26228).

This isn't even close to being mergeable yet, the biggest issue being that some functionallity has been removed, and I also need to figure out how to organize the platform specific code. However, it's enough to run the STC sample on wxGTK when built with CMake.

Although I haven't implemented this so far, my goal is to keep the current WX platform around for now so that a) it's possible to merge the wxGTK implementation before other platforms are implemented, and b) the implementation can be selected with a build flag (e.g. for testing before making it the default).


You can view, comment on, or merge this pull request online at:

  https://github.com/wxWidgets/wxWidgets/pull/26277

Commit Summary

  • 60bbf70 Replace strncpy with wxStrlcpy in wxSTC
  • a977b7a Remove duplicate line in src/stc/gen_iface.py
  • c7f8d59 Use wxScopedCharBuffer instead of wxCharBuffer in wxSTC Direct2D code
  • 97d2bf8 HACK: Temporarily remove wxSTC DND
  • 088064d HACK: Temporarily stub out parts of wxSTC
  • eeddfa9 Remove Scintilla WX platform bits from stc.cpp and stc.h
  • aa02f62 Build Scintilla's GTK platform
  • 424783e Move Scintilla WX platform specific bits from stc.cpp to stc_wx.cpp
  • d2fdfde HACK: Don't build Scintilla WX platform
  • fb7b004 Add wxSTC implementation that uses Scintilla GTK platform
  • e01ce6b Remove wxStyledTextCtrl::MSWWindowProc
  • cd1ae52 HACK: Make NotifyChange and NotifyParent public
  • e67f36b Implement Scintilla callbacks on GTK

File Changes

(19 files)

Patch Links:


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26277@github.com>

filip-hejsek

unread,
8:17 AM (12 hours ago) 8:17 AM
to wx-...@googlegroups.com, Push

@filip-hejsek pushed 10 commits.

  • 595ebca HACK: Temporarily remove wxSTC DND
  • 546cedd HACK: Temporarily stub out parts of wxSTC
  • 2dd713e Remove Scintilla WX platform bits from stc.cpp and stc.h
  • 57a16e6 Build Scintilla's GTK platform
  • 9f38db4 Move Scintilla WX platform specific bits from stc.cpp to stc_wx.cpp
  • bea2840 HACK: Don't build Scintilla WX platform
  • e77633c Add wxSTC implementation that uses Scintilla GTK platform
  • 1aa01e7 Remove wxStyledTextCtrl::MSWWindowProc
  • 49d30cd HACK: Make NotifyChange and NotifyParent public
  • 724f452 Implement Scintilla callbacks on GTK


View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26277/before/e67f36b811346bf3977491343d5c11b6d07d2a4a/after/724f4520799a1144b2996120f88862621534d524@github.com>

filip-hejsek

unread,
9:21 AM (11 hours ago) 9:21 AM
to wx-...@googlegroups.com, Push

@filip-hejsek pushed 11 commits.

  • b41e1b0 Use public Scintilla API instead of private scroll functions
  • 678be24 HACK: Temporarily remove wxSTC DND
  • 99fd1de HACK: Temporarily stub out parts of wxSTC
  • e53a2bc Remove Scintilla WX platform bits from stc.cpp and stc.h
  • 095471f Build Scintilla's GTK platform
  • e942861 Move Scintilla WX platform specific bits from stc.cpp to stc_wx.cpp
  • c1bffc8 HACK: Don't build Scintilla WX platform
  • 11dac31 Add wxSTC implementation that uses Scintilla GTK platform
  • a19d016 Remove wxStyledTextCtrl::MSWWindowProc
  • 4f01acc HACK: Make NotifyChange and NotifyParent public
  • 94043a2 Implement Scintilla callbacks on GTK


View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/pull/26277/before/724f4520799a1144b2996120f88862621534d524/after/94043a20b5f800da9246d0c1014552af7172c09e@github.com>

Reply all
Reply to author
Forward
0 new messages