GVUpdater(3) updates GraphicViews structure to match its subject


#include <Unidraw/Components/gvupdater.h>


GVUpdater is an implementation class that GraphicViews uses to keep its state and structure consistent with its GraphicComps subject. GVUpdater ensures that subject's immediate children are identical to the view's in number and graphics state attributes. It also ensures that the root GraphicViews and GraphicComps themselves have the same graphics state. GVUpdater does not ensure that it will detect and update changes made to deeper child nodes.


The constructor takes the GraphicView that it will be updating as a parameter and stores it in the protected member _gv. Normally, GraphicViews are the only objects that will instantiate GVUpdater.
virtual void Update()
Update the GraphicView to make it consistent with its subject.


void UpdateStructure()
void UpdateState()
The Update procedure takes place in two stages. The subject's and view's structures are reconciled first by UpdateStructure, and then the view's graphic state is changed to match the subjects with UpdateState.
void AddDamage(Graphic*)
void IncurDamage(Graphic*)
void Unselect(GraphicView*)
virtual void Add(GraphicView*)
virtual void Append(GraphicView*)
virtual void InsertBefore(Iterator, GraphicView*)
virtual void Remove(Iterator&)
virtual void DeleteView(Iterator&)
GVUpdater is a friend of GraphicViews. These convenience operations provide an interface to the corresponding protected GraphicViews operations.
virtual ClassId ViewCategory()
Returns the view category (see classes(3U)) GVUpdater will use to instantiate views of subjects. ViewCategory returns COMPONENT_VIEW by default.