uctrls(3U)

NAME
CommandControl, PanelControl, HPanelControl, VPanelControl, CommandInteractor, PanelInteractor - predefined UControl and UControlInteractor subclasses for common controls

SYNOPSIS
#include <Unidraw/uctrls.h>

DESCRIPTION
CommandControl is a UControl subclass that executes a Command. CommandControl instances are most commonly used in menus. CommandInteractor is a UControlInteractor subclass that CommandControls create to define their appearance.

PanelControl is a subclass of UControl that provides a radiobutton-like interface to selecting from a set of mutually-exclusive choices. A PanelControl is passed an interactor when it is created to define its appearance. PanelControls are often used to create ``palettes'' of interactors that engage the current Tool instance.

PanelInteractor is a UControlInteractor subclass that defines an appearance that is often appropriate for PanelControls. HPanelControl and VPanelControl are subclasses of PanelControl that use PanelInteractor instances by default.

COMMANDCONTROL PUBLIC OPERATIONS

CommandControl(ControlInfo*)

CommandControl(const char*, ControlInfo*)
    Create a CommandControl, optionally supplying an instance name. The constructors automatically create and insert a ControlInteractor to define the CommandControl's appearance.

virtual void Do()
    If the ControlInfo's owner is a reversible command, then Do will create a copy of the command, execute it, and log it (if it remains reversible following execution). If the owner is an irreversible command, then Do will execute it without copying or logging it.

COMMANDINTERACTOR PUBLIC OPERATIONS

CommandInteractor(ControlInfo*)
    Create a CommandInteractor with the given ControlInfo object. The CommandInteractor displays the ControlInfo's label and keylabel side-by-side as would befit a menu entry.

PANELCONTROL PUBLIC OPERATIONS

PanelControl(Interactor*, ControlInfo*, ControlState* = nil)

PanelControl(

const char*, Interactor*, ControlInfo*,

ControlState* = nil

)
    Create a PanelControl, supplying an interactor that defines its appearance, a ControlInfo object, and optionally an instance name and a ControlState, which all PanelControls in a palette should share to ensure mutual exclusion.

virtual void Do()
    Do simply calls Down. Thus when the KeyMap executes the keyboard equivalent specified in the ControlInfo, it has the same effect as clicking on the PanelControl instance.

PANELCONTROL SUBCLASS PUBLIC OPERATIONS

HPanelControl(ControlInfo*, ControlState* = nil)

HPanelControl(const char*, ControlInfo*, ControlState* = nil)

VPanelControl(ControlInfo*, ControlState* = nil)

VPanelControl(const char*, ControlInfo*, ControlState* = nil)
    HPanelControls and VPanelControls simply create an instance of PanelInteractor and pass it to the PanelControl constructor. HPanelControls should be used in row-oriented palettes, and VPanelControls should be used in column-oriented palettes.

PANELINTERACTOR PUBLIC OPERATIONS

PanelInteractor(ControlInfo*, Orientation)
    Create a PanelInteractor with the given orientation and ControlInfo object. The PanelInteractor will draw the ControlInfo's label in the center of its canvas and the keylabel in the lower right. Horizontal orientation is appropriate for row-oriented instances, while Vertical orientation is appropriate for column-oriented instances.

SEE ALSO
Command(3U), ControlInfo(3U), KeyMap(3U), Tool(3U), UControl(3U), globals(3U)