NAME¶
SelectTool - tool for modifying an editor's current selection
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 dragging to specify the
rectangular area. All components completely 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 CreateManipulator creates a
DragManip with a RubberRect for dragging out a rectangular area.
Otherwise, CreateManipulator clears the editor's selection and selects the
hit component. If the user holds the Shift key down in either case, the
components that would have otherwise been selected will be unselected, and
vice versa. InterpretManipulator will only be called if CreateManipulator
returned a non-nil manipulator; in this case InterpretManipulator 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), Viewer(3U), manips(3U)