summaryrefslogtreecommitdiffstats
path: root/kmymoney2/reports/listtable.h
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-07-04 22:38:03 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-07-04 22:38:03 +0000
commitdadc34655c3ab961b0b0b94a10eaaba710f0b5e8 (patch)
tree99e72842fe687baea16376a147619b6048d7e441 /kmymoney2/reports/listtable.h
downloadkmymoney-dadc34655c3ab961b0b0b94a10eaaba710f0b5e8.tar.gz
kmymoney-dadc34655c3ab961b0b0b94a10eaaba710f0b5e8.zip
Added kmymoney
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kmymoney@1239792 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kmymoney2/reports/listtable.h')
-rw-r--r--kmymoney2/reports/listtable.h121
1 files changed, 121 insertions, 0 deletions
diff --git a/kmymoney2/reports/listtable.h b/kmymoney2/reports/listtable.h
new file mode 100644
index 0000000..5ffa64d
--- /dev/null
+++ b/kmymoney2/reports/listtable.h
@@ -0,0 +1,121 @@
+/***************************************************************************
+ listtable.h
+ -------------------
+ begin : Sat 28 jun 2008
+ copyright : (C) 2004-2005 by Ace Jones
+ 2008 by Alvaro Soliverez
+ email : acejones@users.sourceforge.net
+ asoliverez@gmail.com
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef LISTTABLE_H
+#define LISTTABLE_H
+
+// ----------------------------------------------------------------------------
+// QT Includes
+
+#include <qstringlist.h>
+
+// ----------------------------------------------------------------------------
+// KDE Includes
+
+// ----------------------------------------------------------------------------
+// Project Includes
+
+#include "../mymoney/mymoneyreport.h"
+#include "reporttable.h"
+
+namespace reports {
+
+ class ReportAccount;
+
+ /**
+ * Calculates a query of information about the transaction database.
+ *
+ * This is a middle-layer class, between the implementing classes and the engine. The
+ * MyMoneyReport class holds only the CONFIGURATION parameters. This
+ * class has some common methods used by querytable and objectinfo classes
+ *
+ * @author Alvaro Soliverez
+ *
+ * @short
+ **/
+
+ class ListTable : public ReportTable
+ {
+ public:
+ ListTable ( const MyMoneyReport& );
+ QString renderHTML ( void ) const;
+ QString renderCSV ( void ) const;
+ void drawChart ( KReportChartView& ) const {}
+ void dump ( const QString& file, const QString& context = QString() ) const;
+ void init ( void );
+
+ public:
+ /**
+ * Contains a single row in the table.
+ *
+ * Each column is a key/value pair, both strings. This class is just
+ * a QMap with the added ability to specify which columns you'd like to
+ * use as a sort key when you qHeapSort a list of these TableRows
+ */
+ class TableRow: public QMap<QString, QString>
+ {
+ public:
+ bool operator< ( const TableRow& ) const;
+ bool operator<= ( const TableRow& ) const;
+ bool operator> ( const TableRow& ) const;
+ bool operator== ( const TableRow& ) const;
+
+ static void setSortCriteria ( const QString& _criteria ) { m_sortCriteria = QStringList::split ( ",", _criteria ); }
+ private:
+ static QStringList m_sortCriteria;
+ };
+
+ QValueList<TableRow> rows() {return m_rows;};
+
+ protected:
+ void render ( QString&, QString& ) const;
+
+ /**
+ * If not in expert mode, include all subaccounts for each selected
+ * investment account
+ */
+ void includeInvestmentSubAccounts(void);
+
+ QValueList<TableRow> m_rows;
+
+ QString m_group;
+ /**
+ * Comma-separated list of columns to place BEFORE the subtotal column
+ */
+ QString m_columns;
+ /**
+ * Name of the subtotal column
+ */
+ QString m_subtotal;
+ /**
+ * Comma-separated list of columns to place AFTER the subtotal column
+ */
+ QString m_postcolumns;
+ QString m_summarize;
+ QString m_propagate;
+
+ MyMoneyReport m_config;
+
+
+ };
+
+}
+
+#endif
+