Commit 05b70e8e authored by Dimitri van Heesch's avatar Dimitri van Heesch

Release-1.6.2

parent e3256753
DOXYGEN Version 1.6.1-20091222 DOXYGEN Version 1.6.2
Please read the installation section of the manual Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions. (http://www.doxygen.org/install.html) for instructions.
-------- --------
Dimitri van Heesch (22 December 2009) Dimitri van Heesch (30 December 2009)
DOXYGEN Version 1.6.1_20091222 DOXYGEN Version 1.6.2
Please read INSTALL for compilation instructions. Please read INSTALL for compilation instructions.
...@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives. ...@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy, Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (22 December 2009) Dimitri van Heesch (dimitri@stack.nl) (30 December 2009)
...@@ -17,10 +17,10 @@ ...@@ -17,10 +17,10 @@
doxygen_version_major=1 doxygen_version_major=1
doxygen_version_minor=6 doxygen_version_minor=6
doxygen_version_revision=1 doxygen_version_revision=2
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package. #NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
doxygen_version_mmn=20091222 doxygen_version_mmn=NO
bin_dirs=`echo $PATH | sed -e "s/:/ /g"` bin_dirs=`echo $PATH | sed -e "s/:/ /g"`
......
...@@ -91,6 +91,7 @@ followed by the descriptions of the tags grouped by category. ...@@ -91,6 +91,7 @@ followed by the descriptions of the tags grouped by category.
\refitem cfg_dot_transparent DOT_TRANSPARENT \refitem cfg_dot_transparent DOT_TRANSPARENT
\refitem cfg_dotfile_dirs DOTFILE_DIRS \refitem cfg_dotfile_dirs DOTFILE_DIRS
\refitem cfg_doxyfile_encoding DOXYFILE_ENCODING \refitem cfg_doxyfile_encoding DOXYFILE_ENCODING
\refitem cfg_eclipse_doc_id ECLIPSE_DOC_ID
\refitem cfg_enable_preprocessing ENABLE_PREPROCESSING \refitem cfg_enable_preprocessing ENABLE_PREPROCESSING
\refitem cfg_enabled_sections ENABLED_SECTIONS \refitem cfg_enabled_sections ENABLED_SECTIONS
\refitem cfg_enum_values_per_line ENUM_VALUES_PER_LINE \refitem cfg_enum_values_per_line ENUM_VALUES_PER_LINE
...@@ -123,6 +124,7 @@ followed by the descriptions of the tags grouped by category. ...@@ -123,6 +124,7 @@ followed by the descriptions of the tags grouped by category.
\refitem cfg_generate_chi GENERATE_CHI \refitem cfg_generate_chi GENERATE_CHI
\refitem cfg_generate_deprecatedlist GENERATE_DEPRECIATEDLIST \refitem cfg_generate_deprecatedlist GENERATE_DEPRECIATEDLIST
\refitem cfg_generate_docset GENERATE_DOCSET \refitem cfg_generate_docset GENERATE_DOCSET
\refitem cfg_generate_eclipsehelp GENERATE_ECLIPSEHELP
\refitem cfg_generate_html GENERATE_HTML \refitem cfg_generate_html GENERATE_HTML
\refitem cfg_generate_htmlhelp GENERATE_HTMLHELP \refitem cfg_generate_htmlhelp GENERATE_HTMLHELP
\refitem cfg_generate_latex GENERATE_LATEX \refitem cfg_generate_latex GENERATE_LATEX
...@@ -1455,6 +1457,28 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn" ...@@ -1455,6 +1457,28 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
If non-empty doxygen will try to run qhelpgenerator on the generated If non-empty doxygen will try to run qhelpgenerator on the generated
.qhp file. .qhp file.
\anchor cfg_generate_eclipsehelp
<dt>\c GENERATE_ECLIPSEHELP <dd>
\addindex GENERATE_ECLIPSEHELP
If the \c GENERATE_ECLIPSEHELP tag is set to \c YES, additional index files
will be generated, which together with the HTML files, form an Eclipse help
plugin.
To install this plugin and make it available under the help contents
menu in Eclipse, the contents of the directory containing the HTML and XML
files needs to be copied into the plugins directory of eclipse. The name of
the directory within the plugins directory should be the same as
the \ref cfg_eclipse_doc_id "ECLIPSE_DOC_ID" value.
After copying Eclipse needs to be restarted before the help appears.
\anchor cfg_eclipse_doc_id
<dt>\c ECLIPSE_DOC_ID <dd>
\addindex ECLIPSE_DOC_ID
A unique identifier for the eclipse help plugin. When installing the plugin
the directory name containing the HTML and XML files should also have
this name. Each documentation set should have its own identifier.
\anchor cfg_searchengine \anchor cfg_searchengine
<dt>\c SEARCHENGINE <dd> <dt>\c SEARCHENGINE <dd>
\addindex SEARCHENGINE \addindex SEARCHENGINE
......
...@@ -153,18 +153,31 @@ that use doxygen. ...@@ -153,18 +153,31 @@ that use doxygen.
\latexonly \latexonly
list of projects that use doxygen (see {\tt http://www.doxygen.org/projects.html}). list of projects that use doxygen (see {\tt http://www.doxygen.org/projects.html}).
\endlatexonly \endlatexonly
If you know other projects, let me know and I'll add them. If you know other projects, let <a href="mailto:dimitri@stack.nl?subject=New%20project%20using%20Doxygen">me</a>
know and I'll add them.
<h2>Commercial Support</h2>
I'm currently investigating the possibilities of providing
commercial support for doxygen. The forms of support I'm thinking of
are:
<ul>
<li>implementing features,
<li>fixing bugs,
<li>providing priority help in answering questions.
</ul>
To get a better understanding of the feasibility,
please let <a href="mailto:dimitri@stack.nl?subject=Doxygen%20Commercial%20Support">me</a> know if you
have a need for this type (or another type)
of doxygen related commercial support.
<h2>Future work</h2> <h2>Future work</h2>
Although doxygen is used successfully by a lot of people already, Although doxygen is successfully used by large number of companies and
there is always room for improvement. Therefore, I have compiled a open source projects already, there is always room for improvement.
\htmlonly <p>
<a href="http://www.doxygen.org/todo.html">todo/wish list</a> You can submit enhancement requests in
\endhtmlonly <a href="https://bugzilla.gnome.org/buglist.cgi?product=doxygen&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=enhancement">the bug tracker</a>.
\latexonly Make sure the severity of the bug report is set to "enhancement".
todo/wish list (see {\tt http://www.doxygen.org/todo.html})
\endlatexonly
of possible and/or requested enhancements.
<h2>Acknowledgements</h2> <h2>Acknowledgements</h2>
\addindex acknowledgements \addindex acknowledgements
......
...@@ -25,7 +25,7 @@ HTML browsers by default have no search capabilities that work across multiple ...@@ -25,7 +25,7 @@ HTML browsers by default have no search capabilities that work across multiple
pages, so either doxygen or external tools need to help to facilitate pages, so either doxygen or external tools need to help to facilitate
this feature. this feature.
Doxygen has 5 different ways to add searching to the HTML output, each of which Doxygen has 6 different ways to add searching to the HTML output, each of which
has its own advantages and disadvantages: has its own advantages and disadvantages:
<h2>1. Client side searching</h2> <h2>1. Client side searching</h2>
...@@ -128,4 +128,31 @@ has its own advantages and disadvantages: ...@@ -128,4 +128,31 @@ has its own advantages and disadvantages:
each user, or distributing the Qt help assistant along with each user, or distributing the Qt help assistant along with
the documentation, which is complicated by the fact that it is not the documentation, which is complicated by the fact that it is not
available as a separate package at this moment. available as a separate package at this moment.
<h2>6. Eclipse Help Plugin</h2>
If you use eclipse, you can embed the documentation generated by
doxygen as a help plugin. It will then appear as a topic in the help
browser that can be started from "Help contents" in the Help menu.
Eclipse will generate a search index for the documentation when you
first search for an keyword.
To enable the help plugin set
\ref cfg_generate_eclipsehelp "GENERATE_ECLIPSE_HELP" to \c YES,
and define a unique identifier for your project via
\ref cfg_eclipse_doc_id "ECLIPSE_DOC_ID", i.e:
\verbatim
GENERATE_ECLIPSE_HELP = YES
ECLIPSE_DOC_ID = com.yourcompany.yourproject
\endverbatim
then create the \c com.yourcompany.yourproject directory (so with
the same name as the value of \c ECLIPSE_DOC_ID) in the
\c plugin directory of eclipse and after doxygen completes copy
to contents of the help output directory to
the \c com.yourcompany.yourproject directory.
Then restart eclipse to make let it find the new plugin.
The eclipse help plugin provides similar functionality as the
Qt compressed help or CHM output, but it does require that Eclipse is
installed and running.
*/ */
# Doxyfile 1.5.9 # Doxyfile 1.6.1
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# Project related configuration options # Project related configuration options
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8 DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = Doxygen PROJECT_NAME = Qtools
PROJECT_NUMBER = PROJECT_NUMBER =
OUTPUT_DIRECTORY = ../qtools_docs OUTPUT_DIRECTORY = ../qtools_docs
CREATE_SUBDIRS = YES CREATE_SUBDIRS = YES
OUTPUT_LANGUAGE = English OUTPUT_LANGUAGE = English
BRIEF_MEMBER_DESC = YES BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES REPEAT_BRIEF = YES
ABBREVIATE_BRIEF = ABBREVIATE_BRIEF =
ALWAYS_DETAILED_SEC = NO ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES FULL_PATH_NAMES = YES
STRIP_FROM_PATH = $(PWD)/ STRIP_FROM_PATH = $(PWD)/
STRIP_FROM_INC_PATH = STRIP_FROM_INC_PATH =
SHORT_NAMES = NO SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = YES JAVADOC_AUTOBRIEF = YES
QT_AUTOBRIEF = NO QT_AUTOBRIEF = NO
...@@ -24,12 +24,12 @@ MULTILINE_CPP_IS_BRIEF = NO ...@@ -24,12 +24,12 @@ MULTILINE_CPP_IS_BRIEF = NO
INHERIT_DOCS = YES INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 8 TAB_SIZE = 8
ALIASES = ALIASES =
OPTIMIZE_OUTPUT_FOR_C = NO OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO OPTIMIZE_OUTPUT_JAVA = NO
OPTIMIZE_FOR_FORTRAN = NO OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = NO OPTIMIZE_OUTPUT_VHDL = NO
EXTENSION_MAPPING = EXTENSION_MAPPING =
BUILTIN_STL_SUPPORT = NO BUILTIN_STL_SUPPORT = NO
CPP_CLI_SUPPORT = NO CPP_CLI_SUPPORT = NO
SIP_SUPPORT = NO SIP_SUPPORT = NO
...@@ -55,22 +55,25 @@ INTERNAL_DOCS = NO ...@@ -55,22 +55,25 @@ INTERNAL_DOCS = NO
CASE_SENSE_NAMES = NO CASE_SENSE_NAMES = NO
HIDE_SCOPE_NAMES = NO HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = YES SHOW_INCLUDE_FILES = YES
FORCE_LOCAL_INCLUDES = NO
INLINE_INFO = YES INLINE_INFO = YES
SORT_MEMBER_DOCS = YES SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = NO SORT_BRIEF_DOCS = NO
SORT_MEMBERS_CTORS_1ST = NO
SORT_GROUP_NAMES = NO SORT_GROUP_NAMES = NO
SORT_BY_SCOPE_NAME = NO SORT_BY_SCOPE_NAME = NO
GENERATE_TODOLIST = YES GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS = ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30 MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_DIRECTORIES = NO SHOW_DIRECTORIES = NO
SHOW_FILES = YES SHOW_FILES = YES
SHOW_NAMESPACES = YES SHOW_NAMESPACES = YES
FILE_VERSION_FILTER = FILE_VERSION_FILTER =
LAYOUT_FILE = LAYOUT_FILE =
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# configuration options related to warning and progress messages # configuration options related to warning and progress messages
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
...@@ -80,7 +83,7 @@ WARN_IF_UNDOCUMENTED = YES ...@@ -80,7 +83,7 @@ WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text " WARN_FORMAT = "$file:$line: $text "
WARN_LOGFILE = WARN_LOGFILE =
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# configuration options related to the input files # configuration options related to the input files
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
...@@ -90,16 +93,16 @@ FILE_PATTERNS = *.h \ ...@@ -90,16 +93,16 @@ FILE_PATTERNS = *.h \
*.cpp \ *.cpp \
*.doc *.doc
RECURSIVE = NO RECURSIVE = NO
EXCLUDE = EXCLUDE =
EXCLUDE_SYMLINKS = NO EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS = EXCLUDE_PATTERNS =
EXCLUDE_SYMBOLS = EXCLUDE_SYMBOLS =
EXAMPLE_PATH = EXAMPLE_PATH =
EXAMPLE_PATTERNS = EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO EXAMPLE_RECURSIVE = NO
IMAGE_PATH = IMAGE_PATH =
INPUT_FILTER = INPUT_FILTER =
FILTER_PATTERNS = FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO FILTER_SOURCE_FILES = NO
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# configuration options related to source browsing # configuration options related to source browsing
...@@ -122,31 +125,34 @@ IGNORE_PREFIX = Q ...@@ -122,31 +125,34 @@ IGNORE_PREFIX = Q
# configuration options related to the HTML output # configuration options related to the HTML output
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
GENERATE_HTML = YES GENERATE_HTML = YES
HTML_OUTPUT = HTML_OUTPUT =
HTML_FILE_EXTENSION = .html HTML_FILE_EXTENSION = .html
HTML_HEADER = HTML_HEADER =
HTML_FOOTER = HTML_FOOTER =
HTML_STYLESHEET = HTML_STYLESHEET =
HTML_TIMESTAMP = NO
HTML_ALIGN_MEMBERS = YES HTML_ALIGN_MEMBERS = YES
HTML_DYNAMIC_SECTIONS = NO HTML_DYNAMIC_SECTIONS = NO
GENERATE_DOCSET = YES GENERATE_DOCSET = YES
DOCSET_FEEDNAME = "Doxygen generated docs" DOCSET_FEEDNAME = "Doxygen generated docs"
DOCSET_BUNDLE_ID = org.doxygen.Project DOCSET_BUNDLE_ID = org.doxygen.Project
GENERATE_HTMLHELP = NO GENERATE_HTMLHELP = NO
CHM_FILE = CHM_FILE =
HHC_LOCATION = HHC_LOCATION =
GENERATE_CHI = NO GENERATE_CHI = NO
CHM_INDEX_ENCODING = CHM_INDEX_ENCODING =
BINARY_TOC = NO BINARY_TOC = NO
TOC_EXPAND = NO TOC_EXPAND = NO
GENERATE_QHP = YES GENERATE_QHP = YES
QCH_FILE = QCH_FILE =
QHP_NAMESPACE = com.qtools QHP_NAMESPACE = com.qtools
QHP_VIRTUAL_FOLDER = doc QHP_VIRTUAL_FOLDER = doc
QHP_CUST_FILTER_NAME = QHP_CUST_FILTER_NAME =
QHP_CUST_FILTER_ATTRS = QHP_CUST_FILTER_ATTRS =
QHP_SECT_FILTER_ATTRS = QHP_SECT_FILTER_ATTRS =
QHG_LOCATION = QHG_LOCATION =
GENERATE_ECLIPSEHELP = YES
ECLIPSE_DOC_ID = org.doxygen.qtools
DISABLE_INDEX = NO DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4 ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = NO GENERATE_TREEVIEW = NO
...@@ -154,17 +160,18 @@ USE_INLINE_TREES = NO ...@@ -154,17 +160,18 @@ USE_INLINE_TREES = NO
TREEVIEW_WIDTH = 250 TREEVIEW_WIDTH = 250
FORMULA_FONTSIZE = 10 FORMULA_FONTSIZE = 10
SEARCHENGINE = YES SEARCHENGINE = YES
SERVER_BASED_SEARCH = NO
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# configuration options related to the LaTeX output # configuration options related to the LaTeX output
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
GENERATE_LATEX = YES GENERATE_LATEX = YES
LATEX_OUTPUT = LATEX_OUTPUT =
LATEX_CMD_NAME = latex LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO COMPACT_LATEX = NO
PAPER_TYPE = a4wide PAPER_TYPE = a4wide
EXTRA_PACKAGES = EXTRA_PACKAGES =
LATEX_HEADER = LATEX_HEADER =
PDF_HYPERLINKS = YES PDF_HYPERLINKS = YES
USE_PDFLATEX = YES USE_PDFLATEX = YES
LATEX_BATCHMODE = NO LATEX_BATCHMODE = NO
...@@ -174,16 +181,16 @@ LATEX_SOURCE_CODE = YES ...@@ -174,16 +181,16 @@ LATEX_SOURCE_CODE = YES
# configuration options related to the RTF output # configuration options related to the RTF output
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
GENERATE_RTF = NO GENERATE_RTF = NO
RTF_OUTPUT = RTF_OUTPUT =
COMPACT_RTF = NO COMPACT_RTF = NO
RTF_HYPERLINKS = NO RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE = RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE = RTF_EXTENSIONS_FILE =
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# configuration options related to the man page output # configuration options related to the man page output
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
GENERATE_MAN = NO GENERATE_MAN = NO
MAN_OUTPUT = MAN_OUTPUT =
MAN_EXTENSION = .3 MAN_EXTENSION = .3
MAN_LINKS = NO MAN_LINKS = NO
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
...@@ -191,8 +198,8 @@ MAN_LINKS = NO ...@@ -191,8 +198,8 @@ MAN_LINKS = NO
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
GENERATE_XML = NO GENERATE_XML = NO
XML_OUTPUT = xml XML_OUTPUT = xml
XML_SCHEMA = XML_SCHEMA =
XML_DTD = XML_DTD =
XML_PROGRAMLISTING = YES XML_PROGRAMLISTING = YES
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output # configuration options for the AutoGen Definitions output
...@@ -204,37 +211,37 @@ GENERATE_AUTOGEN_DEF = NO ...@@ -204,37 +211,37 @@ GENERATE_AUTOGEN_DEF = NO
GENERATE_PERLMOD = NO GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX = PERLMOD_MAKEVAR_PREFIX =
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# Configuration options related to the preprocessor # Configuration options related to the preprocessor
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES EXPAND_ONLY_PREDEF = YES
SEARCH_INCLUDES = YES SEARCH_INCLUDES = YES
INCLUDE_PATH = INCLUDE_PATH =
INCLUDE_FILE_PATTERNS = INCLUDE_FILE_PATTERNS =
PREDEFINED = PREDEFINED =
EXPAND_AS_DEFINED = EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES SKIP_FUNCTION_MACROS = YES
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# Configuration::additions related to external references # Configuration::additions related to external references
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
TAGFILES = TAGFILES =
GENERATE_TAGFILE = ../qtools_docs/qtools.tag GENERATE_TAGFILE = ../qtools_docs/qtools.tag
ALLEXTERNALS = NO ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl PERL_PATH = /usr/bin/perl
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# Configuration options related to the dot tool # Configuration options related to the dot tool
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES CLASS_DIAGRAMS = YES
MSCGEN_PATH = MSCGEN_PATH =
HIDE_UNDOC_RELATIONS = YES HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = NO HAVE_DOT = NO
DOT_FONTNAME = FreeSans DOT_FONTNAME = FreeSans
DOT_FONTSIZE = 10 DOT_FONTSIZE = 10
DOT_FONTPATH = DOT_FONTPATH =
CLASS_GRAPH = YES CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES GROUP_GRAPHS = YES
...@@ -247,8 +254,8 @@ CALLER_GRAPH = NO ...@@ -247,8 +254,8 @@ CALLER_GRAPH = NO
GRAPHICAL_HIERARCHY = YES GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = YES DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png DOT_IMAGE_FORMAT = png
DOT_PATH = DOT_PATH =
DOTFILE_DIRS = DOTFILE_DIRS =
DOT_GRAPH_MAX_NODES = 50 DOT_GRAPH_MAX_NODES = 50
MAX_DOT_GRAPH_DEPTH = 0 MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = YES DOT_TRANSPARENT = YES
......
...@@ -370,8 +370,8 @@ void replaceComment(int offset); ...@@ -370,8 +370,8 @@ void replaceComment(int offset);
BEGIN(CComment); BEGIN(CComment);
} }
} }
<CComment>[ \t]+"{@code" { <CComment>"{@code"/[ \t\n] {
copyToOutput(" @code",6); copyToOutput("@code",5);
g_lastCommentContext = YY_START; g_lastCommentContext = YY_START;
g_javaBlock=1; g_javaBlock=1;
g_blockName=&yytext[1]; g_blockName=&yytext[1];
...@@ -426,6 +426,7 @@ void replaceComment(int offset); ...@@ -426,6 +426,7 @@ void replaceComment(int offset);
else else
{ {
g_javaBlock++; g_javaBlock++;
copyToOutput(yytext,yyleng);
} }
} }
<VerbatimCode>"}" { <VerbatimCode>"}" {
...@@ -441,6 +442,10 @@ void replaceComment(int offset); ...@@ -441,6 +442,10 @@ void replaceComment(int offset);
copyToOutput(" @endcode ",10); copyToOutput(" @endcode ",10);
BEGIN(g_lastCommentContext); BEGIN(g_lastCommentContext);
} }
else
{
copyToOutput(yytext,yyleng);
}
} }
} }
<VerbatimCode>[\\@]("enddot"|"endcode"|"endmsc") { /* end of verbatim block */ <VerbatimCode>[\\@]("enddot"|"endcode"|"endmsc") { /* end of verbatim block */
...@@ -492,7 +497,7 @@ void replaceComment(int offset); ...@@ -492,7 +497,7 @@ void replaceComment(int offset);
copyToOutput(yytext,yyleng); copyToOutput(yytext,yyleng);
} }
<CComment>[^\\!@*\n]* { /* anything that is not a '*' or command */ <CComment>[^\\!@*\n{]* { /* anything that is not a '*' or command */
copyToOutput(yytext,yyleng); copyToOutput(yytext,yyleng);
} }
<CComment>"*"+[^*/\\@\n]* { /* stars without slashes */ <CComment>"*"+[^*/\\@\n]* { /* stars without slashes */
......
...@@ -1361,26 +1361,17 @@ void Config::check() ...@@ -1361,26 +1361,17 @@ void Config::check()
// check QHP creation requirements // check QHP creation requirements
if (Config_getBool("GENERATE_QHP")) if (Config_getBool("GENERATE_QHP"))
{ {
bool qhp=TRUE;
if (!Config_getBool("GENERATE_HTML"))
{
config_err("Error: GENERATE_QHP=YES requires GENERATE_HTML=YES. Disabling QHP output.\n");
qhp=FALSE;
}
if (Config_getString("QHP_NAMESPACE").isEmpty()) if (Config_getString("QHP_NAMESPACE").isEmpty())
{ {
config_err("Error: GENERATE_QHP=YES requires QHP_NAMESPACE to be set. Disabling QHP output.\n"); config_err("Error: GENERATE_QHP=YES requires QHP_NAMESPACE to be set. Using 'org.doxygen.doc' as default!.\n");
qhp=FALSE; Config_getString("QHP_NAMESPACE")="org.doxygen.doc";
} }
if (Config_getString("QHP_VIRTUAL_FOLDER").isEmpty()) if (Config_getString("QHP_VIRTUAL_FOLDER").isEmpty())
{ {
config_err("Error: GENERATE_QHP=YES requires QHP_VIRTUAL_FOLDER to be set. Disabling QHP output.\n"); config_err("Error: GENERATE_QHP=YES requires QHP_VIRTUAL_FOLDER to be set. Using 'doc' as default!\n");
qhp=FALSE; Config_getString("QHP_VIRTUAL_FOLDER")="doc";
} }
Config_getBool("GENERATE_QHP")=qhp;
} }
if (Config_getBool("OPTIMIZE_OUTPUT_JAVA") && Config_getBool("INLINE_INFO")) if (Config_getBool("OPTIMIZE_OUTPUT_JAVA") && Config_getBool("INLINE_INFO"))
......
...@@ -861,7 +861,7 @@ The path specified is relative to the HTML output folder. ...@@ -861,7 +861,7 @@ The path specified is relative to the HTML output folder.
The QHP_NAMESPACE tag specifies the namespace to use when generating The QHP_NAMESPACE tag specifies the namespace to use when generating
Qt Help Project output. For more information please see Qt Help Project output. For more information please see
http://doc.trolltech.com/qthelpproject.html#namespace http://doc.trolltech.com/qthelpproject.html#namespace
' defval='' depends='GENERATE_QHP'/> ' defval='org.doxygen.Project' depends='GENERATE_QHP'/>
<option type='string' id='QHP_VIRTUAL_FOLDER' format='string' docs=' <option type='string' id='QHP_VIRTUAL_FOLDER' format='string' docs='
The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
Qt Help Project output. For more information please see Qt Help Project output. For more information please see
...@@ -887,6 +887,21 @@ be used to specify the location of Qt&apos;s qhelpgenerator. ...@@ -887,6 +887,21 @@ be used to specify the location of Qt&apos;s qhelpgenerator.
If non-empty doxygen will try to run qhelpgenerator on the generated If non-empty doxygen will try to run qhelpgenerator on the generated
.qhp file. .qhp file.
' defval='' depends='GENERATE_QHP'/> ' defval='' depends='GENERATE_QHP'/>
<option type='bool' id='GENERATE_ECLIPSEHELP' docs='
If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
will be generated, which together with the HTML files, form an Eclipse help
plugin. To install this plugin and make it available under the help contents
menu in Eclipse, the contents of the directory containing the HTML and XML
files needs to be copied into the plugins directory of eclipse. The name of
the directory within the plugins directory should be the same as
the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
the help appears.
' defval='0' depends='GENERATE_HTML'/>
<option type='string' id='ECLIPSE_DOC_ID' docs='
A unique identifier for the eclipse help plugin. When installing the plugin
the directory name containing the HTML and XML files should also have
this name.
' defval='org.doxygen.Project' depends='GENERATE_ECLIPSEHELP'/>
<option type='bool' id='DISABLE_INDEX' docs=' <option type='bool' id='DISABLE_INDEX' docs='
The DISABLE_INDEX tag can be used to turn on/off the condensed index at The DISABLE_INDEX tag can be used to turn on/off the condensed index at
top of each HTML page. The value NO (the default) enables the index and top of each HTML page. The value NO (the default) enables the index and
......
...@@ -1253,6 +1253,7 @@ void addConfigOptions(Config *cfg) ...@@ -1253,6 +1253,7 @@ void addConfigOptions(Config *cfg)
"Qt Help Project output. For more information please see\n" "Qt Help Project output. For more information please see\n"
"http://doc.trolltech.com/qthelpproject.html#namespace" "http://doc.trolltech.com/qthelpproject.html#namespace"
); );
cs->setDefaultValue("org.doxygen.Project");
cs->addDependency("GENERATE_QHP"); cs->addDependency("GENERATE_QHP");
//---- //----
cs = cfg->addString( cs = cfg->addString(
...@@ -1297,6 +1298,28 @@ void addConfigOptions(Config *cfg) ...@@ -1297,6 +1298,28 @@ void addConfigOptions(Config *cfg)
cs->setWidgetType(ConfigString::File); cs->setWidgetType(ConfigString::File);
cs->addDependency("GENERATE_QHP"); cs->addDependency("GENERATE_QHP");
//---- //----
cb = cfg->addBool(
"GENERATE_ECLIPSEHELP",
"If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files\n"
" will be generated, which together with the HTML files, form an Eclipse help\n"
" plugin. To install this plugin and make it available under the help contents\n"
"menu in Eclipse, the contents of the directory containing the HTML and XML\n"
"files needs to be copied into the plugins directory of eclipse. The name of\n"
"the directory within the plugins directory should be the same as\n"
"the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the help appears.",
FALSE
);
cb->addDependency("GENERATE_HTML");
//----
cs = cfg->addString(
"ECLIPSE_DOC_ID",
"A unique identifier for the eclipse help plugin. When installing the plugin\n"
"the directory name containing the HTML and XML files should also have\n"
"this name."
);
cs->setDefaultValue("org.doxygen.Project");
cs->addDependency("GENERATE_ECLIPSEHELP");
//----
cb = cfg->addBool( cb = cfg->addBool(
"DISABLE_INDEX", "DISABLE_INDEX",
"The DISABLE_INDEX tag can be used to turn on/off the condensed index at\n" "The DISABLE_INDEX tag can be used to turn on/off the condensed index at\n"
......
...@@ -1171,6 +1171,7 @@ class DocHtmlCell : public CompAccept<DocHtmlCell>, public DocNode ...@@ -1171,6 +1171,7 @@ class DocHtmlCell : public CompAccept<DocHtmlCell>, public DocNode
void markFirst(bool v=TRUE) { m_isFirst=v; } void markFirst(bool v=TRUE) { m_isFirst=v; }
void markLast(bool v=TRUE) { m_isLast=v; } void markLast(bool v=TRUE) { m_isLast=v; }
const HtmlAttribList &attribs() const { return m_attribs; } const HtmlAttribList &attribs() const { return m_attribs; }
const QList<DocNode> &children() const { return m_children; }
int parse(); int parse();
int parseXml(); int parseXml();
......
/****************************************************************************** /******************************************************************************
*
*
*
* *
* Copyright (C) 1997-2008 by Dimitri van Heesch. * Copyright (C) 1997-2008 by Dimitri van Heesch.
* *
...@@ -79,6 +76,7 @@ ...@@ -79,6 +76,7 @@
#include "portable.h" #include "portable.h"
#include "vhdlscanner.h" #include "vhdlscanner.h"
#include "vhdldocgen.h" #include "vhdldocgen.h"
#include "eclipsehelp.h"
#include "layout.h" #include "layout.h"
...@@ -10196,9 +10194,11 @@ void generateOutput() ...@@ -10196,9 +10194,11 @@ void generateOutput()
if (Config_getBool("GENERATE_INDEXLOG")) Doxygen::indexList.addIndex(new IndexLog); if (Config_getBool("GENERATE_INDEXLOG")) Doxygen::indexList.addIndex(new IndexLog);
#endif #endif
bool generateHtmlHelp = Config_getBool("GENERATE_HTMLHELP"); bool generateHtmlHelp = Config_getBool("GENERATE_HTMLHELP");
bool generateEclipseHelp = Config_getBool("GENERATE_ECLIPSEHELP");
bool generateQhp = Config_getBool("GENERATE_QHP"); bool generateQhp = Config_getBool("GENERATE_QHP");
bool generateTreeView = Config_getBool("GENERATE_TREEVIEW"); bool generateTreeView = Config_getBool("GENERATE_TREEVIEW");
bool generateDocSet = Config_getBool("GENERATE_DOCSET"); bool generateDocSet = Config_getBool("GENERATE_DOCSET");
if (generateEclipseHelp) Doxygen::indexList.addIndex(new EclipseHelp);
if (generateHtmlHelp) Doxygen::indexList.addIndex(new HtmlHelp); if (generateHtmlHelp) Doxygen::indexList.addIndex(new HtmlHelp);
if (generateQhp) Doxygen::indexList.addIndex(new Qhp); if (generateQhp) Doxygen::indexList.addIndex(new Qhp);
if (generateTreeView) Doxygen::indexList.addIndex(new FTVHelp); if (generateTreeView) Doxygen::indexList.addIndex(new FTVHelp);
......
...@@ -31,7 +31,7 @@ div.multicol { ...@@ -31,7 +31,7 @@ div.multicol {
-webkit-column-count: 3; -webkit-column-count: 3;
} }
p.startli, p.startdd { p.startli, p.startdd, p.starttd {
margin-top: 2px; margin-top: 2px;
} }
...@@ -43,6 +43,10 @@ p.enddd { ...@@ -43,6 +43,10 @@ p.enddd {
margin-bottom: 4px; margin-bottom: 4px;
} }
p.endtd {
margin-bottom: 2px;
}
/* @end */ /* @end */
caption { caption {
...@@ -115,9 +119,11 @@ a.elRef { ...@@ -115,9 +119,11 @@ a.elRef {
} }
a.code { a.code {
color: #3030f0;
} }
a.codeRef { a.codeRef {
color: #3030f0;
} }
/* @end */ /* @end */
...@@ -136,6 +142,10 @@ pre.fragment { ...@@ -136,6 +142,10 @@ pre.fragment {
background-color: #f5f5f5; background-color: #f5f5f5;
padding: 4px 6px; padding: 4px 6px;
margin: 4px 8px 4px 2px; margin: 4px 8px 4px 2px;
overflow: auto;
word-wrap: break-word;
font-size: 9pt;
line-height: 125%;
} }
div.ah { div.ah {
...@@ -501,3 +511,22 @@ address { ...@@ -501,3 +511,22 @@ address {
font-style: normal; font-style: normal;
color: #333; color: #333;
} }
table.doxtable {
border-collapse:collapse;
}
table.doxtable td, table.doxtable th {
border: 1px solid #153788;
padding: 3px 7px 2px;
}
table.doxtable th {
background-color: #254798;
color: #FFFFFF;
font-size: 110%;
padding-bottom: 4px;
padding-top: 5px;
text-align:left;
}
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
" -webkit-column-count: 3;\n" " -webkit-column-count: 3;\n"
"}\n" "}\n"
"\n" "\n"
"p.startli, p.startdd {\n" "p.startli, p.startdd, p.starttd {\n"
" margin-top: 2px;\n" " margin-top: 2px;\n"
"}\n" "}\n"
"\n" "\n"
...@@ -43,6 +43,10 @@ ...@@ -43,6 +43,10 @@
" margin-bottom: 4px;\n" " margin-bottom: 4px;\n"
"}\n" "}\n"
"\n" "\n"
"p.endtd {\n"
" margin-bottom: 2px;\n"
"}\n"
"\n"
"/* @end */\n" "/* @end */\n"
"\n" "\n"
"caption {\n" "caption {\n"
...@@ -115,9 +119,11 @@ ...@@ -115,9 +119,11 @@
"}\n" "}\n"
"\n" "\n"
"a.code {\n" "a.code {\n"
" color: #3030f0;\n"
"}\n" "}\n"
"\n" "\n"
"a.codeRef {\n" "a.codeRef {\n"
" color: #3030f0;\n"
"}\n" "}\n"
"\n" "\n"
"/* @end */\n" "/* @end */\n"
...@@ -136,6 +142,10 @@ ...@@ -136,6 +142,10 @@
" background-color: #f5f5f5;\n" " background-color: #f5f5f5;\n"
" padding: 4px 6px;\n" " padding: 4px 6px;\n"
" margin: 4px 8px 4px 2px;\n" " margin: 4px 8px 4px 2px;\n"
" overflow: auto;\n"
" word-wrap: break-word;\n"
" font-size: 9pt;\n"
" line-height: 125%;\n"
"}\n" "}\n"
"\n" "\n"
"div.ah {\n" "div.ah {\n"
...@@ -501,3 +511,22 @@ ...@@ -501,3 +511,22 @@
" font-style: normal;\n" " font-style: normal;\n"
" color: #333;\n" " color: #333;\n"
"}\n" "}\n"
"\n"
"table.doxtable {\n"
" border-collapse:collapse;\n"
"}\n"
"\n"
"table.doxtable td, table.doxtable th {\n"
" border: 1px solid #153788;\n"
" padding: 3px 7px 2px;\n"
"}\n"
"\n"
"table.doxtable th {\n"
" background-color: #254798;\n"
" color: #FFFFFF;\n"
" font-size: 110%;\n"
" padding-bottom: 4px;\n"
" padding-top: 5px;\n"
" text-align:left;\n"
"}\n"
"\n"
/******************************************************************************
*
* Copyright (C) 1997-2009 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
* Documents produced by Doxygen are derivative works derived from the
* input used in their production; they are not affected by this license.
*
*/
#include "eclipsehelp.h"
#include "util.h"
#include "config.h"
#include "message.h"
#include "doxygen.h"
EclipseHelp::EclipseHelp() : m_depth(0), m_endtag(FALSE), m_tocfile(0)
{
}
EclipseHelp::~EclipseHelp()
{
}
void EclipseHelp::indent()
{
int i;
for (i=0; i<m_depth; i++)
{
m_tocstream << " ";
}
}
void EclipseHelp::closedTag()
{
if (m_endtag)
{
m_tocstream << "/>" << endl;
m_endtag = FALSE;
}
}
void EclipseHelp::openedTag()
{
if (m_endtag)
{
m_tocstream << ">" << endl;
m_endtag = FALSE;
}
}
/*!
* \brief Initialize the Eclipse generator
*
* This method opens the XML TOC file and writes headers of the files.
* \sa finalize()
*/
void EclipseHelp::initialize()
{
// -- read path prefix from the configuration
//m_pathprefix = Config_getString("ECLIPSE_PATHPREFIX");
//if (m_pathprefix.isEmpty()) m_pathprefix = "html/";
// -- open the contents file
QCString name = Config_getString("HTML_OUTPUT") + "/toc.xml";
m_tocfile = new QFile(name);
if (!m_tocfile->open(IO_WriteOnly))
{
err("Could not open file %s for writing\n", name.data());
exit(1);
}
// -- initialize its text stream
m_tocstream.setDevice(m_tocfile);
m_tocstream.setEncoding(QTextStream::UnicodeUTF8);
// -- write the opening tag
QCString title = Config_getString("PROJECT_NAME");
if (title.isEmpty())
{
title = "Doxygen generated documentation";
}
m_tocstream << "<toc label=\"" << convertToXML(title) << "\">" << endl;
++ m_depth;
}
/*!
* \brief Finish generation of the Eclipse specific help files
*
* This method writes footers of the files and closes them.
* \sa initialize()
*/
void EclipseHelp::finalize()
{
closedTag(); // -- close previous tag
// -- write ending tag
--m_depth;
m_tocstream << "</toc>" << endl;
// -- close the content file
m_tocstream.unsetDevice();
m_tocfile->close();
delete m_tocfile; m_tocfile = 0;
QCString name = Config_getString("HTML_OUTPUT") + "/plugin.xml";
QFile pluginFile(name);
if (pluginFile.open(IO_WriteOnly))
{
QString docId = Config_getString("ECLIPSE_DOC_ID");
QTextStream t(&pluginFile);
t << "<plugin name=\"" << docId << "\" id=\"" << docId << "\"" << endl;
t << " version=\"1.0.0\" provider-name=\"Doxygen\">" << endl;
t << " <extension point=\"org.eclipse.help.toc\">" << endl;
t << " <toc file=\"toc.xml\" primary=\"true\" />" << endl;
t << " </extension>" << endl;
t << "</plugin>" << endl;
}
}
/*!
* \brief Increase the level of content hierarchy
*/
void EclipseHelp::incContentsDepth()
{
openedTag();
++m_depth;
}
/*!
* \brief Decrease the level of content hierarchy
*
* It closes currently opened topic tag.
*/
void EclipseHelp::decContentsDepth()
{
// -- end of the opened topic
closedTag();
--m_depth;
indent();
m_tocstream << "</topic>" << endl;
}
/*!
* \brief Add an item to the content
*
* @param isDir Flag whether the argument \a file is a directory or a file entry
* @param name Name of the item
* @param ref URL of the item
* @param file Name of a file which the item is defined in (without extension)
* @param anchor Name of an anchor of the item.
*/
void EclipseHelp::addContentsItem(
bool isDir,
const char *name,
const char * /* ref */,
const char *file,
const char *anchor)
{
// -- write the topic tag
closedTag();
indent();
m_tocstream << "<topic label=\"" << convertToXML(name) << "\"";
if (!isDir && file)
{ // -- Eclipse help cannot handle directories
m_tocstream << " href=\"" << convertToXML(m_pathprefix)
<< file << Doxygen::htmlFileExtension;
if (anchor)
{
m_tocstream << "#" << anchor;
}
m_tocstream << "\"";
}
m_endtag = TRUE;
}
void EclipseHelp::addIndexItem(
Definition * /* context */,
MemberDef * /* md */,
const char * /* anchor */,
const char * /* word */)
{
}
void EclipseHelp::addIndexFile(const char * /* name */)
{
}
void EclipseHelp::addImageFile(const char * /* name */)
{
}
void EclipseHelp::addStyleSheetFile(const char * /* name */)
{
}
/******************************************************************************
*
*
*
* Copyright (C) 1997-2008 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
* Documents produced by Doxygen are derivative works derived from the
* input used in their production; they are not affected by this license.
*
*/
/*
* eclipsehelp.h
*
* Created on: 7.11.2009
* Author: ondrej
*/
#ifndef ECLIPSEHELP_H
#define ECLIPSEHELP_H
#include "qtbc.h"
#include "index.h"
#include <qtextstream.h>
/* -- forward declarations */
class QFile;
/*!
* \brief Generator of Eclipse help files
*
* This class generates the Eclipse specific help files.
* These files can be used to generate a help plugin readable
* by the Eclipse IDE.
*/
class EclipseHelp : public IndexIntf
{
public:
EclipseHelp();
virtual ~EclipseHelp();
/* -- index interface */
virtual void initialize();
virtual void finalize();
virtual void incContentsDepth();
virtual void decContentsDepth();
virtual void addContentsItem(bool isDir, const char *name, const char *ref = 0,
const char *file = 0, const char *anchor = 0);
virtual void addIndexItem(Definition *context,MemberDef *md,
const char *anchor,const char *word);
virtual void addIndexFile(const char *name);
virtual void addImageFile(const char *name);
virtual void addStyleSheetFile(const char *name);
private:
int m_depth;
bool m_endtag;
QFile * m_tocfile;
QTextStream m_tocstream;
QCString m_pathprefix;
/* -- avoid copying */
EclipseHelp(const EclipseHelp &);
EclipseHelp & operator = (const EclipseHelp &);
/* -- formatting helpers */
void indent();
void closedTag();
void openedTag();
};
#endif /* ECLIPSEHELP_H */
...@@ -619,7 +619,7 @@ bool isSeparatedParagraph(DocSimpleSect *parent,DocPara *par) ...@@ -619,7 +619,7 @@ bool isSeparatedParagraph(DocSimpleSect *parent,DocPara *par)
return FALSE; return FALSE;
} }
int getParagraphContext(DocPara *p,bool &isFirst,bool &isLast) static int getParagraphContext(DocPara *p,bool &isFirst,bool &isLast)
{ {
int t=0; int t=0;
isFirst=FALSE; isFirst=FALSE;
...@@ -664,6 +664,12 @@ int getParagraphContext(DocPara *p,bool &isFirst,bool &isLast) ...@@ -664,6 +664,12 @@ int getParagraphContext(DocPara *p,bool &isFirst,bool &isLast)
if (isFirst) t=2; if (isFirst) t=2;
if (isLast) t=4; if (isLast) t=4;
break; break;
case DocNode::Kind_HtmlCell:
isFirst=isFirstChildNode((DocHtmlCell*)p->parent(),p);
isLast =isLastChildNode ((DocHtmlCell*)p->parent(),p);
if (isFirst) t=5;
if (isLast) t=6;
break;
case DocNode::Kind_SimpleSect: case DocNode::Kind_SimpleSect:
isFirst=isFirstChildNode((DocSimpleSect*)p->parent(),p); isFirst=isFirstChildNode((DocSimpleSect*)p->parent(),p);
isLast =isLastChildNode ((DocSimpleSect*)p->parent(),p); isLast =isLastChildNode ((DocSimpleSect*)p->parent(),p);
...@@ -741,12 +747,14 @@ void HtmlDocVisitor::visitPre(DocPara *p) ...@@ -741,12 +747,14 @@ void HtmlDocVisitor::visitPre(DocPara *p)
// this allows us to mark the tag with a special class so we can // this allows us to mark the tag with a special class so we can
// fix the otherwise ugly spacing. // fix the otherwise ugly spacing.
int t; int t;
static const char *contexts[5] = static const char *contexts[7] =
{ "", { "", // 0
" class=\"startli\"", " class=\"startli\"", // 1
" class=\"startdd\"", " class=\"startdd\"", // 2
" class=\"endli\"", " class=\"endli\"", // 3
" class=\"enddd\"" " class=\"enddd\"", // 4
" class=\"starttd\"", // 5
" class=\"endtd\"" // 6
}; };
bool isFirst; bool isFirst;
bool isLast; bool isLast;
...@@ -1025,24 +1033,24 @@ void HtmlDocVisitor::visitPost(DocHtmlDescData *) ...@@ -1025,24 +1033,24 @@ void HtmlDocVisitor::visitPost(DocHtmlDescData *)
void HtmlDocVisitor::visitPre(DocHtmlTable *t) void HtmlDocVisitor::visitPre(DocHtmlTable *t)
{ {
if (m_hide) return; if (m_hide) return;
bool hasBorder = FALSE; //bool hasBorder = FALSE;
bool hasCellSpacing = FALSE; //bool hasCellSpacing = FALSE;
bool hasCellPadding = FALSE; //bool hasCellPadding = FALSE;
forceEndParagraph(t); forceEndParagraph(t);
HtmlAttribListIterator li(t->attribs()); //HtmlAttribListIterator li(t->attribs());
HtmlAttrib *att; //HtmlAttrib *att;
for (li.toFirst();(att=li.current());++li) //for (li.toFirst();(att=li.current());++li)
{ //{
if (att->name=="border") hasBorder=TRUE; // if (att->name=="border") hasBorder=TRUE;
else if (att->name=="cellspacing") hasCellSpacing=TRUE; // else if (att->name=="cellspacing") hasCellSpacing=TRUE;
else if (att->name=="cellpadding") hasCellPadding=TRUE; // else if (att->name=="cellpadding") hasCellPadding=TRUE;
} //}
m_t << "<table" << htmlAttribsToString(t->attribs()); m_t << "<table class=\"doxtable\"" << htmlAttribsToString(t->attribs());
if (!hasBorder) m_t << " border=\"1\""; //if (!hasBorder) m_t << " border=\"1\"";
if (!hasCellSpacing) m_t << " cellspacing=\"3\""; //if (!hasCellSpacing) m_t << " cellspacing=\"3\"";
if (!hasCellPadding) m_t << " cellpadding=\"3\""; //if (!hasCellPadding) m_t << " cellpadding=\"3\"";
m_t << ">\n"; m_t << ">\n";
} }
......
...@@ -2892,7 +2892,7 @@ void writeExampleIndex(OutputList &ol) ...@@ -2892,7 +2892,7 @@ void writeExampleIndex(OutputList &ol)
if (!pd->title().isEmpty()) if (!pd->title().isEmpty())
{ {
ol.writeObjectLink(0,n,0,pd->title()); ol.writeObjectLink(0,n,0,pd->title());
Doxygen::indexList.addContentsItem(FALSE,pd->title(),pd->getReference(),n,0); Doxygen::indexList.addContentsItem(FALSE,filterTitle(pd->title()),pd->getReference(),n,0);
} }
else else
{ {
...@@ -3005,7 +3005,7 @@ void writePageIndex(OutputList &ol) ...@@ -3005,7 +3005,7 @@ void writePageIndex(OutputList &ol)
ol.endTypewriter(); ol.endTypewriter();
} }
ol.writeString("\n"); ol.writeString("\n");
Doxygen::indexList.addContentsItem(hasSubPages,pageTitle,pd->getReference(),pd->getOutputFileBase(),0); Doxygen::indexList.addContentsItem(hasSubPages,filterTitle(pageTitle),pd->getReference(),pd->getOutputFileBase(),0);
writeSubPages(pd); writeSubPages(pd);
ol.endIndexListItem(); ol.endIndexListItem();
} }
...@@ -3548,7 +3548,7 @@ void writeIndex(OutputList &ol) ...@@ -3548,7 +3548,7 @@ void writeIndex(OutputList &ol)
} }
else else
{ {
title = substitute(Doxygen::mainPage->title(),"%",""); title = filterTitle(Doxygen::mainPage->title());
} }
QCString indexName=Config_getBool("GENERATE_TREEVIEW")?"main":"index"; QCString indexName=Config_getBool("GENERATE_TREEVIEW")?"main":"index";
...@@ -3576,7 +3576,9 @@ void writeIndex(OutputList &ol) ...@@ -3576,7 +3576,9 @@ void writeIndex(OutputList &ol)
{ {
if (Doxygen::mainPage->title().lower()!="notitle") if (Doxygen::mainPage->title().lower()!="notitle")
{ {
ol.docify(Doxygen::mainPage->title()); ol.parseDoc(Doxygen::mainPage->docFile(),Doxygen::mainPage->docLine(),
Doxygen::mainPage,0,Doxygen::mainPage->title(),
TRUE,FALSE,0,TRUE,FALSE);
} }
} }
else else
......
...@@ -42,6 +42,7 @@ HEADERS = bufstr.h \ ...@@ -42,6 +42,7 @@ HEADERS = bufstr.h \
dot.h \ dot.h \
doxygen.h \ doxygen.h \
doxygen_css.h \ doxygen_css.h \
eclipsehelp.h \
entry.h \ entry.h \
example.h \ example.h \
filedef.h \ filedef.h \
...@@ -173,6 +174,7 @@ SOURCES = ce_lex.cpp \ ...@@ -173,6 +174,7 @@ SOURCES = ce_lex.cpp \
doctokenizer.cpp \ doctokenizer.cpp \
dot.cpp \ dot.cpp \
doxygen.cpp \ doxygen.cpp \
eclipsehelp.cpp \
entry.cpp \ entry.cpp \
filedef.cpp \ filedef.cpp \
filename.cpp \ filename.cpp \
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include "outputlist.h" #include "outputlist.h"
#include "doxygen.h" #include "doxygen.h"
#include "language.h" #include "language.h"
#include <qregexp.h>
PageDef::PageDef(const char *f,int l,const char *n, PageDef::PageDef(const char *f,int l,const char *n,
...@@ -156,7 +157,7 @@ void PageDef::writeDocumentation(OutputList &ol) ...@@ -156,7 +157,7 @@ void PageDef::writeDocumentation(OutputList &ol)
} }
} }
Doxygen::indexList.addIndexItem(this,0,0,title()); Doxygen::indexList.addIndexItem(this,0,0,filterTitle(title()));
} }
void PageDef::writePageDocumentation(OutputList &ol) void PageDef::writePageDocumentation(OutputList &ol)
......
...@@ -6970,4 +6970,19 @@ bool readInputFile(const char *fileName,BufStr &inBuf) ...@@ -6970,4 +6970,19 @@ bool readInputFile(const char *fileName,BufStr &inBuf)
return TRUE; return TRUE;
} }
// Replace %word by word in title
QCString filterTitle(const QCString &title)
{
QCString tf;
static QRegExp re("%[A-Z_a-z]");
int p=0,i,l;
while ((i=re.match(title,p,&l))!=-1)
{
tf+=title.mid(p,i-p);
tf+=title.mid(i+1,l-1); // skip %
p=i+l;
}
tf+=title.right(title.length()-p);
return tf;
}
...@@ -366,6 +366,7 @@ bool usingTreeIndex(); ...@@ -366,6 +366,7 @@ bool usingTreeIndex();
void stackTrace(); void stackTrace();
bool readInputFile(const char *fileName,BufStr &inBuf); bool readInputFile(const char *fileName,BufStr &inBuf);
QCString filterTitle(const QCString &title);
#endif #endif
......
...@@ -766,6 +766,10 @@ ...@@ -766,6 +766,10 @@
/> />
</FileConfiguration> </FileConfiguration>
</File> </File>
<File
RelativePath="..\src\eclipsehelp.cpp"
>
</File>
<File <File
RelativePath="..\src\entry.cpp" RelativePath="..\src\entry.cpp"
> >
...@@ -2097,6 +2101,10 @@ ...@@ -2097,6 +2101,10 @@
RelativePath="..\src\doxygen_css.h" RelativePath="..\src\doxygen_css.h"
> >
</File> </File>
<File
RelativePath="..\src\eclipsehelp.h"
>
</File>
<File <File
RelativePath="..\src\entry.h" RelativePath="..\src\entry.h"
> >
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment