PinComp,  PinView,  PinGraphic, PSPin - pin connector sub-
       ject, view, structured graphic,  and  PostScript  external
       representation

       SlidingPin,  FixedPin  - rubberbands used in pin manipula-
       tion


SYNOPSIS

       #include <Unidraw/Components/pin.h>


DESCRIPTION

       PinComp is a Connector subclass that supports connectivity
       with  zero  degrees  of  freedom.  It uses a PinGraphic to
       store its graphical attributes.  PinView is a  GraphicView
       for  displaying  the  pin.  PSPin is a PostScriptView that
       externalizes the subject's information in PostScript form.

       SlidingPin  and  FixedPin  are special rubberbands used to
       implement the animation effects that pins  produce  during
       direct  manipulation.   A  SlidingPin  is  a  circle  with
       crosshairs (duplicating the appearance  of  a  PinGraphic)
       that  follows the mouse position, while a FixedPin draws a
       static circle with crosshairs.


PINCOMP PUBLIC OPERATIONS

       PinComp(PinGraphic* = nil)
              The constructor takes an optional  PinGraphic  that
              defines  the  pin's  graphical attributes.  The pad
              has fixed mobility initially

       virtual void Interpret(Command*)
       virtual void Uninterpret(Command*)
              PinComp (un)interprets a subset  of  commands  that
              connectors can generally interpret, namely MoveCmd,
              BrushCmd,  AlignCmd,  MobilityCmd,  DeleteCmd,  and
              CutCmd.

       virtual Mobility GetMobility()
       virtual void SetMobility(Mobility)
              PinComp  redefines  these  functions  to return and
              assign its _mobility protected member.  The pin has
              fixed mobility initially.

       Pin* GetPin()
              Return  the  Pin  graphic  that  defines the line's
              attributes.  GetPin is simply a more specific  form
              of the GetGraphic operation.


PINVIEW PUBLIC OPERATIONS

       PinView(PinComp* = nil)
              Create  an  PinView,  optionally supplying the sub-
              ject.
              PinView  interprets  AlignToGridCmd  to  align  its
              lower left to the grid.

       virtual Manipulator* CreateManipulator(
          Viewer*, Event&, Transformer*, Tool*
       )

       virtual void InterpretManipulator(Manipulator*)
              PinViews  respond  only to manipulation by Graphic-
              CompTools, MoveTools,  and  ConnectTools.   PinView
              inherits  its MoveTool response from ConnectorView.
              GraphicCompTool will let the user place the pin  at
              a  particular  position.   Placement will be influ-
              enced by gravity, if any.  PinView creates  a  Con-
              nectManip  in  response  to  the ConnectTool, which
              will exhibit a gravational attraction to  potential
              target  connectors.   PinView  will  produce a Con-
              nectCmd to connect the pin to  its  target.  A  pin
              connected  in this way will receive floating mobil-
              ity.

       PinComp* GetPinComp()
              Return the subject.


PINVIEW PROTECTED OPERATIONS

       PinGraphic* GetPin()
              Return  the  PinGraphic  that  defines  the   pin's
              attributes.   GetPin is simply a more specific form
              of the GetGraphic operation.

       virtual PinComp* NewSubject(PinGraphic*)
              A helper function that creates  a  PinComp  subject
              with  the given pin graphic. This function produces
              the  proper  subject  when  the   GraphicCompTool's
              manipulator  is  interpreted.  Subclasses can rede-
              fine this operation to return a  PinComp  subclass,
              thus eliminating the need to reimplement Interpret-
              Manipulator.

       Manipulator* CreateGraphicCompManip(
           Viewer*, Event&, Transformer*, Tool*
       )

       Manipulator* CreateConnectManip(
           Viewer*, Event&, Transformer*, Tool*
       )

       Command* InterpretGraphicCompManip(Manipulator*)
       Command* InterpretConnectManip(Manipulator*)
              Helper  functions  used  by  CreateManipulator  and
              InterpretManipulator  to  create  and interpret the
              manipulators associated  with  GraphicCompTool  and

       PinGraphic(Coord = 0, Coord = 0, Graphic* = nil)
              Create a PinGraphic, optionally specifying its cen-
              ter and a graphic from which to obtain its  default
              graphics attributes.

       void GetOriginal(Coord&, Coord&)
              Return the PinGraphic's original center coordinates
              as specified in the constructor.


PSPIN PUBLIC OPERATIONS

       PSPin(PinComp* = nil)
              Construct a PostScript external  representation  of
              the given subject, if any.


SEE ALSO

       BrushCmd(3U),   ConnectTool(3U),   Connector(3U),  Connec-
       torView3U), Event(3I),  Graphic(3U),  GraphicCompTool(3U),
       Grid(3U),           MoveTool(3U),          PatternCmd(3U),
       PostScriptView(3U),     Rubband(3I),      Transformer(3I),
       Viewer(3U),   align(3U),   edit(3U),   manips(3U),  trans-
       forms(3U)
































Man(1) output converted with man2html