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