>Do we perhaps need a split between the concept of CompositeComponent and
>LayoutContainer, since a CompositeComponent is only really allowed to be
>manipulated by it's Skin,
>whereas a LayoutContainer may have child components add/removed by anyone.

Pivot does make a conceptual distinction between containers that are used for 
navigation, for layout, and as composites, but we don't impose any API 
restrictions - and I'm not sure we can. The skin is simply just another public 
caller - there's no way to say "it's OK for the skin to add components, but not 
anyone else". So I think this is probably just a documentation issue.

>Which leads to another interesting discussion - is it possible to
>recursively disable/enable a hierarchy of components, and how to do this
>safely and easily.

Disabling an ancestor implicitly disables the descendants - they won't show 
their "disabled" states, but you won't be able to interact with them. You may 
find the isBlocked() method useful - isEnabled() returns true if a component is 
itself disabled, and isBlocked() returns true if the component or any of its 
descedants are disabled.



Reply via email to