Provided by: ivtools-dev_1.2.11a1-11_amd64 bug

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)