diff options
Diffstat (limited to 'src/reflist.cpp')
-rw-r--r-- | src/reflist.cpp | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/reflist.cpp b/src/reflist.cpp new file mode 100644 index 0000000..8bef347 --- /dev/null +++ b/src/reflist.cpp @@ -0,0 +1,86 @@ +/****************************************************************************** + * + * + * + * + * Copyright (C) 1997-2000 by Dimitri van Heesch. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation under the terms of the GNU General Public License is hereby + * granted. No representations are made about the suitability of this software + * for any purpose. It is provided "as is" without express or implied warranty. + * See the GNU General Public License for more details. + * + * Documents produced by Doxygen are derivative works derived from the + * input used in their production; they are not affected by this license. + * + */ + +#include "reflist.h" + +/*! The one and only todo list */ +RefList todoList; +/*! The test criteria list */ +RefList testList; + + +/*! Create a todo list */ +RefList::RefList() +{ + m_dict = 0; + m_dictIterator = 0; + m_id = 0; +} + +/*! Destroy the todo list. Currently not called! */ +RefList::~RefList() +{ + delete m_dictIterator; + delete m_dict; +} + +/*! Adds a new item to the list. + * \param text The item text. + * \returns A unique id for this item. + */ +int RefList::addRefItem() +{ + if (m_dict==0) + { + m_dict = new QIntDict<RefItem>(1009); + m_dict->setAutoDelete(TRUE); + m_dictIterator = new QIntDictIterator<RefItem>(*m_dict); + } + RefItem *item = new RefItem; + m_id++; + m_dict->insert(m_id,item); + return m_id; +} + +/*! Returns an item given it's id that is obtained with addRefItem() + * \param itemId item's identifier. + * \returns A pointer to the todo item's structure. + */ +RefItem *RefList::getRefItem(int itemId) +{ + return m_dict->find(itemId); +} + +/*! Returns the first item in the dictionary or 0 if + * non is available. + * Items are not sorted. + */ +RefItem *RefList::getFirstRefItem() +{ + return m_dictIterator->toFirst(); +} + +/*! Returns the next item in the dictionary or 0 if + * we are at the end of the list. + * Items are not sorted. + */ +RefItem *RefList::getNextRefItem() +{ + return m_dictIterator->operator++(); +} + |