Chameleon

Chameleon Svn Source Tree

Root/branches/xZenu/src/util/doxygen/src/reflist.h

Source at commit 1322 created 9 years 5 months ago.
By meklort, Add doxygen to utils folder
1/******************************************************************************
2 *
3 * $Id: reflist.h,v 1.2 2001/03/19 19:27:41 root Exp $
4 *
5 *
6 * Copyright (C) 1997-2011 by Dimitri van Heesch.
7 *
8 * Permission to use, copy, modify, and distribute this software and its
9 * documentation under the terms of the GNU General Public License is hereby
10 * granted. No representations are made about the suitability of this software
11 * for any purpose. It is provided "as is" without express or implied warranty.
12 * See the GNU General Public License for more details.
13 *
14 * Documents produced by Doxygen are derivative works derived from the
15 * input used in their production; they are not affected by this license.
16 *
17 */
18
19#ifndef _REFLIST_H
20#define _REFLIST_H
21
22#include "qtbc.h"
23#include <qintdict.h>
24#include <qlist.h>
25#include "sortdict.h"
26
27/*! This struct represents an item in the list of references. */
28struct RefItem
29{
30 RefItem() /*: written(FALSE)*/ {}
31 QCString text; //!< text of the item.
32 QCString listAnchor; //!< anchor in the list
33
34 QCString prefix; //!< type prefix for the name
35 QCString name; //!< name of the entity containing the reference
36 QCString title; //!< display name of the entity
37 QCString args; //!< optional arguments for the entity (if function)
38 //bool written;
39 QList<RefItem> extraItems; //!< more items belonging to the same entity
40};
41
42/*! List of items sorted by title */
43class SortedRefItems : public SDict<RefItem>
44{
45 public:
46 SortedRefItems(int size=17) : SDict<RefItem>(size) {}
47 virtual ~SortedRefItems() {}
48 int compareItems(GCI item1,GCI item2)
49 {
50 RefItem *r1 = (RefItem*)item1;
51 RefItem *r2 = (RefItem*)item2;
52 return stricmp(r1->title,r2->title);
53 }
54};
55
56/*! @brief List of cross-referenced items
57 *
58 * This class represents a list of items that are put
59 * at a certain point in the documentation by some special command
60 * and are collected in a list. The items cross-reference the
61 * documentation and the list.
62 *
63 * Examples are the todo list, the test list and the bug list,
64 * introduced by the \\todo, \\test, and \\bug commands respectively.
65 */
66class RefList
67{
68 public:
69 int addRefItem();
70 RefItem *getRefItem(int todoItemId);
71 RefItem *getFirstRefItem();
72 RefItem *getNextRefItem();
73 QCString listName() const;
74 QCString pageTitle() const;
75 QCString sectionTitle() const;
76
77 RefList(const char *listName,
78 const char *pageTitle,const char *secTitle
79 );
80 ~RefList();
81 void insertIntoList(const char *key,RefItem *item);
82 void generatePage();
83
84 private:
85 int m_id;
86 QCString m_listName;
87 QCString m_pageTitle;
88 QCString m_secTitle;
89 SortedRefItems *m_itemList;
90 QIntDict<RefItem> *m_dict;
91 QIntDictIterator<RefItem> *m_dictIterator;
92};
93
94#endif
95

Archive Download this file

Revision: 1322