duanev@kauai.ACA.MCC.COM (Duane Voth) (08/16/89)
I have a hierarchy of widgets which starts at the bottom with a List widget, who is child of a Viewport, who is child of a Form, who is child of a Shell widget. The List widget has: XtNdefaultColumns = 1 XtNforceColumns = True set, the Viewport has: XtNtop = XtChainTop XtNborderWidth = 1 XtNresizable = True XtNallowHoriz = True XtNallowVert = True set, the Form has: XtNborderWidth = 1 (which, by the way, doesn't work) set, and the Shell has: XtNallowShellResize = True XtNheight = 100 XtNwidth = 200 set. There is also a button in the Form that is wider than the List widget and keeps alot of empty space to the right of the List widget. As I add items to the List widget, everything works great - the resize requests ripple up to the Shell who increases its height to contain all. When I grab the Shell with the mouse (and any wm) to do a resize, the Form does its default thing and keeps the edges of the Viewport a proportional distance from the Shell/Form edges (as it is supposed to). This default behavior is actually quite annoying because when the Shell width is reduced, the Form forces the Viewport/List's right edge to be the proprtional distance from the From causing the scroll bars to show up (or truncating the List widget if XtNallowHoriz = False) IN SPITE of the fact that there is still plenty of room to display the entire List widget. I would like to either a) be able to set the INITIAL height and width of any Form's child to use all the space it has available (so I could then use the XtChain* edge types) or b) have some new edge type XtAttach that would place and keep a child edge some SPECIFIABLE distance (proably just XtNfromHoriz and XtNfromVert) from the same edge of the Form. Now, am I missing something and, if not, can anyone think of a kludge for R3? duane -- --- duane voth duanev@mcc.com ---- ALL systems are arbitrary! --- effectiveness is the measure of Truth --