logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Graphics::Primitive::ComponentList - List of Components

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.

Description

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

Methods

Constructornew Creates a new Container.

   InstanceMethodsadd_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.  Componentsmusthavenamestoberemoved.   Returns  an
           arrayref of Components that were removed.

Name

       Graphics::Primitive::ComponentList - List of Components

Synopsis

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

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

See Also