From: jeroen <je...@fo...> - 2003-06-29 15:29:04
|
On Sunday 29 June 2003 05:51 am, Drake Christensen wrote: > I'm using Fox v1.0.29 > > I have a dialog with a series of: > > Label Text box Button and some with a checkbox > > This sounds perfect for an FXMatrix. Except, that it would be really > helpful to put separators between some of the lines. Otherwise the fields > really run together and are hard to tell at a glance how they're grouped. > > Currently, I have the dialog coded up without an FXMatrix, just > FXHorizontalFrames and hard-coded padding values for the labels. Here's a > screenshot at > http://www.mightydrake.com/SetiAtHome/MightySETIInfo/ScreenshotMainSettings >.jpg I know there's no way to get that "indented" button in a matrix, and I > can live with that. But the problem is that the width parameter of the > FXLabel seems to be ignored. (They seem to be ignored in the horizontal > frames, too.) If I use a different FXMatrix in each box then the text > fields don't line up between boxes. Only within each box. You need to pass LAYOUT_FIX_WIDTH in addition to the width! > I've tried using one FXMatrix for the whole thing and tried to add > FXHorzontalSeparator between the lines I'd like split up. I was hoping > LAYOUT_FILL_ROW would stretch it across the row, but no joy. Should I add > a separator for each matrix cell? Also, if the separator is the same > height as the other rows that would leave a bit too much space. You could have one FXHorizontalSeparator in each column, and set the inter-column spacing of the FXMatrix to zero to "connect" them. > Any suggestions on how to pull this off? Maybe how to get fields of > different matrices to line up? Or, how to get the label width field > utilized by the matrix? Actually, if I could get even the horizontal frame > to use the label width field that would save a bunch of work all by itself. I suggest to use an FXFrame as a "strut". 1-pixel high FXFrames can be useful for propping up GUI's in many cases. Remember that FXHorizontalFrame sizes the children proportional to their "default size". So, if you ensure that this default size is predictable, then you can ensure the relative sizes of two widgets, even when they're stretched! > An example or two of some of the nested FXMatrix ideas that have been > mentioned in the past might be useful to answer layout questions like > this. They seem to come up fairly regularly. Yes; howver it is impossible to give a complete, exhaustive set of examples as the layout system is very flexible. There are some tricks: 1) You can nest any layout manager in any other; for example, you can have a submatrix inside a matrix so as to get matrices where some cells are subdivided. 2) You can use FXFrame to place "spacers" if you need no controls or other things in certain cells. 3) You can also use FXFrame's with LAYOUT_FIX_WIDTH or LAYOUT_FIX_HEIGHT as "struts" to keep GUI from collapsing below a certain minimum size. Surely, the "book of tricks" is larger; I think its worth while to make an inventory of them, as some of the tricks are not at all obvious. Hope this helps, Jeroen -- +----------------------------------------------------------------------------+ | Copyright (C) 09:20 04/20/2003 Jeroen van der Zijp. All Rights Reserved. | +----------------------------------------------------------------------------+ |