From: <vo...@us...> - 2013-05-09 08:55:21
|
Revision: 3866 http://sourceforge.net/p/moneymanagerex/code/3866 Author: vomikan Date: 2013-05-09 08:55:13 +0000 (Thu, 09 May 2013) Log Message: ----------- Where the Money... reports getCategoryStats(...) function usage Modified Paths: -------------- trunk/mmex/src/reports/categexp.cpp trunk/mmex/src/reports/categexp.h Modified: trunk/mmex/src/reports/categexp.cpp =================================================================== --- trunk/mmex/src/reports/categexp.cpp 2013-05-09 02:34:05 UTC (rev 3865) +++ trunk/mmex/src/reports/categexp.cpp 2013-05-09 08:55:13 UTC (rev 3866) @@ -58,13 +58,18 @@ hb.addTableHeaderCell(_("Amount"), true); hb.endTableRow(); - core_->currencyList_.LoadBaseCurrencySettings(); + double grandtotal = 0.0; + bool ignore_date = !date_range_->is_with_date(); std::vector<ValuePair> valueList; + std::map<int, std::map<int, std::map<int, double> > > categoryStats; + core_->bTransactionList_.getCategoryStats(core_ + , categoryStats + , date_range_ + , ignoreFutureDate_ + , false); + core_->currencyList_.LoadBaseCurrencySettings(); - double grandtotal = 0.0; - bool ignore_date = !date_range_->is_with_date(); - for (const auto& category: core_->categoryList_.entries_) { int categs = 0; @@ -72,8 +77,7 @@ double categtotal = 0.0; int categID = category->categID_; const wxString sCategName = category->categName_; - double amt = core_->bTransactionList_.getAmountForCategory(categID, -1, ignore_date - , date_range_->start_date(), date_range_->end_date(), false, false, ignoreFutureDate_); + double amt = categoryStats[categID][-1][0]; if (type_ == GOES && amt < 0.0) amt = 0; if (type_ == COME && amt > 0.0) amt = 0; @@ -98,8 +102,7 @@ int subcategID = sub_category->categID_; wxString sFullCategName = core_->categoryList_.GetFullCategoryString(categID, subcategID); - amt = core_->bTransactionList_.getAmountForCategory(categID, subcategID, ignore_date - , date_range_->start_date(), date_range_->end_date(), false, false, ignoreFutureDate_); + amt = categoryStats[categID][subcategID][0]; if (type_ == GOES && amt < 0.0) amt = 0; if (type_ == COME && amt > 0.0) amt = 0; @@ -127,7 +130,7 @@ hb.addRowSeparator(0); hb.startTableRow(); hb.addTableCell(_("Category Total: "),false, true, true, "GRAY"); - hb.addMoneyCell(categtotal, "GRAY"); + hb.addMoneyCell(categtotal, "GRAY"); hb.endTableRow(); } @@ -138,10 +141,7 @@ } } - hb.startTableRow(); - hb.addTableCell(_("Grand Total: "),false, true, true); - hb.addMoneyCell(grandtotal); - hb.endTableRow(); + hb.addTotalRow(_("Grand Total: "), 1, grandtotal); hb.endTable(); hb.endCenter(); Modified: trunk/mmex/src/reports/categexp.h =================================================================== --- trunk/mmex/src/reports/categexp.h 2013-05-09 02:34:05 UTC (rev 3865) +++ trunk/mmex/src/reports/categexp.h 2013-05-09 08:55:13 UTC (rev 3866) @@ -43,7 +43,8 @@ class mmReportCategoryExpensesGoes: public mmReportCategoryExpenses { public: - mmReportCategoryExpensesGoes(mmCoreDB* core, mmDateRange* date_range = new mmAllTime(), const wxString& title = _("Where the Money Goes")) + mmReportCategoryExpensesGoes(mmCoreDB* core, mmDateRange* date_range = new mmAllTime() + , const wxString& title = _("Where the Money Goes")) : mmReportCategoryExpenses(core, date_range, title, 2) {} }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |