diff options
Diffstat (limited to 'kmymoney2/widgets/kmymoneyaccounttreebudget.h')
-rw-r--r-- | kmymoney2/widgets/kmymoneyaccounttreebudget.h | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/kmymoney2/widgets/kmymoneyaccounttreebudget.h b/kmymoney2/widgets/kmymoneyaccounttreebudget.h new file mode 100644 index 0000000..86c1b07 --- /dev/null +++ b/kmymoney2/widgets/kmymoneyaccounttreebudget.h @@ -0,0 +1,112 @@ +/*************************************************************************** + kmymoneyaccounttreebudget.h - description + ------------------- + begin : Tue Feb 21 2006 + copyright : (C) 2005 by Darren Gould + email : Darren Gould <darren_gould@gmx.de> +***************************************************************************/ + +/*************************************************************************** + * * + * 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 KMYMONEYACCOUNTTREEBUDGET_H +#define KMYMONEYACCOUNTTREEBUDGET_H + +// ---------------------------------------------------------------------------- +// QT Includes + +#include <qtimer.h> +class QDragObject; + +// ---------------------------------------------------------------------------- +// KDE Includes + +#include <klistview.h> + +// ---------------------------------------------------------------------------- +// Project Includes +#include "kmymoneyaccounttree.h" +#include "../../kmymoney/mymoneybudget.h" + +class KMyMoneyAccountTreeBudgetItem; + +class KMyMoneyAccountTreeBudget : public KMyMoneyAccountTreeBase +{ + Q_OBJECT +public: + KMyMoneyAccountTreeBudget(QWidget* parent = 0, const char *name = 0); + virtual ~KMyMoneyAccountTreeBudget() {} + +public slots: + void slotSelectObject(const QListViewItem* i); + +}; + +class KMyMoneyAccountTreeBudgetItem : public KMyMoneyAccountTreeBaseItem +{ +public: + + /** + * Constructor to be used to construct an account + * entry object for a budget. + * + * @param parent pointer to the parent KAccountListView object this entry should be + * added to. + * @param account const reference to MyMoneyAccount for which + * the KListView entry is constructed + * @param budget const reference to the budget to + * which the account belongs + * @param price price to be used to calculate value (defaults to 1) + * This is used for accounts denominated in foreign currencies or stocks + * @param security const reference to the security used to show the value. Usually + * one should pass MyMoneyFile::baseCurrency() here. + */ + KMyMoneyAccountTreeBudgetItem(KMyMoneyAccountTreeBudgetItem *parent, const MyMoneyAccount& account, const MyMoneyBudget& budget, const QValueList<MyMoneyPrice>& price = QValueList<MyMoneyPrice>(), const MyMoneySecurity& security = MyMoneySecurity()); + + /** + * Constructor to be used to construct an account + * entry object for a budget. + * + * @param parent pointer to the parent KAccountListView object this entry should be + * added to. + * @param account const reference to MyMoneyAccount for which + * the KListView entry is constructed + * @param budget const reference to the budget to + * which the account belongs + * @param security const reference to the security used to show the value. Usually + * one should pass MyMoneyFile::baseCurrency() here. + * @param name name of the account to be used instead of the one stored with @p account + * If empty, the one stored with @p account will be used. Default: empty + */ + KMyMoneyAccountTreeBudgetItem(KListView *parent, const MyMoneyAccount& account, const MyMoneyBudget &budget, const MyMoneySecurity& security = MyMoneySecurity(), const QString& name = QString()); + + ~KMyMoneyAccountTreeBudgetItem(); + + void setBudget(const MyMoneyBudget& budget); + +protected: + /** + * Returns the current balance of this account. + * + * This is a pure virtual function, to allow subclasses to calculate + * the balance in different ways. + * + * Parent items in the tree will only be recomputed if the balance() for + * a son changes. + * @param account Account to get the balance for + * @return Balance of this account + */ + MyMoneyMoney balance() const; + +private: + MyMoneyBudget m_budget; +}; + +#endif + |