The macro
define-interface
is used to define subclasses of
interface
, the superclass of all CAPI interface classes.
It is an extension to
defclass
, which provides the functionality of that macro as well as the specification of the panes, layouts, and menus from which an interface is composed. It takes the same arguments as
defclass
, and supports the additional options
:panes
,
:layouts
,
:menus
, and
:menu-bar
.
Each component of the interface is named in the code, and a slot of that name is added to the class created. When an instance of the class is made, each component is created automatically and placed in its slot.
When defining a component, you can use other components within the definition simply by giving its name. You can refer to the interface itself by the special name
interface
.