cvsuser 02/11/01 12:27:12
Modified: App-Widget/lib/App/Widget AppFrame.pm DataTable.pm
HierView.pm RepositoryEditor.pm
Log:
get the new framework working
Revision Changes Path
1.3 +29 -27 p5ee/App-Widget/lib/App/Widget/AppFrame.pm
Index: AppFrame.pm
===================================================================
RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/AppFrame.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -w -r1.2 -r1.3
--- AppFrame.pm 25 Oct 2002 19:50:19 -0000 1.2
+++ AppFrame.pm 1 Nov 2002 20:27:12 -0000 1.3
@@ -1,10 +1,10 @@
######################################################################
-## $Id: AppFrame.pm,v 1.2 2002/10/25 19:50:19 spadkins Exp $
+## $Id: AppFrame.pm,v 1.3 2002/11/01 20:27:12 spadkins Exp $
######################################################################
package App::Widget::AppFrame;
-$VERSION = do { my @r=(q$Revision: 1.2 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
+$VERSION = do { my @r=(q$Revision: 1.3 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
use App;
use App::Widget;
@@ -74,22 +74,23 @@
$name = $self->{name};
$context = $self->{context};
+#print ">>> AppFrame->handle_event($wname, $event, @args) name=$name\n";
+
if ($wname eq "$name.selector" && $event eq "select") {
$selector_widget = $context->widget("$name.selector");
$screen_wname = $selector_widget->get_selected("wname");
$screen_widget = $context->widget($screen_wname);
$screen_settings = $selector_widget->get_selected("set");
- $self->{context}->dbgprint("AppFrame->handle_event($wname, $event, @args):
$screen_settings [",
- join(",",%$screen_settings), "]")
+ $self->{context}->dbgprint("AppFrame->handle_event($wname, $event, @args):
screen_settings=$screen_settings")
if ($App::DEBUG && $self->{context}->dbg(1));
+
if ($screen_settings) {
foreach (keys %$screen_settings) {
$screen_widget->set($_, $screen_settings->{$_});
}
- return 1;
}
-
+ else {
$screen_msg = $selector_widget->get_selected("send");
if ($screen_msg && ref($screen_msg) eq "ARRAY" && $#$screen_msg >= 1) {
my ($target_widget, $target_wname, $method, @args);
@@ -97,21 +98,22 @@
$target_widget = $context->widget($target_wname);
$target_widget->$method(@args);
}
-
- my $frame = $selector_widget->get_selected("frame");
- if (defined $frame) {
- my ($key);
- foreach $key (keys %$frame) {
- $self->set($key,$frame->{$key});
- }
}
- my $target = $selector_widget->get_selected("target");
- if ($target) {
- $main::target = $target;
- }
+ #my $frame = $selector_widget->get_selected("frame");
+ #if (defined $frame) {
+ # my ($key);
+ # foreach $key (keys %$frame) {
+ # $self->set($key,$frame->{$key});
+ # }
+ #}
+
+ #my $target = $selector_widget->get_selected("target");
+ #if ($target) {
+ # $main::target = $target;
+ #}
- $self->{noframe} = $selector_widget->get_selected("noframe");
+ #$self->{noframe} = $selector_widget->get_selected("noframe");
return 1;
}
@@ -171,9 +173,9 @@
$screen_bgcolor = "#cccccc";
}
- if ($self->{noframe}) {
- return $screen; # no need to generate a frame
- }
+ #if ($self->{noframe}) {
+ # return $screen; # no need to generate a frame
+ #}
#$screentitle_widget = $context->widget("$name.screentitle",
# -label => $screentitle_value,
1.3 +15 -17 p5ee/App-Widget/lib/App/Widget/DataTable.pm
Index: DataTable.pm
===================================================================
RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/DataTable.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -w -r1.2 -r1.3
--- DataTable.pm 25 Oct 2002 19:50:19 -0000 1.2
+++ DataTable.pm 1 Nov 2002 20:27:12 -0000 1.3
@@ -1,10 +1,10 @@
######################################################################
-## $Id: DataTable.pm,v 1.2 2002/10/25 19:50:19 spadkins Exp $
+## $Id: DataTable.pm,v 1.3 2002/11/01 20:27:12 spadkins Exp $
######################################################################
package App::Widget::DataTable;
-$VERSION = do { my @r=(q$Revision: 1.2 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
+$VERSION = do { my @r=(q$Revision: 1.3 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
use App;
use App::Widget;
@@ -52,7 +52,7 @@
# [ "Smith, Ken", "1215 Interloke Pass", "Jonesboro", "GA",
"US", "770-603-1813" ],
# [ "Smith, Mary", "1215 Interloke Pass", "Jonesboro", "GA",
"US", "770-603-1814" ], ];
# {startrow} = 1
-# {maxrows} = 25
+# {maxrows} = 20
# {scrollable} = 0;
# {sortable} = 0;
# {filterable} = 0;
@@ -75,6 +75,7 @@
sub init {
my $self = shift;
$self->SUPER::init(@_);
+ $self->{table} = $self->{name} if (!$self->{table});
$self->{context}->dbgprint("DataTable->init()")
if ($App::DEBUG && $self->{context}->dbg(1));
@@ -106,14 +107,14 @@
}
elsif ($wname eq "$name.next") {
$startrow = $self->get("startrow",1,1);
- $maxrows = $self->get("maxrows",25,1);
+ $maxrows = $self->get("maxrows",20,1);
$startrow += $maxrows;
$self->set("startrow",$startrow);
return 1;
}
elsif ($wname eq "$name.prev") {
$startrow = $self->get("startrow",1,1);
- $maxrows = $self->get("maxrows",25,1);
+ $maxrows = $self->get("maxrows",20,1);
$startrow -= $maxrows;
$startrow = 1 if ($startrow < 1);
$self->set("startrow",$startrow);
@@ -194,7 +195,7 @@
my ($repository, $rep, $table);
$repository = $self->{repository};
$table = $self->{table};
- $rep = $self->{context}->repository($repository) if ($repository);
+ $rep = $self->{context}->repository($repository);
if ($rep && $table) {
$columns = $rep->get_column_names($table);
}
@@ -268,8 +269,9 @@
$paramvalues = $self->substitute($self->get("paramvalues"));
$sql = $self->substitute($sql, $paramvalues);
$startrow = $self->get("startrow", 1, 1);
- $maxrows = $self->get("maxrows", 25, 1);
- $rows = [ $rep->exec_select($sql, $startrow, $startrow+$maxrows-1) ];
+ $maxrows = $self->get("maxrows", 20, 1);
+ $endrow = ($maxrows != 0) ? ($startrow + $maxrows - 1) : 0;
+ $rows = [ $rep->exec_select($sql, $startrow, $endrow) ];
$error = $rep->error();
if ($#$rows == -1 && $error) {
$context->add_message("SQL error: $error<br>$sql");
@@ -280,10 +282,6 @@
}
else {
$table = $self->get("table");
- if (! $table) {
- $context->add_message("No table specified");
- return;
- }
$columns = $self->get_columns();
if (! defined $columns || $#$columns == -1) {
@@ -361,10 +359,8 @@
$ordercols = $self->get("ordercols");
$directions = $self->get("directions");
$startrow = $self->get("startrow", 1, 1);
- $startrow = 1 if ($startrow eq "");
- $maxrows = $self->get("maxrows", 25, 1);
- $maxrows = 0 if ($maxrows eq "");
- $endrow = ($maxrows != 0) ? ($startrow + $maxrows - 1) :
$startrow+100000;
+ $maxrows = $self->get("maxrows", 20, 1);
+ $endrow = ($maxrows != 0) ? ($startrow + $maxrows - 1) : 0;
if ($App::DEBUG && $self->{context}->dbg(1)) {
$self->{context}->dbgprint("DataTable->load():
select_rows($table,c=$columns,p=$params,pv=$paramvalues,oc=$ordercols,$startrow,$endrow,$directions);");
@@ -530,12 +526,14 @@
my ($rowactions, $rowactiondefs, $rowaction, $rowactiondef);
my (@select_actions, @single_select_actions, @row_actions);
+ $table = $self->get("table");
+ return "No table defined." if (!$table);
$columns = $self->get_columns();
+ return "No columns defined for table [$table]. (maybe it doesn't exist)" if
(!$columns || $#$columns == -1);
$headings = $self->get_headings();
$data = $self->get_data();
$startrow = $self->get("startrow", 1);
$title = $self->get("title");
- $table = $self->get("table");
$width = $self->get("width");
$bgcolor = $self->get("bgcolor");
$fontColor = $self->get("fontColor");
1.3 +11 -3 p5ee/App-Widget/lib/App/Widget/HierView.pm
Index: HierView.pm
===================================================================
RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/HierView.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -w -r1.2 -r1.3
--- HierView.pm 25 Oct 2002 19:50:19 -0000 1.2
+++ HierView.pm 1 Nov 2002 20:27:12 -0000 1.3
@@ -1,10 +1,10 @@
######################################################################
-## $Id: HierView.pm,v 1.2 2002/10/25 19:50:19 spadkins Exp $
+## $Id: HierView.pm,v 1.3 2002/11/01 20:27:12 spadkins Exp $
######################################################################
package App::Widget::HierView;
-$VERSION = do { my @r=(q$Revision: 1.2 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
+$VERSION = do { my @r=(q$Revision: 1.3 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
use App;
use App::Widget;
@@ -70,6 +70,7 @@
sub handle_event {
my ($self, $wname, $event, @args) = @_;
my ($node, $nodenumber, $x, $y);
+#print ">>> HierView->handle_event($wname, $event, @args)\n";
$node = $self->get("node");
$self->set("node", $node);
@@ -88,9 +89,16 @@
}
elsif ($event eq "select") {
($nodenumber, $x, $y) = @args;
+#print ">>> HierView->handle_event() selected=[$self->{selected}]\n";
$self->set("selected", $nodenumber); # save node number
+#print ">>> HierView->handle_event() selected=[$self->{selected}]\n";
# intentionally bubble "select" event to the container
- return $self->SUPER::handle_event($wname, $event, @args);
+ if ($wname =~ /^(.*)\.([^.]+)$/) {
+ my $parent = $1;
+ my $result = $self->{context}->widget($parent)->handle_event($wname,
$event, @args);
+#print ">>> HierView->handle_event() selected=[$self->{selected}]\n";
+ return $result;
+ }
}
else {
return $self->SUPER::handle_event($wname, $event, @args);
1.3 +4 -2 p5ee/App-Widget/lib/App/Widget/RepositoryEditor.pm
Index: RepositoryEditor.pm
===================================================================
RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/RepositoryEditor.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -w -r1.2 -r1.3
--- RepositoryEditor.pm 25 Oct 2002 19:50:19 -0000 1.2
+++ RepositoryEditor.pm 1 Nov 2002 20:27:12 -0000 1.3
@@ -1,6 +1,6 @@
######################################################################
-## $Id: RepositoryEditor.pm,v 1.2 2002/10/25 19:50:19 spadkins Exp $
+## $Id: RepositoryEditor.pm,v 1.3 2002/11/01 20:27:12 spadkins Exp $
######################################################################
## x TODO: add "summary" feature
## x TODO: add cross-tabulation
@@ -32,11 +32,13 @@
## x TODO: add default {summary} formula as sum(COL) (for numbers)
package App::Widget::RepositoryEditor;
-$VERSION = do { my @r=(q$Revision: 1.2 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
+$VERSION = do { my @r=(q$Revision: 1.3 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
use App;
use App::Widget;
@ISA = ( "App::Widget" );
+
+use App::Repository;
use strict;