#############################################################################
## Name: Doxyfile
## Purpose: Doxygen configuration file for wxWidgets manual
-## Author: wxWidgets team
+## Author: Francesco Montorsi
## RCS-ID: $Id$
## Licence: wxWindows license
#############################################################################
# us to keep the headers readable and "implement" wxWidgets-specific commands.
# event aliases
-ALIASES = beginEventTable="\section events Events\n"
-ALIASES += event{1}="\li \b \1"
-ALIASES += event{2}="\li \b \1, \2"
+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"
# style aliases
-ALIASES += beginStyleTable="\section styles Styles\n"
-ALIASES += style{1}="\li \b \1"
+ALIASES += beginStyleTable="\section class_styles Styles\n"
+ALIASES += style{1}="\li \b \c \1"
ALIASES += endStyleTable="\n"
# extra style aliases
-ALIASES += beginExtraStyleTable="\section extrastyles Extra Styles\n"
+ALIASES += beginExtraStyleTable="\section class_extrastyles Extra Styles\n"
ALIASES += endExtraStyleTable="\n"
# misc aliases
-ALIASES += library{1}="\section lib Library\n \b \1"
-ALIASES += seealso="\section sa See also\n" # the default \sa command does not generate a \section!
-ALIASES += stdobjects="\section stdobj Predefined objects\n \b"
+ALIASES += library{1}="\section class_lib Library\n \ref page_libs_\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"
+
+# FIXME: we could also introduce additional tags for adding wx-specific infos
+# to the documented classes/functions; some ideas are:
+# @category{GUI classes}
+# @nativeimpl{wxgtk,wxmsw}
+# @genericimpl{wxuniv,wxmac}
+# @onlyfor{wxmsw}
+# @appeareance{button.png}
+
+
+# IMPORTANT: the default \sa command does not generate a \section!
+ALIASES += seealso="\section class_sa See also\n"
+
+# 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"
# some formatting aliases
-ALIASES += true="\b true"
-ALIASES += false="\b false"
-ALIASES += NULL="\b NULL"
+# 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>"
+
+# FIXME: we could put aliases also for e.g. @wxDefaultSize, @wxDefaultPosition, @wxID_ANY,
+# @wxEmptyString, @wxNullIcon, etc etc
+
+# 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 += 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 += endTable="</table></center>"
-# NOTE: we could put aliases also for e.g. @wxDefaultSize, @wxDefaultPosition, @wxID_ANY, etc
+# 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'>"
+ALIASES += itemdef{2}="<tr><td>\b \1</td> <td>\2</td></tr>"
+ALIASES += itemdef{3}="<tr><td>\b \1</td> <td>\2,\3</td></tr>"
+ALIASES += itemdef{4}="<tr><td>\b \1</td> <td>\2,\3,\4</td></tr>"
+ALIASES += itemdef{5}="<tr><td>\b \1</td> <td>\2,\3,\4,\5</td></tr>"
+ALIASES += itemdef{6}="<tr><td>\b \1</td> <td>\2,\3,\4,\5,\6</td></tr>"
+ALIASES += itemdef{7}="<tr><td>\b \1</td> <td>\2,\3,\4,\5,\6,\7</td></tr>"
+ALIASES += itemdef{8}="<tr><td>\b \1</td> <td>\2,\3,\4,\5,\6,\7,\8</td></tr>"
+ALIASES += itemdef{9}="<tr><td>\b \1</td> <td>\2,\3,\4,\5,\6,\7,\8,\9</td></tr>"
+ALIASES += itemdef{10}="<tr><td>\b \1</td> <td>\2,\3,\4,\5,\6,\7,\8,\9,\10</td></tr>"
+ALIASES += endDefList="</table>"
+
+# 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!
+# However to avoid overwriting e.g. \if Doxygen command the _ character is postfixed
+ALIASES += ifdef_="<b><tt>\#ifdef</tt></b>"
+ALIASES += ifndef_="<b><tt>\#ifndef</tt></b>"
+ALIASES += if_="<b><tt>\#if</tt></b>"
+ALIASES += endif_="<b><tt>\#endif</tt></b>"
+
+# See ENABLED_SECTIONS configuration key for more info about these:
+ALIASES += beginWxPerlOnly="\if WXPERL_MANUAL \n <b>wxPerl note</b>\n\n"
+ALIASES += endWxPerlOnly="\endif"
+ALIASES += beginWxPythonOnly="\if WXPYTHON_MANUAL \n <b>wxPython note</b>\n\n"
+ALIASES += endWxPythonOnly="\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="}"
#---------------------------------------------------------------------------
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
+
+# can contain WXPERL_MANUAL, WXPYTHON_MANUAL keywords
ENABLED_SECTIONS =
+
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_DIRECTORIES = NO
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
-INPUT = . ./overviews ../../include/interface
+INPUT = ./mainpages ./overviews # ../../interface
INPUT_ENCODING = UTF-8
FILE_PATTERNS = *.h *.txt
RECURSIVE = YES
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
-GENERATE_XML = YES
+GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =