>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.
