cvsuser 05/10/20 13:35:13
Modified: App-Widget/lib/App/Widget SelectSaveAs.pm
Log:
keep better synchronized with a callback event
Revision Changes Path
1.3 +28 -19 p5ee/App-Widget/lib/App/Widget/SelectSaveAs.pm
Index: SelectSaveAs.pm
===================================================================
RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/SelectSaveAs.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SelectSaveAs.pm 9 Aug 2005 19:25:46 -0000 1.2
+++ SelectSaveAs.pm 20 Oct 2005 20:35:13 -0000 1.3
@@ -77,6 +77,9 @@
class => "App::Widget::TextField",
#lightweight => 1,
);
+
+ # initialize value to "default" if not already set
+ $context->so_get($name, undef, "default", 1);
}
######################################################################
@@ -84,21 +87,27 @@
######################################################################
# Usage: $widget->handle_event($name, $event, @args);
-#sub handle_event {
-# my ($self, $name, $event, @args) = @_;
-#
-# if ($event eq "change") {
-# #$self->split_date($name, $event, @args);
-# return 1;
-# }
-# elsif ($event eq "click") {
-# #$self->split_date($name, $event, @args);
-# return 1;
-# }
-# else {
-# return $self->SUPER::handle_event($name, $event, @args);
-# }
-#}
+sub handle_event {
+ my ($self, $name, $event, @args) = @_;
+
+ if ($event eq "change") {
+ $self->change();
+ return 1;
+ }
+ else {
+ return $self->SUPER::handle_event($name, $event, @args);
+ }
+}
+
+sub change {
+ my ($self) = @_;
+ my $context = $self->{context};
+ my $name = $self->{name};
+ my $value = $context->so_get("${name}-selected");
+ if ($value) {
+ $context->so_set($name, undef, $value);
+ }
+}
######################################################################
# OUTPUT METHODS
@@ -117,8 +126,8 @@
$context->widget("${name}-save")->html() . " " .
$context->widget("${name}-delete")->html() . " : " .
$context->widget("${name}-saveas")->html() . " " .
- $context->widget("${name}-saveas_selected")->html();
- # $self->callback_event_tag("change");
+ $context->widget("${name}-saveas_selected")->html() .
+ $self->callback_event_tag("change");
}
1;