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

NAME

       ComponentView - base class for views of objects that model domain-specific elements

SYNOPSIS

       #include <Unidraw/Components/compview.h>

DESCRIPTION

       ComponentView  is  an  abstract  base  class  for views of component subjects.  Component views provide a
       specialized presentation of the information in the component subject to which they are attached.  Usually
       there is at least one view subclass defined for each subclass of component subject.

PUBLIC OPERATIONS

       virtual void Interpret(Command*)
       virtual void Uninterpret(Command*)
              These  operations  call the corresponding subject operations by default.  They are included in the
              component view protocol for convenience, since other  objects  often  deal  with  component  views
              rather than their subjects.

       virtual void Update()
              Notify the view of a change in some state that it depends on, normally state in the subject.  This
              operation does nothing by default.

       virtual Component* GetParent()
              Return the view's parent, if any.  Like component subjects,  component  views  may  be  structured
              hierarchically, and their structure may or may not reflect that of their subject.

       Component* GetSubject()
              Return the component view's subject.

       virtual void First(Iterator&)
       virtual void Last(Iterator&)
       virtual void Next(Iterator&)
       virtual void Prev(Iterator&)
       virtual boolean Done(Iterator)
              Operations for iterating over the component view's children, if any.  First and Last initialize an
              iterator to point to the beginning and end of the list of children, respectively.  Next increments
              the  iterator  to point to the following child, while Prev decrements the iterator to point to the
              preceding child.  Done returns whether or not the iterator points beyond the first or  last  child
              in the list.

       virtual ClassId GetClassId()
       virtual boolean IsA(ClassId)
              GetClassId  returns  the unique class identifier for the ComponentView subclass, while IsA returns
              whether the instance is of a class  or  subclass  corresponding  to  the  given  identifier.   IsA
              typically  checks  the  given  identifier against the instance's own (as defined by its GetClassId
              operation) and, failing that, calls its  parent  classes'  IsA  operation.   All  subclasses  must
              redefine  GetClassId  and  IsA  to ensure that their identifiers are unique and that view category
              information is defined properly.  See classes(3U) for more information on  class  identifiers  and
              view categories.

PROTECTED OPERATIONS

       ComponentView(Component* subject = nil)
              The  constructor  initializes  the  component view's subject pointer to the given value.  The view
              will also attach itself to the subject if the argument is non-nil.

       virtual void SetSubject(Component*)
              Set the component's subject pointer to the given value.  By default, this operation does not  call
              Attach or Detach on the subject(s).

       virtual void SetParent(Component* child, Component* parent)
              Notify  a  child  component that it has a new or different parent.  This operation does nothing by
              default.  Composite components should call this function in their structure-modifying  operations,
              and  components  that  keep  information  about  their  parents  should redefine it to update this
              information.

SEE ALSO

       Command(3U), Component(3U), Iterator(3U), classes(3U)