#############################################################################
#---------------------------------------------------------------------------
-# Project related configuration options
+# Project Options
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
+REPEAT_BRIEF = NO
ABBREVIATE_BRIEF =
ALWAYS_DETAILED_SEC = YES
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
QT_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = YES
# us to keep the headers readable and "implement" wxWidgets-specific commands.
# event aliases
-ALIASES = beginEventTable="\n<span class='events'>Events:</span>"
-ALIASES += event{1}="\li <span class='event'>\1</span>"
-ALIASES += event{2}="\li <span class='event'>\1, \2</span>"
-ALIASES += event{3}="\li <span class='event'>\1, \2, \3</span>"
-ALIASES += event{4}="\li <span class='event'>\1, \2, \3, \4</span>"
-ALIASES += endEventTable="\n"
+ALIASES = beginEventTable{1}="\n<span class='events'>Events:</span><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>"
+ALIASES += beginEventTable{2}="\n<span class='events'>Events:</span><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>"
+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="\n<span class='styles'>Styles:</span>"
-ALIASES += style{1}="\li <span class='style'>\1</span>"
-ALIASES += endStyleTable="\n"
+ALIASES += beginStyleTable="\n<span class='styles'>Styles:</span><div>"
+ALIASES += style{1}="</div>\li <span class='style'>\1</span>:<div class='styleDesc'>"
+ALIASES += endStyleTable="</div>\n"
# extra style aliases
-ALIASES += beginExtraStyleTable="<div><span class='styles'>Extra styles:</span>"
-ALIASES += endExtraStyleTable="</div>"
+ALIASES += beginExtraStyleTable="\n<span class='styles'>Extra styles:</span><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"
# aliases for additional wx-specific infos
ALIASES += category{1}="\ingroup group_class_\1 \n<div><span class='category'>Category:</span> <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> <span class='category_text'>\ref group_class_\1, \ref group_class_\2</span></div>"
ALIASES += library{1}="<div><span class='lib'>Library:</span> <span class='lib_text'>\ref page_libs_\1</span></div>"
ALIASES += nolibrary="<div><span class='lib'>Library:</span> <span class='lib_text'>None; this class implementation is entirely header-based.</span></div>"
-ALIASES += stdobjects="<span class='stdobj'>Predefined objects:</span>"
+ALIASES += stdobjects="<span class='stdobj'>Predefined objects/pointers:</span>"
# native implementation infos:
ALIASES += nativeimpl{1}="<div><span class='impl'>Implementations:</span> native under \ref page_port_\1 port; a generic implementation is used elsewhere.</div>"
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>"
# onlyfor infos:
-ALIASES += onlyfor{1}="<div><span class='avail'>Availability:</span> only available for the \ref page_port_\1 port.</div>"
-ALIASES += onlyfor{2}="<div><span class='avail'>Availability:</span> only available for the \ref page_port_\1, \ref page_port_\2 ports.</div>"
-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>"
-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>"
+# 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> only available for the \ref page_port_\1 port.</div> \xmlonly <onlyfor>\1</onlyfor> \endxmlonly"
+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"
+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"
+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"
# creates appearance section: this should be used for all main GUI controls
-ALIASES += appearance{1}="@htmlonly <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"
+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"
-# 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:
+# 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"
-# IMPORTANT: inside a \class, we want to specify the header file only once
-# and not twice as the \headerfile command requires:
-ALIASES += wxheader{1}="\headerfile \1 wx/\1"
-
-# the following alias avoids to repeat lots of times the same statement:
-ALIASES += wxsince{1}="\since This function is new since wxWidgets version \1."
-
# some formatting aliases
ALIASES += true="<span class='literal'>true</span>"
ALIASES += false="<span class='literal'>false</span>"
ALIASES += endif_="<span class='literal'>\#endif</span>"
# table aliases for 2 and 3 column tables
-ALIASES += beginTable="<center><table class='doctable' border='1' cellspacing='0' cellpadding='3'>"
-ALIASES += beginInvisibleTable="<center><table class='doctable' border='0' cellspacing='0' cellpadding='4'>"
+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 += 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 += endTable="</table></center>"
+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
# 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'>"
+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{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>"
# See ENABLED_SECTIONS configuration key for more info about these:
-ALIASES += beginWxPerlOnly="\if WXPERL_MANUAL \n <b>wxPerl note</b>\n\n"
+ALIASES += beginWxPerlOnly="\if WXPERL_MANUAL <b>wxPerl Note:</b> "
ALIASES += endWxPerlOnly="\endif"
-ALIASES += beginWxPythonOnly="\if WXPYTHON_MANUAL \n <b>wxPython note</b>\n\n"
+ALIASES += beginWxPythonOnly="\if WXPYTHON_MANUAL <b>wxPython Note:</b> "
ALIASES += endWxPythonOnly="\endif"
# This is to get around a bug in Doxygen that prevents use of '{' or '}'
ALIASES += leftCurly="{"
ALIASES += rightCurly="}"
+# Sample documentation related aliases
+# For indicating the a directory containing a sample
+ALIASES += sampledir{1}="\verbatim Location: samples/\1\endverbatim"
+# 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 related configuration options
+# Build Options
#---------------------------------------------------------------------------
+
EXTRACT_ALL = YES
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = YES
GENERATE_DEPRECATEDLIST= YES
# can contain WXPERL_MANUAL, WXPYTHON_MANUAL keywords
-ENABLED_SECTIONS =
+ENABLED_SECTIONS = WXPERL_MANUAL WXPYTHON_MANUAL
MAX_INITIALIZER_LINES = 30
-SHOW_USED_FILES = YES
+SHOW_USED_FILES = NO
SHOW_DIRECTORIES = YES
+#SHOW_FILES = YES # Doxygen 1.5.6+ only
FILE_VERSION_FILTER =
#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
+# Warning and Progress Message Options
#---------------------------------------------------------------------------
+
QUIET = YES
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_LOGFILE = doxygen.log
#---------------------------------------------------------------------------
-# configuration options related to the input files
+# Input File Options
#---------------------------------------------------------------------------
+
INPUT = ./mainpages ./groups ./overviews ../../interface
INPUT_ENCODING = UTF-8
FILE_PATTERNS = *.h *.txt
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXCLUDE_SYMBOLS =
-EXAMPLE_PATH =
+EXAMPLE_PATH = ../
EXAMPLE_PATTERNS = *
-EXAMPLE_RECURSIVE = YES
+EXAMPLE_RECURSIVE = NO
IMAGE_PATH = images
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
-# configuration options related to source browsing
+# Source Browsing Options
#---------------------------------------------------------------------------
+
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
VERBATIM_HEADERS = NO
#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
+# Alphabetical Class Index Options
#---------------------------------------------------------------------------
+
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX = wx
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = NO
-ENUM_VALUES_PER_LINE = 4
+ENUM_VALUES_PER_LINE = 1
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
+# LaTeX Output Options
#---------------------------------------------------------------------------
+
GENERATE_LATEX = NO # Only change in format output configs
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
-# configuration options related to the RTF output
+# RTF Output Options
#---------------------------------------------------------------------------
+
GENERATE_RTF = NO # Only change in format output configs
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
-# configuration options related to the man page output
+# Man Page Output Options
#---------------------------------------------------------------------------
+
GENERATE_MAN = NO # Only change in format output configs
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
-# configuration options related to the XML output
+# XML Output Options
#---------------------------------------------------------------------------
+
GENERATE_XML = NO # Only change in format output configs
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
-XML_PROGRAMLISTING = YES
+XML_PROGRAMLISTING = NO
#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
+# AutoGen Definitions Output Options
#---------------------------------------------------------------------------
+
GENERATE_AUTOGEN_DEF = NO # Only change in format output configs
#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
+# Perl Module Output Options
#---------------------------------------------------------------------------
+
GENERATE_PERLMOD = NO # Only change in format output configs
PERLMOD_LATEX = YES
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
+# Preprocessor Options
#---------------------------------------------------------------------------
+
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
-# Configuration::additions related to external references
+# Additions Related to External References
#---------------------------------------------------------------------------
+
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
+# dot Tool Options
#---------------------------------------------------------------------------
+
CLASS_DIAGRAMS = YES
MSCGEN_PATH =
HIDE_UNDOC_RELATIONS = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
+# Search Engine Options
#---------------------------------------------------------------------------
+
SEARCHENGINE = NO