Chameleon

Chameleon Svn Source Tree

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

Source at commit 1322 created 12 years 8 months ago.
By meklort, Add doxygen to utils folder
1/******************************************************************************
2 *
3 * $Id: memberlist.h,v 1.19 2001/03/19 19:27:41 root Exp $
4 *
5 * Copyright (C) 1997-2011 by Dimitri van Heesch.
6 *
7 * Permission to use, copy, modify, and distribute this software and its
8 * documentation under the terms of the GNU General Public License is hereby
9 * granted. No representations are made about the suitability of this software
10 * for any purpose. It is provided "as is" without express or implied warranty.
11 * See the GNU General Public License for more details.
12 *
13 * Documents produced by Doxygen are derivative works derived from the
14 * input used in their production; they are not affected by this license.
15 *
16 */
17
18#ifndef MEMBERLIST_H
19#define MEMBERLIST_H
20
21#include <qlist.h>
22#include "memberdef.h"
23#include "sortdict.h"
24
25class GroupDef;
26class MemberGroup;
27class MemberGroupList;
28class StorageIntf;
29
30class MemberList : public QList<MemberDef>
31{
32 public:
33 enum ListType
34 {
35 privateLists = 0x0800,
36 detailedLists = 0x1000,
37 declarationLists = 0x2000,
38 documentationLists = 0x4000,
39
40 pubMethods = 0,
41 proMethods = 1,
42 pacMethods = 2,
43 priMethods = 3 + privateLists,
44 pubStaticMethods = 4,
45 proStaticMethods = 5,
46 pacStaticMethods = 6,
47 priStaticMethods = 7 + privateLists,
48 pubSlots = 8,
49 proSlots = 9,
50 priSlots = 10 + privateLists,
51 pubAttribs = 11,
52 proAttribs = 12,
53 pacAttribs = 13,
54 priAttribs = 14 + privateLists,
55 pubStaticAttribs = 15,
56 proStaticAttribs = 16,
57 pacStaticAttribs = 17,
58 priStaticAttribs = 18 + privateLists,
59 pubTypes = 19,
60 proTypes = 20,
61 pacTypes = 21,
62 priTypes = 22 + privateLists,
63 related = 23,
64 signals = 24,
65 friends = 25,
66 dcopMethods = 26,
67 properties = 27,
68 events = 28,
69
70 typedefMembers = 29 + detailedLists,
71 enumMembers = 30 + detailedLists,
72 enumValMembers = 31 + detailedLists,
73 functionMembers = 32 + detailedLists,
74 relatedMembers = 33 + detailedLists,
75 variableMembers = 34 + detailedLists,
76 propertyMembers = 35 + detailedLists,
77 eventMembers = 36 + detailedLists,
78 constructors = 37 + detailedLists,
79
80 allMembersList = 38,
81
82 decDefineMembers = 39 + declarationLists,
83 decProtoMembers = 40 + declarationLists,
84 decTypedefMembers = 41 + declarationLists,
85 decEnumMembers = 42 + declarationLists,
86 decFuncMembers = 43 + declarationLists,
87 decVarMembers = 44 + declarationLists,
88 decEnumValMembers = 45 + declarationLists,
89 decPubSlotMembers = 46 + declarationLists,
90 decProSlotMembers = 47 + declarationLists,
91 decPriSlotMembers = 48 + declarationLists,
92 decSignalMembers = 49 + declarationLists,
93 decEventMembers = 50 + declarationLists,
94 decFriendMembers = 51 + declarationLists,
95 decPropMembers = 52 + declarationLists,
96
97 docDefineMembers = 53 + documentationLists,
98 docProtoMembers = 54 + documentationLists,
99 docTypedefMembers = 55 + documentationLists,
100 docEnumMembers = 56 + documentationLists,
101 docFuncMembers = 57 + documentationLists,
102 docVarMembers = 58 + documentationLists,
103 docEnumValMembers = 59 + documentationLists,
104 docPubSlotMembers = 60 + documentationLists,
105 docProSlotMembers = 61 + documentationLists,
106 docPriSlotMembers = 62 + documentationLists,
107 docSignalMembers = 63 + documentationLists,
108 docEventMembers = 64 + documentationLists,
109 docFriendMembers = 65 + documentationLists,
110 docPropMembers = 66 + documentationLists,
111
112 redefinedBy = 67,
113 enumFields = 68,
114 memberGroup = 69
115 };
116
117 MemberList();
118 MemberList(ListType lt);
119 ~MemberList();
120 ListType listType() const { return m_listType; }
121 QCString listTypeAsString() const;
122 bool insert(uint index,const MemberDef *md);
123 void inSort(const MemberDef *md);
124 void append(const MemberDef *md);
125 int compareItems(GCI item1,GCI item2);
126 int varCount() const { ASSERT(m_numDecMembers!=-1); return m_varCnt; }
127 int funcCount() const { ASSERT(m_numDecMembers!=-1); return m_funcCnt; }
128 int enumCount() const { ASSERT(m_numDecMembers!=-1); return m_enumCnt; }
129 int enumValueCount() const { ASSERT(m_numDecMembers!=-1); return m_enumValCnt; }
130 int typedefCount() const { ASSERT(m_numDecMembers!=-1); return m_typeCnt; }
131 int protoCount() const { ASSERT(m_numDecMembers!=-1); return m_protoCnt; }
132 int defineCount() const { ASSERT(m_numDecMembers!=-1); return m_defCnt; }
133 int friendCount() const { ASSERT(m_numDecMembers!=-1); return m_friendCnt; }
134 int numDecMembers() const { ASSERT(m_numDecMembers!=-1); return m_numDecMembers; }
135 int numDocMembers() const { ASSERT(m_numDocMembers!=-1); return m_numDocMembers; }
136 bool needsSorting() const { return m_needsSorting; }
137 void countDecMembers(bool countEnumValues=FALSE,GroupDef *gd=0);
138 void countDocMembers(bool countEnumValues=FALSE);
139 void writePlainDeclarations(OutputList &ol,
140 ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd);
141 void writeDeclarations(OutputList &ol,
142 ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd,
143 const char *title,const char *subtitle,bool showEnumValues=FALSE,bool showInline=FALSE);
144 void writeDocumentation(OutputList &ol,const char *scopeName,
145 Definition *container,const char *title,bool showEnumValues=FALSE,bool showInline=FALSE);
146 void writeDocumentationPage(OutputList &ol,
147 const char *scopeName, Definition *container);
148 bool declVisible() const;
149 void addMemberGroup(MemberGroup *mg);
150 void setInGroup(bool inGroup) { m_inGroup=inGroup; }
151 void setInFile(bool inFile) { m_inFile=inFile; }
152 void addListReferences(Definition *def);
153 void findSectionsInDocumentation();
154 void setNeedsSorting(bool b);
155 MemberGroupList *getMemberGroupList() const { return memberGroupList; }
156
157 void marshal(StorageIntf *s);
158 void unmarshal(StorageIntf *s);
159
160 private:
161 int m_varCnt;
162 int m_funcCnt;
163 int m_enumCnt;
164 int m_enumValCnt;
165 int m_typeCnt;
166 int m_protoCnt;
167 int m_defCnt;
168 int m_friendCnt;
169 int m_numDecMembers; // number of members in the brief part of the memberlist
170 int m_numDocMembers; // number of members in the detailed part of the memberlist
171 MemberGroupList *memberGroupList;
172 bool m_inGroup; // is this list part of a group definition
173 bool m_inFile; // is this list part of a file definition
174 ListType m_listType;
175 bool m_needsSorting;
176};
177
178class MemberListIterator : public QListIterator<MemberDef>
179{
180 public:
181 MemberListIterator(const QList<MemberDef> &list);
182 virtual ~MemberListIterator() {}
183};
184
185class MemberDict : public QDict<MemberDef>
186{
187 public:
188 MemberDict(int size) : QDict<MemberDef>(size) {}
189 virtual ~MemberDict() {}
190};
191
192class MemberSDict : public SDict<MemberDef>
193{
194 public:
195 MemberSDict(int size=17) : SDict<MemberDef>(size) {}
196 virtual ~MemberSDict() {}
197 int compareItems(GCI item1,GCI item2);
198};
199
200
201#endif
202

Archive Download this file

Revision: 1322