> 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
keystrokes ;-)


Best regards,
Flávio

_______________________________________________
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to