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


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


       #include <Unidraw/Components/compview.h>


       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.


       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

       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

       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.


       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.


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