[Lazarus] Docking Support
Hans-Peter Diettrich
DrDiettrich1 at aol.com
Fri Jul 8 19:46:41 CEST 2011
Sven Barth schrieb:
> Am 08.07.2011 08:34, schrieb Graeme Geldenhuys:
>> On 07/07/2011 08:21 PM, Hans-Peter Diettrich wrote:
>>>
>>> I can provide you an patch, that makes docking work again.
>>
>> So why not apply it to Trunk?
>>
>>
>
> Hans-Peter already reported those patches (or are those new ones?), but
> they are still waiting for application.
<whine>
I see no use for providing new patches, as long as nobody cares about
the older ones.
The "anchor docking" pet of some developer(s) seems to block all other
docking models and, even worse, possible damage to the Delphi-compatible
docking is no more tested :-(
I agree that the Delphi docking model is not very usable on non-Windows
platforms, but anchor docking is not a good replacement for it.
According to my research a different model could be both simpler and
platform independent. But as long as the Lazarus developers do not
understand docking and layout management in general, and do not even
consider models except of their own, I see no light at the end of the
tunnel :-(
</whine>
Of course Paul is right, when he tells me to "not change the LCL
radically", but I see many items that suffer from a poor design.
Unfortunately it is not easy to replace obvious misfeatures in the LCL
and IDE by other features, due to the lack of proper encapsulation. IMO
Lazarus still is in the "downward spiral", with immense bloat and
spaghettis here and there, that will become unmanageable in the end.
>>> BTW: what platform?
>>
>> Isn't that irrelevant? LCL is supposed to be cross-platform.
>
> It is true that the LCL is cross-platform, but the implementation of
> functionality might not be. And as I remember Hans-Peter only works on
> Windows and that is why he asks.
Right. On all other platforms the widgetsets sit on top of an window
manager, which influences dragging and docking entire windows (forms).
The current (platform independent) workaround is a dock header, added to
all dockable forms. This does not only look clumsy, the implementation
is fragile and asks for better LCL integration.
As the OP suggests, "pinnable" windows could be a more platform
independent solution. But while I could add an according gadget to the
title bar of Windows forms, I have absolutely no idea how this could be
done on other platforms (window managers). If somebody can contribute an
implementation of such a gadget, I'm willing to assist in the
integration into the LCL. Otherwise we'll have to wait for the Delphi
solution for dockable forms, and I bet that this never will come :-(
DoDi
More information about the Lazarus
mailing list