Root/
Source at commit 1322 created 12 years 8 months ago. By meklort, Add doxygen to utils folder | |
---|---|
1 | /******************************************************************************␊ |
2 | *␊ |
3 | * $Id: membergroup.h,v 1.13 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 MEMBERGROUP_H␊ |
19 | #define MEMBERGROUP_H␊ |
20 | ␊ |
21 | #include "qtbc.h"␊ |
22 | #include <qlist.h>␊ |
23 | #include <qfile.h>␊ |
24 | #include "sortdict.h"␊ |
25 | ␊ |
26 | #define DOX_NOGROUP -1␊ |
27 | ␊ |
28 | class MemberDef;␊ |
29 | class ClassDef;␊ |
30 | class NamespaceDef;␊ |
31 | class FileDef;␊ |
32 | class MemberList;␊ |
33 | class GroupDef;␊ |
34 | class OutputList;␊ |
35 | class Definition;␊ |
36 | class StorageIntf;␊ |
37 | struct ListItemInfo;␊ |
38 | ␊ |
39 | class MemberGroup ␊ |
40 | {␊ |
41 | public:␊ |
42 | MemberGroup();␊ |
43 | MemberGroup(Definition *parent,int id,const char *header,␊ |
44 | const char *docs,const char *docFile);␊ |
45 | ~MemberGroup();␊ |
46 | QCString header() const { return grpHeader; }␊ |
47 | int groupId() const { return grpId; }␊ |
48 | void insertMember(MemberDef *md);␊ |
49 | void setAnchors(ClassDef *);␊ |
50 | void writePlainDeclarations(OutputList &ol,␊ |
51 | ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd);␊ |
52 | void writeDeclarations(OutputList &ol,␊ |
53 | ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd,␊ |
54 | bool showInline=FALSE);␊ |
55 | ␊ |
56 | void writeDocumentation(OutputList &ol,const char *scopeName,␊ |
57 | Definition *container,bool showEnumValues,bool showInline);␊ |
58 | void writeDocumentationPage(OutputList &ol,const char *scopeName,␊ |
59 | Definition *container);␊ |
60 | QCString documentation() { return doc; }␊ |
61 | bool allMembersInSameSection() { return inSameSection; }␊ |
62 | void addToDeclarationSection();␊ |
63 | int countDecMembers(GroupDef *gd=0);␊ |
64 | int countDocMembers();␊ |
65 | void distributeMemberGroupDocumentation();␊ |
66 | void findSectionsInDocumentation();␊ |
67 | int varCount() const;␊ |
68 | int funcCount() const;␊ |
69 | int enumCount() const;␊ |
70 | int enumValueCount() const;␊ |
71 | int typedefCount() const;␊ |
72 | int protoCount() const;␊ |
73 | int defineCount() const;␊ |
74 | int friendCount() const;␊ |
75 | int numDecMembers() const;␊ |
76 | int numDocMembers() const;␊ |
77 | void setInGroup(bool b);␊ |
78 | void addListReferences(Definition *d);␊ |
79 | void setRefItems(const QList<ListItemInfo> *sli);␊ |
80 | MemberList *members() const { return memberList; }␊ |
81 | Definition *parent() const { return m_parent; }␊ |
82 | QCString anchor() const;␊ |
83 | ␊ |
84 | void marshal(StorageIntf *s);␊ |
85 | void unmarshal(StorageIntf *s);␊ |
86 | ␊ |
87 | private: ␊ |
88 | MemberList *memberList; // list of all members in the group␊ |
89 | MemberList *inDeclSection;␊ |
90 | int grpId;␊ |
91 | QCString grpHeader;␊ |
92 | QCString fileName; // base name of the generated file␊ |
93 | Definition *scope;␊ |
94 | QCString doc;␊ |
95 | bool inSameSection;␊ |
96 | int m_numDecMembers;␊ |
97 | int m_numDocMembers;␊ |
98 | Definition *m_parent;␊ |
99 | QCString m_docFile;␊ |
100 | QList<ListItemInfo> *m_xrefListItems;␊ |
101 | };␊ |
102 | ␊ |
103 | class MemberGroupList : public QList<MemberGroup>␊ |
104 | {␊ |
105 | };␊ |
106 | ␊ |
107 | class MemberGroupListIterator : public QListIterator<MemberGroup>␊ |
108 | {␊ |
109 | public:␊ |
110 | MemberGroupListIterator(const MemberGroupList &l) : ␊ |
111 | QListIterator<MemberGroup>(l) {}␊ |
112 | };␊ |
113 | ␊ |
114 | class MemberGroupSDict : public SIntDict<MemberGroup>␊ |
115 | {␊ |
116 | public:␊ |
117 | MemberGroupSDict(int size=17) : SIntDict<MemberGroup>(size) {}␊ |
118 | ~MemberGroupSDict() {}␊ |
119 | int compareItems(GCI item1,GCI item2)␊ |
120 | {␊ |
121 | return ((MemberGroup *)item1)->groupId() - ((MemberGroup*)item2)->groupId();␊ |
122 | }␊ |
123 | };␊ |
124 | ␊ |
125 | ␊ |
126 | struct MemberGroupInfo␊ |
127 | {␊ |
128 | MemberGroupInfo() : m_sli(0) {}␊ |
129 | ~MemberGroupInfo() { delete m_sli; m_sli=0; }␊ |
130 | void setRefItems(const QList<ListItemInfo> *sli);␊ |
131 | QCString header;␊ |
132 | QCString doc;␊ |
133 | QCString docFile;␊ |
134 | QCString compoundName;␊ |
135 | QList<ListItemInfo> *m_sli;␊ |
136 | };␊ |
137 | ␊ |
138 | //class MemberGroupDict : public QIntDict<MemberGroup>␊ |
139 | //{␊ |
140 | // public:␊ |
141 | // MemberGroupDict(int size) : QIntDict<MemberGroup>(size) {}␊ |
142 | // ~MemberGroupDict() {}␊ |
143 | //};␊ |
144 | ␊ |
145 | //class MemberGroupDictIterator : public QIntDictIterator<MemberGroup>␊ |
146 | //{␊ |
147 | // public:␊ |
148 | // MemberGroupDictIterator(const MemberGroupDict &d) : ␊ |
149 | // QIntDictIterator<MemberGroup>(d) {}␊ |
150 | // ~MemberGroupDictIterator() {}␊ |
151 | //};␊ |
152 | ␊ |
153 | #endif␊ |
154 |