CommandControl, PanelControl, HPanelControl, VPanelControl,
CommandInteractor, PanelInteractor - predefined UControl and
UControlInteractor subclasses for common controls
#include <Unidraw/uctrls.h>
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(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(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(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.
- 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.