February 29, 1996 inherits from GadgetWindow;
![]()
Magic Cap defines class ContainerWindow for windows with contents that can be changed directly by the user adding and removing viewables. For example, the tote bag's window is a container window.
When the user drops a viewable into a container window, the newly added viewable is placed in the window along a grid supplied by the window.
Instantiate: rarely Subclass: sometimes Call its methods: rarely
You might create an object of this class or a subclass if you wanted to have a window that allows the user to contain and grid other viewables.
Class ContainerWindow defines the following methods:
| Method | Description |
|---|---|
UnlinkScrollArrows |
Remove scroll arrows from the view hierarchy. |
| RelinkScrollArrows | Reinsert scroll arrows into the view hierarchy. |
| Empty | Tests whether there are any subviews in window. |
| ArrowState | Overridden to return cached value indicating scrolling state. |
| CanAccept | Overridden to allow desk accessory window to accept objects. |
| MaximumScrollOffset | Overridden to calculate lowest grid line position. |
| MinimumScrollOffset | Overridden to calculate highest grid line position. |
| ChangedContents | Overridden to update scroll arrow state. |
| MovedContents | Overridden to grid item and update scroll arrow state. |
| PageUp | Overridden to scroll by whole grid lines. |
| PageDown | Overridden to scroll by whole grid lines. |
| SetScrollOffset | Overridden to reposition scroll arrows. |
| ContentsInTransit | Overridden to return true for tote bag window. |
| RevealViewable | Overridden to scroll to show viewable. |
Class ContainerWindow defines the following fields:
| Field | Type | Description |
|---|---|---|
| Inherited from SingleLinkable | ||
| next | Object | Next item in view list |
| Inherited from Linkable | ||
| previous | Object | Previous item in view list |
| Inherited from Viewable | ||
| superview | Viewable | Container for this object |
| subview | Viewable | Object contained by this object |
| relativeOrigin | Dot | Origin relative to superview |
| contentSize | Dot | Size of content rectangle |
| viewFlags | Flags | Property settings |
| labelStyle | TextStyle | Text style of object's label |
| color | Color | Color of object's content |
| shadow | Shadow | Shadow drawn with object |
| sound | Sound | Sound associated with object |
| Inherited from HasBorder | ||
| border | Border | Framed border drawn around object |
| Inherited from Window | ||
| windowFlags | Flags | Stores various boolean attributes of the window |
| Inherited from TitledWindow | ||
| titleColor | Unsigned | RGB color for title box |
| titleHeight | Micron | Height of title box |
| dependents | ObjectList | List of dependent windows |
| Inherited from BalloonSpout | ||
| balloonDot | Dot | Cached dot position, used by Magic Cap |
| Inherited from GadgetWindow | ||
| target | Object | Target for this window |
| Inherited from ScrollableByMicron | ||
| scrollOffset | Current scrolling offset | |
| Defined by ContainerWindow | ||
| gridSize | Dot | horizontal and vertical grid spacing |
| gridOffset | Dot | offset of first grid position |
| topArrow | Viewable | scroll up arrow |
| bottomArrow | Viewable | scroll down arrow |
operation UnlinkScrollArrows() Call: rarely Override: rarely
Magic Cap calls UnlinkScrollArrows to remove the scroll arrows from the view hierarchy when new viewables are added or removed from the window.
operation RelinkScrollArrows() Call: rarely Override: rarely
Magic Cap calls RelinkScrollArrows to insert the scroll arrows into the view hierarchy after new viewables have been added or removed from the window.
attribute Empty: Boolean, readOnly // operation Empty():Boolean Call: rarely Override: rarely
The attribute Empty indicates whether the container window has any subviews, not including scroll arrows.
overrides ArrowState Call: rarely Override: sometimes
Class MagicWindow overrides ArrowState to use the value of arrow state cached in the windowFlags field.
overrides CanAccept Call: rarely Override: sometimes
In general, container windows do not accept non-deletable objects as subviews. Class MagicWindow overrides CanAccept to specifically allow the desk accessory window, which is a container window, to accept non-deletable objects as subviews.
overrides MaximumScrollOffset Call: rarely Override: sometimes
Class MagicWindow overrides MaximumScrollOffset to compute the position of the lowest grid line that contains subviews.
overrides MinimumScrollOffset Call: rarely Override: sometimes
Class MagicWindow overrides MinimumScrollOffset to compute the position of the highest grid line that contains subviews.
overrides ChangedContents Call: rarely Override: sometimes
Class MagicWindow overrides ChangedContents to recompute the arrow state when the user adds or removes viewables from the window.
overrides MovedContents Call: rarely Override: sometimes
Class MagicWindow overrides MovedContents to recompute the arrow state and place items on the grid when the user moves viewables in the window.
overrides PageUp Call: rarely Override: sometimes
Class MagicWindow overrides PageUp to scroll the window contents by a whole number of grid lines when the user touches the up arrow.
overrides PageDown Call: rarely Override: sometimes
Class MagicWindow overrides PageDown to scroll the window contents by a whole number of grid lines when the user touches the down arrow.
overrides SetScrollOffset Call: rarely Override: sometimes
Class MagicWindow overrides SetScrollOffset to scroll the window contents by a whole number of grid lines when the user touches the up arrow.
overrides ContentsInTransit Call: rarely Override: sometimes
Class MagicWindow overrides ContentsInTransit to return true if the responder is the tote bag window.
overrides RevealViewable Call: rarely Override: sometimes
Class MagicWindow overrides RevealViewable to scroll the window to reveal the given viewable.