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);

Reply via email to