1 #############################################################################
3 ## Purpose: Main configuration file for the wxWidgets manual
4 ## Author: Francesco Montorsi
6 ## Licence: wxWindows license
7 #############################################################################
9 #---------------------------------------------------------------------------
11 #---------------------------------------------------------------------------
13 DOXYFILE_ENCODING = UTF-8
14 PROJECT_NAME = wxWidgets
15 PROJECT_NUMBER = 2.9.0
16 OUTPUT_DIRECTORY = out
18 OUTPUT_LANGUAGE = English
19 BRIEF_MEMBER_DESC = YES
22 ALWAYS_DETAILED_SEC = YES
23 INLINE_INHERITED_MEMB = NO
25 STRIP_FROM_PATH = "$(WXWIDGETS)/"
26 STRIP_FROM_INC_PATH = "$(WXWIDGETS)/include/" \
27 "$(WXWIDGETS)/interface/"
29 JAVADOC_AUTOBRIEF = YES
31 MULTILINE_CPP_IS_BRIEF = NO
33 SEPARATE_MEMBER_PAGES = NO
35 OPTIMIZE_OUTPUT_FOR_C = NO
36 OPTIMIZE_OUTPUT_JAVA = NO
37 OPTIMIZE_FOR_FORTRAN = NO
38 OPTIMIZE_OUTPUT_VHDL = NO
39 BUILTIN_STL_SUPPORT = NO
42 IDL_PROPERTY_SUPPORT = NO
43 DISTRIBUTE_GROUP_DOC = YES
45 TYPEDEF_HIDES_STRUCT = NO
48 # This is the most important part of the wxWidgets Doxyfile; aliases allow
49 # us to keep the headers readable and "implement" wxWidgets-specific commands:
51 #---------------------------------------------------------------------------
52 # Aliases - for use when documenting C++ classes
53 #---------------------------------------------------------------------------
55 # aliases to be used by classes which emit wxEvents (e.g. wxWindow, wxTextCtrl, etc):
56 ALIASES = beginEventEmissionTable="\n<h2>Events emitted by this class</h2><p>Event macros for events emitted by this class:</p><div>"
57 ALIASES += beginEventEmissionTable{1}="\n<h2>Events emitted by this class</h2><p>The following event handler macros redirect the events to member function handlers '<b>func</b>' with prototypes like: <div class='eventHandler'><span>void handlerFuncName(\1& event)</span></div></p>Event macros for events emitted by this class:<div>"
58 ALIASES += beginEventEmissionTable{2}="\n<h2>Events emitted by this class</h2><p>The following event handler macros redirect the events to member function handlers '<b>func</b>' with prototypes like: <div class='eventHandler'><span>void handlerFuncName(\1& event)</span> or <span>void handlerFuncName(\2& event)</span></div></p>Event macros for events emitted by this class:<div>"
60 # aliases to be used in wxEvent-derived classes:
61 ALIASES += beginEventTable{1}="\n<h2>Events using this class</h2><p>The following event handler macros redirect the events to member function handlers '<b>func</b>' with prototypes like: <div class='eventHandler'><span>void handlerFuncName(\1& event)</span></div></p>Event macros:<div>"
62 ALIASES += beginEventTable{2}="\n<h2>Events using this class</h2><p>The following event handler macros redirect the events to member function handlers '<b>func</b>' with prototypes like: <div class='eventHandler'><span>void handlerFuncName(\1& event)</span> or <span>void handlerFuncName(\2& event)</span></div></p>Event macros:<div>"
64 # common event aliases:
65 ALIASES += event{1}="</div>\li <span class='event'>\1</span>:<div class='eventDesc'>"
66 ALIASES += event{2}="</div>\li <span class='event'>\1, \2</span>:<div class='eventDesc'>"
67 ALIASES += event{3}="</div>\li <span class='event'>\1, \2, \3</span>:<div class='eventDesc'>"
68 ALIASES += event{4}="</div>\li <span class='event'>\1, \2, \3, \4</span>:<div class='eventDesc'>"
69 ALIASES += endEventTable="</div>\n"
72 ALIASES += beginStyleTable="\n<h2>Styles</h2><p>This class supports the following styles:</p><div>"
73 ALIASES += style{1}="</div>\li <span class='style'>\1</span>:<div class='styleDesc'>"
74 ALIASES += endStyleTable="</div>\n"
77 ALIASES += beginExtraStyleTable="\n<hr><h2>Extra styles</h2><p>This class supports the following extra styles:</p><div>"
78 ALIASES += endExtraStyleTable="</div>\n"
81 ALIASES += beginFlagTable="<div>"
82 ALIASES += flag{1}="</div>\li <span class='flag'>\1</span>:<div class='flagDesc'>"
83 ALIASES += endFlagTable="</div>\n"
85 # creates appearance section: this should be used for all main GUI controls
86 ALIASES += appearance{1}="\htmlonly <br><div><span class='appearance'>Appearance:</span><br><table class='appearance'><tr><td><img src='wxmsw/\1' alt='wxMSW appearance' class='appearance'></td><td><img src='wxgtk/\1' alt='wxGTK appearance' class='appearance'></td><td><img src='wxmac/\1' alt='wxMac appearance' class='appearance'></td></tr><tr><td>wxMSW appearance</td><td>wxGTK appearance</td><td>wxMac appearance</td></tr></table></div> \endhtmlonly"
88 # aliases for the creation of "named member groups"
89 # USAGE: the first argument must not contain spaces and be a unique identifier
90 # of the member group for the class being documented;
91 # the second argument is the member group name and can contain spaces
92 # See wxString as an usage example.
93 # NOTE: no warnings are given for wrong member group names so be careful and check
94 # the doxygen output to verify that there are no typos
95 ALIASES += member_group_name{2}="<a name='\1'></a> \name \2"
96 ALIASES += ref_member_group{2}="<a href='#\1' class='el'>\2</a>"
99 #---------------------------------------------------------------------------
100 # Aliases - for use when documenting any C++ entity
101 #---------------------------------------------------------------------------
103 # aliases for additional wx-specific infos
104 ALIASES += category{1}="\ingroup group_class_\1 \n<div><span class='category'>Category:</span> <span class='category_text'>\ref group_class_\1</span></div>"
105 ALIASES += category{2}="\ingroup group_class_\1 group_class_\2 \n<div><span class='category'>Category:</span> <span class='category_text'>\ref group_class_\1, \ref group_class_\2</span></div>"
106 ALIASES += category{3}="\ingroup group_class_\1 group_class_\2 group_class_\3 \n<div><span class='category'>Category:</span> <span class='category_text'>\ref group_class_\1, \ref group_class_\2, \ref group_class_\3</span></div>"
107 ALIASES += library{1}="<h2></h2><div><span class='lib'>Library:</span> <span class='lib_text'>\ref page_libs_\1</span></div>"
108 ALIASES += nolibrary="<h2></h2><div><span class='lib'>Library:</span> <span class='lib_text'>None; this class implementation is entirely header-based.</span></div>"
109 ALIASES += stdobjects="<span class='stdobj'>Predefined objects/pointers:</span>"
111 # native implementation infos:
112 ALIASES += nativeimpl{1}="<div><span class='impl'>Implementations:</span> native under \ref page_port_\1 port; a generic implementation is used elsewhere.</div>"
113 ALIASES += nativeimpl{2}="<div><span class='impl'>Implementations:</span> native under \ref page_port_\1, \ref page_port_\2 ports; a generic implementation is used elsewhere.</div>"
114 ALIASES += nativeimpl{3}="<div><span class='impl'>Implementations:</span> native under \ref page_port_\1, \ref page_port_\2, \ref page_port_\3 ports; a generic implementation is used elsewhere.</div>"
115 ALIASES += nativeimpl{4}="<div><span class='impl'>Implementations:</span> native under \ref page_port_\1, \ref page_port_\2, \ref page_port_\3, \ref page_port_\4 ports; a generic implementation is used elsewhere.</div>"
118 # NOTE: we need to be able to retrieve these infos also from the XML output, thus
119 # we use the \xmlonly and \endxmlonly commands to include custom XML tags
120 ALIASES += onlyfor{1}="<div><span class='avail'>Availability:</span> only available for the \ref page_port_\1 port.</div> \xmlonly <onlyfor>\1</onlyfor> \endxmlonly"
121 ALIASES += onlyfor{2}="<div><span class='avail'>Availability:</span> only available for the \ref page_port_\1, \ref page_port_\2 ports.</div> \xmlonly <onlyfor>\1,\2</onlyfor> \endxmlonly"
122 ALIASES += onlyfor{3}="<div><span class='avail'>Availability:</span> only available for the \ref page_port_\1, \ref page_port_\2, \ref page_port_\3 ports.</div> \xmlonly <onlyfor>\1,\2,\3</onlyfor> \endxmlonly"
123 ALIASES += onlyfor{4}="<div><span class='avail'>Availability:</span> only available for the \ref page_port_\1, \ref page_port_\2, \ref page_port_\3, \ref page_port_\4 ports.</div> \xmlonly <onlyfor>\1,\2,\3,\4</onlyfor> \endxmlonly"
125 # Use this in grouped global functions, and macros since they
126 # wouldn't otherwise indicate what header they are defined in.
127 ALIASES += header{1}="Include file:\n \verbatim #include <\1> \endverbatim"
129 # some formatting aliases
130 ALIASES += true="<span class='literal'>true</span>"
131 ALIASES += false="<span class='literal'>false</span>"
132 ALIASES += NULL="<span class='literal'>NULL</span>"
133 ALIASES += NUL="<span class='literal'>NUL</span>"
135 # NOTE: these are important as you can't write in the docs
136 # just #ifdef since the # character is used by Doxygen
137 # for explicit linking; use the following aliases instead!
138 # However to avoid overwriting e.g. \if Doxygen command the _
139 # character is postfixed
140 ALIASES += ifdef_="<span class='literal'>\#ifdef</span>"
141 ALIASES += ifndef_="<span class='literal'>\#ifndef</span>"
142 ALIASES += if_="<span class='literal'>\#if</span>"
143 ALIASES += endif_="<span class='literal'>\#endif</span>"
145 # table aliases for 2 and 3 column tables
146 ALIASES += beginTable="<table class='doctable' border='1' cellspacing='0' cellpadding='3'>"
147 ALIASES += beginInvisibleTable="<table class='doctable' border='0' cellspacing='0' cellpadding='4'>"
148 ALIASES += row2col{2}="<tr><td>\1</td> <td>\2</td></tr>"
149 ALIASES += row2col{3}="<tr><td>\1</td> <td>\2,\3</td></tr>"
150 ALIASES += row2col{4}="<tr><td>\1</td> <td>\2,\3,\4</td></tr>"
151 ALIASES += row2col{5}="<tr><td>\1</td> <td>\2,\3,\4,\5</td></tr>"
152 ALIASES += row2col{6}="<tr><td>\1</td> <td>\2,\3,\4,\5,\6</td></tr>"
153 ALIASES += row2col{7}="<tr><td>\1</td> <td>\2,\3,\4,\5,\6,\7</td></tr>"
154 ALIASES += row2col{8}="<tr><td>\1</td> <td>\2,\3,\4,\5,\6,\7,\8</td></tr>"
155 ALIASES += row2col{9}="<tr><td>\1</td> <td>\2,\3,\4,\5,\6,\7,\8,\9</td></tr>"
156 ALIASES += row2col{10}="<tr><td>\1</td> <td>\2,\3,\4,\5,\6,\7,\8,\9,\10</td></tr>"
157 ALIASES += row3col{3}="<tr><td>\1</td> <td>\2</td> <td>\3</td></tr>"
158 ALIASES += row3col{4}="<tr><td>\1</td> <td>\2</td> <td>\3,\4</td></tr>"
159 ALIASES += row3col{5}="<tr><td>\1</td> <td>\2</td> <td>\3,\4,\5</td></tr>"
160 ALIASES += row3col{6}="<tr><td>\1</td> <td>\2</td> <td>\3,\4,\5,\6</td></tr>"
161 ALIASES += row3col{7}="<tr><td>\1</td> <td>\2</td> <td>\3,\4,\5,\6,\7</td></tr>"
162 ALIASES += row3col{8}="<tr><td>\1</td> <td>\2</td> <td>\3,\4,\5,\6,\7,\8</td></tr>"
163 ALIASES += row3col{9}="<tr><td>\1</td> <td>\2</td> <td>\3,\4,\5,\6,\7,\8,\9</td></tr>"
164 ALIASES += row3col{10}="<tr><td>\1</td> <td>\2</td> <td>\3,\4,\5,\6,\7,\8,\9,\10</td></tr>"
165 ALIASES += hdr3col{3}="<tr><th>\1</th> <th>\2</th> <th>\3</th></tr>"
166 ALIASES += endTable="</table>"
168 # definition list aliases
169 # a definition list currently is rendered as 2-column table but it may use as
170 # well the <dl>, <dt> and <dd> HTML tags in future.
171 # In any case a definition list differs from a table because of its semantic
172 # nature and because it is always the association of a "title" with a "description"
173 # (in contrast a table may have more than 2 columns of data)...
174 ALIASES += beginDefList="<table class='doclist' border='1' cellspacing='0'>"
175 ALIASES += itemdef{2}="<tr><td><span class='itemdef'>\1</span></td> <td>\2</td></tr>"
176 ALIASES += itemdef{3}="<tr><td><span class='itemdef'>\1</span></td> <td>\2,\3</td></tr>"
177 ALIASES += itemdef{4}="<tr><td><span class='itemdef'>\1</span></td> <td>\2,\3,\4</td></tr>"
178 ALIASES += itemdef{5}="<tr><td><span class='itemdef'>\1</span></td> <td>\2,\3,\4,\5</td></tr>"
179 ALIASES += itemdef{6}="<tr><td><span class='itemdef'>\1</span></td> <td>\2,\3,\4,\5,\6</td></tr>"
180 ALIASES += itemdef{7}="<tr><td><span class='itemdef'>\1</span></td> <td>\2,\3,\4,\5,\6,\7</td></tr>"
181 ALIASES += itemdef{8}="<tr><td><span class='itemdef'>\1</span></td> <td>\2,\3,\4,\5,\6,\7,\8</td></tr>"
182 ALIASES += itemdef{9}="<tr><td><span class='itemdef'>\1</span></td> <td>\2,\3,\4,\5,\6,\7,\8,\9</td></tr>"
183 ALIASES += itemdef{10}="<tr><td><span class='itemdef'>\1</span></td> <td>\2,\3,\4,\5,\6,\7,\8,\9,\10</td></tr>"
184 ALIASES += endDefList="</table>"
185 ALIASES += stock{3}="<tr><td><span class='itemdef'>\1</span></td> <td> @image html gtk-\2.png\n</td><td>\3</td></tr>"
187 #---------------------------------------------------------------------------
188 # Aliases - for use when documenting wxPerl/wxPython-specific parts
189 #---------------------------------------------------------------------------
191 # See ENABLED_SECTIONS configuration key for more info about these:
192 ALIASES += beginWxPerlOnly="\if WXPERL_MANUAL <b>wxPerl Note:</b> "
193 ALIASES += endWxPerlOnly="\endif"
194 ALIASES += beginWxPythonOnly="\if WXPYTHON_MANUAL <b>wxPython Note:</b> "
195 ALIASES += endWxPythonOnly="\endif"
197 # This is to get around a bug in Doxygen that prevents use of '{' or '}'
198 # inside of any aliased command in parameters.
199 ALIASES += leftCurly="{"
200 ALIASES += rightCurly="}"
202 #---------------------------------------------------------------------------
203 # Aliases - for use when documenting samples
204 #---------------------------------------------------------------------------
206 # For indicating the a directory containing a sample
207 ALIASES += sampledir{1}="\verbatim Location: samples/\1\endverbatim"
209 # For refering to the corresponding sample in a class document or a overview
210 # Usually placed in the queue of @see
211 ALIASES += sample{1}="\ref page_samples_\1"
213 # For generating a general description for a sample
214 # \1 could be a class or an overview or a descriptive sentence
215 # Shall be replaced by manual written description soon
216 ALIASES += sampleabout{1}="This sample demonstrates \1."
218 # For indicating the necessary condition of a sample or a class
219 # \1 is the wxUSE_XXX macro
220 ALIASES += buildwith{1}="<b>Build Note:</b> You may need to build the wxWidgets library with <tt>\1</tt> being set to 1 to be able to make it work, please read comments in @c <wx/setup_inc.h> for more info."
221 ALIASES += buildwith{2}="<b>Build Note:</b> You may need to build the wxWidgets library with <tt>\1</tt> and <tt>\2</tt> being set to 1 to be able to make it work, please read comments in @c <wx/setup_inc.h> for more info."
223 #---------------------------------------------------------------------------
225 #---------------------------------------------------------------------------
230 EXTRACT_LOCAL_CLASSES = YES
231 EXTRACT_LOCAL_METHODS = NO
232 EXTRACT_ANON_NSPACES = YES
233 HIDE_UNDOC_MEMBERS = NO
234 HIDE_UNDOC_CLASSES = NO
235 HIDE_FRIEND_COMPOUNDS = NO
236 HIDE_IN_BODY_DOCS = NO
238 CASE_SENSE_NAMES = NO
239 HIDE_SCOPE_NAMES = NO
240 SHOW_INCLUDE_FILES = YES
242 SORT_MEMBER_DOCS = YES
243 SORT_BRIEF_DOCS = NO # Don't set to YES, it renders our named groups out of order.
244 SORT_GROUP_NAMES = YES
245 SORT_BY_SCOPE_NAME = NO
246 GENERATE_TODOLIST = YES
247 GENERATE_TESTLIST = YES
248 GENERATE_BUGLIST = YES
249 GENERATE_DEPRECATEDLIST= YES
251 # can contain WXPERL_MANUAL, WXPYTHON_MANUAL keywords
252 ENABLED_SECTIONS = WXPERL_MANUAL WXPYTHON_MANUAL
254 MAX_INITIALIZER_LINES = 30
256 SHOW_DIRECTORIES = YES
259 FILE_VERSION_FILTER =
260 LAYOUT_FILE = DoxygenLayout.xml
262 #---------------------------------------------------------------------------
263 # Warning and Progress Message Options
264 #---------------------------------------------------------------------------
268 WARN_IF_UNDOCUMENTED = YES
269 WARN_IF_DOC_ERROR = YES
270 WARN_NO_PARAMDOC = YES
271 WARN_FORMAT = "$file:$line: $text "
272 WARN_LOGFILE = doxygen.log
274 #---------------------------------------------------------------------------
276 #---------------------------------------------------------------------------
278 INPUT = ./mainpages ./groups ./overviews ../../interface
279 INPUT_ENCODING = UTF-8
280 FILE_PATTERNS = *.h *.txt
283 EXCLUDE_SYMLINKS = NO
288 EXAMPLE_RECURSIVE = NO
292 FILTER_SOURCE_FILES = NO
294 #---------------------------------------------------------------------------
295 # Source Browsing Options
296 #---------------------------------------------------------------------------
300 STRIP_CODE_COMMENTS = YES
301 REFERENCED_BY_RELATION = NO
302 REFERENCES_RELATION = NO
303 REFERENCES_LINK_SOURCE = YES
305 VERBATIM_HEADERS = NO
307 #---------------------------------------------------------------------------
308 # Alphabetical Class Index Options
309 #---------------------------------------------------------------------------
311 ALPHABETICAL_INDEX = YES
312 COLS_IN_ALPHA_INDEX = 5
315 #---------------------------------------------------------------------------
316 # configuration options related to the HTML output
317 #---------------------------------------------------------------------------
318 GENERATE_HTML = NO # Only change in format output configs
320 HTML_FILE_EXTENSION = .html
321 HTML_HEADER = htmlheader.inc
322 HTML_FOOTER = htmlfooter.inc
324 HTML_ALIGN_MEMBERS = YES
325 HTML_DYNAMIC_SECTIONS = YES
326 GENERATE_DOCSET = NO # Only change in format output configs
327 DOCSET_FEEDNAME = "wxWidgets"
328 DOCSET_BUNDLE_ID = org.wxwidgets.doxygen
329 GENERATE_HTMLHELP = NO # Only change in format output configs
330 CHM_FILE = ..\wx.chm # NOTE: Windows style separator needed
331 HHC_LOCATION = hhc.exe # Don't modify, see Doxyfile_chm for info
337 QHP_NAMESPACE = org.wxwidgets.doxygen
338 QHP_VIRTUAL_FOLDER = doc
341 ENUM_VALUES_PER_LINE = 1
342 GENERATE_TREEVIEW = NONE
344 FORMULA_FONTSIZE = 10
346 #---------------------------------------------------------------------------
347 # LaTeX Output Options
348 #---------------------------------------------------------------------------
350 GENERATE_LATEX = NO # Only change in format output configs
352 LATEX_CMD_NAME = latex
353 MAKEINDEX_CMD_NAME = makeindex
357 LATEX_HEADER = latexdocstart.inc
360 LATEX_BATCHMODE = YES
361 LATEX_HIDE_INDICES = NO
363 #---------------------------------------------------------------------------
365 #---------------------------------------------------------------------------
367 GENERATE_RTF = NO # Only change in format output configs
371 RTF_STYLESHEET_FILE =
372 RTF_EXTENSIONS_FILE =
374 #---------------------------------------------------------------------------
375 # Man Page Output Options
376 #---------------------------------------------------------------------------
378 GENERATE_MAN = NO # Only change in format output configs
383 #---------------------------------------------------------------------------
385 #---------------------------------------------------------------------------
387 GENERATE_XML = NO # Only change in format output configs
391 XML_PROGRAMLISTING = NO
393 #---------------------------------------------------------------------------
394 # AutoGen Definitions Output Options
395 #---------------------------------------------------------------------------
397 GENERATE_AUTOGEN_DEF = NO # Only change in format output configs
399 #---------------------------------------------------------------------------
400 # Perl Module Output Options
401 #---------------------------------------------------------------------------
403 GENERATE_PERLMOD = NO # Only change in format output configs
406 PERLMOD_MAKEVAR_PREFIX =
408 #---------------------------------------------------------------------------
409 # Preprocessor Options
410 #---------------------------------------------------------------------------
412 ENABLE_PREPROCESSING = YES
414 EXPAND_ONLY_PREDEF = NO
415 SEARCH_INCLUDES = YES
417 INCLUDE_FILE_PATTERNS =
420 SKIP_FUNCTION_MACROS = YES
422 #---------------------------------------------------------------------------
423 # Additions Related to External References
424 #---------------------------------------------------------------------------
429 EXTERNAL_GROUPS = YES
430 PERL_PATH = /usr/bin/perl
432 #---------------------------------------------------------------------------
434 #---------------------------------------------------------------------------
438 HIDE_UNDOC_RELATIONS = YES
440 DOT_FONTNAME = FreeSans
444 COLLABORATION_GRAPH = NO
447 TEMPLATE_RELATIONS = NO
449 INCLUDED_BY_GRAPH = NO
452 GRAPHICAL_HIERARCHY = NO
454 DOT_IMAGE_FORMAT = png
456 DOT_GRAPH_MAX_NODES = 50
457 MAX_DOT_GRAPH_DEPTH = 1000
459 DOT_MULTI_TARGETS = NO
460 GENERATE_LEGEND = YES
463 # instead of setting a value for DOT_PATH it's easier and more portable to
464 # put your dot utility in the PATH; if you are on a Unix system this is usually
465 # done automatically; if you're on Windows you'll need to install GraphViz tools
466 # and then manually add it to the PATH environment variable
469 #---------------------------------------------------------------------------
470 # Search Engine Options
471 #---------------------------------------------------------------------------