A specialized subclass of
Progress which is capable having child
progresses.
Each registered child has an assosiated percentage number. It is called "relative
percentage" and basically means which part of the composite's total percentage
does this child "own". Additionally the composite has its "own percentage", which
is independent of the children.
The composite registers itself as a listener on each added child and updates its
total percentage according to the children's states. It also propagates the
change information to its own listeners.
The synchronization behavior of a composite progress is not completely defined,
if the composite serves as the target of a synchronization link. It will behave
exactly as a regular progress if it has no children, but in the other case,
errors may arise if the synchronization routine attempts to set an illegal
percentage, i.e. if this "attempted" percentage will conflict with the children.
An additional capability of a composite progress is its ability to fetch
children's detail status whenever a child is updated. This bahaior is controlled
by the synchronizeDetails flag.
author: Kirill Sorokin since: 1.0 |