Graphics::Primitive::Container - Component that holds other Components
Containers are components that contain other components. They can also hold an
instance of a Layout::Manager for automatic layout of their internal
components. See the Component's Lifecycle Section for more information.
my $c = Graphics::Primitive::Container->new(
width => 500, height => 350,
layout_manager => Layout::Manager::Compass->new
);
$c->add_component($comp, { meta => 'data' });
- new
- Creates a new Container.
- add_component ($component, [ $constraint ])
- Add a component to the container. Returns a true value if the component
was added successfully. A second argument may be required, please consult
the POD for your specific layout manager implementation.
Before the component is added, it is passed to the
validate_component method. If validate_component does not return a true
value, then the component is not added.
- clear_components
- Remove all components from the layout manager.
- component_count
- Returns the number of components in this container.
- component_list
- Returns this Container's ComponentList.
- find_component
- Returns the index of the first component with the supplied name. Returns
undef if no component with that name is found.
- get_component
- Get the component at the specified index.
- get_constraint
- Get the constraint at the specified index.
- get_tree
- Returns a Forest::Tree object with this component at the root and all
child components as children. Calling this from your root container will
result in a tree representation of the entire scene.
- prepare
- Prepares this container. Does not mark as prepared, as that's done by the
layout manager.
- remove_component
- Removes a component. Components must have names to be removed.
Returns an arrayref of removed components.
- validate_component
- Optionally overridden by an implementation, allows it to deem a component
as invalid. If this sub returns false, the component won't be added.
Cory Watson, "<gphat@cpan.org>"
Please report any bugs or feature requests to
"bug-geometry-primitive at rt.cpan.org", or
through the web interface at
<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Geometry-Primitive>. I
will be notified, and then you'll automatically be notified of progress on
your bug as I make changes.
Copyright 2008-2009 by Cory G Watson.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.