Author: spadkins
Date: Wed Feb 17 09:54:36 2010
New Revision: 13828
Modified:
p5ee/trunk/App-Widget/lib/App/Widget/TabbedAppFrame.pm
p5ee/trunk/App-Widget/lib/App/Widget/TabbedSelector.pm
Log:
add support for deep-linking to a particular tab within the AppFrame with the
'screen=foo' URL parameter
Modified: p5ee/trunk/App-Widget/lib/App/Widget/TabbedAppFrame.pm
==============================================================================
--- p5ee/trunk/App-Widget/lib/App/Widget/TabbedAppFrame.pm (original)
+++ p5ee/trunk/App-Widget/lib/App/Widget/TabbedAppFrame.pm Wed Feb 17
09:54:36 2010
@@ -66,6 +66,7 @@
######################################################################
sub handle_event {
+ &App::sub_entry if ($App::trace);
my ($self, $wname, $event, @args) = @_;
my ($context, $name, $node);
my ($selector_widget, $screen_wname, $screen_widget, $screen_settings);
@@ -118,6 +119,7 @@
else {
return $self->SUPER::handle_event($wname, $event, @args);
}
+ &App::sub_exit() if ($App::trace);
}
@@ -126,6 +128,7 @@
######################################################################
sub html {
+ &App::sub_entry if ($App::trace);
my $self = shift;
my ($context, $name, $html);
$name = $self->{name};
@@ -270,6 +273,7 @@
</table>
EOF
}
+ &App::sub_exit($html) if ($App::trace);
$html;
}
Modified: p5ee/trunk/App-Widget/lib/App/Widget/TabbedSelector.pm
==============================================================================
--- p5ee/trunk/App-Widget/lib/App/Widget/TabbedSelector.pm (original)
+++ p5ee/trunk/App-Widget/lib/App/Widget/TabbedSelector.pm Wed Feb 17
09:54:36 2010
@@ -38,11 +38,20 @@
######################################################################
sub _init {
+ &App::sub_entry if ($App::trace);
my $self = shift;
$self->SUPER::_init(@_);
if (! $self->{selected}) {
- $self->select_first();
+ my $context = $self->{context};
+ my $screen = $context->so_get("default","screen");
+ if ($screen) {
+ $self->select("wname", $screen);
+ }
+ else {
+ $self->select_first();
+ }
}
+ &App::sub_exit() if ($App::trace);
}
sub select {