Programmer Reference : 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
Class hierarchy
Responsibility
CwWidget
Defines common behavior for all widgets
.CwBasicWidget
Defines common behavior for widgets implemented directly by the platform
..CwPrimitive
Defines common behavior for widgets that do not have children
…CwArrowButton
Displays an arrow button
.. CwComboBox
Combines a list and text area to provide a prompted entry field
…CwLabel
Displays a static label that can be a string, pixmap, or icon
....CwCascadeButton
Used as part of a menu system to trigger submenus
....CwDrawnButton
Displays a button drawn by the application
....CwPushButton
Displays a push button containing a string, pixmap, or icon
....CwToggleButton
Displays a button that has on and off state such as a radio or check button
…CwList
Displays a list of strings from which one or more can be selected
…CwScrollBar
Displays a vertical or horizontal scroll bar
.. .wSeparator
Displays a separator line, normally between menu items
...CwText
Displays and provides editing capability for text
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
Class hierarchy
Responsibility
CwWidget
Defines common behavior for all widgets
..CwBasicWidget
Defines common behavior for widgets implemented directly by the platform
..CwComposite
Defines common behavior for widgets that contain child widgets
…CwBulletinBoard
Allows application-defined child widget positioning
....CwCompositeBox
Defines common behavior for CwMessageBox and CwSelectionBox
.....CwMessageBox
Provides a notification message, icon, and OK, Cancel, and Help buttons
.....CwSelectionBox
Provides a list of items to select, a text box showing the selection, and OK, Cancel, Apply, and Help buttons
....CwForm
Provides a constraint-based mechanism for laying out child widgets
…CwDrawingArea
Performs no child layout and provides an area for performing graphic operations
…CwFrame
Provides an optionally labeled frame around its single child widget
…CwRowColumn
Provides a mechanism for laying out child widgets in rows or columns
…CwScale
Displays a numeric scale with a position indicator
…CwScrolledWindow
Allows a child widget to be scrolled using scrollbars
....CwMainWindow
Provides layout management for a menu bar and optionally scrollable work area
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
Class hierarchy
Responsibility
CwWidget
Defines common behavior for all widgets
.CwBasicWidget
Defines common behavior for widgets implemented directly by the platform
..CwShell
Defines common behavior for the top-level widgets of windows and dialogs
...CwOverrideShell
A pop-up window that bypasses window management, and normally appears on top of all other widgets
...CwWMShell
Defines common behavior for shell widgets that do not bypass window management
....CwTopLevelShell
Provides a normal window with standard appearance and decorations
....CwTransientShell
A pop-up dialog window that does not bypass window management
.....CwDialogShell
A pop-up window used to implement modal and modeless dialog windows
 
Last modified date: 05/13/2020