CompositeVObject
Section: ET++ class description (n)
Updated: automatically Thu Mar 21 20:11:40 1991
Index
Return to Main Contents
NAME
CompositeVObject - 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
man2html: unable to open or read file
../mann/CompositeVObject::Add.n
man2html: unable to open or read file
../mann/CompositeVObject::At.n
man2html: unable to open or read file
../mann/CompositeVObject::Base.n
man2html: unable to open or read file
../mann/CompositeVObject::CompositeVObject.n
man2html: unable to open or read file
../mann/CompositeVObject::Detect.n
man2html: unable to open or read file
../mann/CompositeVObject::DispatchEvents.n
man2html: unable to open or read file
../mann/CompositeVObject::DoObserve.n
man2html: unable to open or read file
../mann/CompositeVObject::Draw.n
man2html: unable to open or read file
../mann/CompositeVObject::Enable.n
man2html: unable to open or read file
../mann/CompositeVObject::FreeAll.n
man2html: unable to open or read file
../mann/CompositeVObject::GetList.n
man2html: unable to open or read file
../mann/CompositeVObject::GetMinSize.n
man2html: unable to open or read file
../mann/CompositeVObject::InspectorId.n
man2html: unable to open or read file
../mann/CompositeVObject::MakeIterator.n
man2html: unable to open or read file
../mann/CompositeVObject::Open.n
man2html: unable to open or read file
../mann/CompositeVObject::Outline2.n
man2html: unable to open or read file
../mann/CompositeVObject::Parts.n
man2html: unable to open or read file
../mann/CompositeVObject::PrintOn.n
man2html: unable to open or read file
../mann/CompositeVObject::ReadFrom.n
man2html: unable to open or read file
../mann/CompositeVObject::Remove.n
man2html: unable to open or read file
../mann/CompositeVObject::SendDown.n
man2html: unable to open or read file
../mann/CompositeVObject::SetAt.n
man2html: unable to open or read file
../mann/CompositeVObject::SetContainer.n
man2html: unable to open or read file
../mann/CompositeVObject::SetExtent.n
man2html: unable to open or read file
../mann/CompositeVObject::SetItems.n
man2html: unable to open or read file
../mann/CompositeVObject::SetModified.n
man2html: unable to open or read file
../mann/CompositeVObject::SetOrigin.n
man2html: unable to open or read file
../mann/CompositeVObject::Size.n
man2html: unable to open or read file
../mann/CompositeVObject::~CompositeVObject.n
Index
- NAME
-
- DESCRIPTION
-
- INSTANCE VARIABLES
-
- INSTANCE METHOD LIST
-
- CATEGORIES
-
- FILES
-
- HISTORY
-
This document was created by
man2html,
using the manual pages.
Time: 00:40:30 GMT, March 30, 2022