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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Composite and Constraint<strong>Widget</strong>sIf the relayout is due to a resize or change in management then the panes aresearched from bottom to top. If the relayout is due to grip movement then they aresearched from the grip selected in the direction opposite the pane selected.Resizing Panes from a Grip ActionThe pane above the grip is resized by invoking the GripAction with UpLeftPanespecified. The panes below the grip are each checked against all rules, then rules2 and 1 and finally against rule 1 only. No pane above the chosen pane will everbe resized.The pane below the grip is resized by invoking the GripAction with LowRightPanespecified. The panes above the grip are each checked in this case. No pane belowthe chosen pane will ever be resized.Invoking GripAction with ThisBorderOnly specified just moves the border betweenthe panes. No other panes are ever resized.Resizing Panes after the Paned widget is resized.When the Pane widget is resized it must determine a new size for each pane. Thereare two methods of doing this. The Paned widget can either give each pane itspreferred size and then resize the panes to fit, or it can use the current sizes andthen resize the panes to fit. The resizeToPreferred resource allows the applicationto tell the Paned widget whether to query the child about its preferred size (subjectto the the preferredPaneSize) or to use the current size when refiguring the panelocations after the pane has been resized.There is one special case. All panes assume they should resize to their preferredsize until the Paned widget becomes visible to the user.Managing Children and Geometry ManagementThe Paned widget always resizes its children to their preferred sizes when a newchild is managed, or a geometry management request is honored. The Paned widgetwill first attempt to resize itself to contain its panes exactly. If this is not possiblethen it will hunt through the children, from bottom to top (right to left), for a paneto resize.Special ConsiderationsWhen a user resizes a pane with the grips, the Paned widget assumes that this newsize is the preferred size of the pane.Grip TranslationsThe Paned widget has no action routines of its own, as all actions are handledthrough the grips. The grips are each assigned a default Translation table.: GripAction(Start, UpLeftPane)117

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

Saved successfully!

Ooh no, something went wrong!