SelectTool - tool for modifying an editor's current selec-
tion
SYNOPSIS
#include <Unidraw/Tools/select.h>
DESCRIPTION
SelectTool lets a user change the current selection by
direct manipulation, thus affecting the enclosing editor's
selection object. A single click directly on a component
view selects that view and unselects all others. Clicking
while holding the Shift key down adds the target component
to the selection if it was not already selected and
removes it if it was selected. The user can select all
components within a rectangular area in the viewer by
clicking somewhere outside the nearest component and drag-
ging to specify the rectangular area. All components com-
pletely within the area will be selected.
PUBLIC OPERATIONS
SelectTool(ControlInfo* = nil)
Create a new SelectTool.
virtual Manipulator* CreateManipulator(
Viewer*, Event&, Transformer*
)
virtual void InterpretManipulator(Manipulator*)
If the user did not click on a component, then Cre-
ateManipulator creates a DragManip with a Rubber-
Rect for dragging out a rectangular area. Other-
wise, CreateManipulator clears the editor's selec-
tion and selects the hit component. If the user
holds the Shift key down in either case, the compo-
nents that would have otherwise been selected will
be unselected, and vice versa. InterpretManipula-
tor will only be called if CreateManipulator
returned a non-nil manipulator; in this case Inter-
pretManipulator will examine the DragManipulator's
RubberRect and select the component views falling
completely within it.
PROTECTED OPERATIONS
virtual void Localize(Selection*, Viewer*)
Localize ensures that the given selection object
contains only those views displayed in the given
viewer. CreateManipulator calls this function to
avoid possibly shift-selecting views from different
components.
SEE ALSO
Editor(3U), Rubband(3I), Selection(3U), Tool(3U),
Man(1) output converted with
man2html