Common Widgets : Common Widgets class hierarchy

Common Widgets class hierarchy
This section describes the Common Widgets class hierarchy and provides an overview of the functionality provided by each class.
A is a user interface component, such as a top-level window (shell), button or list. A graphical user interface is built by creating a tree of widgets. Every widget except the topmost widget in a tree has a parent widget. In the user interface a child widget appears on top of the parent and is normally prevented from drawing outside the bounds of its parent. Each parent widget is responsible for sizing and positioning its children. The parent-child relationship defines the widget tree. The topmost widget in the tree is called a shell widget. Shell widgets are responsible for negotiating with the window manager for their position on the screen, and for the various window decorations that they display, such as a title, border, or close box.
All Common Widgets are subclasses of one of the following classes:
CwPrimitive
A primitive widget has no children.
CwComposite
A composite widget can have zero or more children.
CwShell
A shell widget has exactly one child.
Primitive widgets are the simplest building blocks in Common Widgets. A primitive widget is always the child of another widget. The following table provides brief descriptions of the CwPrimitive class and its subclasses. Classes in italics are abstract classes (they are never instantiated).
Note:
The parent-child relationship is not the same as the class-subclass relationship.
 
Table 28. Primitive hierarchy
Composite widgets can have zero or more child widgets. A composite widget's children can include other composite widgets, primitive widgets, or both. Different composite widgets provide various kinds of layout capabilities for arranging children. The following table briefly explains the CwComposite class and its subclasses. Classes in italics are abstract classes.
Table 29. Composite hierarchy
Shell widgets provide the protocol between the application interface and the window manager. The following table provides brief descriptions of the CwShell class and its subclasses. Classes in italics are abstract classes.
Table 30. Shell hierarchy