Author: tian
Date: Mon May 25 09:57:15 2015
New Revision: 2259

URL: http://svn.gna.org/viewcvs/gcstar?rev=2259&view=rev
Log:
Display totals in detailed mode when grouping and numeric fields are displayed

Modified:
    trunk/gcstar/lib/gcstar/GCItemsLists/GCTextLists.pm

Modified: trunk/gcstar/lib/gcstar/GCItemsLists/GCTextLists.pm
URL: 
http://svn.gna.org/viewcvs/gcstar/trunk/gcstar/lib/gcstar/GCItemsLists/GCTextLists.pm?rev=2259&r1=2258&r2=2259&view=diff
==============================================================================
--- trunk/gcstar/lib/gcstar/GCItemsLists/GCTextLists.pm (original)
+++ trunk/gcstar/lib/gcstar/GCItemsLists/GCTextLists.pm Mon May 25 09:57:15 2015
@@ -742,6 +742,7 @@
         $self->{secondaryField} = $self->{preferences}->secondarySort;
         $self->{secondaryIndex} = -1;
         $self->{addSecondary} = 0;
+        $self->{numericFields} = [];
 
         foreach my $field(@tmpArray)
         {
@@ -767,6 +768,7 @@
                 push @columnsType, 'Glib::Double';
                 $renderer = Gtk2::CellRendererText->new;
                 $attribute = 'text';
+                push @{$self->{numericFields}}, $field;
             }
             else
             {
@@ -1582,6 +1584,22 @@
                             $generated);
         $self->{originalValue}->{$generated} = $original;
         $self->{model}->set($iter, $self->{visibleCol}, $nbChildren);
+        
+        my %totals;
+        my $field;
+        my $childIter = $self->{subModel}->iter_children($subIter);
+        while ($childIter)
+        {
+            for $field(@{$self->{numericFields}})
+            {
+                $totals{$field} += 
($self->{subModel}->get($childIter))[$self->{fieldToId}->{$field}];
+            }
+            $childIter = $self->{subModel}->iter_next($childIter);
+        }
+        for $field(@{$self->{numericFields}})
+        {
+            $self->{model}->set($iter, $self->{fieldToId}->{$field}, 
$totals{$field});
+        }
     }
 
     sub refreshCounts


_______________________________________________
GCstar-commits mailing list
[email protected]
https://mail.gna.org/listinfo/gcstar-commits

Reply via email to