18.3 Relationships Between Sheets

Sheets are arranged in a tree-structured, acyclic, top-down hierarchy. Thus, in general, a sheet has one or no parents and zero or more children. A sheet may have zero or more siblings (that is, other sheets that share the same parent). In order to describe the relationships between sheets, we define the following terms.

Adopted--A sheet is said to be adopted if it has a parent. A sheet becomes the parent of another sheet by adopting that sheet.

Disowned--A sheet is said to be disowned if it does not have a parent. A sheet ceases to be a child of another sheet by being disowned.

Grafted--A sheet is said to be grafted when it is part of a sheet hierarchy whose highest ancestor is a graft. In this case, the sheet may be visible on a particular window server.

Degrafted--A sheet is said to be degrafted when it is part of a sheet hierarchy that cannot be visible on a server, that is, the highest ancestor is not a graft.

Enabled--A sheet is said to be enabled when it is actively participating in the windowing relationship with its parent. If a sheet is enabled and grafted, and all its ancestors are enabled (they are grafted by definition), then the sheet will be visible if it occupies a portion of the graft region that isn't clipped by its ancestors or ancestor's siblings.

Disabled--The opposite of enabled is disabled .

18.3.1 Sheet Relationship Functions

18.3.2 Sheet Genealogy Classes

CommonLisp Interface Manager 2.0 User's Guide - 30 Jul 2004