12.07.2015 Views

Athena Widget Set - C Language Interface - X Consortium ... - X.Org

Athena Widget Set - C Language Interface - X Consortium ... - X.Org

Athena Widget Set - C Language Interface - X Consortium ... - X.Org

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 6. Composite and Constraint<strong>Widget</strong>sThese widgets may contain arbitrary widget children. They implement a policy forthe size and location of their children.BoxDialogFormPanedPortholeTreeViewportThis widget will pack its children as tightly as possible in non-overlappingrows.An implementation of a commonly used interaction semantic to promptfor auxiliary input from the user, such as a filename.A more sophisticated layout widget that allows the children to specifytheir positions relative to the other children, or to the edges of the Form.Allows children to be tiled vertically or horizontally. Controls are alsoprovided to allow the user to dynamically resize the individual panes.Allows viewing of a managed child which is as large as, or larger thanits parent, typically under control of a Panner widget.Provides geometry management of widgets arranged in a directed,acyclic graph.Consists of a frame, one or two scrollbars, and an inner window. Theinner window can contain all the data that is to be displayed. This innerwindow will be clipped by the frame with the scrollbars controllingwhich section of the inner window is currently visible.NoteThe geometry management semantics provided by the X Toolkit give full controlof the size and position of a widget to the parent of that widget. Whilethe children are allowed to request a certain size or location, it is the parentwho makes the final decision. Many of the composite widgets here will denyany geometry request from their children by default. If a child widget is notgetting the expected size or location, it is most likely the parent disallowinga request, or implementing semantics slightly different than those expectedby the application programmer.If the application wishes to change the size or location of any widget it shouldmake a call to Xt<strong>Set</strong>Values. This will allow the widget to ask its parent forthe new size or location. As noted above the parent is allowed to refuse thisrequest, and the child must live with the result. If the application is unable toachieve the desired semantics, then perhaps it should use a different compositewidget. Under no circumstances should an application programmerresort to XtMove<strong>Widget</strong> or XtResize<strong>Widget</strong>; these functions are exclusivelyfor the use of Composite widget implementors.For more information on geometry management consult the X Toolkit Intrinsics- C <strong>Language</strong> <strong>Interface</strong>.100

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!