#############################################################################
-## Name: Doxyfile
-## Purpose: Doxygen configuration file for wxWidgets manual
-## Author: wxWidgets team
+## Name: Doxyfile.inc
+## Purpose: Main configuration file for the wxWidgets manual
+## 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 HTML output
#---------------------------------------------------------------------------
-GENERATE_HTML = YES
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 =
+CHM_FILE = wx.chm
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
-GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
-GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
-GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
-GENERATE_XML = YES
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF = NO
+
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
-PERLMOD_MAKEVAR_PREFIX =
+PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
+# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES =
-GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
+# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
MSCGEN_PATH =
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
+# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
-SEARCHENGINE = YES
+SEARCHENGINE = NO