Base classes for menu and button interfaces that work with controlinfo objects
#include <Unidraw/uctrl.h>
UControl is an abstract class that augments InterViews' Control base class to deal with Unidraw's ControlInfo objects, which define a keyboard equivalent for the control. UControlInteractor is an abstract base class for interactors that base their appearance on the information in a ControlInfo object. UControl subclasses can use UControlInteractor subclasses to define their appearance.
Unidraw-based applications needn't use UControls and UControlInteractors to help define their look and feel if Unidraw's keyboard equivalent mechanism is not needed.
virtual void SetControlInfo(ControlInfo*)
ControlInfo* GetControlInfo()
Assign and retrieve the UControl's ControlInfo object.
UControl(ControlInfo*)
UControl(const char*, ControlInfo*)
UControl provides protected constructors that let subclasses initialize the ControlInfo object and optionally specify their instance name.
virtual void SetControlInfo(ControlInfo*)
ControlInfo* GetControlInfo()
Assign and retrieve the UControlInteractor's ControlInfo object.
virtual void Highlight(boolean)
The UControlInteractor's appearance is defined by a Graphic object, which it builds from information in its ControlInfo object. By default, UControlInteractor highlights itself by drawing this graphic with its foreground and background colors reversed.
UControlInteractor(ControlInfo*)
UControlInteractor()
UControlInteractor defines two protected constructors. One takes the ControlInfo object to use as an argument. This constructor also initializes the UControlInteractor's _label protected member by calling InitLabel (described below) with the ControlInfo object. The parameterless constructor initializes _label to nil. Both constructors initialize the UControlInteractor's _picture protected member to point to an instance of a Picture object, which defines the UControlInteractor's appearance.
virtual void Invert()
Invert reverses _picture's colors without drawing it.
Graphic* InitLabel(ControlInfo*)
Create a graphic from the information stored in a ControlInfo object that defines the UControlInteractor's appearance. This operation creates a GraphicView of the ControlInfo's GraphicComp and returns a copy of the view's graphic.
Control(3I), ControlInfo(3U), Graphic(3U), GraphicComp(3U), GraphicView(3U), KeyMap(3U)