Provided by: libgraphics-primitive-perl_0.67-2_all bug

NAME

       Graphics::Primitive::ComponentList - List of Components

DESCRIPTION

       Maintains a list of components and their constraints.  This is implemented as a class to
       provide functionality above and beyond a simple array.

SYNOPSIS

         my $c = Graphics::Primitive::ComponentList->new;
         $c->add_component($comp, $constraint);

         my $cindex = $c->find_component($comp->name);

METHODS

   Constructor
       new Creates a new Container.

   Instance Methods
       add_component ($component, $constraint)
           Add a component to the list.  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
           Reset components and constraints to empty arrayrefs.

       component_count
           Returns the number of components in this list.

       constraint_count
           Returns the number of constraints in this list.

       each
           Calls the supplied CODEREF for each component in this list, passing the component and
           it's constraints as arguments.

             my $flist = $list->each(
               sub{
                   my ($component, $constraint) = @_; $comp->class('foo)
               }
             );

       find
           Returns a new ComponentList containing only the components for which the supplied
           CODEREF returns true.  The coderef is called for each component and is passed the
           component and it's constraints.  Undefined components (the ones left around after a
           remove_component) are automatically skipped.

             my $flist = $list->find(
               sub{
                 my ($component, $constraint) = @_; return $comp->class eq 'foo'
               }
             );

           If no matching components are found then a new list is returned so that simple calls
           liked $container->find(...)->each(...) don't explode.

       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.

       remove_component
           Removes a component and it's constraint.  Components must have names to be removed.
           Returns an arrayref of Components that were removed.

AUTHOR

       Copyright 2008-2009 by Cory G Watson.

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.