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