Re: Editor component



Marco van de Voort wrote:

In case you don't know it, MPL is GPL incompatible and Lazarus itself (not
most of its components) are GPL. Preferably even with FPC exception clause
(this is only easier from a FPC/Lazarus license management view).

I think that I can release my (own) source code under either license. Since I don't like to put license information into every source file, I'll add an license information file to the final project only, so that people can pick their appropriate license from there.


P.s. I reread your msg again, but failed to see an exact problem description
of synedit (Laz version).

With Lazarus 0.9.20 for Win32 I observed the following problems:

<rant>
After running a program, the text display is messed up.
After operations in the gutter, the text is scrolled.
Blockselection scrolls text without requirement.
After operating the IDE menu, the caret disappears.
Jump to previous location doesn't work? (after navigate from declaration to implementation).
The caret may be shown in the wrong place, both inside the correct line, or even in a different line.

TScrollStyle definition is stupid, doesn't allow to mix auto and normal scrollbars.
</rant>

The first group of problems may be related to block folding, but I could not yet dig deeper into the related SynEdit code. I have to add block selection support to the base classes, before I can put the SynEdit class on top of the new base class.

Since such problems are hard to reproduce and trace down, I have spent much time in splitting the related tasks into small pieces of specific functionality, so that it should be easy to find bad argument values in calls to the basic methods. Most of the control state is read only now, accessible only through appropriate methods. This change may require many changes to the SynEdit code, but afterwards it should be easier to find the related bugs.

Furthermore these problems prevent me from adopting my code to FPC/Lazarus myself :-(

DoDi
.