MyMoneyMap< Key, T > Class Template Reference

#include <mymoneymap.h>

Inheritance diagram for MyMoneyMap< Key, T >:

QMap
Collaboration diagram for MyMoneyMap< Key, T >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 MyMoneyMap ()
virtual ~MyMoneyMap ()
void startTransaction (unsigned long *id=0)
void rollbackTransaction (void)
bool commitTransaction (void)
void insert (const Key &key, const T &obj)
void modify (const Key &key, const T &obj)
void remove (const Key &key)
MyMoneyMap< Key, T > & operator= (const QMap< Key, T > &m)
QValueList< T > values (void) const
QValueList< Key > keys (void) const
const T & operator[] (const Key &k) const
Q_TYPENAME QMap< Key, T >
::const_iterator 
find (const Key &k) const
Q_TYPENAME QMap< Key, T >
::const_iterator 
begin (void) const
Q_TYPENAME QMap< Key, T >
::const_iterator 
end (void) const
bool contains (const Key &k) const
void map (QMap< Key, T > &that) const
size_t count (void) const

Protected Attributes

QPtrStack< MyMoneyMapActionm_stack

Classes

class  MyMoneyMapAction
class  MyMoneyMapInsert
class  MyMoneyMapModify
class  MyMoneyMapRemove
class  MyMoneyMapStart


Detailed Description

template<class Key, class T>
class MyMoneyMap< Key, T >

Author:
Thomas Baumgart
This template class adds transaction security to the QMap<> class. The interface is very simple. Before you perform any changes, you have to call the startTransaction() method. Then you can use the insert(), modify() and remove() methods to modify the map. Changes are recorded and if you are finished, use the commitTransaction() to finish the transaction. If you want to go back before you have committed the transaction, use rollbackTransaction() to set the container to the state it was in before you called startTransaction().

The implementation is based on the command pattern, in case someone is interested.


Constructor & Destructor Documentation

template<class Key, class T>
MyMoneyMap< Key, T >::MyMoneyMap (  )  [inline]

template<class Key, class T>
virtual MyMoneyMap< Key, T >::~MyMoneyMap (  )  [inline, virtual]


Member Function Documentation

template<class Key, class T>
void MyMoneyMap< Key, T >::startTransaction ( unsigned long *  id = 0  )  [inline]

template<class Key, class T>
void MyMoneyMap< Key, T >::rollbackTransaction ( void   )  [inline]

template<class Key, class T>
bool MyMoneyMap< Key, T >::commitTransaction ( void   )  [inline]

template<class Key, class T>
void MyMoneyMap< Key, T >::insert ( const Key &  key,
const T &  obj 
) [inline]

template<class Key, class T>
void MyMoneyMap< Key, T >::modify ( const Key &  key,
const T &  obj 
) [inline]

template<class Key, class T>
void MyMoneyMap< Key, T >::remove ( const Key &  key  )  [inline]

template<class Key, class T>
MyMoneyMap<Key, T>& MyMoneyMap< Key, T >::operator= ( const QMap< Key, T > &  m  )  [inline]

template<class Key, class T>
QValueList<T> MyMoneyMap< Key, T >::values ( void   )  const [inline]

template<class Key, class T>
QValueList<Key> MyMoneyMap< Key, T >::keys ( void   )  const [inline]

template<class Key, class T>
const T& MyMoneyMap< Key, T >::operator[] ( const Key &  k  )  const [inline]

template<class Key, class T>
Q_TYPENAME QMap<Key, T>::const_iterator MyMoneyMap< Key, T >::find ( const Key &  k  )  const [inline]

template<class Key, class T>
Q_TYPENAME QMap<Key, T>::const_iterator MyMoneyMap< Key, T >::begin ( void   )  const [inline]

template<class Key, class T>
Q_TYPENAME QMap<Key, T>::const_iterator MyMoneyMap< Key, T >::end ( void   )  const [inline]

template<class Key, class T>
bool MyMoneyMap< Key, T >::contains ( const Key &  k  )  const [inline]

template<class Key, class T>
void MyMoneyMap< Key, T >::map ( QMap< Key, T > &  that  )  const [inline]

template<class Key, class T>
size_t MyMoneyMap< Key, T >::count ( void   )  const [inline]


Member Data Documentation

template<class Key, class T>
QPtrStack<MyMoneyMapAction> MyMoneyMap< Key, T >::m_stack [protected]


The documentation for this class was generated from the following file:

Generated on Wed Jan 26 13:09:16 2011 for KMyMoney by  doxygen 1.5.6