diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2011-07-04 22:38:03 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2011-07-04 22:38:03 +0000 |
commit | dadc34655c3ab961b0b0b94a10eaaba710f0b5e8 (patch) | |
tree | 99e72842fe687baea16376a147619b6048d7e441 /kmymoney2/mymoney/mymoneyobjectcontainer.h | |
download | kmymoney-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/mymoney/mymoneyobjectcontainer.h')
-rw-r--r-- | kmymoney2/mymoney/mymoneyobjectcontainer.h | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/kmymoney2/mymoney/mymoneyobjectcontainer.h b/kmymoney2/mymoney/mymoneyobjectcontainer.h new file mode 100644 index 0000000..1f3b598 --- /dev/null +++ b/kmymoney2/mymoney/mymoneyobjectcontainer.h @@ -0,0 +1,99 @@ +/*************************************************************************** + mymoneyobjectcontainer.h + ------------------- + copyright : (C) 2006 by Thomas Baumgart + email : ipwizard@users.sourceforge.net + ***************************************************************************/ + +/*************************************************************************** + * * + * 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 MYMONEYOBJECTCONTAINER_H +#define MYMONEYOBJECTCONTAINER_H + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +// ---------------------------------------------------------------------------- +// QT Includes + +#include <qobject.h> +#include <qstring.h> + +// ---------------------------------------------------------------------------- +// Project Includes + +#include <kmymoney/export.h> +#include <kmymoney/mymoneytransaction.h> +#include <kmymoney/mymoneyaccount.h> +#include <kmymoney/mymoneyinstitution.h> +#include <kmymoney/mymoneypayee.h> +#include <kmymoney/mymoneyobject.h> +#include <kmymoney/mymoneysecurity.h> +#include <kmymoney/imymoneystorage.h> + +/** + * @author Thomas Baumgart + */ + +/** + * This class represents a generic container for all MyMoneyObject derived objects. + */ +class KMYMONEY_EXPORT MyMoneyObjectContainer : public QObject +{ + Q_OBJECT +public: + MyMoneyObjectContainer(); + ~MyMoneyObjectContainer(); + + const MyMoneyAccount& account(const QString& id); + const MyMoneyPayee& payee(const QString& id); + const MyMoneySecurity& security(const QString& id); + const MyMoneyInstitution& institution(const QString& id); + const MyMoneySchedule& schedule(const QString& id); + + void account(QValueList<MyMoneyAccount>& list); + void payee(QValueList<MyMoneyPayee>& list); + void institution(QValueList<MyMoneyInstitution>& list); + + void preloadAccount(const QValueList<MyMoneyAccount>& list); + void preloadPayee(const QValueList<MyMoneyPayee>& list); + void preloadInstitution(const QValueList<MyMoneyInstitution>& list); + void preloadSecurity(const QValueList<MyMoneySecurity>& list); + void preloadSchedule(const QValueList<MyMoneySchedule>& list); + + void preloadAccount(const MyMoneyAccount& account); + void preloadSecurity(const MyMoneySecurity& security); + void preloadPayee(const MyMoneyPayee& payee); + void preloadInstitution(const MyMoneyInstitution& institution); + + void clear(const QString& id); + void clear(IMyMoneyStorage* storage = 0); + + const MyMoneyAccount& accountByName(const QString& name) const; + + /** + * This method refreshes an already existing object in the container + * with a copy from the engine. The object is identified by its @a id. + * If the object is unknown or the @a id is empty, nothing is done. + */ + void refresh(const QString& id); + +private: + void assignFraction(MyMoneyAccount* acc); + +private: + QMap<QString, MyMoneyObject const *> m_map; + IMyMoneyStorage* m_storage; +}; + +#endif + + |