Mattias Gärtner schrieb:
The description of BorderSpacing is not very clear, can you improve it?
I tried. See here:
http://wiki.lazarus.freepascal.org/Autosize_/_Layout#BorderSpacing
Much better now :-)
In a generalized layout management every control could be adjustable
inside the cell, that has been determined by the layout manager. I.e.
a regular[1] layout manager would tile the client area and assign
every control a cell. When required, every control can align itself
inside its cell, instead of inside its parent, using the same
properties. Then the fine-tuning is independent from a specific layout
manager or control type.
Yes, see for example here:
http://wiki.lazarus.freepascal.org/Autosize_/_Layout#Individual_cells
That's what inspired me :-)
What is missing in the current LCL tables are column and row spans.
This will complicate many things, including designers. But you're right,
it would be a nice feature. Perhaps the cells of a table should be
handled like tabstops in this case, where the width/height of a
control's cell snaps to the next stop. This model could be merged with
anchors, when the anchors are defined for the containers, instead of
from controls with fixed client positions.
Such layouts are quite easy to manage, in contrast to an arbitrary
placement and anchoring of every single control within its parent or
relative other controls (almost unmanaged until unmanageable).
I tend to disagree. Both can be easy and both can be pain.
Tables are worse when some controls should not be placed into the
raster.
I'd call this a bad design, that does not scale well. An adjustment with
BorderSpacing should be sufficient.
And Anchoring misses the alignment with multiple controls.
That's why I suggested to define "tabstops" for containers, that do not
break on a resize. The tabstops can scale with the container, or they
can stay anchored to an edge or the center of an container. In the most
general model a Resize handler can be used to adjust the rulers.
Both need a good GUI. There should be a mode to visualize Anchors in the
designer for example with arrows. And for tables there should be a mode
to show the borders.
This could be done with guide-lines, replacing the uniform designer
grid. Some feedback principles can be taken from docking...
DoDi
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus