]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/doxygen/Doxyfile
Use API_VERSION_NUMBER for debug help API version check.
[wxWidgets.git] / docs / doxygen / Doxyfile
index ab8eccfc058f20307a54adade563e17febc4a635..b4dbce64ea796339ee65ea60c962f891b3874e3c 100644 (file)
-#############################################################################
-## Name:        Doxyfile
-## Purpose:     Doxygen configuration file for wxWidgets manual
-## Author:      wxWidgets team
-## RCS-ID:      $Id$
-## Licence:     wxWindows license
-#############################################################################
+# Doxyfile 1.8.2
 
 #---------------------------------------------------------------------------
-# Project related configuration options
+# Project Options
 #---------------------------------------------------------------------------
 
 DOXYFILE_ENCODING      = UTF-8
 PROJECT_NAME           = wxWidgets
-PROJECT_NUMBER         = 2.9.0
+PROJECT_NUMBER         = 2.9.5
+PROJECT_BRIEF          =
+PROJECT_LOGO           = logo.png
 OUTPUT_DIRECTORY       = out
 CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
 BRIEF_MEMBER_DESC      = YES
 REPEAT_BRIEF           = YES
 ABBREVIATE_BRIEF       =
-ALWAYS_DETAILED_SEC    = YES
+ALWAYS_DETAILED_SEC    = YES # Default: NO
 INLINE_INHERITED_MEMB  = NO
-FULL_PATH_NAMES        = NO
-STRIP_FROM_PATH        =
-STRIP_FROM_INC_PATH    =
+FULL_PATH_NAMES        = YES
+STRIP_FROM_PATH        = "$(WXWIDGETS)/"
+STRIP_FROM_INC_PATH    = "$(WXWIDGETS)/include/" \
+                         "$(WXWIDGETS)/interface/"
 SHORT_NAMES            = NO
-JAVADOC_AUTOBRIEF      = NO
+JAVADOC_AUTOBRIEF      = YES # Default: NO
 QT_AUTOBRIEF           = NO
 MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP         = NO
 INHERIT_DOCS           = YES
 SEPARATE_MEMBER_PAGES  = NO
 TAB_SIZE               = 4
+TCL_SUBST              =
 OPTIMIZE_OUTPUT_FOR_C  = NO
 OPTIMIZE_OUTPUT_JAVA   = NO
+OPTIMIZE_FOR_FORTRAN   = NO
+OPTIMIZE_OUTPUT_VHDL   = NO
+EXTENSION_MAPPING      =
+MARKDOWN_SUPPORT       = YES
+AUTOLINK_SUPPORT       = YES
 BUILTIN_STL_SUPPORT    = NO
 CPP_CLI_SUPPORT        = NO
-DISTRIBUTE_GROUP_DOC   = NO
+SIP_SUPPORT            = NO
+IDL_PROPERTY_SUPPORT   = NO # Default: YES
+DISTRIBUTE_GROUP_DOC   = YES # Default: NO
 SUBGROUPING            = YES
+INLINE_GROUPED_CLASSES = NO # TODO: Examine this setting.
+INLINE_SIMPLE_STRUCTS  = NO # TODO: Examine this setting.
+TYPEDEF_HIDES_STRUCT   = NO
+SYMBOL_CACHE_SIZE      = 0
+LOOKUP_CACHE_SIZE      = 0
+
 
 #---------------------------------------------------------------------------
 # Aliases
 #---------------------------------------------------------------------------
 
-# This is the most important part of the wxWidgets Doxyfile; aliases allow
+# This is the most important part of the wxWidgets Doxyfile. Aliases allow
 # us to keep the headers readable and "implement" wxWidgets-specific commands.
 
-# event aliases
-ALIASES = beginEventTable="\section class_events Events\n"
-ALIASES += event{1}="\li \b <tt>\1</tt>"
-ALIASES += event{2}="\li \b <tt>\1, \2</tt>"
-ALIASES += endEventTable="\n"
+# Aliases for documenting C++ classes
+#---------------------------------------------------------------------------
+
+# aliases to be used by classes which emit wxEvents (e.g. wxWindow, wxTextCtrl, etc):
+ALIASES = beginEventEmissionTable="\n<h2>Events emitted by this class</h2><p>Event macros for events emitted by this class:</p><div>"
+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&nbsp;handlerFuncName(\1&&nbsp;event)</span></div></p>Event macros for events emitted by this class:<div>"
+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&nbsp;handlerFuncName(\1&&nbsp;event)</span> or <span>void&nbsp;handlerFuncName(\2&&nbsp;event)</span></div></p>Event macros for events emitted by this class:<div>"
+
+# aliases to be used in wxEvent-derived classes:
+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&nbsp;handlerFuncName(\1&&nbsp;event)</span></div></p>Event macros:<div>"
+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&nbsp;handlerFuncName(\1&&nbsp;event)</span> or <span>void&nbsp;handlerFuncName(\2&&nbsp;event)</span></div></p>Event macros:<div>"
+
+# common event aliases:
+ALIASES += event{1}="</div>\li <span class='event'>\1</span>:<div class='eventDesc'>"
+ALIASES += event{2}="</div>\li <span class='event'>\1, \2</span>:<div class='eventDesc'>"
+ALIASES += event{3}="</div>\li <span class='event'>\1, \2, \3</span>:<div class='eventDesc'>"
+ALIASES += event{4}="</div>\li <span class='event'>\1, \2, \3, \4</span>:<div class='eventDesc'>"
+ALIASES += endEventTable="</div>\n"
 
 # style aliases
-ALIASES += beginStyleTable="\section class_styles Styles\n"
-ALIASES += style{1}="\li \b \c \1"
-ALIASES += endStyleTable="\n"
+ALIASES += beginStyleTable="\n<h2>Styles</h2><p>This class supports the following styles:</p><div>"
+ALIASES += style{1}="</div>\li <span class='style'>\1</span>:<div class='styleDesc'>"
+ALIASES += endStyleTable="</div>\n"
 
 # extra style aliases
-ALIASES += beginExtraStyleTable="\section class_extrastyles Extra Styles\n"
-ALIASES += endExtraStyleTable="\n"
+ALIASES += beginExtraStyleTable="\n<hr><h2>Extra Styles</h2><p>This class supports the following extra styles:</p><div>"
+ALIASES += endExtraStyleTable="</div>\n"
+
+# flag aliases
+ALIASES += beginFlagTable="<div>"
+ALIASES += flag{1}="</div>\li <span class='flag'>\1</span>:<div class='flagDesc'>"
+ALIASES += endFlagTable="</div>\n"
+
+# creates appearance section: this should be used for all main GUI controls
+# that look different in different ports. genericAppearance can be used for the
+# controls that always look the same.
+ALIASES += appearance{1}="\htmlonly<div class="appearance"><span class='appearance'>Appearance:</span><table><tr><td>\endhtmlonly\n\image html appear-\1-msw.png \"wxMSW Appearance\"\n\htmlonly</td><td>\endhtmlonly\n\image html appear-\1-gtk.png \"wxGTK Appearance\"\n\htmlonly</td><td>\endhtmlonly\n\image html appear-\1-mac.png \"wxOSX Appearance\"\n\htmlonly</td></tr></table></div>\endhtmlonly"
+ALIASES += genericAppearance{1}="\htmlonly<div class="appearance"><span class='appearance'>Appearance:</span><table class='appearance'><tr><td>\endhtmlonly\n\image html generic/\1 \"Generic Appearance\"\n\htmlonly</td></tr></table></div>\endhtmlonly"
+
+# aliases for the creation of "named member groups"
+# USAGE: the first argument must not contain spaces and be a unique identifier 
+#        of the member group for the class being documented;
+#        the second argument is the member group name and can contain spaces
+#        See wxString as an usage example.
+# NOTE: no warnings are given for wrong member group names so be careful and check
+#       the doxygen output to verify that there are no typos
+ALIASES += member_group_name{2}="<a name='\1'></a> \name \2"
+ALIASES += ref_member_group{2}="<a href='#\1' class='el'>\2</a>"
+
+# Aliases for documenting any C++ entity
+#---------------------------------------------------------------------------
+
+# aliases for additional wx-specific infos
+ALIASES += category{1}="\ingroup group_class_\1 \n<div><span class='category'>Category:</span>&nbsp;&nbsp;<span class='category_text'>\ref group_class_\1</span></div>"
+ALIASES += category{2}="\ingroup group_class_\1 group_class_\2 \n<div><span class='category'>Category:</span>&nbsp;&nbsp;<span class='category_text'>\ref group_class_\1, \ref group_class_\2</span></div>"
+ALIASES += category{3}="\ingroup group_class_\1 group_class_\2 group_class_\3 \n<div><span class='category'>Category:</span>&nbsp;&nbsp;<span class='category_text'>\ref group_class_\1, \ref group_class_\2, \ref group_class_\3</span></div>"
+ALIASES += library{1}="<h2></h2><div><span class='lib'>Library:</span>&nbsp;&nbsp;<span class='lib_text'>\ref page_libs_\1</span></div>"
+ALIASES += nolibrary="<h2></h2><div><span class='lib'>Library:</span>&nbsp;&nbsp;<span class='lib_text'>None; this class implementation is entirely header-based.</span></div>"
+ALIASES += stdobjects="<span class='stdobj'>Predefined objects/pointers:</span>"
 
-# misc aliases
-ALIASES += library{1}="\section class_lib Library\n \ref \1"
-ALIASES += nolibrary="\section class_lib Library\n None; this class implementation is entirely header-based."
-ALIASES += stdobjects="\section class_stdobj Predefined objects\n \b"
+# native implementation infos:
+ALIASES += nativeimpl{1}="<div><span class='impl'>Implementations:</span>&nbsp;&nbsp;native under \ref page_port_\1 port; a generic implementation is used elsewhere.</div>"
+ALIASES += nativeimpl{2}="<div><span class='impl'>Implementations:</span>&nbsp;&nbsp;native under \ref page_port_\1, \ref page_port_\2 ports; a generic implementation is used elsewhere.</div>"
+ALIASES += nativeimpl{3}="<div><span class='impl'>Implementations:</span>&nbsp;&nbsp;native under \ref page_port_\1, \ref page_port_\2, \ref page_port_\3 ports; a generic implementation is used elsewhere.</div>"
+ALIASES += nativeimpl{4}="<div><span class='impl'>Implementations:</span>&nbsp;&nbsp;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>"
 
-# IMPORTANT: the default \sa command does not generate a \section!
-ALIASES += seealso="\section class_sa See also\n"
+# onlyfor infos:
+# NOTE: we need to be able to retrieve these infos also from the XML output, thus
+#       we use the \xmlonly and \endxmlonly commands to include custom XML tags
+ALIASES += onlyfor{1}="<div><span class='avail'>Availability:</span>&nbsp;&nbsp;only available for the \ref page_port_\1 port.</div>       \xmlonly <onlyfor>\1</onlyfor> \endxmlonly"
+ALIASES += onlyfor{2}="<div><span class='avail'>Availability:</span>&nbsp;&nbsp;only available for the \ref page_port_\1, \ref page_port_\2 ports.</div>       \xmlonly <onlyfor>\1,\2</onlyfor> \endxmlonly"
+ALIASES += onlyfor{3}="<div><span class='avail'>Availability:</span>&nbsp;&nbsp;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"
+ALIASES += onlyfor{4}="<div><span class='avail'>Availability:</span>&nbsp;&nbsp;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"
 
-# IMPORTANT: the \headerfile command does not work everywhere we'd need it,
-#            e.g. in the constants page we need to specify an header file
-#            even if they're not inside a \class, \function or \struct command....
-ALIASES += header{1}="Include file:\n \verbatim #include <\1> @endverbatim"
+# Use this in grouped global functions, and macros since they
+# wouldn't otherwise indicate what header they are defined in.
+ALIASES += header{1}="Include file:\n \verbatim #include <\1> \endverbatim"
 
 # some formatting aliases
-# NOTE: using <b> and <tt> tags is different from using \c \b because in the last case
-#       \c gets applied to the first word following and \b to the second word following;
-#       we want both bold and typetext attributes to be applied to the same word!
-ALIASES += true="<b><tt>true</tt></b>"
-ALIASES += false="<b><tt>false</tt></b>"
-ALIASES += NULL="<b><tt>NULL</tt></b>"
-
-# these are useful for creation of tables
-ALIASES += beginTable="<center><table class='doctable'>"
-ALIASES += beginInvisibleTable="<center><table class='doctable' border='0'>"
-ALIASES += row{2}="<tr><td>\1</td> <td>\2</td></tr>"
-ALIASES += row{3}="<tr><td>\1</td> <td>\2 \3</td></tr>"
-ALIASES += row{4}="<tr><td>\1</td> <td>\2 \3 \4</td></tr>"
-ALIASES += endTable="</table></center>"
-
-# NOTE: we could put aliases also for e.g. @wxDefaultSize, @wxDefaultPosition, @wxID_ANY, 
-#       @wxEmptyString, @wxNullIcon, etc etc
+ALIASES += true="<span class='literal'>true</span>"
+ALIASES += false="<span class='literal'>false</span>"
+ALIASES += NULL="<span class='literal'>NULL</span>"
+ALIASES += NUL="<span class='literal'>NUL</span>"
 
 # NOTE: these are important as you can't write in the docs
 #       just #ifdef since the # character is used by Doxygen
 #       for explicit linking; use the following aliases instead!
-ALIASES += ifdef="<b><tt>\#ifdef</tt></b>"
-ALIASES += ifndef="<b><tt>\#ifndef</tt></b>"
-ALIASES += if="<b><tt>\#if</tt></b>"          # NOTE: this overrides the Doxygen \if command
-ALIASES += endif="<b><tt>\#endif</tt></b>"
+#       However to avoid overwriting e.g. \if Doxygen command the _
+#       character is postfixed
+ALIASES += ifdef_="<span class='literal'>\#ifdef</span>"
+ALIASES += ifndef_="<span class='literal'>\#ifndef</span>"
+ALIASES += if_="<span class='literal'>\#if</span>"
+ALIASES += endif_="<span class='literal'>\#endif</span>"
 
+# table aliases for 2 and 3 column tables
+ALIASES += beginTable="<table class='doctable' border='1' cellspacing='0' cellpadding='3'>"
+ALIASES += beginInvisibleTable="<table class='doctable' border='0' cellspacing='0' cellpadding='4'>"
+ALIASES += row2col{2}="<tr><td>\1</td> <td>\2</td></tr>"
+ALIASES += row2col{3}="<tr><td>\1</td> <td>\2,\3</td></tr>"
+ALIASES += row2col{4}="<tr><td>\1</td> <td>\2,\3,\4</td></tr>"
+ALIASES += row2col{5}="<tr><td>\1</td> <td>\2,\3,\4,\5</td></tr>"
+ALIASES += row2col{6}="<tr><td>\1</td> <td>\2,\3,\4,\5,\6</td></tr>"
+ALIASES += row2col{7}="<tr><td>\1</td> <td>\2,\3,\4,\5,\6,\7</td></tr>"
+ALIASES += row2col{8}="<tr><td>\1</td> <td>\2,\3,\4,\5,\6,\7,\8</td></tr>"
+ALIASES += row2col{9}="<tr><td>\1</td> <td>\2,\3,\4,\5,\6,\7,\8,\9</td></tr>"
+ALIASES += row2col{10}="<tr><td>\1</td> <td>\2,\3,\4,\5,\6,\7,\8,\9,\10</td></tr>"
+ALIASES += row3col{3}="<tr><td>\1</td> <td>\2</td> <td>\3</td></tr>"
+ALIASES += row3col{4}="<tr><td>\1</td> <td>\2</td> <td>\3,\4</td></tr>"
+ALIASES += row3col{5}="<tr><td>\1</td> <td>\2</td> <td>\3,\4,\5</td></tr>"
+ALIASES += row3col{6}="<tr><td>\1</td> <td>\2</td> <td>\3,\4,\5,\6</td></tr>"
+ALIASES += row3col{7}="<tr><td>\1</td> <td>\2</td> <td>\3,\4,\5,\6,\7</td></tr>"
+ALIASES += row3col{8}="<tr><td>\1</td> <td>\2</td> <td>\3,\4,\5,\6,\7,\8</td></tr>"
+ALIASES += row3col{9}="<tr><td>\1</td> <td>\2</td> <td>\3,\4,\5,\6,\7,\8,\9</td></tr>"
+ALIASES += row3col{10}="<tr><td>\1</td> <td>\2</td> <td>\3,\4,\5,\6,\7,\8,\9,\10</td></tr>"
+ALIASES += hdr3col{3}="<tr><th>\1</th> <th>\2</th> <th>\3</th></tr>"
+ALIASES += endTable="</table>"
 
+# definition list aliases
+# a definition list currently is rendered as 2-column table but it may use as
+# well the <dl>, <dt> and <dd> HTML tags in future.
+# In any case a definition list differs from a table because of its semantic
+# nature and because it is always the association of a "title" with a "description"
+# (in contrast a table may have more than 2 columns of data)...
+ALIASES += beginDefList="<table class='doclist' border='1' cellspacing='0'>"
+ALIASES += itemdef{2}="<tr><td><span class='itemdef'>\1</span></td> <td>\2</td></tr>"
+ALIASES += itemdef{3}="<tr><td><span class='itemdef'>\1</span></td> <td>\2,\3</td></tr>"
+ALIASES += itemdef{4}="<tr><td><span class='itemdef'>\1</span></td> <td>\2,\3,\4</td></tr>"
+ALIASES += itemdef{5}="<tr><td><span class='itemdef'>\1</span></td> <td>\2,\3,\4,\5</td></tr>"
+ALIASES += itemdef{6}="<tr><td><span class='itemdef'>\1</span></td> <td>\2,\3,\4,\5,\6</td></tr>"
+ALIASES += itemdef{7}="<tr><td><span class='itemdef'>\1</span></td> <td>\2,\3,\4,\5,\6,\7</td></tr>"
+ALIASES += itemdef{8}="<tr><td><span class='itemdef'>\1</span></td> <td>\2,\3,\4,\5,\6,\7,\8</td></tr>"
+ALIASES += itemdef{9}="<tr><td><span class='itemdef'>\1</span></td> <td>\2,\3,\4,\5,\6,\7,\8,\9</td></tr>"
+ALIASES += itemdef{10}="<tr><td><span class='itemdef'>\1</span></td> <td>\2,\3,\4,\5,\6,\7,\8,\9,\10</td></tr>"
+ALIASES += endDefList="</table>"
+ALIASES += stock{3}="<tr><td><span class='itemdef'>\1</span></td> <td> @image html gtk-\2.png\n</td><td>\3</td></tr>"
+
+# Aliases for documenting wxPerl/wxPython-specific parts
 #---------------------------------------------------------------------------
-# Build related configuration options
+
+# See ENABLED_SECTIONS configuration key for more info about these:
+ALIASES += beginWxPerlOnly="\if WXPERL_MANUAL <b>wxPerl Note:</b> "
+ALIASES += endWxPerlOnly="\endif"
+
+# This is to get around a bug in Doxygen that prevents use of '{' or '}'
+# inside of any aliased command in parameters.
+ALIASES += leftCurly="{"
+ALIASES += rightCurly="}"
+
+# Aliases for documenting samples
 #---------------------------------------------------------------------------
-EXTRACT_ALL            = YES
+
+# For indicating a sample location
+ALIASES += sampledir{1}="@e Location: @c samples/\1 subdirectory of your wxWidgets installation or http://svn.wxwidgets.org/viewvc/wx/wxWidgets/trunk/samples/\1"
+
+# For refering to the corresponding sample in a class document or a overview
+# Usually placed in the queue of @see
+ALIASES += sample{1}="\ref page_samples_\1"
+
+# For generating a general description for a sample
+# \1 could be a class or an overview or a descriptive sentence
+# Shall be replaced by manual written description soon
+ALIASES += sampleabout{1}="This sample demonstrates \1."
+
+# For indicating the necessary condition of a sample or a class
+# \1 is the wxUSE_XXX macro
+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."
+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."
+
+
+#---------------------------------------------------------------------------
+# Build Options
+#---------------------------------------------------------------------------
+
+EXTRACT_ALL            = YES # Default: NO
 EXTRACT_PRIVATE        = NO
-EXTRACT_STATIC         = YES
+EXTRACT_PACKAGE        = NO
+EXTRACT_STATIC         = YES # Default: NO
 EXTRACT_LOCAL_CLASSES  = YES
 EXTRACT_LOCAL_METHODS  = NO
-EXTRACT_ANON_NSPACES   = YES
-HIDE_UNDOC_MEMBERS     = YES
-HIDE_UNDOC_CLASSES     = YES
+EXTRACT_ANON_NSPACES   = YES # TODO: Default: NO
+HIDE_UNDOC_MEMBERS     = NO
+HIDE_UNDOC_CLASSES     = NO
 HIDE_FRIEND_COMPOUNDS  = NO
 HIDE_IN_BODY_DOCS      = NO
 INTERNAL_DOCS          = NO
-CASE_SENSE_NAMES       = NO
+CASE_SENSE_NAMES       = NO # Default: YES
 HIDE_SCOPE_NAMES       = NO
 SHOW_INCLUDE_FILES     = YES
+FORCE_LOCAL_INCLUDES   = NO
 INLINE_INFO            = YES
 SORT_MEMBER_DOCS       = YES
-SORT_BRIEF_DOCS        = YES
+SORT_BRIEF_DOCS        = NO # Don't set to YES, it renders our named groups out of order.
+SORT_MEMBERS_CTORS_1ST = NO # Default: NO
+SORT_GROUP_NAMES       = YES # Default: NO
 SORT_BY_SCOPE_NAME     = NO
