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