Author: spadkins
Date: Thu Jan 17 14:11:40 2008
New Revision: 10592
Modified:
p5ee/trunk/App-Widget/lib/App/Widget.pm
Log:
add format callback hook
Modified: p5ee/trunk/App-Widget/lib/App/Widget.pm
==============================================================================
--- p5ee/trunk/App-Widget/lib/App/Widget.pm (original)
+++ p5ee/trunk/App-Widget/lib/App/Widget.pm Thu Jan 17 14:11:40 2008
@@ -502,7 +502,7 @@
sub format {
&App::sub_entry if ($App::trace);
- my ($self, $value, $format_options) = @_;
+ my ($self, $value, $format_options, $values) = @_;
my $formatted_value = $value;
@@ -627,6 +627,18 @@
$formatted_value = $fvalue;
$formatted_value = $value if (!defined $formatted_value);
}
+ if ($values) {
+ if ($formatted_value =~ /\{([a-z0-9_]+)\}/) {
+ my $param = $1;
+ my $method = "format_$param";
+ if ($self->can($method)) {
+ $formatted_value = $self->$method($value,
$formatted_value, $format_options, $values);
+ }
+ else {
+ $formatted_value =~ s/\{$param\}/?/g;
+ }
+ }
+ }
}
&App::sub_exit($formatted_value) if ($App::trace);