+STRICT_PROTO_MATCHING  = NO
 GENERATE_TODOLIST      = YES
 GENERATE_TESTLIST      = YES
 GENERATE_BUGLIST       = YES
 GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       = 
+
+# can contain WXPERL_MANUAL, WXPYTHON_MANUAL keywords
+ENABLED_SECTIONS       = WXPERL_MANUAL WXPYTHON_MANUAL
+
 MAX_INITIALIZER_LINES  = 30
-SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = NO
-FILE_VERSION_FILTER    = 
+SHOW_USED_FILES        = NO # Default: YES
+SHOW_FILES             = YES
+SHOW_NAMESPACES        = NO # TODO: Default: YES
+FILE_VERSION_FILTER    =
+LAYOUT_FILE            = DoxygenLayout.xml
+CITE_BIB_FILES         =
+
 
 #---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
+# Warning and Progress Message Options
 #---------------------------------------------------------------------------
-QUIET                  = NO
+
+QUIET                  = YES # Default: NO
 WARNINGS               = YES
-WARN_IF_UNDOCUMENTED   = NO
+WARN_IF_UNDOCUMENTED   = YES
 WARN_IF_DOC_ERROR      = YES
-WARN_NO_PARAMDOC       = NO
-WARN_FORMAT            = "$file:$line: $text   "
+WARN_NO_PARAMDOC       = YES # Default: NO
+WARN_FORMAT            = "$file:$line: $text"
 WARN_LOGFILE           = doxygen.log
 
+
 #---------------------------------------------------------------------------
-# configuration options related to the input files
+# Input File Options
 #---------------------------------------------------------------------------
-INPUT                  = . ./overviews ../../interface
+
+INPUT                  = mainpages groups overviews ../../interface
 INPUT_ENCODING         = UTF-8
-FILE_PATTERNS          = *.h *.txt
-RECURSIVE              = YES
-EXCLUDE                = 
+FILE_PATTERNS          = *.h
+RECURSIVE              = YES # Default: NO
+EXCLUDE                =
 EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
-EXCLUDE_SYMBOLS        = 
-EXAMPLE_PATH           = 
+EXCLUDE_PATTERNS       =
+EXCLUDE_SYMBOLS        =
+EXAMPLE_PATH           = ../
 EXAMPLE_PATTERNS       = *
-EXAMPLE_RECURSIVE      = YES
+EXAMPLE_RECURSIVE      = NO
 IMAGE_PATH             = images
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
+INPUT_FILTER           =
+FILTER_PATTERNS        =
 FILTER_SOURCE_FILES    = NO
+FILTER_SOURCE_PATTERNS =
+
 
 #---------------------------------------------------------------------------
-# configuration options related to source browsing
+# Source Browsing Options
 #---------------------------------------------------------------------------
+
 SOURCE_BROWSER         = NO
 INLINE_SOURCES         = NO
 STRIP_CODE_COMMENTS    = YES
@@ -173,144 +315,229 @@ REFERENCED_BY_RELATION = NO
 REFERENCES_RELATION    = NO
 REFERENCES_LINK_SOURCE = YES
 USE_HTAGS              = NO
-VERBATIM_HEADERS       = NO
+VERBATIM_HEADERS       = NO # Default: YES
+
 
 #---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
+# Alphabetical Class Index Options
 #---------------------------------------------------------------------------
+
 ALPHABETICAL_INDEX     = YES
 COLS_IN_ALPHA_INDEX    = 5
 IGNORE_PREFIX          = wx
 
+
 #---------------------------------------------------------------------------
-# configuration options related to the HTML output
+# HTML Output Options
 #---------------------------------------------------------------------------
-GENERATE_HTML          = YES
+
+GENERATE_HTML          = $(GENERATE_HTML)
 HTML_OUTPUT            = html
 HTML_FILE_EXTENSION    = .html
-HTML_HEADER            = htmlheader.inc
-HTML_FOOTER            = htmlfooter.inc
-HTML_STYLESHEET        = 
-HTML_ALIGN_MEMBERS     = YES
-GENERATE_HTMLHELP      = NO
-HTML_DYNAMIC_SECTIONS  = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
-GENERATE_CHI           = NO
-BINARY_TOC             = NO
-TOC_EXPAND             = NO
+HTML_HEADER            = custom_header.html
+HTML_FOOTER            = custom_footer.html
+HTML_STYLESHEET        =
+HTML_EXTRA_STYLESHEET  = extra_stylesheet.css
+HTML_EXTRA_FILES       = wxwidgets.js
+HTML_COLORSTYLE_HUE    = 220 # Default: 220
+HTML_COLORSTYLE_SAT    = 255 # Default: 100
+HTML_COLORSTYLE_GAMMA  = 100 # Default: 80
+HTML_TIMESTAMP         = YES
+HTML_DYNAMIC_SECTIONS  = YES # Default: NO
+HTML_INDEX_NUM_ENTRIES = 100
 DISABLE_INDEX          = NO
