1 /******************************************************************************
3 * Copyright (C) 1997-2015 by Dimitri van Heesch.
5 * Permission to use, copy, modify, and distribute this software and its
6 * documentation under the terms of the GNU General Public License is hereby
7 * granted. No representations are made about the suitability of this software
8 * for any purpose. It is provided "as is" without express or implied warranty.
9 * See the GNU General Public License for more details.
11 * Documents produced by Doxygen are derivative works derived from the
12 * input used in their production; they are not affected by this license.
22 * @brief This file contains a number of basic enums and types.
25 /** Protection level of members */
26 enum Protection { Public, Protected, Private, Package } ;
28 /** Virtualness of a member. */
29 enum Specifier { Normal, Virtual, Pure } ;
32 enum MethodTypes { Method, Signal, Slot, DCOP, Property, Event };
34 /** Type of member relation */
35 enum RelatesType { Simple, Duplicate, MemberOf };
37 /** Kind of member relationship */
38 enum Relationship { Member, Related, Foreign };
40 /** Language as given by extension */
43 SrcLangExt_Unknown = 0x00000,
44 SrcLangExt_IDL = 0x00008,
45 SrcLangExt_Java = 0x00010,
46 SrcLangExt_CSharp = 0x00020,
47 SrcLangExt_D = 0x00040,
48 SrcLangExt_PHP = 0x00080,
49 SrcLangExt_ObjC = 0x00100,
50 SrcLangExt_Cpp = 0x00200,
51 SrcLangExt_JS = 0x00400,
52 SrcLangExt_Python = 0x00800,
53 SrcLangExt_Fortran = 0x01000,
54 SrcLangExt_VHDL = 0x02000,
55 SrcLangExt_XML = 0x04000,
56 SrcLangExt_Tcl = 0x08000,
57 SrcLangExt_Markdown = 0x10000,
58 SrcLangExt_SQL = 0x20000
64 /** Grouping priority */
68 GROUPING_AUTO_WEAK = GROUPING_LOWEST, //!< membership in group was defined via \@weakgroup
69 GROUPING_AUTO_ADD, //!< membership in group was defined via \@add[to]group
70 GROUPING_AUTO_DEF, //!< membership in group was defined via \@defgroup
71 GROUPING_AUTO_HIGHEST = GROUPING_AUTO_DEF,
72 GROUPING_INGROUP, //!< membership in group was defined by \@ingroup
73 GROUPING_HIGHEST = GROUPING_INGROUP
76 static const char *getGroupPriName( GroupPri_t priority )
80 case GROUPING_AUTO_WEAK:
82 case GROUPING_AUTO_ADD:
84 case GROUPING_AUTO_DEF:
86 case GROUPING_INGROUP:
92 Grouping( const char *gn, GroupPri_t p ) : groupname(gn), pri(p) {}
93 Grouping( const Grouping &g ) : groupname(g.groupname), pri(g.pri) {}
94 QCString groupname; //!< name of the group
95 GroupPri_t pri; //!< priority of this definition
107 MemberListType_privateLists = 0x0800,
108 MemberListType_detailedLists = 0x1000,
109 MemberListType_declarationLists = 0x2000,
110 MemberListType_documentationLists = 0x4000,
112 MemberListType_pubMethods = 0,
113 MemberListType_proMethods = 1,
114 MemberListType_pacMethods = 2,
115 MemberListType_priMethods = 3 + MemberListType_privateLists,
116 MemberListType_pubStaticMethods = 4,
117 MemberListType_proStaticMethods = 5,
118 MemberListType_pacStaticMethods = 6,
119 MemberListType_priStaticMethods = 7 + MemberListType_privateLists,
120 MemberListType_pubSlots = 8,
121 MemberListType_proSlots = 9,
122 MemberListType_priSlots = 10 + MemberListType_privateLists,
123 MemberListType_pubAttribs = 11,
124 MemberListType_proAttribs = 12,
125 MemberListType_pacAttribs = 13,
126 MemberListType_priAttribs = 14 + MemberListType_privateLists,
127 MemberListType_pubStaticAttribs = 15,
128 MemberListType_proStaticAttribs = 16,
129 MemberListType_pacStaticAttribs = 17,
130 MemberListType_priStaticAttribs = 18 + MemberListType_privateLists,
131 MemberListType_pubTypes = 19,
132 MemberListType_proTypes = 20,
133 MemberListType_pacTypes = 21,
134 MemberListType_priTypes = 22 + MemberListType_privateLists,
135 MemberListType_related = 23,
136 MemberListType_signals = 24,
137 MemberListType_friends = 25,
138 MemberListType_dcopMethods = 26,
139 MemberListType_properties = 27,
140 MemberListType_events = 28,
142 MemberListType_typedefMembers = 29 + MemberListType_detailedLists,
143 MemberListType_enumMembers = 30 + MemberListType_detailedLists,
144 MemberListType_enumValMembers = 31 + MemberListType_detailedLists,
145 MemberListType_functionMembers = 32 + MemberListType_detailedLists,
146 MemberListType_relatedMembers = 33 + MemberListType_detailedLists,
147 MemberListType_variableMembers = 34 + MemberListType_detailedLists,
148 MemberListType_propertyMembers = 35 + MemberListType_detailedLists,
149 MemberListType_eventMembers = 36 + MemberListType_detailedLists,
150 MemberListType_constructors = 37 + MemberListType_detailedLists,
152 MemberListType_allMembersList = 38,
154 MemberListType_decDefineMembers = 39 + MemberListType_declarationLists,
155 MemberListType_decProtoMembers = 40 + MemberListType_declarationLists,
156 MemberListType_decTypedefMembers = 41 + MemberListType_declarationLists,
157 MemberListType_decEnumMembers = 42 + MemberListType_declarationLists,
158 MemberListType_decFuncMembers = 43 + MemberListType_declarationLists,
159 MemberListType_decVarMembers = 44 + MemberListType_declarationLists,
160 MemberListType_decEnumValMembers = 45 + MemberListType_declarationLists,
161 MemberListType_decPubSlotMembers = 46 + MemberListType_declarationLists,
162 MemberListType_decProSlotMembers = 47 + MemberListType_declarationLists,
163 MemberListType_decPriSlotMembers = 48 + MemberListType_declarationLists,
164 MemberListType_decSignalMembers = 49 + MemberListType_declarationLists,
165 MemberListType_decEventMembers = 50 + MemberListType_declarationLists,
166 MemberListType_decFriendMembers = 51 + MemberListType_declarationLists,
167 MemberListType_decPropMembers = 52 + MemberListType_declarationLists,
169 MemberListType_docDefineMembers = 53 + MemberListType_documentationLists,
170 MemberListType_docProtoMembers = 54 + MemberListType_documentationLists,
171 MemberListType_docTypedefMembers = 55 + MemberListType_documentationLists,
172 MemberListType_docEnumMembers = 56 + MemberListType_documentationLists,
173 MemberListType_docFuncMembers = 57 + MemberListType_documentationLists,
174 MemberListType_docVarMembers = 58 + MemberListType_documentationLists,
175 MemberListType_docEnumValMembers = 59 + MemberListType_documentationLists,
176 MemberListType_docPubSlotMembers = 60 + MemberListType_documentationLists,
177 MemberListType_docProSlotMembers = 61 + MemberListType_documentationLists,
178 MemberListType_docPriSlotMembers = 62 + MemberListType_documentationLists,
179 MemberListType_docSignalMembers = 63 + MemberListType_documentationLists,
180 MemberListType_docEventMembers = 64 + MemberListType_documentationLists,
181 MemberListType_docFriendMembers = 65 + MemberListType_documentationLists,
182 MemberListType_docPropMembers = 66 + MemberListType_documentationLists,
184 MemberListType_redefinedBy = 67,
185 MemberListType_enumFields = 68,
186 MemberListType_memberGroup = 69,
188 // this one is for the summary section on the class page
189 MemberListType_interfaces = 70,
190 // this one is for the detailed section on the class page
191 MemberListType_interfaceMembers = 71 + MemberListType_detailedLists,
192 MemberListType_services = 72,
193 MemberListType_serviceMembers = 73 + MemberListType_detailedLists,
202 MemberType_Enumeration,
203 MemberType_EnumValue,
210 MemberType_Interface,
216 FortranFormat_Unknown,