Connector, ConnectorView - base classes for connector sub-
       jects and views


SYNOPSIS

       #include <Unidraw/Components/connector.h>


DESCRIPTION

       Connector is an abstract base class for  graphical  compo-
       nent  subjects  that enforce different connectivity seman-
       tics depending on the particular connector subclass.  Con-
       nectorView is the abstract base class for views of connec-
       tor subjects.  A connector can be connected to one or more
       other  connectors.   Once  connected,  two  connectors can
       affect each other's position in specific ways  as  defined
       by the semantics of the connection.

       Connectors  also  participate  in the propagation of state
       variable values during dataflow.  Two connected connectors
       with  bound  state  variables will assign the value of one
       state variable to other, and  the  direction  of  transfer
       depends on the connectors' transmission method.  For exam-
       ple, if the transmission method of connector C1 with bound
       state variable S1 is In, and if the transmission method of
       connector C2 with bound state variable S2 is Out,  and  if
       C1  and  C2  are  connected,  then S1 will be assigned the
       value of S2 during dataflow.


CONNECTOR PUBLIC OPERATIONS

       virtual void Interpret(Command*)
       virtual void Uninterpret(Command*)
              In addition to (un)interpreting the commands Graph-
              icComp  (un)interprets,  connectors also (un)inter-
              pret DeleteCmd and CutCmd to sever and restore  any
              connections to them.

       virtual void Connect(Connector*, CGlue* = nil);
              Connect this connector to the given one, optionally
              with a piece of CGlue interposed.   This  operation
              allows redundant connections by default.

       virtual void Disconnect(Connector*)
       void DisconnectAll()
              Disconnect  the  given  connector from this one, if
              they are connected.  DisconnectAll calls Disconnect
              on  all  connected  connectors until no connections
              remain.

       virtual boolean ConnectedTo(Connector*)
              Return whether this connector is connected  to  the
              given one.

       virtual void GetCenter(float&, float&)

       virtual void SetBinding(StateVar*)
       virtual StateVar* GetBinding()
              Assign and return the state variable bound  to  the
              connector,  if any.  Only one state variable can be
              bound to a connector at a time.

       virtual void SetTransMethod(TransMethod)
       virtual TransMethod GetTransMethod()
              Assign  and  return  the  connector's  transmission
              method.

       virtual void Transmit(Path* = nil)
              Initiate  dataflow originating from this connector,
              optionally based on  information  supplied  in  the
              given  path  object.   Other Unidraw or application
              objects call this operation whenever data modifica-
              tions should be propagated.


CONNECTOR PROTECTED OPERATIONS

       Connector(Graphic* = nil)
              Initialize  the connector instance, optionally with
              a graphic  whose  center  defines  the  connector's
              position.

       virtual void ConnectMe(Connector*)
       virtual void DisconnectMe(Connector*)
              Connectors  maintain  a  list  of the connectors to
              which they are connected.  The Connect and  Discon-
              nect operations update this connector's list, while
              the ConnectMe and  DisconnectMe  operations  inform
              their argument to update their lists.

       void Retransmit(Path*)
       void Retransmit(Connector* peer, Path*)
       boolean Transferable(Connector* peer)
              The  Transmit  operation  uses  these operations to
              propagate  state  variable   values.    The   first
              Retransmit function calls the second one on each of
              the connector's  peers  (i.e.,  the  connectors  to
              which  it  is  connected)  if the path records that
              this connector has not already been visited (other-
              wise  propagation  ceases).   The  first Retransmit
              copies the path if necessary to avoid  accumulating
              visit information from multiple branches.  The sec-
              ond Retransmit calls  Transferable,  which  returns
              whether  the  value of this connector's state vari-
              able can be transferred to the given  peer's  state
              variable  based on the two connectors' transmission
              methods.  If the values are transferable, then  the
              Transferable  operation  carries out the assignment
              to the peer's state variable as a side-effect.  The
              parent  and  by calling the first Retransmit opera-
              tion on the peer.


CONNECTORVIEW PUBLIC OPERATIONS

       Connector* GetConnector()
              Return the view's subject, if any.


CONNECTORVIEW PROTECTED OPERATIONS

       ConnectorView(Connector* = nil)
              The constructor takes  a  subject  as  an  optional
              argument.   The view will attach itself to the sub-
              ject if one is specified.


SEE ALSO

       CGlue(3U),  GraphicComp(3U),  GraphicView(3U),   Path(3U),
       StateVar(3U), edit(3U0, globals(3U)





































Man(1) output converted with man2html