-ENUM_VALUES_PER_LINE   = 4
+ENUM_VALUES_PER_LINE   = 1 # Default: 4
 GENERATE_TREEVIEW      = NO
 TREEVIEW_WIDTH         = 250
+EXT_LINKS_IN_WINDOW    = YES # Default: NO
+FORMULA_FONTSIZE       = 10
+FORMULA_TRANSPARENT    = YES
+USE_MATHJAX            = NO
+MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
+MATHJAX_EXTENSIONS     =
+SEARCHENGINE           = $(SEARCHENGINE)
+SERVER_BASED_SEARCH    = $(SERVER_BASED_SEARCH)
+
+
+#---------------------------------------------------------------------------
+# Docset Output Options
+#---------------------------------------------------------------------------
+
+GENERATE_DOCSET        = $(GENERATE_DOCSET)
+DOCSET_FEEDNAME        = "wxWidgets 2.9"
+DOCSET_BUNDLE_ID       = org.wxwidgets.doxygen.wx29
+DOCSET_PUBLISHER_ID    = org.wxwidgets.doxygen
+DOCSET_PUBLISHER_NAME  = wxWidgets Team
 
+
+#---------------------------------------------------------------------------
+# CHM Output Options
 #---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
+
+GENERATE_HTMLHELP      = $(GENERATE_HTMLHELP)
+CHM_FILE               = ..\wx.chm # Windows style separator is required.
+HHC_LOCATION           = hhc.exe
+GENERATE_CHI           = NO
+CHM_INDEX_ENCODING     =
+BINARY_TOC             = NO
+TOC_EXPAND             = NO
+
+
+#---------------------------------------------------------------------------
+# QHP Output Options
+#---------------------------------------------------------------------------
+
+GENERATE_QHP           = $(GENERATE_QHP)
+QCH_FILE               =
+QHP_NAMESPACE          = org.wxwidgets.doxygen
+QHP_VIRTUAL_FOLDER     = doc
+QHP_CUST_FILTER_NAME   =
+QHP_CUST_FILTER_ATTRS  =
+QHP_SECT_FILTER_ATTRS  =
+QHG_LOCATION           =
+
+
+#---------------------------------------------------------------------------
+# Eclipse Output Options
+#---------------------------------------------------------------------------
+
+GENERATE_ECLIPSEHELP   = NO
+ECLIPSE_DOC_ID         = org.wxwidgets.doxygen
+
+
 #---------------------------------------------------------------------------
-GENERATE_LATEX         = NO
+# LaTeX Output Options
+#---------------------------------------------------------------------------
+
+GENERATE_LATEX         = $(GENERATE_LATEX)
 LATEX_OUTPUT           = latex
 LATEX_CMD_NAME         = latex
 MAKEINDEX_CMD_NAME     = makeindex
 COMPACT_LATEX          = NO
 PAPER_TYPE             = a4wide
-EXTRA_PACKAGES         = 
-LATEX_HEADER           = 
-PDF_HYPERLINKS         = NO
-USE_PDFLATEX           = NO
-LATEX_BATCHMODE        = NO
+EXTRA_PACKAGES         =
+LATEX_HEADER           = latexdocstart.inc
+LATEX_FOOTER           =
+PDF_HYPERLINKS         = YES
+USE_PDFLATEX           = YES
+LATEX_BATCHMODE        = YES # Default: NO
 LATEX_HIDE_INDICES     = NO
+LATEX_SOURCE_CODE      = NO
+LATEX_BIB_STYLE        = plain
+
 
 #---------------------------------------------------------------------------
-# configuration options related to the RTF output
+# RTF Output Options
 #---------------------------------------------------------------------------
+
 GENERATE_RTF           = NO
 RTF_OUTPUT             = rtf
 COMPACT_RTF            = NO
 RTF_HYPERLINKS         = NO
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
+RTF_STYLESHEET_FILE    =
+RTF_EXTENSIONS_FILE    =
+
 
 #---------------------------------------------------------------------------
