CompositeVObject

Section: ET++ class description (n)
Updated: automatically Thu Mar 21 20:11:40 1991
Index Return to Main Contents
 

NAME

CompositeVObject.short - a VObject composed of other VObjects  

DESCRIPTION

CompositeVObject is the abstract base class for VObjects that are composed of several other VObjects.
A CompositeVObject is a VObject that contains a Collection of other VObjects. It can be treated as any other VObject and can itself be contained in another CompositeVObject, and so on. This tree-like organization is called the VObject Tree and is the way of building complex window layouts.
CompositeVObject stores its VObjects, which are commonly referred to as contained or inner VObjects, in a Collection (see instvar list) and forwards most of the methods of the class VObject to each VObject in that list. In addition it provides several Collection methods in order to ease the access to the contained VObjects, such as Add, Remove, MakeIterator or Size which are passed to the instvar list.
CompositeVObject performs only a minimum layout calculation. Specific layout management is up to its subclasses by overriding method GetMinSize, method Base, method SetOrigin and method SetExtent. The class Expander is a good example for this task.


classes are always derived from CompositeVObject.
class CompositeVObject is never reused directly.
class CompositeVObject is abstract.
class CompositeVObject contains 32 methods.

owner of class:
nobody.
baseclasses:
VObject
subclasses:
AbstractBorderItem, BackgroundItem, Button, Cluster, CycleItem, Expander, PullDownItem, Scroller, ShadowItem, Slider, Splitter, StretchWrapper, TreeNode
flags:
CompositeVObjectFlags

 

INSTANCE VARIABLES

list (protected Collection *)
is the list of inner VObjects. It is initialized with an instance of the class OrdCollection by the constructors or when the first VObject is added. The list is deleted by the destructor.
There are several methods to access and modify the list such as the method Add, method Remove or method Size. Whenever a VObject is added to or removed from the list the instvar modified is set to TRUE.

modified (protected bool)
indicates whether the instvar list has been modified. modified is initially TRUE and set whenever VObjects are added or removed by the method Add and the method Remove. In addition, if a client registers a CompositeVObject as an observer of its instvar list, then the CompositeVObject is also notified through the method DoObserve so that the instvar list can be modified by any other object.
The modified flag is used by subclasses to save time in layout calculation. For example, the class Cluster, whose layout calculation is rather expensive, saves its minimum size in an instance variable and recalculates it only when the instvar list has been modified. By calling the method SetModified this recalculation can be forced.

 

INSTANCE METHOD LIST

change propagation
DoObserve

client interface
CompositeVObject
GetList

collection
Add
At
FreeAll
SetAt
SetModified

forwarding
Detect
DispatchEvents
Draw
Enable
GetMinSize
MakeIterator
Open
Outline2
Remove
SendDown
SetContainer
Size

implementation
InspectorId
Parts
PrintOn
ReadFrom
~CompositeVObject

miscellaneous
SetItems

overrider interface
Base
CompositeVObject
SetExtent
SetItems
SetOrigin

 

CATEGORIES

Graphic Foundation

 

FILES

declaration:
VObject.h

 

HISTORY

joe@csesbg.at  Thu Jun 20 21:42 MET DST 1991   1st version

chris@csesbg.at        Fri Jun 21 13:32 MET DST 1991   reviewed

joe@csesbg.at  Fri Jun 21 14:11 MET DST 1991   last changes


 

Index

NAME
DESCRIPTION
INSTANCE VARIABLES
INSTANCE METHOD LIST
CATEGORIES
FILES
HISTORY

This document was created by man2html, using the manual pages.
Time: 00:40:29 GMT, March 30, 2022