Page 303 Table of Contents Index Page 305
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E





Chapter 29

Panes

29.1 Overview of Panes

CLIM panes are similar to the gadgets or widgets of other toolkits. They can be used by
application programmers to compose the top-level user interface of their applications, as well
as auxiliary components such as menus and dialogs. The application programmer provides an
abstract specification of the pane hierarchy, which CLIM uses in conjunction with user preferences
and other factors to select a specific "look and feel" for the application. In many environments
a CLIM application can use the facilities of the host window system toolkit via a set of adaptive
panes
, allowing a portable CLIM application to take on the look and feel of a native application
user interface.

Panes are rectangular objects that are implemented as special sheet classes. An application will
typically construct a tree of panes that divide up the screen space allocated to the application
frame. The various CLIM pane types can be characterized by whether they have children panes
or not: panes that can have other panes as children are called composite panes, and those
that don't are called leaf panes. Composite panes are used to provide a mechanism for spatially
organizing ("laying out") other panes. Leaf panes implement gadgets that have some appearance
and react to user input by invoking application code. Another kind of leaf pane provides an area
of the application's screen real estate that can be used by the application to present application
specific information. CLIM provides a number of these application pane types that allow the
application to use CLIM's graphics and extended stream facilities.

Abstract panes are panes that are defined only in terms of their programmer interface, or be-
havior. The protocol for an abstract pane (that is, the specified set of initialization options,
accessors, and callbacks) is designed to specify the pane in terms of its overall purpose, rather
then in terms of its specific appearance or particular interactive details. The purpose of this
abstract definition is to allow multiple implementations of the abstract pane, each defining its
own specific look and feel. CLIM can then select the appropriate pane implementation based
on factors outside the control of the application, such as user preferences or the look and feel of
the host operating environment. A subset of the abstract panes, the adaptive panes, have been


Page 303 Table of Contents Index Page 305
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E