All sheets, including gadgets and layouts, have a number of properties that deal with the fairly low level implementation behavior of sheet classes. When developing basic DUIM applications, you do not need to be concerned with these properties for the most part, since gadgets and layouts have been designed so as to avoid the need for direct low level manipulation. However, if you design your own classes of sheet, you need to support these properties.
sheet-region The sheet region is used to define the area of the screen that "belongs to" a sheet. This is essential for deciding in which sheet a particular event occurs. For example, the sheet-region for a gadget defines the area of the screen in which its callbacks are invoked, should an event occur.
<region>, but is usually represented by the region class <bounding-box>.
sheet-transform <transform>.
sheet-parent This is #f if the sheet has no parent, or another sheet otherwise. This slot is used to describe any hierarchy of sheets.
sheet-mapped?This is a boolean that specifies whether the sheet is visible on a display, ignoring issues of occluding windows.
sheet-frameThis returns the frame a sheet belongs to.
Many sheet classes, such as <menu-bar> or <tool-bar>, have single or multiple children, in which case they have additional attributes:
sheet-childrenThe value of this slot is a sequence of sheets. Each sheet in the sequence is a child of the current sheet.
Some classes of sheet -- usually gadgets -- can receive input. These have:
sheet-event-queue
<handle-event><handle-event> defined, so that callbacks may be described for the sheet class.
Sheets that can be repainted have methods for handle-repaint. Sheets that can display output have a sheet-medium slot. As a guide, all gadgets can be repainted and can display output, and no layouts can be repainted or display output.