http://www.jsoftware.com/jwiki/Guides/Window%20Driver/Command%20Referencestates
The "hvs" commands can optionally be followed by an integer stretch factor, default 0 (no stretch). Any spaces are ignored. On Tue, Dec 31, 2013 at 11:57 AM, Don Guinn <[email protected]> wrote: > You're right about my stretch. I forgot and thought the default for s was > 1, not 0. > > Is there a description of all these rules somewhere in Qt documentation? > > > On Mon, Dec 30, 2013 at 8:43 AM, bill lam <[email protected]> wrote: > > > Thank you for your suggestion. bin command is originally suggested and > > also implemented by Chris, so he should be the best man to answer your > > questions. But I will try to the best of my understanding. > > > > Actually the Qt layout management is quite complicated since it > > has to provide some senisble and visually appeased layout (*) for > > different types of widgets. > > > > bin h/bin v are real Qt widgets. While bin z is a syntax element used > > by J to mark the extend of bin h/bin v. > > > > bin h/bin v itself will not request any space except for some > > margins. In other words, its minimum size is determined by > > widgets or other bin it contained. > > > > Each type of widgets follows a different size policy to request > > minimum space and now much extra space it will request. > > > > A bin s without any number followed is different from a bin s1 > > I guess that widgets without a stretch factor will not be given extra > > space if there are some other widget that have stretch factor > > set, but I'm not sure the size policy of a bin s which is a just > > filler. This means that s is equal to s0. > > > > So that the final layout of your example will be > > > > |xx a xxxx b c| > > > > 1/3 of extra space allocated to the first bin s, 2/3 to the > > second and the third got none. > > > > I also think that stretch factor applies to widgets inside a bin > > but not the bin itself. Well, bin z is a misnomer, it is not a bin > > buf a filler. > > > > One can change size policy of a widget to make it stop expanding, > > but this also depends on other widgets in the same bin. Say if > > all widgets do not expand, where will the extra space go? > > > > Anyways I guess each non-layout widgets will first be allocated > > enough space. The allocation of extra space to widget and filler > > is conducted in the second round and this starts from the > > outermost container (the parent form) and iterates inwards. > > > > (*) http://qt-project.org/doc/qt-4.8/layout.html > > > > Пн, 30 дек 2013, Don Guinn писал(а): > > > Thank you for this. May I suggest a few additions and a few questions. > > > > > > Make it clear that the "bin" itself does nothing other than activate > the > > > bin commands. > > > > > > There was no mention to the default value of "1" for the bin and that a > > > number without being preceded by "s" is ignored. Actually, invalid > > > characters are ignored. And "s" (with preceding "bin") can appear > > anywhere > > > between tokens. This numeric value for "s" is interesting. Add up all > the > > > numbers from all the "s"s inside the "v" or "h" and the space between > > > tokens separated by "s" is divided proportionally. Say you have three > > > tokens within a "v" or "s" block. > > > > > > bin hs1; > > > a; > > > bin s2; > > > b; > > > c; > > > bin sz; > > > > > > 1/4 of the extra space is put between the left margin and a, and c and > > the > > > right margin. Half the available space is put between a and b. And b > and > > c > > > are stuck together as if a "bin s0" were between b and c. > > > > > > Questions: > > > > > > Are bin blocks tokens? Do they participate in stretching like other > > tokens? > > > > > > What are the rules for the stretching of specific tokens? If an "s" > > appears > > > within a bin block no token stretches, where if there is no "s" some > > tokens > > > stretch and others do not. How can I get some tokens to stretch and > > others > > > not when and "s" appears in a bin block? > > > ---------------------------------------------------------------------- > > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > -- > > regards, > > ==================================================== > > GPG key 1024D/4434BAB3 2008-08-24 > > gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 > > gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
