Provided by: libgraphics-primitive-perl_0.67-2_all
NAME
Graphics::Primitive::Container - Component that holds other Components
DESCRIPTION
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.
SYNOPSIS
my $c = Graphics::Primitive::Container->new( width => 500, height => 350, layout_manager => Layout::Manager::Compass->new ); $c->add_component($comp, { meta => 'data' });
METHODS
Constructor new Creates a new Container. Instance Methods 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.
AUTHOR
Cory Watson, "<gphat@cpan.org>"
BUGS
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 & LICENSE
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.