[Lazarus] Code Structure / SourceEdit and SyneEdit [Re: Mouse Link in SynEdit (only link-able items)]
flavio.etrusco at gmail.com
Fri Dec 12 21:26:05 CET 2008
> 1) Logic should be separated from the presentation, so first there should be
> 'TAbstractSynEdit' class, concerning itself purely with text manipulations,
> such as text insertion/deletion, cursor position changes, text
> attribute calculation,
> save/loading, codetools etc.
> TAbstractSynEdit should not depend on any visual code, in partucular it should
> descend from TObject/TPersistent, not TControl.
My vision deviates a bit from this in the sense that TAbstractSynEdit
would just be an abstraction (or dedicated implementation) of a
cleaner text manipulation interface (as TStrings won't cut it), which
would also implement transparent/automatic/implicit 'undo' handling.
Then each command would be a class, probably inheriting from TAction.
> It would make the design more "pure" then as it is now. I have too been
> wondering why synedit needs all the knowledge of ide events.
We should "just" fix the TAction implementation to support multiple
More information about the Lazarus