[comp.windows.x] more Athena Shell/Form/Viewport/List widget noise

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
--