Scintilla variant of of a multi-line edit view (e.g. AbtScintilaEditView)?

32 views
Skip to first unread message

Richard Sargent

unread,
Oct 24, 2025, 7:53:19 PM (12 days ago) Oct 24
to VAST Community Forum
I came across a similar topic from 2015 but it didn't really address what I'm hoping to find.

I have browsers in GBS for viewing GemStone Smalltalk code. They rely on an AbtMultiLineEditView for editting the source code. I had previously encountered errors when viewing Unicode strings in that, but most of those problems were from doing things wrong. I can now view methods with Unicode source strings, but characters other than Unicode7 display as the UTF-8 bytes. While that is a significant improvement over throwing walkbacks, it still isn't that useful.

So, I would like to be able to use the composition editor to replace the AbtMultiLineEditView part with something that does Scintilla. What would I need to do to create my own such part class? Could it be as simple as providing a #widgetClass method that wraps the guts of an StsWorkspace?

Marcus Wagner

unread,
Oct 27, 2025, 9:41:28 AM (9 days ago) Oct 27
to VAST Community Forum
Hi Richard,
the simple answer is: no.
The reason why: the overall complexity of the problem is focussed on a single point, a view part: 
a) different codes including a not native code of the OS (UTF), 
b) formatting rules following computer language specifications (grammars, regular expressions, formal automation theory)
c) graphical representations (fonts, palettes, painting in a steadily expanding complexity in its own, multi monitors with individual scales and resolutions in a universe of different devices)
d) Visual Age parts architecture (visual compositions in specialised views) to automatically generate code and handle data updates at runtime.
So recently the formal representation part (lexical) has been isolated from Scintilla - to reduce even this particular complexity.
To begin with: attempt to keep formatting (structuring rules), optical representation (coloring, etc) and codes (UTF etc) apart. 
And remember: Scintilla and formatting target at a general (non Smalltalk) approach and thus cannot be simple, by definition. 
To integrate Scintilla in a specialised integrated development platform like Smalltalk is an art in itself.
If you are not impressed, just start VAST under Linux to estimate the comfort which has been achieved in the current Windows implementation, which might have been forgotten when we are usually not developing code near to the ancient original environment (30 years ago?), which followed the then impressive X-Motif architecture.
This cannot be achieved by a simple widgetClass method.
-
M
Reply all
Reply to author
Forward
0 new messages