On 21.08.2010 20:59, Hans-Peter Diettrich wrote: > So why should it be intuitive to add an splitter first, and to add the > splitted components later - provided that you don't forget to do so?
No. It doesn't matter in what order you add them. You add them all and then you connect them like components in a circuit diagram. You anchor each of the two controls at the [sibling control that ultimately determines the position, namely the] splitter. Let me explain what was going on with the synaptic connections in my brain while understanding the anchors and the siblings: (observation) there are anchors on each side of every control (thinking process) they must have something to do with sizing the controls, lets see how they behave (some quick experimenting) (new connection in my brain) Thy behave like what they already suggest with their naming: with the anchoring and the siblings I can force one side of the control be determined relative to the position of another control or the corresponding border of the client area itself. [...] (observation) there exists a splitter (thinking process) a splitter is moved by the user and the surrounding controls determine their size from its position. (invoking previously learned wisdom) controls can be sized with anchors and siblings, translated to a splitter this would mean I anchor the right side of the left and the left side of the right control at the splitter. (some hypothesis testing) (some counterintuitive hurdles with the splitter default settings and Align which is a different concept) (success) (new connection in my brain) anchoring works with splitters the *exact* same way it works with all other controls. No need for Align (for now). * the sheer existence of anchors has made me completely ignore and forget and dislike the Align property which reminds me of antique and clumsy nesting of box sizers and the like. > Please write up your ideas about intuitive GUI layouts, and compare > these to the established layout management procedures, as implemented in > e.g. in the Java, gtk2 or other layout managers. No need for that. Lazarus implemented them already the way I find them much more intuitive than I have ever seen in any of the above mentioned frameworks. The only thing that was counterintuitive was the anchoring default setting of Align for TSplitter, a control that is meant to be used for determining the sizes of other controls and not meant to be glued to a form border. A control that I would intuitively place in the middle between the two other controls. When set to alNone the Splitter behaves like i would have expected and one can freely position it and anchor other controls at it to let their sizing be determined by the splitter (see above brain-dump). Everything works, only the default setting for Align was wrong for my understanding (in am environment where there exist the more adequate anchors). Bernd -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