-# configuration options related to the man page output
+# Man Page Output Options
 #---------------------------------------------------------------------------
+
 GENERATE_MAN           = NO
 MAN_OUTPUT             = man
 MAN_EXTENSION          = .3
 MAN_LINKS              = NO
 
+
 #---------------------------------------------------------------------------
-# configuration options related to the XML output
+# XML Output Options
 #---------------------------------------------------------------------------
-GENERATE_XML           = NO
+
+GENERATE_XML           = $(GENERATE_XML)
 XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
-XML_PROGRAMLISTING     = YES
+XML_SCHEMA             =
+XML_DTD                =
+XML_PROGRAMLISTING     = NO # Default: YES
+
 
 #---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
+# AutoGen Definitions Output Options
 #---------------------------------------------------------------------------
+
 GENERATE_AUTOGEN_DEF   = NO
 
+
 #---------------------------------------------------------------------------
-# configuration options related to the Perl module output
+# Perl Module Output Options
 #---------------------------------------------------------------------------
+
 GENERATE_PERLMOD       = NO
-PERLMOD_LATEX          = NO
+PERLMOD_LATEX          = YES # Default: NO
 PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
+PERLMOD_MAKEVAR_PREFIX =
+
 
 #---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
+# Preprocessor Options
 #---------------------------------------------------------------------------
+
 ENABLE_PREPROCESSING   = YES
 MACRO_EXPANSION        = NO
 EXPAND_ONLY_PREDEF     = NO
 SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = 
-INCLUDE_FILE_PATTERNS  = 
-PREDEFINED             = 
-EXPAND_AS_DEFINED      = 
+INCLUDE_PATH           =
+INCLUDE_FILE_PATTERNS  =
+PREDEFINED             = wxUSE_BASE wxUSE_GUI
+EXPAND_AS_DEFINED      =
 SKIP_FUNCTION_MACROS   = YES
 
+
 #---------------------------------------------------------------------------
-# Configuration::additions related to external references   
+# Additions Related to External References
 #---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = 
+
+TAGFILES               =
+GENERATE_TAGFILE       =
 ALLEXTERNALS           = NO
 EXTERNAL_GROUPS        = YES
 PERL_PATH              = /usr/bin/perl
 
+
 #---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
+# dot Tool Options
 #---------------------------------------------------------------------------
+
 CLASS_DIAGRAMS         = YES
 MSCGEN_PATH            =
 HIDE_UNDOC_RELATIONS   = YES
-HAVE_DOT               = YES
-CLASS_GRAPH            = NO
-COLLABORATION_GRAPH    = NO
-GROUP_GRAPHS           = NO
+HAVE_DOT               = YES # Default: NO
+DOT_NUM_THREADS        = 0
+DOT_FONTNAME           = FreeSans # Default: Helvetica
+DOT_FONTSIZE           = 10
+DOT_FONTPATH           =
+CLASS_GRAPH            = YES
+COLLABORATION_GRAPH    = NO # Default: YES
+GROUP_GRAPHS           = NO # Default: YES
 UML_LOOK               = NO
+UML_LIMIT_NUM_FIELDS   = 10
 TEMPLATE_RELATIONS     = NO
-INCLUDE_GRAPH          = NO
-INCLUDED_BY_GRAPH      = NO
+INCLUDE_GRAPH          = NO # Default: YES
+INCLUDED_BY_GRAPH      = NO # Default: YES
 CALL_GRAPH             = NO
 CALLER_GRAPH           = NO
-GRAPHICAL_HIERARCHY    = NO
-DIRECTORY_GRAPH        = NO
+GRAPHICAL_HIERARCHY    = NO # TODO: Default: YES
+DIRECTORY_GRAPH        = NO # Default: YES
 DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
+INTERACTIVE_SVG        = NO
+DOTFILE_DIRS           =
+MSCFILE_DIRS           =
 DOT_GRAPH_MAX_NODES    = 50
-MAX_DOT_GRAPH_DEPTH    = 1000
+MAX_DOT_GRAPH_DEPTH    = 1000 # Default: 0
 DOT_TRANSPARENT        = NO
 DOT_MULTI_TARGETS      = NO
 GENERATE_LEGEND        = YES
 DOT_CLEANUP            = YES
 
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = YES
+# Instead of setting a value for DOT_PATH it's easier and more portable to
+# put your dot utility in the PATH. On Windows you'll need to install GraphViz
+# tools, and then manually add it to the PATH environment variable.
+DOT_PATH               =