There are four basic objects in the CAPI model: interfaces , menus , panes and layouts .
Everything that the CAPI displays is contained within an interface (an instance of the class
interface
). When an interface is displayed a window appears containing all the menus and panes you have specified for it.
An interface can contain a number of menus which are collected together on a menu bar. Each menu on the menu bar can contain menu items or other menus. Items can be grouped together visually and functionally inside
menu components
. Menus, menu items, and menu components are, respectively, instances of the classes
menu
,
menu-item
, and
menu-component
.
Panes are window objects such as buttons and lists. They can be positioned anywhere in an interface. The CAPI provides many different kinds of pane class, among them
push-button
,
list-panel
,
editor-pane
,
tree-view
and
graph-pane
.
The positions of panes are controlled by a layout, which allows objects to be collected together and positioned either regularly (with instances of the classes
column-layout
,
row-layout
or
grid-layout
) or arbitrarily using a
pinboard-layout
. Layouts themselves can be laid out by other layouts -- for example, a row of buttons can be laid out above a list by placing both the
row-layout
and the list in a
column-layout
.