cvsuser     02/04/19 07:34:21

  Modified:    P5EEx/Blue/P5EEx/Blue/Widget/HTML DataTable.pm
  Log:
  added editing for entire columns or rows without having to specify the other axis
  
  Revision  Changes    Path
  1.9       +33 -8     p5ee/P5EEx/Blue/P5EEx/Blue/Widget/HTML/DataTable.pm
  
  Index: DataTable.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/P5EEx/Blue/P5EEx/Blue/Widget/HTML/DataTable.pm,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -w -r1.8 -r1.9
  --- DataTable.pm      5 Apr 2002 23:03:16 -0000       1.8
  +++ DataTable.pm      19 Apr 2002 14:34:20 -0000      1.9
  @@ -1,10 +1,10 @@
   
   ######################################################################
  -## $Id: DataTable.pm,v 1.8 2002/04/05 23:03:16 spadkins Exp $
  +## $Id: DataTable.pm,v 1.9 2002/04/19 14:34:20 spadkins Exp $
   ######################################################################
   
   package P5EEx::Blue::Widget::HTML::DataTable;
  -$VERSION = do { my @r=(q$Revision: 1.8 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.9 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use P5EEx::Blue::P5EE;
   use P5EEx::Blue::Widget::HTML;
  @@ -635,7 +635,20 @@
                            width => 85,
                            bevel => 2,
                        )->display();
  -            $html .= "</td></tr></table>\n";
  +            $html .= "</td>\n";
  +            #$html .= "<td>\n";
  +            #$html .= $wc->widget("$name.confirm",
  +            #             widgetClass => 
"P5EEx::Blue::Widget::HTML::RadioButtonSet",
  +            #             #lightweight => 1,
  +            #             values => [ "no_confirm", "confirm", "auto_confirm" ],
  +            #             labels => {
  +            #                 "no_confirm" => "Changes Not Confirmed",
  +            #                 "confirm" => "Confirm Changes",
  +            #                 "auto_confirm" => "Auto-Confirm",
  +            #             },
  +            #         )->display();
  +            #$html .= "</td>\n";
  +            $html .= "</tr></table>\n";
           }
       
           $html .= $table_begin;
  @@ -661,16 +674,25 @@
                   $html .= "</tr>\n";
               }
               if ($filterable) {
  +                my ($w);
                   $html .= "<tr>\n";
                   $html .= "  <td>&nbsp;</td>\n" if ($mode eq "edit" && 
$rowSelectable);
                   $html .= "  <td>&nbsp;</td>\n" if ($numbered);
                   for ($col = 0; $col < $numcols; $col++) {
                       $column = $columns->[$col];
  -                    $elem = $wc->widget("$name\{filter}{$column}",
  +$self->{context}->dbgprint("DataTable->widget($name\{filter}{$column})\n");
  +                    #$elem = $wc->widget("$name\{filter}{$column}",
  +                    #            widgetClass => 
"P5EEx::Blue::Widget::HTML::TextField",
  +                    #            size => 5,
  +                    #            maxwidth => 99,
  +                    #        )->display();
  +                    $w = $wc->widget("$name\{filter}{$column}",
                                   widgetClass => 
"P5EEx::Blue::Widget::HTML::TextField",
                                   size => 5,
                                   maxwidth => 99,
  -                            )->display();
  +                         );
  +$self->{context}->dbgprint("DataTable->widget() $w name=$w->{name}\n");
  +                    $elem = $w->display();
                       $html .= "  <td>$elem_begin$elem$elem_end</td>\n";
                   }
                   $html .= "</tr>\n";
  @@ -757,7 +779,8 @@
                   $column = $columns->[$col];
               }
       
  -            if ($column ne "" && $self->{columnSelected}{$column}) {
  +            if (($column ne "" && $self->{columnSelected}{$column}) ||
  +                ($self->{rowSelected} && %{$self->{rowSelected}})) {
                   for ($row = 0; $row <= $#$data; $row++) {
                       $elem = $data->[$row][$col];
                       if (defined $elem && length($elem) > $column_length[$col]) {
  @@ -803,7 +826,9 @@
               }
   
               $elemSelected = 0;
  -            if ($self->{columnSelected}{$column} && $self->{rowSelected}{$key}) {
  +            if (($self->{columnSelected}{$column} && $self->{rowSelected}{$key}) ||
  +                ($self->{columnSelected}{$column} && (!defined $self->{rowSelected} 
|| !%{$self->{rowSelected}})) ||
  +                ((!defined $self->{columnSelected} || !%{$self->{columnSelected}})  
&& $self->{rowSelected}{$key})) {
                   $elemSelected = 1;
               }
   
  @@ -824,7 +849,7 @@
                   $html .= "  <td $td_row_attrib$td_col_attrib>${elem_begin}";
                   $html .= $wc->widget("$name\{editdata}{$key}{$column}",
                                widgetClass => "P5EEx::Blue::Widget::HTML::TextField",
  -                             size => $column_length[$col]+1,   # add 1 just to give 
some visual space
  +                             size => $column_length[$col]+2,   # add 2 just to give 
some visual space
                                maxlength => 99,
                                backgroundColor => "#ffaaaa",
                                borderStyle => "solid",
  
  
  


Reply via email to