On Tue, 6 Apr 2010 15:33:54 +0200 (CEST) Michael Van Canneyt <[email protected]> wrote:
> [...] > > How can a designer tool find out what layout a control uses? > > Why does it need to know ? > > If it needs to know what layout a control uses, the designer is flawed by > design: > > There may be layouters that the designer has no knowledge of, and > hence if such a layouter is dropped on the form, the designer will > be lost. I can't follow you here. For example: I dropped several layouters on my form. Now I want to know what layouter my Panel1 uses. But I can't find out because that would be flawed by design? Maybe you can give some more details how you want to setup the layouts in the designer. >[...] > > How would you do that? > > For example you want a group of TEdits to position/resize according to > > a policy, so you set for all your edits a layouter. > > I don't see what is to store in the TEdits ? > The 'policy' is a property of the layouter, not of the TEdits. The reference to the layouter should be stored in the TEdits. For example: the layouter of Edit1 is Layout1. It does not matter what specific type Layout1 is. >[...] > No problem when using layouters: just create/adapt a new layouter class. > > The simplicity and clarity is the following: > > Layouter: Layouter manages everything. Each layouter has a few simple > properties that determine it's (and only it's) behaviour, and no more. > > Now the TControl/TWinControl classes have a set of properties that is the > union of all properties of a large set of layouters (because it must mimic > the behaviour of all these layouters put together): > * AutoSize > * Anchors > * Align > * Constraints > * BorderSpacing > * ChildSizing Only Align, Anchors and ChildSizing.Layout are layouts. The rest are details that apply to all layouts. See the layouters of gtk. > In difference, each layouter would have only the properties that it > needs to implement it's behaviour. That is simple to understand. Yes, but not as simple to use. For example I know many students using the java layouter. They are seldom happy with the result and often use a fixed layout and program anchors. Layouters are easy to program and easy to explain but awkward to create nice designs. > >> 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. > > > > See here: > > http://wiki.lazarus.freepascal.org/Autosize_/_Layout > > I find the concept of a layouter with 1 or 2 properties more clear > than all these properties thrown together. Of course. But in the end the important part is a simple GUI to use the layouts. Mattias -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
