Author: spadkins
Date: Fri Feb 15 05:41:23 2008
New Revision: 10735

Modified:
   p5ee/trunk/App-Widget/lib/App/Widget/Select.pm

Log:
added the init_default parameter to allow the widget to initialize the default 
to the first value in the value_domain if the value is not currently set

Modified: p5ee/trunk/App-Widget/lib/App/Widget/Select.pm
==============================================================================
--- p5ee/trunk/App-Widget/lib/App/Widget/Select.pm      (original)
+++ p5ee/trunk/App-Widget/lib/App/Widget/Select.pm      Fri Feb 15 05:41:23 2008
@@ -52,8 +52,16 @@
     my $context = $self->{context};
     my $name = $self->{name};
     my $value = $context->so_get($name);
-    if ($value eq "EACH") {
-        my ($values, $labels) = $self->values_labels();
+    my ($values, $labels);
+    if (! defined $value && $self->{init_default}) {
+        ($values, $labels) = $self->values_labels();
+        if ($#$values > -1) {
+            $value = $values->[0];
+            $context->so_set($name, undef, $value);
+        }
+    }
+    elsif (defined $value && $value eq "EACH") {
+        ($values, $labels) = $self->values_labels();
         $value = join(",", @$values);
         $context->so_set($name, undef, $value);
     }

Reply via email to