On Tue, 6 Apr 2010, Mattias Gärtner wrote:
Zitat von Michael Van Canneyt <[email protected]>:
[...]
I would use a mechanism similar to the datalink. As soon as you tell the
layout manager to manage a certain control, a hook is installed in the
control.
And where is the hook stored?
In TWinControl, protected or even private.
And how to find out which layout a control uses?
The control has no need to know which layout it uses.
It just needs to know that it must handle positioning/sizing over to the layout.
(through the hook).
[...]
Then don't publish it for TEdit.
Btw, even a TEdit can need a layout to store extra properties, for autosizing
itself, for special docking, for alignment or for designer specials.
I don't believe this should be so.
If this is so, then the layouting is badly designed.
I understand this, I thought of this also. But I think it is more clean if
the hook is hidden completely; This
way one cannot 'forget' to publish it or publish it when it is not
needed.
Finally, it doesn't really matter. To my taste, my solution is cleaner.
Opinions may vary on what 'clean' is, of course :-)
Your solution seems somewhat limited to the ExtJS layouts.
Maybe, but it has the advantage of being very clear and simple.
And I think clarity is a virtue, for which I am prepared to sacrifice
a few corner cases.
Currently, the layouting is simply a mess, with added ad-hoc properties
and no clear rules that determine which property has precedence over
other properties.
Michael.
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus