summaryrefslogtreecommitdiff
path: root/noncore/apps/checkbook/graphinfo.cpp
Side-by-side diff
Diffstat (limited to 'noncore/apps/checkbook/graphinfo.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/checkbook/graphinfo.cpp45
1 files changed, 42 insertions, 3 deletions
diff --git a/noncore/apps/checkbook/graphinfo.cpp b/noncore/apps/checkbook/graphinfo.cpp
index 7b06bdb..ec6a465 100644
--- a/noncore/apps/checkbook/graphinfo.cpp
+++ b/noncore/apps/checkbook/graphinfo.cpp
@@ -38,6 +38,17 @@ GraphInfo::GraphInfo( GraphType type, DataPointList *data, const QString &title,
yt = ytitle;
}
+GraphInfo::~GraphInfo()
+{
+ if ( d )
+ {
+ for ( DataPointInfo *data = d->first(); data; data = d->next() )
+ {
+ delete data;
+ }
+ }
+}
+
GraphInfo::GraphType GraphInfo::graphType()
{
return t;
@@ -58,14 +69,42 @@ void GraphInfo::setDataPoints( DataPointList *data )
d = data;
}
-float GraphInfo::maxValue()
+DataPointInfo *GraphInfo::firstDataPoint()
{
- float max;
+ return( d->first() );
+}
+DataPointInfo *GraphInfo::nextDataPoint()
+{
+ return( d->next() );
+}
+
+int GraphInfo::numberDataPoints()
+{
+ return( d->count() );
+}
+
+float GraphInfo::maxValue()
+{
+ float max = 0.0;
+ for ( DataPointInfo *data = d->first(); data; data = d->next() )
+ {
+ if ( data->value() > max )
+ {
+ max = data->value();
+ }
+ }
+ return max;
}
-float GraphInfo::minValue()
+float GraphInfo::totalValue()
{
+ float sum = 0.0;
+ for ( DataPointInfo *data = d->first(); data; data = d->next() )
+ {
+ sum += data->value();
+ }
+ return sum;
}
void GraphInfo::setGraphTitle( const QString &title )