NAME WWW::Ruler - a helper for building rulers for visual presentation (in WWW applictions for example) SYNOPSIS Now this module is beta. Not all documentation is finished yet. use WWW::Ruler; my $ruler = WWW::Ruler->new( page_size => $page_size, ruler_size => 15 ); # $page_number - a number of current page # $array_length - a dimension of array of data my $piece = $ruler->cut_off( page_number => $page_number, amount => $array_length ); # Detail in manual WWW::Ruler::Piece(3) $piece->outside; # true if piece are located outside of array of data. You can test before next methods $ruler_array = $piece->ruler; # An array of ruler items for drawing $start_index = $piece->start; # A start index of array (a base is zero) for cutting $end_index = $piece->end; # An end index of array (a base is zero) for cutting $size = $piece->size; # A size (dimension) of piece of current page. DESCRIPTION This class will help to make a ruler with a following layouts and calculate start and end indices. Ruler can look like these examples: [ << ] [ 1 ] [ ... ] [ 4 ] [ 5 ] ( 6 ) [ 7 ] [ 8 ] [ ... ] [ 999 ] [ >> ] [ 1 ] [ 4 ] [ 5 ] ( 6 ) [ 7 ] [ 8 ] [ ... ] [ 999 ] [ >> ] [ << ] [ 1 ] [ ... ] [ 4 ] [ 5 ] ( 6 ) [ 7 ] [ 8 ] [ >> ] Here ( 1 ) and ( 6 ) are "current" pages. A [ << ], [ >> ] and [ DIGIT ] - linked buttons for other pages for example. And the [ ... ] is an ellipse figure of span between page numbers (not linked). CONSTRUCTOR $ruler = WWW::Ruler->new( page_size => $page_size, ruler_size => 15 ); $ruler = WWW::Ruler->new; You can construct object with and without options. OPTIONS These options can be passed in "new" and "cut_off" methods. Options in "cut_off" method redefine constructor's options. page_size Number. How many do you have items in one page? ruler_size A desired maximum number of buttons (not included button [<<], [>>] and [...]). It is only desired amount! Please notice that real items in ruler can be up 3-4 items! It option will be improved in next versions. page_number A current number of page for which this ruler to be builded. It starts from 1. amount An amount of items in whole array. METHODS new( %opts ) The constructor. The %opts are optional. Any options can be redefined in "cut_off" method. cut_off ( %opts ) This method makes virtual *cut off* of array and contructs array of ruler items. Any options passed into this method redefine options of constructor (to see "SYNOPSIS"). Returns an instance of WWW::Ruler::Piece object. You can test a validation of piece bounds by "outside" in WWW::Ruler::Piece method. AUTHOR This module has been written by Perlover LICENSE This module is free software and is published under the same terms as Perl itself.