package Excel::Template::Container::Format; use strict; BEGIN { use vars qw(@ISA); @ISA = qw( Excel::Template::Container ); use Excel::Template::Container; } use Excel::Template::Format; sub render { my $self = shift; my ($context) = @_; my $old_format = $context->active_format; my %values; while ( my ($k, $v) = each %$self ) { $values{$k} = $context->resolve( $self, $k ); } my $format = $context->format_object->copy( $context, $old_format, %values, ); $context->active_format($format); my $child_success = $self->iterate_over_children($context); $context->active_format($old_format); return $child_success; } 1; __END__ =head1 NAME Excel::Template::Container::Format - Excel::Template::Container::Format =head1 PURPOSE To format all children according to the parameters =head1 NODE NAME FORMAT =head1 INHERITANCE Excel::Template::Container =head1 ATTRIBUTES Boolean attributes should be set to 1, 0, true, or false. Color values can be the color name or the color index. See http://search.cpan.org/~jmcnamara/Spreadsheet-WriteExcel-2.11/lib/Spreadsheet/WriteExcel.pm#COLOURS_IN_EXCEL =over 4 =item * align Set to either left, center, right, fill, or justify. Default is left. See also valign. =item * bg_color Set to a color value. Default is none. =item * bold This will set bold to on or off, depending on the boolean value. =item * border Set the border for all for edges of a cell. Also see bottom, top, left, and right. Valid values are 0 - 7. http://search.cpan.org/~jmcnamara/Spreadsheet-WriteExcel-2.11/lib/Spreadsheet/WriteExcel.pm#set_border() =item * border_color Sets the color value for the border. See also border, top_color, bottom_color, left_color and right_color. =item * bottom See border. =item * bottom_color See border_color =item * color This will set the color of the text, depending on color value. Default is black. =item * fg_color Set to a color value. This color will be used in foreground of some patterns. See color to change the color of text. Also see bg_color and pattern. =item * font This will sent the font face. Default is Arial. =item * font_outline This will set font_outline to on or off, depending on the boolean value. (q.v. OUTLINE tag) =item * font_shadow This will set font_shadow to on or off, depending on the boolean value. (q.v. SHADOW tag). This only applies to Excel for Macintosh. =item * font_strikeout This will set font_strikeout to on or off, depending on the boolean value. (q.v. STRIKEOUT tag) =item * hidden This will set whether the cell is hidden to on or off, depending on the boolean value. =item * indent Set the indentation level for a cell. Positive integers are allowed. =item * italic This will set italic to on or off, depending on the boolean value. (q.v. ITALIC tag) =item * left See border. =item * left_color See border_color. =item * num_format Set to the index of one of Excel's built-in number formats. See http://search.cpan.org/~jmcnamara/Spreadsheet-WriteExcel-2.11/lib/Spreadsheet/WriteExcel.pm#set_num_format() =item * pattern Set to an integer, 0 - 18. Sets the background fill pattern of a ell. Default is 1, solid. =item * right See border. =item * right_color See border color. =item * rotation Set the rotation of the text in a cell. The rotation can be any angle in the range -90 to 90 degrees. The angle 270 is also supported. This indicates text where the letters run from top to bottom. =item * shrink A boolean value. If true, text will shrink to fit a cell. =item * size This will set the size of the font. Default is 10. Unless a row height is specifically set, the row will grow taller as necessary. =item * text_justlast A boolean value to justify the last line. Only applies to Far Eastern versions of Excel. =item * text_wrap A boolean value. When set to true, text will wrap in a cell instead of crossing over into empty cells. If the row height is not set, the row will grow taller to accomodate the wrapping text. =item * top See border. =item * top_color See border_color =item * valign Set to top, vcenter, bottom, or vjustify. Default is vcenter. See also align. =back =head1 CHILDREN None =head1 EFFECTS None =head1 DEPENDENCIES None =head1 USAGE ... Children here In the above example, the children will be displayed (if they are displaying elements) in a bold format. All other formatting will remain the same and the "bold"-ness will end at the end tag. =head1 AUTHOR Rob Kinyon (rob.kinyon@gmail.com) =head1 SEE ALSO BOLD, HIDDEN, ITALIC, OUTLINE, SHADOW, STRIKEOUT =cut