From 709a80a791105768cbf8e9d58fdc811c23e071f0 Mon Sep 17 00:00:00 2001 From: dimitri Date: Mon, 20 Feb 2012 21:09:54 +0000 Subject: Release-1.7.6.1-20120220 --- INSTALL | 4 +- Makefile.in | 2 +- Makefile.win_make.in | 3 +- Makefile.win_nmake.in | 3 +- README | 4 +- addon/doxmlparser/src/basehandler.h | 2 +- addon/doxmlparser/src/baseiterator.h | 2 +- addon/doxmlparser/src/compoundhandler.cpp | 2 +- addon/doxmlparser/src/compoundhandler.h | 2 +- addon/doxmlparser/src/dochandler.cpp | 2 +- addon/doxmlparser/src/dochandler.h | 4 +- addon/doxmlparser/src/graphhandler.h | 4 +- addon/doxmlparser/src/linkedtexthandler.cpp | 2 +- addon/doxmlparser/src/linkedtexthandler.h | 2 +- addon/doxmlparser/src/loamhandler.h | 4 +- addon/doxmlparser/src/mainhandler.cpp | 2 +- addon/doxmlparser/src/mainhandler.h | 4 +- addon/doxmlparser/src/memberhandler.cpp | 2 +- addon/doxmlparser/src/memberhandler.h | 4 +- addon/doxmlparser/src/paramhandler.cpp | 2 +- addon/doxmlparser/src/paramhandler.h | 4 +- addon/doxmlparser/src/sectionhandler.cpp | 2 +- addon/doxmlparser/src/sectionhandler.h | 4 +- addon/doxyapp/doxyapp.cpp | 2 +- addon/doxywizard/Makefile.in | 2 +- addon/doxywizard/config.l | 2 +- addon/doxywizard/doxywizard.cpp | 2 +- addon/doxywizard/doxywizard.ico | Bin 84070 -> 84071 bytes addon/doxywizard/inputbool.cpp | 2 +- addon/doxywizard/inputbool.h | 2 +- addon/doxywizard/inputint.cpp | 2 +- addon/doxywizard/inputint.h | 2 +- addon/doxywizard/inputstring.cpp | 2 +- addon/doxywizard/inputstring.h | 2 +- addon/doxywizard/inputstrlist.cpp | 2 +- addon/doxywizard/inputstrlist.h | 2 +- addon/doxywizard/version.h | 2 +- addon/doxywizard/wizard.h | 2 +- configure | 7 +- doc/Makefile.in | 2 +- doc/Makefile.latex | 2 +- doc/Makefile.win_make.in | 2 +- doc/Makefile.win_nmake.in | 2 +- doc/arch.doc | 2 +- doc/autolink.doc | 6 +- doc/commands.doc | 52 +++++- doc/config.doc | 33 +++- doc/custcmd.doc | 4 +- doc/customize.doc | 14 +- doc/diagrams.doc | 2 +- doc/docblocks.doc | 7 +- doc/doxygen.1 | 2 +- doc/doxygen_manual.css | 54 +++++- doc/doxygen_manual.tex | 3 +- doc/doxygen_usage.doc | 2 +- doc/doxywizard_usage.doc | 4 +- doc/external.doc | 2 +- doc/faq.doc | 2 +- doc/features.doc | 4 +- doc/formulas.doc | 2 +- doc/grouping.doc | 2 +- doc/htmlcmds.doc | 4 +- doc/index.doc | 4 +- doc/install.doc | 22 +-- doc/language.doc | 2 +- doc/markdown.doc | 76 +++----- doc/output.doc | 2 +- doc/preprocessing.doc | 4 +- doc/searching.doc | 4 +- doc/starting.doc | 6 +- doc/translator_report.txt | 3 +- doc/trouble.doc | 4 +- doc/xmlcmds.doc | 2 +- examples/page.doc | 1 + qtools/Doxyfile | 2 +- src/Makefile.in | 2 +- src/arguments.cpp | 17 ++ src/arguments.h | 99 ++++++++++ src/bufstr.h | 2 +- src/cite.cpp | 5 + src/classdef.cpp | 54 +++--- src/classdef.h | 2 +- src/classlist.cpp | 2 +- src/classlist.h | 2 +- src/cmdmapper.cpp | 2 +- src/cmdmapper.h | 2 +- src/code.h | 2 +- src/code.l | 44 ++++- src/commentcnv.h | 2 +- src/commentcnv.l | 2 +- src/commentscan.h | 2 +- src/commentscan.l | 20 +- src/config.h | 2 +- src/config.l | 2 +- src/config.xml | 24 ++- src/configgen.py | 2 +- src/configoptions.cpp | 31 +++- src/configoptions.h | 2 +- src/constexp.h | 2 +- src/constexp.l | 2 +- src/constexp.y | 2 +- src/cppvalue.cpp | 2 +- src/cppvalue.h | 2 +- src/dbusxmlscanner.cpp | 1 + src/debug.cpp | 3 +- src/debug.h | 5 +- src/declinfo.h | 2 +- src/declinfo.l | 2 +- src/defargs.h | 2 +- src/defargs.l | 3 +- src/defgen.cpp | 3 +- src/defgen.h | 2 +- src/define.cpp | 2 +- src/define.h | 2 +- src/definition.cpp | 67 ++++++- src/definition.h | 3 +- src/diagram.cpp | 2 +- src/diagram.h | 4 +- src/dirdef.cpp | 87 ++++++++- src/dirdef.h | 4 +- src/docparser.cpp | 3 +- src/docparser.h | 2 +- src/docsets.cpp | 2 +- src/docsets.h | 2 +- src/doctokenizer.h | 2 +- src/doctokenizer.l | 7 +- src/docvisitor.h | 2 +- src/dot.cpp | 12 +- src/dot.h | 2 +- src/doxygen.cpp | 24 ++- src/doxygen.css | 57 +++++- src/doxygen.h | 2 +- src/doxygen.pro.in | 2 +- src/doxygen_css.h | 57 +++++- src/eclipsehelp.cpp | 2 +- src/eclipsehelp.h | 2 +- src/entry.cpp | 20 +- src/entry.h | 132 +------------ src/example.h | 2 +- src/filedef.cpp | 3 +- src/filedef.h | 2 +- src/filename.cpp | 2 +- src/filename.h | 2 +- src/filestorage.h | 2 +- src/footer.html | 2 +- src/footer_html.h | 2 +- src/formula.cpp | 2 +- src/formula.h | 2 +- src/fortrancode.h | 2 +- src/fortranscanner.h | 2 +- src/fortranscanner.l | 9 +- src/ftvhelp.cpp | 2 +- src/ftvhelp.h | 2 +- src/groupdef.cpp | 4 +- src/groupdef.h | 3 +- src/htags.cpp | 2 +- src/htags.h | 2 +- src/htmlattrib.h | 2 +- src/htmldocvisitor.cpp | 6 +- src/htmldocvisitor.h | 2 +- src/htmlgen.cpp | 39 +++- src/htmlgen.h | 2 +- src/htmlhelp.cpp | 2 +- src/htmlhelp.h | 2 +- src/image.cpp | 2 +- src/image.h | 2 +- src/index.cpp | 275 +++++++++++++--------------- src/index.h | 2 +- src/jquery_fx.js | 2 +- src/language.cpp | 2 +- src/language.h | 2 +- src/latexdocvisitor.cpp | 6 +- src/latexdocvisitor.h | 8 +- src/latexgen.cpp | 96 ++++++---- src/latexgen.h | 2 +- src/layout.cpp | 2 +- src/layout.h | 2 +- src/layout_default.h | 6 +- src/layout_default.xml | 6 +- src/libdoxycfg.pro.in | 2 +- src/libdoxycfg.t | 52 ------ src/libdoxycfg.t.in | 52 ++++++ src/libdoxygen.pro.in | 9 +- src/libdoxygen.t | 177 ------------------ src/libdoxygen.t.in | 177 ++++++++++++++++++ src/lockingptr.h | 2 +- src/logos.cpp | 2 +- src/logos.h | 2 +- src/main.cpp | 2 +- src/mandocvisitor.cpp | 2 +- src/mandocvisitor.h | 2 +- src/mangen.cpp | 4 +- src/mangen.h | 2 +- src/markdown.cpp | 109 ++++++++--- src/markdown.h | 2 +- src/marshal.cpp | 1 + src/marshal.h | 2 +- src/memberdef.cpp | 25 ++- src/memberdef.h | 4 +- src/membergroup.cpp | 2 +- src/membergroup.h | 2 +- src/memberlist.cpp | 2 +- src/memberlist.h | 2 +- src/membername.cpp | 2 +- src/membername.h | 2 +- src/message.cpp | 2 +- src/message.h | 2 +- src/msc.cpp | 2 +- src/msc.h | 2 +- src/namespacedef.cpp | 2 +- src/namespacedef.h | 2 +- src/navtree.js | 4 +- src/navtree_js.h | 4 +- src/objcache.cpp | 2 +- src/objcache.h | 2 +- src/outputgen.cpp | 2 +- src/outputgen.h | 2 +- src/outputlist.cpp | 2 +- src/outputlist.h | 2 +- src/pagedef.cpp | 11 ++ src/pagedef.h | 13 +- src/parserintf.h | 2 +- src/perlmodgen.cpp | 3 +- src/perlmodgen.h | 2 +- src/pre.h | 2 +- src/pre.l | 42 +++-- src/printdocvisitor.h | 2 +- src/pycode.h | 2 +- src/pycode.l | 2 +- src/pyscanner.h | 2 +- src/pyscanner.l | 3 +- src/qtbc.h | 2 +- src/reflist.cpp | 2 +- src/reflist.h | 2 +- src/rtfdocvisitor.cpp | 31 +++- src/rtfdocvisitor.h | 2 +- src/rtfgen.cpp | 2 +- src/rtfgen.h | 2 +- src/rtfstyle.cpp | 2 +- src/rtfstyle.h | 2 +- src/scanner.h | 2 +- src/scanner.l | 19 +- src/searchindex.cpp | 2 +- src/searchindex.h | 2 +- src/section.h | 2 +- src/sortdict.h | 2 +- src/store.cpp | 2 +- src/store.h | 2 +- src/svgpan.js | 38 ++++ src/svgpan_js.h | 38 ++++ src/tagreader.cpp | 3 +- src/tagreader.h | 2 +- src/tclscanner.h | 2 +- src/tclscanner.l | 1 + src/textdocvisitor.cpp | 2 +- src/textdocvisitor.h | 2 +- src/translator.h | 2 +- src/translator_am.h | 2 +- src/translator_ar.h | 2 +- src/translator_br.h | 2 +- src/translator_ca.h | 2 +- src/translator_cn.h | 2 +- src/translator_cz.h | 2 +- src/translator_de.h | 2 +- src/translator_dk.h | 2 +- src/translator_en.h | 2 +- src/translator_eo.h | 2 +- src/translator_es.h | 2 +- src/translator_fa.h | 2 +- src/translator_fi.h | 2 +- src/translator_fr.h | 2 +- src/translator_gr.h | 2 +- src/translator_hr.h | 2 +- src/translator_hu.h | 2 +- src/translator_id.h | 2 +- src/translator_it.h | 2 +- src/translator_je.h | 2 +- src/translator_jp.h | 2 +- src/translator_ke.h | 2 +- src/translator_kr.h | 2 +- src/translator_lt.h | 2 +- src/translator_mk.h | 2 +- src/translator_nl.h | 2 +- src/translator_no.h | 2 +- src/translator_pl.h | 2 +- src/translator_pt.h | 2 +- src/translator_ro.h | 2 +- src/translator_ru.h | 2 +- src/translator_sc.h | 2 +- src/translator_si.h | 2 +- src/translator_sk.h | 2 +- src/translator_sr.h | 2 +- src/translator_sv.h | 2 +- src/translator_tr.h | 2 +- src/translator_tw.h | 2 +- src/translator_ua.h | 2 +- src/translator_vi.h | 2 +- src/translator_za.h | 2 +- src/translatordecoder.h | 2 +- src/types.h | 92 ++++++++++ src/util.cpp | 78 ++++++-- src/util.h | 26 +-- src/version.h | 2 +- src/vhdlcode.l | 3 +- src/vhdldocgen.cpp | 3 +- src/vhdldocgen.h | 3 +- src/vhdlparser.y | 1 + src/vhdlscanner.h | 2 +- src/xmldocvisitor.cpp | 2 +- src/xmldocvisitor.h | 2 +- src/xmlgen.cpp | 3 +- src/xmlgen.h | 2 +- winbuild/Doxygen.vcproj | 12 ++ 313 files changed, 1933 insertions(+), 1133 deletions(-) create mode 100644 src/arguments.cpp create mode 100644 src/arguments.h delete mode 100644 src/libdoxycfg.t create mode 100644 src/libdoxycfg.t.in delete mode 100644 src/libdoxygen.t create mode 100644 src/libdoxygen.t.in create mode 100644 src/types.h diff --git a/INSTALL b/INSTALL index 04476e8..e326ad3 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,7 @@ -DOXYGEN Version 1.7.6.1-20120122 +DOXYGEN Version 1.7.6.1-20120220 Please read the installation section of the manual (http://www.doxygen.org/install.html) for instructions. -------- -Dimitri van Heesch (22 January 2012) +Dimitri van Heesch (20 February 2012) diff --git a/Makefile.in b/Makefile.in index 0de53ad..62e4ff9 100644 --- a/Makefile.in +++ b/Makefile.in @@ -31,7 +31,7 @@ distclean: clean -rm -f latex -rm -f objects/*.o -rm -f src/Makefile.doxygen src/Makefile.libdoxygen - -rm -f src/Makefile.libdoxycfg + -rm -f src/Makefile.libdoxycfg src/libdoxycfg.t src/libdoxygen.t -rm -f libmd5/Makefile.libmd5 -rm -f Makefile qtools/Makefile src/Makefile examples/Makefile doc/Makefile -rm -f .makeconfig .tmakeconfig diff --git a/Makefile.win_make.in b/Makefile.win_make.in index 9b51ada..175dc6f 100644 --- a/Makefile.win_make.in +++ b/Makefile.win_make.in @@ -13,7 +13,8 @@ clean: distclean: clean -del src\Makefile.libdoxygen \ src\Makefile.doxygen \ - src\Makefile.libdoxycfg + src\Makefile.libdoxycfg \ + src\libdoxycfg.t src\libdoxygen.t -del Makefile src\Makefile examples\Makefile doc\Makefile -del src\libdoxygen.pro src\doxygen.pro src\libdoxycfg.pro -del src\version.cpp diff --git a/Makefile.win_nmake.in b/Makefile.win_nmake.in index 0ef6baa..723d4fd 100644 --- a/Makefile.win_nmake.in +++ b/Makefile.win_nmake.in @@ -25,7 +25,8 @@ clean: FORCE distclean: clean -del src\Makefile.libdoxygen \ src\Makefile.doxygen \ - src\Makefile.libdoxycfg + src\Makefile.libdoxycfg \ + src\libdoxycfg.t src\libdoxygen.t -del Makefile src\Makefile examples\Makefile doc\Makefile -del src\libdoxygen.pro src\doxygen.pro src\libdoxycfg.pro -del src\version.cpp diff --git a/README b/README index 293c2c9..d78156c 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -DOXYGEN Version 1.7.6.1_20120122 +DOXYGEN Version 1.7.6.1_20120220 Please read INSTALL for compilation instructions. @@ -26,4 +26,4 @@ forum. Enjoy, -Dimitri van Heesch (dimitri@stack.nl) (22 January 2012) +Dimitri van Heesch (dimitri@stack.nl) (20 February 2012) diff --git a/addon/doxmlparser/src/basehandler.h b/addon/doxmlparser/src/basehandler.h index cc275a6..b1bfe87 100644 --- a/addon/doxmlparser/src/basehandler.h +++ b/addon/doxmlparser/src/basehandler.h @@ -3,7 +3,7 @@ * $Id$ * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxmlparser/src/baseiterator.h b/addon/doxmlparser/src/baseiterator.h index 68dbee4..a1d6f87 100644 --- a/addon/doxmlparser/src/baseiterator.h +++ b/addon/doxmlparser/src/baseiterator.h @@ -3,7 +3,7 @@ * $Id$ * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxmlparser/src/compoundhandler.cpp b/addon/doxmlparser/src/compoundhandler.cpp index 3246e33..42acc0e 100644 --- a/addon/doxmlparser/src/compoundhandler.cpp +++ b/addon/doxmlparser/src/compoundhandler.cpp @@ -3,7 +3,7 @@ * $Id$ * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxmlparser/src/compoundhandler.h b/addon/doxmlparser/src/compoundhandler.h index d661dc1..9c081ed 100644 --- a/addon/doxmlparser/src/compoundhandler.h +++ b/addon/doxmlparser/src/compoundhandler.h @@ -3,7 +3,7 @@ * $Id$ * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxmlparser/src/dochandler.cpp b/addon/doxmlparser/src/dochandler.cpp index ce7cb3f..f277094 100644 --- a/addon/doxmlparser/src/dochandler.cpp +++ b/addon/doxmlparser/src/dochandler.cpp @@ -3,7 +3,7 @@ * $Id$ * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxmlparser/src/dochandler.h b/addon/doxmlparser/src/dochandler.h index 77fa379..829d977 100644 --- a/addon/doxmlparser/src/dochandler.h +++ b/addon/doxmlparser/src/dochandler.h @@ -1,9 +1,9 @@ /****************************************************************************** * - * $Id:$ + * $Id$ * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxmlparser/src/graphhandler.h b/addon/doxmlparser/src/graphhandler.h index f7105ec..acce157 100644 --- a/addon/doxmlparser/src/graphhandler.h +++ b/addon/doxmlparser/src/graphhandler.h @@ -1,9 +1,9 @@ /****************************************************************************** * - * $Id:$ + * $Id$ * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxmlparser/src/linkedtexthandler.cpp b/addon/doxmlparser/src/linkedtexthandler.cpp index 96d1d49..a921b6c 100644 --- a/addon/doxmlparser/src/linkedtexthandler.cpp +++ b/addon/doxmlparser/src/linkedtexthandler.cpp @@ -3,7 +3,7 @@ * $Id$ * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxmlparser/src/linkedtexthandler.h b/addon/doxmlparser/src/linkedtexthandler.h index 464b39d..83cc4d8 100644 --- a/addon/doxmlparser/src/linkedtexthandler.h +++ b/addon/doxmlparser/src/linkedtexthandler.h @@ -3,7 +3,7 @@ * $Id$ * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxmlparser/src/loamhandler.h b/addon/doxmlparser/src/loamhandler.h index ce2eda2..b7c6397 100644 --- a/addon/doxmlparser/src/loamhandler.h +++ b/addon/doxmlparser/src/loamhandler.h @@ -1,9 +1,9 @@ /****************************************************************************** * - * $Id:$ + * $Id$ * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxmlparser/src/mainhandler.cpp b/addon/doxmlparser/src/mainhandler.cpp index 81d7d2f..bc211b8 100644 --- a/addon/doxmlparser/src/mainhandler.cpp +++ b/addon/doxmlparser/src/mainhandler.cpp @@ -3,7 +3,7 @@ * $Id$ * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxmlparser/src/mainhandler.h b/addon/doxmlparser/src/mainhandler.h index 9ac8b79..7b9e7fc 100644 --- a/addon/doxmlparser/src/mainhandler.h +++ b/addon/doxmlparser/src/mainhandler.h @@ -1,9 +1,9 @@ /****************************************************************************** * - * $Id:$ + * $Id$ * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxmlparser/src/memberhandler.cpp b/addon/doxmlparser/src/memberhandler.cpp index 9ccc014..1b87a2c 100644 --- a/addon/doxmlparser/src/memberhandler.cpp +++ b/addon/doxmlparser/src/memberhandler.cpp @@ -3,7 +3,7 @@ * $Id$ * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxmlparser/src/memberhandler.h b/addon/doxmlparser/src/memberhandler.h index 9b409b6..f80a4eb 100644 --- a/addon/doxmlparser/src/memberhandler.h +++ b/addon/doxmlparser/src/memberhandler.h @@ -1,9 +1,9 @@ /****************************************************************************** * - * $Id:$ + * $Id$ * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxmlparser/src/paramhandler.cpp b/addon/doxmlparser/src/paramhandler.cpp index 733dde4..124fde0 100644 --- a/addon/doxmlparser/src/paramhandler.cpp +++ b/addon/doxmlparser/src/paramhandler.cpp @@ -3,7 +3,7 @@ * $Id$ * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxmlparser/src/paramhandler.h b/addon/doxmlparser/src/paramhandler.h index d840679..64b89a2 100644 --- a/addon/doxmlparser/src/paramhandler.h +++ b/addon/doxmlparser/src/paramhandler.h @@ -1,9 +1,9 @@ /****************************************************************************** * - * $Id:$ + * $Id$ * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxmlparser/src/sectionhandler.cpp b/addon/doxmlparser/src/sectionhandler.cpp index 403cb6f..f9bf147 100644 --- a/addon/doxmlparser/src/sectionhandler.cpp +++ b/addon/doxmlparser/src/sectionhandler.cpp @@ -3,7 +3,7 @@ * $Id$ * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxmlparser/src/sectionhandler.h b/addon/doxmlparser/src/sectionhandler.h index c462b91..86aad3b 100644 --- a/addon/doxmlparser/src/sectionhandler.h +++ b/addon/doxmlparser/src/sectionhandler.h @@ -1,9 +1,9 @@ /****************************************************************************** * - * $Id:$ + * $Id$ * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxyapp/doxyapp.cpp b/addon/doxyapp/doxyapp.cpp index c6b7ed4..ffee3c7 100644 --- a/addon/doxyapp/doxyapp.cpp +++ b/addon/doxyapp/doxyapp.cpp @@ -1,6 +1,6 @@ /****************************************************************************** * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxywizard/Makefile.in b/addon/doxywizard/Makefile.in index 3ae02c8..5b0876e 100644 --- a/addon/doxywizard/Makefile.in +++ b/addon/doxywizard/Makefile.in @@ -1,7 +1,7 @@ # # # -# Copyright (C) 1997-2011 by Dimitri van Heesch. +# Copyright (C) 1997-2012 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 diff --git a/addon/doxywizard/config.l b/addon/doxywizard/config.l index f8782eb..fa49eba 100644 --- a/addon/doxywizard/config.l +++ b/addon/doxywizard/config.l @@ -2,7 +2,7 @@ * * $Id: config_templ.l,v 1.8 2001/01/01 10:15:16 root Exp $ * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxywizard/doxywizard.cpp b/addon/doxywizard/doxywizard.cpp index 97979a9..fe8c961 100644 --- a/addon/doxywizard/doxywizard.cpp +++ b/addon/doxywizard/doxywizard.cpp @@ -191,7 +191,7 @@ void MainWindow::about() t << QString::fromAscii("
A tool to configure and run doxygen version ")+ QString::fromAscii(versionString)+ QString::fromAscii(" on your source files.


" - "

Written by
Dimitri van Heesch
© 2000-2011

" + "

Written by
Dimitri van Heesch
© 2000-2012

" ""); QMessageBox::about(this,tr("Doxygen GUI"),msg); } diff --git a/addon/doxywizard/doxywizard.ico b/addon/doxywizard/doxywizard.ico index d91f219..10d1755 100644 Binary files a/addon/doxywizard/doxywizard.ico and b/addon/doxywizard/doxywizard.ico differ diff --git a/addon/doxywizard/inputbool.cpp b/addon/doxywizard/inputbool.cpp index efbb5ee..cd83f88 100644 --- a/addon/doxywizard/inputbool.cpp +++ b/addon/doxywizard/inputbool.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxywizard/inputbool.h b/addon/doxywizard/inputbool.h index a19de76..63d16e6 100644 --- a/addon/doxywizard/inputbool.h +++ b/addon/doxywizard/inputbool.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxywizard/inputint.cpp b/addon/doxywizard/inputint.cpp index 48544bb..08df309 100644 --- a/addon/doxywizard/inputint.cpp +++ b/addon/doxywizard/inputint.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxywizard/inputint.h b/addon/doxywizard/inputint.h index 31fcfbd..9ac506d 100644 --- a/addon/doxywizard/inputint.h +++ b/addon/doxywizard/inputint.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxywizard/inputstring.cpp b/addon/doxywizard/inputstring.cpp index 538efce..c0b92b3 100644 --- a/addon/doxywizard/inputstring.cpp +++ b/addon/doxywizard/inputstring.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxywizard/inputstring.h b/addon/doxywizard/inputstring.h index 940c9eb..b957bfa 100644 --- a/addon/doxywizard/inputstring.h +++ b/addon/doxywizard/inputstring.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxywizard/inputstrlist.cpp b/addon/doxywizard/inputstrlist.cpp index 3be7dd5..bca92e2 100644 --- a/addon/doxywizard/inputstrlist.cpp +++ b/addon/doxywizard/inputstrlist.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxywizard/inputstrlist.h b/addon/doxywizard/inputstrlist.h index 9dc43d7..0201aee 100644 --- a/addon/doxywizard/inputstrlist.h +++ b/addon/doxywizard/inputstrlist.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxywizard/version.h b/addon/doxywizard/version.h index 116ecdd..4752520 100644 --- a/addon/doxywizard/version.h +++ b/addon/doxywizard/version.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/addon/doxywizard/wizard.h b/addon/doxywizard/wizard.h index bdebd2b..99e1db5 100644 --- a/addon/doxywizard/wizard.h +++ b/addon/doxywizard/wizard.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/configure b/configure index 96bcbb9..279d262 100755 --- a/configure +++ b/configure @@ -2,7 +2,7 @@ # # $Id$ # -# Copyright (C) 1997-2011 by Dimitri van Heesch. +# Copyright (C) 1997-2012 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 @@ -20,7 +20,7 @@ doxygen_version_minor=7 doxygen_version_revision=6.1 #NOTE: Setting version_mmn to "NO" will omit mmn info from the package. -doxygen_version_mmn=20120122 +doxygen_version_mmn=20120220 bin_dirs=`echo $PATH | sed -e "s/:/ /g"` @@ -626,6 +626,9 @@ EOF echo " Created $DST from $SRC..." done +cat src/libdoxycfg.t.in | sed -e "s|%%FLEX%%|$f_flex|g" -e "s|%%BISON%%|$f_bison|g" > src/libdoxycfg.t +cat src/libdoxygen.t.in | sed -e "s|%%FLEX%%|$f_flex|g" -e "s|%%BISON%%|$f_bison|g" > src/libdoxygen.t + f_inprofiles="qtools/qtools.pro.in src/libdoxygen.pro.in src/libdoxycfg.pro.in src/doxygen.pro.in addon/doxywizard/doxywizard.pro.in addon/doxmlparser/src/doxmlparser.pro.in addon/doxmlparser/test/xmlparse.pro.in addon/doxmlparser/examples/metrics/metrics.pro.in libmd5/libmd5.pro.in addon/doxyapp/doxyapp.pro.in" for i in $f_inprofiles ; do diff --git a/doc/Makefile.in b/doc/Makefile.in index 5e0f9aa..aaa9b0e 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -1,7 +1,7 @@ # # # -# Copyright (C) 1997-2011 by Dimitri van Heesch. +# Copyright (C) 1997-2012 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 diff --git a/doc/Makefile.latex b/doc/Makefile.latex index 55f275d..a13b90f 100644 --- a/doc/Makefile.latex +++ b/doc/Makefile.latex @@ -1,7 +1,7 @@ # # # -# Copyright (C) 1997-2011 by Dimitri van Heesch. +# Copyright (C) 1997-2012 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 diff --git a/doc/Makefile.win_make.in b/doc/Makefile.win_make.in index 02c5335..07c0679 100644 --- a/doc/Makefile.win_make.in +++ b/doc/Makefile.win_make.in @@ -1,7 +1,7 @@ # # # -# Copyright (C) 1997-2011 by Dimitri van Heesch. +# Copyright (C) 1997-2012 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 diff --git a/doc/Makefile.win_nmake.in b/doc/Makefile.win_nmake.in index e98c46f..af8711c 100644 --- a/doc/Makefile.win_nmake.in +++ b/doc/Makefile.win_nmake.in @@ -1,7 +1,7 @@ # # # -# Copyright (C) 1997-2011 by Dimitri van Heesch. +# Copyright (C) 1997-2012 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 diff --git a/doc/arch.doc b/doc/arch.doc index cdaf7b7..f89b12a 100644 --- a/doc/arch.doc +++ b/doc/arch.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/doc/autolink.doc b/doc/autolink.doc index 1f4b617..7dcb328 100644 --- a/doc/autolink.doc +++ b/doc/autolink.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -16,6 +16,8 @@ */ /*! \page autolink Automatic link generation + \tableofcontents + Most documentation systems have special `see also' sections where links to other pieces of documentation can be inserted. Although doxygen also has a command to start such a section (See section @@ -114,7 +116,7 @@ for the corresponding HTML documentation that is generated by Doxygen. \endhtmlonly - \section resolving typedefs. + \section resolving typedefs Typedefs that involve classes, structs and unions, like \verbatim diff --git a/doc/commands.doc b/doc/commands.doc index ad6b2ba..0b758e2 100644 --- a/doc/commands.doc +++ b/doc/commands.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -31,7 +31,7 @@ Each argument has a certain range:

  • If {curly} braces are used the argument extends until the next paragraph. Paragraphs are delimited by a blank line or by a section indicator. -If in addition to the aboveargument specifiers [square] brackets are used the argument is optional. +If in addition to the above argument specifiers [square] brackets are used the argument is optional. Here is an alphabetically sorted list of all commands with references to their documentation: @@ -166,6 +166,7 @@ documentation: \refitem cmdsubpage \\subpage \refitem cmdsubsection \\subsection \refitem cmdsubsubsection \\subsubsection +\refitem cmdtableofcontents \\tableofcontents \refitem cmdtest \\test \refitem cmdthrow \\throw \refitem cmdthrows \\throws @@ -192,6 +193,7 @@ documentation: \refitem cmdhash \\\# \refitem cmdperc \\\% \refitem cmdquot \\\" +\refitem cmdchardot \\\. \refitem cmddcolon \:: \endsecreflist @@ -387,7 +389,7 @@ Structural indicators \ref cfg_example_path "EXAMPLE_PATH" tag, you can include part of the absolute path to disambiguate it. - If more that one source file is needed for the example, + If more than one source file is needed for the example, the \\include command can be used. \par Example: @@ -494,7 +496,7 @@ Structural indicators the documentation is in front of the definition. The arguments of this command are the same as the second and third argument of \ref cmdclass "\\class". - The \ name refers to the file that should by included by the + The \ name refers to the file that should be included by the application to obtain the definition of the class, struct, or union. The \ argument can be used to overwrite the name of the link that is used in the class documentation to something other @@ -535,7 +537,7 @@ Structural indicators By default the value of a define and the initializer of a variable are displayed unless they are longer than 30 lines. By putting this command in a comment block of a define or variable, the - initializer is always hidden. The maximum number of initalization linens + initializer is always hidden. The maximum number of initialization lines can be changed by means of the configuration parameter \ref cfg_max_initializer_lines "MAX_INITIALIZER_LINES", the default value is 30. @@ -922,7 +924,7 @@ Structural indicators are only displayed if they are less than 30 lines long. By putting this command in a comment block of a define or variable, the initializer is shown unconditionally. - The maximum number of initalization linens + The maximum number of initialization lines can be changed by means of the configuration parameter \ref cfg_max_initializer_lines "MAX_INITIALIZER_LINES", the default value is 30. @@ -945,7 +947,7 @@ Structural indicators \addindex \\typedef Indicates that a comment block contains documentation for a typedef (either global or as a member of a class). - This command is equivalent to \\var, \\propery, and \\fn. + This command is equivalent to \\var, \\property, and \\fn. \sa section \ref cmdfn "\\fn", \ref cmdproperty "\\property", and \ref cmdvar "\\var". @@ -966,7 +968,7 @@ Structural indicators \addindex \\var Indicates that a comment block contains documentation for a variable or enum value (either global or as a member of a class). - This command is equivalent to \\typedef, \\propery, and \\fn. + This command is equivalent to \\typedef, \\property, and \\fn. \sa section \ref cmdfn "\\fn", \ref cmdproperty "\\property", and \ref cmdtypedef "\\typedef". @@ -1159,7 +1161,7 @@ contains \c TEST, or \c DEV expected life span, etc.
    -\section cmddetails \\details { detailed decription } +\section cmddetails \\details { detailed description } \addindex \\details Just like \ref cmdbrief "\\brief" starts a brief description, \\details @@ -1385,6 +1387,18 @@ void memcpy(void *dest, const void *src, size_t n); sectioning command is encountered. See section \ref cmdfn "\\fn" for an example. + Note that you can also document multiple parameters with a single + \\param command using a comma separated list. Here is an example: + +\code +/** Sets the position. + * @param x,y,z Coordinates of the position in 3D space. + */ +void setPosition(double x,double y,double z,double t) +{ +} +\endcode + Note that for PHP one can also specify the type (or types if you separate them with a pipe symbol) which are allowed for a parameter (as this is not part of the definition). @@ -1763,6 +1777,17 @@ Make sure you have first read \ref intro "the introduction". \endverbatim
    +\section cmdtableofcontents \\tableofcontents + + \addindex \\tableofcontents + Creates a table of contents at the top of a page, listing all + sections and subsections in the page. + + \warning This command only works inside related page documentation and + \e not in other documentation blocks and only has effect in the + HTML output! + +
    \section cmdsection \\section (section title) \addindex \\section @@ -2807,6 +2832,15 @@ class Receiver to indicate an unformatted text fragment.
    +\section cmdchardot \\. + + \addindex \\\. + This command writes a dot to the output. This can be useful to + prevent ending a brief description when JAVADOC_AUTOBRIEF is enabled + or to prevent starting a numbered list when the dot follows a number at + the start of a line. + +
    \section cmddcolon \\:: \addindex \\\:: diff --git a/doc/config.doc b/doc/config.doc index 9ec918b..c84b19f 100644 --- a/doc/config.doc +++ b/doc/config.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -16,6 +16,7 @@ */ /*! \page config Configuration +\tableofcontents \section config_format Format A configuration file is a free-form ASCII text file with a structure @@ -45,7 +46,7 @@ file using a \@INCLUDE tag as follows: The include file is searched in the current working directory. You can also specify a list of directories that should be searched before looking in the current working directory. Do this by putting a \@INCLUDE_PATH tag -with these paths before the \@INCLUDE tag, e.g: +with these paths before the \@INCLUDE tag, e.g.: \verbatim @INCLUDE_PATH = my_config_dir \endverbatim @@ -274,6 +275,7 @@ followed by the descriptions of the tags grouped by category. \refitem cfg_toc_expand TOC_EXPAND \refitem cfg_treeview_width TREEVIEW_WIDTH \refitem cfg_typedef_hides_struct TYPEDEF_HIDES_STRUCT +\refitem cfg_uml_limit_num_fields UML_LIMIT_NUM_FIELDS \refitem cfg_uml_look UML_LOOK \refitem cfg_use_htags USE_HTAGS \refitem cfg_use_inline_trees USE_INLINE_TREES @@ -1181,7 +1183,7 @@ AClass::ANamespace, ANamespace::*Test filter if there is a match. The filters are a list of the form: pattern=filter (like `*.cpp=my_cpp_filter`). See \c INPUT_FILTER for further info on how filters are used. If \c FILTER_PATTERNS is empty or if - non of the patterns match the file name, \c INPUT_FILTER is applied. + none of the patterns match the file name, \c INPUT_FILTER is applied. \anchor cfg_filter_source_files
    \c FILTER_SOURCE_FILES
    @@ -1808,8 +1810,9 @@ and Class Hierarchy pages using a tree view instead of an ordered list. (see http://www.mathjax.org) which uses client side Javascript for the rendering instead of using prerendered bitmaps. Use this if you do not have LaTeX installed or if you want to formulas look prettier in the HTML - output. When enabled you also need to install MathJax separately and - configure the path to it using the \ref cfg_mathjax_relpath "MATHJAX_RELPATH" option. + output. When enabled you may also need to install MathJax separately and + configure the path to it using the \ref cfg_mathjax_relpath "MATHJAX_RELPATH" + option. \anchor cfg_mathjax_relpath
    \c MATHJAX_RELPATH
    @@ -1819,9 +1822,9 @@ and Class Hierarchy pages using a tree view instead of an ordered list. directory should contain the MathJax.js script. For instance, if the mathjax directory is located at the same level as the HTML output directory, then \c MATHJAX_RELPATH should be ../mathjax. The default value points to - the http://www.mathjax.org site, so you can quickly see the result without installing - MathJax, but it is strongly recommended to install a local copy of MathJax - before deployment. + the MathJax Content Delivery Network so you can quickly see the result without + installing MathJax. However, it is strongly recommended to install a local + copy of MathJax from http://www.mathjax.org before deployment. \anchor cfg_mathjax_extensions
    \c MATHJAX_EXTENSIONS
    @@ -2352,7 +2355,7 @@ The default size is 10pt. \addindex CLASS_GRAPH If the \c CLASS_GRAPH and \c HAVE_DOT tags are set to \c YES then doxygen will generate a graph for each documented class showing the direct and - indirect inheritance relations. Setting this tag to \c YES will force the + indirect inheritance relations. Setting this tag to \c YES will force the \c CLASS_DIAGRAMS tag to NO. \anchor cfg_collaboration_graph @@ -2376,6 +2379,18 @@ The default size is 10pt. collaboration diagrams in a style similar to the OMG's Unified Modeling Language. +\anchor cfg_uml_limit_num_fields +
    \c UML_LIMIT_NUM_FIELDS
    + \addindex UML_LIMIT_NUM_FIELDS + If the \c UML_LOOK tag is enabled, the fields and methods are shown inside + the class node. If there are many fields or methods and many nodes the + graph may become too big to be useful. The \c UML_LIMIT_NUM_FIELDS + threshold limits the number of items for each type to make the size more + managable. Set this to 0 for no limit. Note that the threshold may be + exceeded by 50% before the limit is enforced. So when you set the threshold + to 10, up to 15 fields may appear, but if the number exceeds 15, the + total amount of fields shown is limited to 10. + \anchor cfg_template_relations
    \c TEMPLATE_RELATIONS
    \addindex TEMPLATE_RELATIONS diff --git a/doc/custcmd.doc b/doc/custcmd.doc index 312a307..06ef0d1 100644 --- a/doc/custcmd.doc +++ b/doc/custcmd.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -16,6 +16,8 @@ */ /*! \page custcmd Custom Commands +\tableofcontents + Doxygen provides a large number of \ref commands "special commands", \ref xmlcmds "XML commands", and \ref htmlcmds "HTML commands". that can be used to enhance or structure the documentation inside a comment block. diff --git a/doc/customize.doc b/doc/customize.doc index d1be915..db376a8 100644 --- a/doc/customize.doc +++ b/doc/customize.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -16,6 +16,8 @@ */ /*! \page customize Customizing the output +\tableofcontents + Doxygen provides various levels of customization. The section \ref minor_tweaks "Minor Tweaks" discusses what to do if you want to do minor tweaking to the look and feel of the output. @@ -84,7 +86,7 @@ that are disabled by default: with \ref cfg_interactive_svg "INTERACTIVE_SVG" while setting \ref cfg_dot_image_format "DOT_IMAGE_FORMAT" to \c svg, will make doxygen produce SVG images that will allow the user to zoom and pan (this only - happens when th size of the images exceeds a certain size). + happens when the size of the images exceeds a certain size). \subsection minor_tweaks_header_css Header, Footer, and Stylesheet changes @@ -92,7 +94,7 @@ To tweak things like fonts or colors, margins, or other look \& feel aspects of the HTML output in detail, you can create a different cascading style sheet. You can also let doxygen use a custom header and footer for each HTML -page it generates, for instance to make the output comform to the style +page it generates, for instance to make the output conform to the style used on the rest of your web site. To do this first run doxygen as follows: @@ -121,13 +123,17 @@ for more information about the possible meta commands you can use inside your custom header. \note You should not put the style sheet in the HTML output directory. Treat -it is a source file. Doxygen will copy it for you. +it as a source file. Doxygen will copy it for you. \note If you use images or other external content in a custom header you need to make sure these end up in the HTML output directory yourself, for instance by writing a script that runs doxygen can then copies the images to the output. +\warning The structure of headers and footers may change after upgrading to +a newer version of doxygen, so if you are using a custom header or footer, +it might not produce valid output anymore after upgrading. + \section layout Changing the layout of pages In some cases you may want to change the way the output is structured. diff --git a/doc/diagrams.doc b/doc/diagrams.doc index 0f5c607..7d488fa 100644 --- a/doc/diagrams.doc +++ b/doc/diagrams.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/doc/docblocks.doc b/doc/docblocks.doc index 093122b..facd1b5 100644 --- a/doc/docblocks.doc +++ b/doc/docblocks.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -15,6 +15,7 @@ * */ /*! \page docblocks Documenting the code +\tableofcontents This chapter covers two topics: 1. How to put comments in your code such that doxygen incorporates them in @@ -504,7 +505,7 @@ lower then sign). The brief documentation also ends at a line not starting with a \c # (hash sign). Inside doxygen comment blocks all normal doxygen markings are supported. -The only expections are described in the following two paragraphs. +The only exceptions are described in the following two paragraphs. If a doxygen comment block ends with a line containing only \c #\\code or \c #\@code all code until a line only containing \c #\\endcode @@ -560,7 +561,7 @@ Go to the next section or return to the \section docstructure Anatomy of a comment block -The previous section focussed on how to make the comments in your code known +The previous section focused on how to make the comments in your code known to doxygen, it explained the difference between a brief and a detailed description, and the use of structural commands. diff --git a/doc/doxygen.1 b/doc/doxygen.1 index deb0c20..45090f4 100644 --- a/doc/doxygen.1 +++ b/doc/doxygen.1 @@ -41,6 +41,6 @@ doxygen \fB\-e\fR rtf extensionsFile If \fB\-s\fR is specified the comments in the config file will be omitted. If configName is omitted `Doxyfile' will be used as a default. .SH AUTHOR -Doxygen version VERSION, Copyright Dimitri van Heesch 1997-2011 +Doxygen version VERSION, Copyright Dimitri van Heesch 1997-2012 .SH SEE ALSO doxywizard(1). diff --git a/doc/doxygen_manual.css b/doc/doxygen_manual.css index 8dfe6dd..1f22b59 100644 --- a/doc/doxygen_manual.css +++ b/doc/doxygen_manual.css @@ -822,7 +822,7 @@ dl padding: 0 0 0 10px; } -dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug +dl.section { border-left:4px solid; padding: 0 0 0 6px; @@ -863,6 +863,10 @@ dl.bug border-color: #C08050; } +dl.section dd { + margin-bottom: 1em; +} + #projectlogo { text-align: center; @@ -946,6 +950,54 @@ dl.citelist dd { padding:5px 0; } +div.toc { + padding: 14px 25px; + background-color: #F6F6F6; + border: 1px solid #DDDDDD; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 20px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + border-bottom: 0 none; + color: #606060; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + @media print { #top { display: none; } diff --git a/doc/doxygen_manual.tex b/doc/doxygen_manual.tex index 54898e8..8e47015 100644 --- a/doc/doxygen_manual.tex +++ b/doc/doxygen_manual.tex @@ -12,7 +12,8 @@ % Documents produced by Doxygen are derivative works derived from the % input used in their production; they are not affected by this license. -\documentclass[a4paper]{book} +\documentclass{book} +\usepackage[a4paper,left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm]{geometry} \usepackage{makeidx} \usepackage{natbib} \usepackage{graphicx} diff --git a/doc/doxygen_usage.doc b/doc/doxygen_usage.doc index 0cffb3d..40e5163 100644 --- a/doc/doxygen_usage.doc +++ b/doc/doxygen_usage.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/doc/doxywizard_usage.doc b/doc/doxywizard_usage.doc index de24add..435661b 100644 --- a/doc/doxywizard_usage.doc +++ b/doc/doxywizard_usage.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -28,7 +28,7 @@ The first step is to choose one of the ways to configure doxygen.
    Wizard
    Click this button to quickly configure the most important settings and leave the rest of the options to their defaults. -
    Expert
    Click this button to to gain access to the +
    Expert
    Click this button to gain access to the \ref config "full range of configuration options".
    Load
    Click this button to load an existing configuration file from disk. diff --git a/doc/external.doc b/doc/external.doc index 2a6426e..013b7c2 100644 --- a/doc/external.doc +++ b/doc/external.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/doc/faq.doc b/doc/faq.doc index 7547d16..0475aa7 100644 --- a/doc/faq.doc +++ b/doc/faq.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/doc/features.doc b/doc/features.doc index 688a1b1..46a6219 100644 --- a/doc/features.doc +++ b/doc/features.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -63,7 +63,7 @@ the Qt specific signal and slots sections. Extraction of private class members is optional.
  • Automatically generates references to documented classes, files, namespaces - and members. Documentation of global functions, globals variables, + and members. Documentation of global functions, global variables, typedefs, defines and enumerations is also supported.
  • References to base/super classes and inherited/overridden members are generated automatically. diff --git a/doc/formulas.doc b/doc/formulas.doc index 9f049eb..bc23a11 100644 --- a/doc/formulas.doc +++ b/doc/formulas.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/doc/grouping.doc b/doc/grouping.doc index 825a289..56f19f7 100644 --- a/doc/grouping.doc +++ b/doc/grouping.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/doc/htmlcmds.doc b/doc/htmlcmds.doc index aa03498..7b3ff71 100644 --- a/doc/htmlcmds.doc +++ b/doc/htmlcmds.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -123,7 +123,7 @@ The special HTML character entities that are recognized by Doxygen:
  • \’ right single quotation mark
  • \“ left double quotation mark
  • \” right double quotation mark -
  • \– n-dash (for numeric ranges, eg. 2–8) +
  • \– n-dash (for numeric ranges, e.g. 2–8)
  • \— m-dash (for parenthetical punctuation — like this)
  • \&?uml; where ? is one of {A,E,I,O,U,Y,a,e,i,o,u,y}, writes a character with a diaeresis accent (like ä). diff --git a/doc/index.doc b/doc/index.doc index 48f01e6..e604ee5 100644 --- a/doc/index.doc +++ b/doc/index.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -113,7 +113,7 @@ The third part provides information for developers: \addindex license \addindex GPL -Copyright © 1997-2011 by +Copyright © 1997-2012 by Dimitri van Heesch.

    Permission to use, copy, modify, and distribute this software and its diff --git a/doc/install.doc b/doc/install.doc index 6a18784..d076cf3 100644 --- a/doc/install.doc +++ b/doc/install.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -17,21 +17,13 @@ /*! \page install Installation \addindex installation +\tableofcontents + First go to the download page -to get the latest distribution, if you did not have it already. - -This section is divided into the following sections: -

      -
    • \ref install_src_unix "Compiling from source on UNIX" -
    • \ref install_bin_unix "Installing the binaries on UNIX" -
    • \ref unix_problems "Known compilation problems for UNIX" -
    • \ref install_src_windows "Compiling from source on Windows" -
    • \ref install_bin_windows "Installing the binaries on Windows" -
    • \ref build_tools "Tools used to develop doxygen" -
    +to get the latest distribution, if you did not downloaded doxygen already. -\section install_src_unix Compiling from source on UNIX +\section install_src_unix Compiling from source on UNIX If you downloaded the source distribution, you need at least the following to build the executable: @@ -357,7 +349,7 @@ Now you need to add/adjust the following environment variables - add c:\\tools\\unxutils\\usr\\local\\wbin; to the start of PATH - set BISON_SIMPLE to c:\\tools\\unxutils\\usr\\local\\share\\bison.simple -Download doxygen's source tarball and put it somewhere (e.g use c:\\tools) +Download doxygen's source tarball and put it somewhere (e.g. use c:\\tools) Now start a new command shell and type \verbatim @@ -371,7 +363,7 @@ Now your environment is setup to build \c doxygen. Inside the \c doxygen-x.y.z directory you will find a \c winbuild directory containing a \c Doxygen.sln file. Open this file in Visual Studio. -You can now build the Release or Debug flavor of Doxygen and Doxytag by right-clicking +You can now build the Release or Debug flavor of Doxygen by right-clicking the project in the solutions explorer, and selecting Build. Note that compiling Doxywizard currently requires Qt version 4 diff --git a/doc/language.doc b/doc/language.doc index a155d48..7fa38e4 100644 --- a/doc/language.doc +++ b/doc/language.doc @@ -23,7 +23,7 @@ text fragments, generated by doxygen, can be produced in languages other than English (the default). The output language is chosen through the configuration file (with default name and known as Doxyfile). -Currently (version 1.7.5), 39 languages +Currently (version 1.7.6.1), 39 languages are supported (sorted alphabetically): Afrikaans, Arabic, Armenian, Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian, Czech, Danish, Dutch, English, diff --git a/doc/markdown.doc b/doc/markdown.doc index ea6776e..07378ef 100644 --- a/doc/markdown.doc +++ b/doc/markdown.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -16,34 +16,7 @@ */ /*! \page markdown Markdown support -Table of contents -- \ref markdown_std - - \ref md_para - - \ref md_headers - - \ref md_blockquotes - - \ref md_lists - - \ref md_codeblock - - \ref md_rulers - - \ref md_emphasis - - \ref md_codespan - - \ref md_links - - \ref md_inlinelinks - - \ref md_reflinks - - \ref md_images - - \ref md_autolink -- \ref markdown_extra - - \ref md_tables - - \ref md_fenced - - \ref md_header_id -- \ref markdown_dox - - \ref md_page_header - - \ref md_html_blocks - - \ref mddox_code_blocks - - \ref mddox_code_spans - - \ref mddox_lists - - \ref mddox_stars - - \ref mddox_limits -- \ref markdown_debug +[TOC] [Markdown] support was introduced in doxygen version 1.8.0. It is a plain text formatting @@ -57,7 +30,7 @@ syntax written by John Gruber, with the following underlying design goal: > text-to-HTML filters, the single biggest source of inspiration > for Markdown’s syntax is the format of plain text email. -In the \ref markdown_std "next section" the standard markdown features +In the \ref markdown_std "next section" the standard Markdown features are briefly discussed. The reader is referred to the [Markdown site][markdown] for more details. @@ -128,7 +101,7 @@ to avoid false positives, i.e. when writing 0 if OK\n >1 if NOK -the second line will not seen as a block quote. +the second line will not be seen as a block quote. \subsection md_lists Lists @@ -315,13 +288,21 @@ Note that doxygen will also produce the links without the angle brackets. \section markdown_extra Markdown Extensions +\subsection md_toc Table of Contents + +Doxygen supports a special link marker `[TOC]` which can be placed in a page +to produce a table of contents at the start of the page, listing all sections. + +Note that using `[TOC]` is the same as using a +\ref cmdtableofcontents "\\tableofcontents" command. + \subsection md_tables Tables Of the features defined by "Markdown Extra" is support for simple tables: A table consists of a header line, a separator line, and at least one -row line. Table columns are separated by the pipe (!) character. +row line. Table columns are separated by the pipe (|) character. Here is an example: @@ -360,7 +341,7 @@ fenced code blocks: A fenced code block does not require indentation, and is defined by a pair of "fence lines". Such a line consists of 3 or -more tile (~) characters on a line. The end of the block should have the +more tilde (~) characters on a line. The end of the block should have the same number of tildes. Here is an example: @@ -370,12 +351,13 @@ same number of tildes. Here is an example: a one-line code block ~~~~~~~~~~~~~~~~~~~~~ -The contents of the code block is syntax highlighted. -The default language is based on the file it was found in -(i.e. a fenced block in a Python file is assumed to be Python code). -In case the language is not clear from the context or you want to -indicate a specific language you can add the language's extension after -the opening fence: +By default the output is the same as for a normal code block. + +For languages supported by doxygen you can also make the code block +appear with syntax highlighting. To do so you need to +indicate the typical file extension that corresponds to the +programming language after the opening fence. For highlighting according +to the Python language for instance, you would need to write the following: ~~~~~~~~~~~~~{.py} # A class @@ -383,26 +365,26 @@ the opening fence: pass ~~~~~~~~~~~~~ -will produce: +which will produce: ~~~~~~~~~~~~~{.py} # A class class Dummy: pass ~~~~~~~~~~~~~ -and +and for C you would write: ~~~~~~~~~~~~~~~{.c} int func(int a,int b) { return a*b; } ~~~~~~~~~~~~~~~ -will produce: +which will produce: ~~~~~~~~~~~~~~~{.c} int func(int a,int b) { return a*b; } ~~~~~~~~~~~~~~~ -The curly brances and dot are optional by the way. +The curly braces and dot are optional by the way. \subsection md_header_id Header Id Attributes @@ -429,7 +411,7 @@ Note this only works for the headers of level 1 to 4. \section markdown_dox Doxygen specifics -Even doxygen tries to following the Markdown standard as closely as +Even though doxygen tries to following the Markdown standard as closely as possible, there are couple of deviation and doxygen specifics additions. \subsection md_page_header Including Markdown files as pages @@ -479,7 +461,7 @@ and in other sections that need to be processed without changes \subsection mddox_code_blocks Code Block Indentation -With markdown any block that is indented by 4 spaces (and 8 spaces +With Markdown any block that is indented by 4 spaces (and 8 spaces inside lists) is treated as a code block. This indentation amount is absolute, i.e. counting from the start of the line. @@ -580,13 +562,13 @@ To avoid that a stray * or _ matches something many paragraphs later, and shows everything in between with emphasis, doxygen limits the scope of a * and _ to a single paragraph. -For code span, between the starting and ending backtick only two +For a code span, between the starting and ending backtick only two new lines are allowed. Also for links there are limits; the link text, and link title each can contain only one new line, the URL may not contain any newlines. -\section markdown_debug Debugging problems +\section markdown_debug Debugging of problems When doxygen parses the source code it first extracts the comments blocks, then passes these through the Markdown preprocessor. The output of the diff --git a/doc/output.doc b/doc/output.doc index f2c742c..d34e057 100644 --- a/doc/output.doc +++ b/doc/output.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/doc/preprocessing.doc b/doc/preprocessing.doc index 603c683..49dd0f1 100644 --- a/doc/preprocessing.doc +++ b/doc/preprocessing.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -47,7 +47,7 @@ Then by default doxygen will feed the following to its parser: You can disable all preprocessing by setting \ref cfg_enable_preprocessing "ENABLE_PREPROCESSING" to \c NO in the configuration file. In the case above doxygen will then read -both statements, i.e: +both statements, i.e.: \verbatim static CONST_STRING version = "2.xx"; diff --git a/doc/searching.doc b/doc/searching.doc index dc0dd9e..b3e4fd9 100644 --- a/doc/searching.doc +++ b/doc/searching.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -139,7 +139,7 @@ has its own advantages and disadvantages: To enable the help plugin set \ref cfg_generate_eclipsehelp "GENERATE_ECLIPSEHELP" to \c YES, and define a unique identifier for your project via - \ref cfg_eclipse_doc_id "ECLIPSE_DOC_ID", i.e: + \ref cfg_eclipse_doc_id "ECLIPSE_DOC_ID", i.e.: \verbatim GENERATE_ECLIPSEHELP = YES ECLIPSE_DOC_ID = com.yourcompany.yourproject diff --git a/doc/starting.doc b/doc/starting.doc index a60093f..4e5481e 100644 --- a/doc/starting.doc +++ b/doc/starting.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -15,6 +15,7 @@ * */ /*! \page starting Getting started +\tableofcontents The executable \c doxygen is the main program that parses the sources and generates the documentation. See section \ref doxygen_usage for more @@ -196,7 +197,8 @@ The generated \f$\mbox{\LaTeX}\f$ documentation must first be compiled by a \f$\mbox{\LaTeX}\f$ compiler (I use a recent teTeX distribution for Linux and MacOSX and MikTex for Windows). To simplify the process of compiling the generated -documentation, \c doxygen writes a \c Makefile into the \c latex directory. +documentation, \c doxygen writes a \c Makefile into the \c latex directory +(on the Windows platform also a \c make.bat batch file is generated). The contents and targets in the \c Makefile depend on the setting of \ref cfg_use_pdflatex "USE_PDFLATEX". If it is disabled (set to \c NO), then diff --git a/doc/translator_report.txt b/doc/translator_report.txt index f53d003..382c066 100644 --- a/doc/translator_report.txt +++ b/doc/translator_report.txt @@ -1,4 +1,4 @@ -(1.7.5) +(1.7.6.1) Doxygen supports the following 39 languages (sorted alphabetically): @@ -112,6 +112,7 @@ for occurence of the method identifiers: QCString trAlphabeticalList() QCString trDCOPMethods() QCString trDirDependency(const char *) + QCString trFuncProtos() QCString trFunctionPrototypeDocumentation() QCString trGraphicalHierarchy() QCString trSearchForIndex() diff --git a/doc/trouble.doc b/doc/trouble.doc index 4fb41d2..c795b0f 100644 --- a/doc/trouble.doc +++ b/doc/trouble.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -31,7 +31,7 @@ or unions with the same name in your code. It should not crash however, rather it should ignore all of the classes with the same name except one.
  • Some commands do not work inside the arguments of other commands. - Inside a HTML link (i.e \...\) for instance + Inside a HTML link (i.e. \...\) for instance other commands (including other HTML commands) do not work! The sectioning commands are an important exception.
  • Redundant braces can confuse doxygen in some cases. diff --git a/doc/xmlcmds.doc b/doc/xmlcmds.doc index 5116209..526fce7 100644 --- a/doc/xmlcmds.doc +++ b/doc/xmlcmds.doc @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/examples/page.doc b/examples/page.doc index 747a4b8..f83f896 100644 --- a/examples/page.doc +++ b/examples/page.doc @@ -1,4 +1,5 @@ /*! \page page1 A documentation page + \tableofcontents Leading text. \section sec An example section This page contains the subsections \ref subsection1 and \ref subsection2. diff --git a/qtools/Doxyfile b/qtools/Doxyfile index 8980dfe..2a5deb8 100644 --- a/qtools/Doxyfile +++ b/qtools/Doxyfile @@ -173,7 +173,7 @@ EXT_LINKS_IN_WINDOW = NO FORMULA_FONTSIZE = 10 FORMULA_TRANSPARENT = YES USE_MATHJAX = NO -MATHJAX_RELPATH = http://www.mathjax.org/mathjax +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest SEARCHENGINE = YES SERVER_BASED_SEARCH = NO #--------------------------------------------------------------------------- diff --git a/src/Makefile.in b/src/Makefile.in index eb0c170..2ecffd2 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -2,7 +2,7 @@ # # # -# Copyright (C) 1997-2011 by Dimitri van Heesch. +# Copyright (C) 1997-2012 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 diff --git a/src/arguments.cpp b/src/arguments.cpp new file mode 100644 index 0000000..128223b --- /dev/null +++ b/src/arguments.cpp @@ -0,0 +1,17 @@ +#include "arguments.h" + +/*! the argument list is documented if one of its + * arguments is documented + */ +bool ArgumentList::hasDocumentation() const +{ + bool hasDocs=FALSE; + ArgumentListIterator ali(*this); + Argument *a; + for (ali.toFirst();!hasDocs && (a=ali.current());++ali) + { + hasDocs = a->hasDocumentation(); + } + return hasDocs; +} + diff --git a/src/arguments.h b/src/arguments.h new file mode 100644 index 0000000..c5ca942 --- /dev/null +++ b/src/arguments.h @@ -0,0 +1,99 @@ +/****************************************************************************** + * + * Copyright (C) 1997-2012 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. + * + */ + +#ifndef ARGUMENTS_H +#define ARGUMENTS_H + +#include "qtbc.h" +#include + +/*! \brief This class contains the information about the argument of a + * function or template + * + */ +struct Argument +{ + /*! Construct a new argument. */ + Argument() {} + /*! Copy an argument (does a deep copy of all strings). */ + Argument(const Argument &a) + { + attrib=a.attrib.copy(); + type=a.type.copy(); + name=a.name.copy(); + defval=a.defval.copy(); + docs=a.docs.copy(); + array=a.array.copy(); + } + /*! Assignment of an argument (does a deep copy of all strings). */ + Argument &operator=(const Argument &a) + { + if (this!=&a) + { + attrib=a.attrib.copy(); + type=a.type.copy(); + name=a.name.copy(); + defval=a.defval.copy(); + docs=a.docs.copy(); + array=a.array.copy(); + } + return *this; + } + /*! return TRUE if this argument is documentation and the argument has a + * non empty name. + */ + bool hasDocumentation() const + { + return !name.isEmpty() && !docs.isEmpty(); + } + + QCString attrib; /*!< Argument's attribute (IDL only) */ + QCString type; /*!< Argument's type */ + QCString canType; /*!< Cached value of canonical type (after type resolution). Empty initially. */ + QCString name; /*!< Argument's name (may be empty) */ + QCString array; /*!< Argument's array specifier (may be empty) */ + QCString defval; /*!< Argument's default value (may be empty) */ + QCString docs; /*!< Argument's documentation (may be empty) */ +}; + +/*! \brief This class represents an function or template argument list. + * + * This class also stores some information about member that is typically + * put after the argument list, such as wether the member is const, + * volatile or pure virtual. + */ +class ArgumentList : public QList +{ + public: + /*! Creates an empty argument list */ + ArgumentList() : QList(), + constSpecifier(FALSE), + volatileSpecifier(FALSE), + pureSpecifier(FALSE) + { setAutoDelete(TRUE); } + /*! Destroys the argument list */ + ~ArgumentList() {} + bool hasDocumentation() const; + /*! Does the member modify the state of the class? default: FALSE. */ + bool constSpecifier; + /*! Is the member volatile? default: FALSE. */ + bool volatileSpecifier; + /*! Is this a pure virtual member? default: FALSE */ + bool pureSpecifier; +}; + +typedef QListIterator ArgumentListIterator; + +#endif diff --git a/src/bufstr.h b/src/bufstr.h index d9a93f0..2945b5b 100644 --- a/src/bufstr.h +++ b/src/bufstr.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/cite.cpp b/src/cite.cpp index c684083..96e88ae 100644 --- a/src/cite.cpp +++ b/src/cite.cpp @@ -52,11 +52,16 @@ static QCString getListOfBibFiles(const QCString &sep,bool stripExtension) const char *bibdata = citeDataList.first(); while (bibdata) { + int i; QCString bibFile = bibdata; if (stripExtension && bibFile.right(4)==".bib") { bibFile = bibFile.left(bibFile.length()-4); } + if (stripExtension && (i=bibFile.findRev('/'))!=-1) + { + bibFile = bibFile.mid(i+1); + } if (!bibFile.isEmpty()) { result+=bibFile; diff --git a/src/classdef.cpp b/src/classdef.cpp index c5ff60d..bd44c87 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -38,6 +38,7 @@ #include "searchindex.h" #include "vhdldocgen.h" #include "layout.h" +#include "arguments.h" //----------------------------------------------------------------------------- @@ -404,14 +405,12 @@ void ClassDef::internalInsertMember(MemberDef *md, if (1 /*!isReference()*/) // changed to 1 for showing members of external // classes when HAVE_DOT and UML_LOOK are enabled. { - static bool extractPrivate = Config_getBool("EXTRACT_PRIVATE"); - bool isSimple=FALSE; /********************************************/ /* insert member in the declaration section */ /********************************************/ - if (md->isRelated() && (extractPrivate || prot!=Private)) + if (md->isRelated() && protectionLevelVisible(prot)) { addMemberToList(MemberList::related,md,TRUE); } @@ -560,7 +559,7 @@ void ClassDef::internalInsertMember(MemberDef *md, /*******************************************************/ /* insert member in the detailed documentation section */ /*******************************************************/ - if ((md->isRelated() && (extractPrivate || prot!=Private)) || md->isFriend()) + if ((md->isRelated() && protectionLevelVisible(prot)) || md->isFriend()) { addMemberToList(MemberList::relatedMembers,md,FALSE); } @@ -579,23 +578,13 @@ void ClassDef::internalInsertMember(MemberDef *md, addMemberToList(MemberList::functionMembers,md,FALSE); break; case MemberDef::Slot: - switch (prot) + if (protectionLevelVisible(prot)) { - case Protected: - case Package: - case Public: - addMemberToList(MemberList::functionMembers,md,FALSE); - break; - case Private: - if (extractPrivate) - { - addMemberToList(MemberList::functionMembers,md,FALSE); - } - break; + addMemberToList(MemberList::functionMembers,md,FALSE); } break; default: // any of the other members - if (prot!=Private || extractPrivate) + if (protectionLevelVisible(prot)) { switch (md->memberType()) { @@ -2047,7 +2036,7 @@ void ClassDef::writeDocumentationForInnerClasses(OutputList &ol) for (cli.toFirst();(innerCd=cli.current());++cli) { if (innerCd->isLinkableInProject() && innerCd->templateMaster()==0 && - (innerCd->protection()!=Private || Config_getBool("EXTRACT_PRIVATE")) && + protectionLevelVisible(innerCd->protection()) && !innerCd->isEmbeddedInOuterScope() ) { @@ -2162,7 +2151,7 @@ void ClassDef::writeMemberList(OutputList &ol) memberWritten=TRUE; } else if (!Config_getBool("HIDE_UNDOC_MEMBERS") && - (md->protection()!=Private || Config_getBool("EXTRACT_PRIVATE") || md->isFriend()) + (protectionLevelVisible(md->protection()) || md->isFriend()) ) // no documentation, // generate link to the class instead. { @@ -2429,6 +2418,8 @@ void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup) mg->writePlainDeclarations(ol,this,0,0,0); } } + static bool extractPrivate = Config_getBool("EXTRACT_PRIVATE"); + static bool extractPackage = Config_getBool("EXTRACT_PACKAGE"); writePlainMemberDeclaration(ol,MemberList::pubTypes,inGroup); writePlainMemberDeclaration(ol,MemberList::pubMethods,inGroup); @@ -2446,12 +2437,15 @@ void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup) writePlainMemberDeclaration(ol,MemberList::proSlots,inGroup); writePlainMemberDeclaration(ol,MemberList::proStaticMethods,inGroup); writePlainMemberDeclaration(ol,MemberList::proStaticAttribs,inGroup); - writePlainMemberDeclaration(ol,MemberList::pacTypes,inGroup); - writePlainMemberDeclaration(ol,MemberList::pacMethods,inGroup); - writePlainMemberDeclaration(ol,MemberList::pacAttribs,inGroup); - writePlainMemberDeclaration(ol,MemberList::pacStaticMethods,inGroup); - writePlainMemberDeclaration(ol,MemberList::pacStaticAttribs,inGroup); - if (Config_getBool("EXTRACT_PRIVATE")) + if (extractPackage) + { + writePlainMemberDeclaration(ol,MemberList::pacTypes,inGroup); + writePlainMemberDeclaration(ol,MemberList::pacMethods,inGroup); + writePlainMemberDeclaration(ol,MemberList::pacAttribs,inGroup); + writePlainMemberDeclaration(ol,MemberList::pacStaticMethods,inGroup); + writePlainMemberDeclaration(ol,MemberList::pacStaticAttribs,inGroup); + } + if (extractPrivate) { writePlainMemberDeclaration(ol,MemberList::priTypes,inGroup); writePlainMemberDeclaration(ol,MemberList::priMethods,inGroup); @@ -2467,7 +2461,6 @@ void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup) /*! a link to this class is possible within this project */ bool ClassDef::isLinkableInProject() const { - static bool extractPrivate = Config_getBool("EXTRACT_PRIVATE"); static bool extractLocal = Config_getBool("EXTRACT_LOCAL_CLASSES"); static bool extractStatic = Config_getBool("EXTRACT_STATIC"); static bool hideUndoc = Config_getBool("HIDE_UNDOC_CLASSES"); @@ -2480,7 +2473,7 @@ bool ClassDef::isLinkableInProject() const return !name().isEmpty() && /* has a name */ !isArtificial() && !isHidden() && /* not hidden */ name().find('@')==-1 && /* not anonymous */ - (m_impl->prot!=Private || extractPrivate) && /* private */ + protectionLevelVisible(m_impl->prot) && /* private/internal */ (!m_impl->isLocal || extractLocal) && /* local */ (hasDocumentation() || !hideUndoc) && /* documented */ (!m_impl->isStatic || extractStatic) && /* static */ @@ -2505,7 +2498,6 @@ bool ClassDef::isLinkable() const bool ClassDef::isVisibleInHierarchy() { static bool allExternals = Config_getBool("ALLEXTERNALS"); - static bool extractPrivate = Config_getBool("EXTRACT_PRIVATE"); static bool hideUndocClasses = Config_getBool("HIDE_UNDOC_CLASSES"); static bool extractStatic = Config_getBool("EXTRACT_STATIC"); @@ -2516,7 +2508,7 @@ bool ClassDef::isVisibleInHierarchy() // not an artificially introduced class !isArtificial() && // and not privately inherited - (m_impl->prot!=Private || extractPrivate) && + protectionLevelVisible(m_impl->prot) && // documented or shown anyway or documentation is external (hasDocumentation() || !hideUndocClasses || @@ -2587,7 +2579,7 @@ void ClassDef::mergeMembers() //static bool optimizeOutputForJava = Config_getBool("OPTIMIZE_OUTPUT_JAVA"); //static bool vhdlOpt = Config_getBool("OPTIMIZE_OUTPUT_VHDL"); SrcLangExt lang = getLanguage(); - QCString sep=getLanguageSpecificSeparator(lang); + QCString sep=getLanguageSpecificSeparator(lang,TRUE); int sepLen = sep.length(); m_impl->membersMerged=TRUE; diff --git a/src/classdef.h b/src/classdef.h index fb37e0b..205b437 100644 --- a/src/classdef.h +++ b/src/classdef.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/classlist.cpp b/src/classlist.cpp index cb52541..b85b178 100644 --- a/src/classlist.cpp +++ b/src/classlist.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/classlist.h b/src/classlist.h index b54d510..9b76c39 100644 --- a/src/classlist.h +++ b/src/classlist.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/cmdmapper.cpp b/src/cmdmapper.cpp index b42ca4b..5b47db5 100644 --- a/src/cmdmapper.cpp +++ b/src/cmdmapper.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/cmdmapper.h b/src/cmdmapper.h index b2950ce..8ff3b22 100644 --- a/src/cmdmapper.h +++ b/src/cmdmapper.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/code.h b/src/code.h index 982d829..f811f55 100644 --- a/src/code.h +++ b/src/code.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/code.l b/src/code.l index 6c9bcef..46e881b 100644 --- a/src/code.l +++ b/src/code.l @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -34,6 +34,7 @@ #include "util.h" #include "membername.h" #include "searchindex.h" +#include "arguments.h" #define YY_NEVER_INTERACTIVE 1 @@ -546,10 +547,10 @@ static void nextCodeLine() /*! write a code fragment `text' that may span multiple lines, inserting * line numbers for each line. */ -static void codifyLines(char *text) +static void codifyLines(const char *text) { //printf("codifyLines(%d,\"%s\")\n",g_yyLineNr,text); - char *p=text,*sp=p; + const char *p=text,*sp=p; char c; bool done=FALSE; while (!done) @@ -559,8 +560,13 @@ static void codifyLines(char *text) if (c=='\n') { g_yyLineNr++; - *(p-1)='\0'; - g_code->codify(sp); + //*(p-1)='\0'; + int l = p-sp-1; + char *tmp = (char*)malloc(l+1); + memcpy(tmp,sp,l); + tmp[l]='\0'; + g_code->codify(tmp); + free(tmp); nextCodeLine(); } else @@ -874,6 +880,7 @@ static bool getLinkInScope(const QCString &c, // scope if (getDefs(c,m,"()",md,cd,fd,nd,gd,FALSE,g_sourceFileDef,FALSE,g_forceTagReference) && md->isLinkable() && (!varOnly || md->isVariable())) { + //printf("found it!\n"); if (g_exampleBlock) { QCString anchor; @@ -939,7 +946,7 @@ static bool getLink(const char *className, return TRUE; } -static void generateClassOrGlobalLink(CodeOutputInterface &ol,char *clName, +static void generateClassOrGlobalLink(CodeOutputInterface &ol,const char *clName, bool typeOnly=FALSE,bool varOnly=FALSE) { int i=0; @@ -954,6 +961,7 @@ static void generateClassOrGlobalLink(CodeOutputInterface &ol,char *clName, { className+="-p"; } + className = substitute(className,"\\","::"); // for PHP namespaces ClassDef *cd=0,*lcd=0; MemberDef *md=0; bool isLocal=FALSE; @@ -1277,7 +1285,18 @@ static void generateMemberLink(CodeOutputInterface &ol,const QCString &varName, return; } -static void generateFunctionLink(CodeOutputInterface &ol,char *funcName) +static void generatePHPVariableLink(CodeOutputInterface &ol,const char *varName) +{ + QCString name = varName+7; // strip $this-> + name.prepend("$"); + //printf("generatePHPVariableLink(%s) name=%s scope=%s\n",varName,name.data(),g_classScope.data()); + if (!getLink(g_classScope,name,ol,varName)) + { + codifyLines(varName); + } +} + +static void generateFunctionLink(CodeOutputInterface &ol,const char *funcName) { //CodeClassDef *ccd=0; ClassDef *ccd=0; @@ -2105,6 +2124,8 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP} } {ID}("\\"{ID})* { // PHP namespace g_curClassName=substitute(yytext,"\\","::"); + g_scopeStack.push(CLASSBLOCK); + pushScope(g_curClassName); addType(); generateClassOrGlobalLink(*g_code,yytext); BEGIN( ClassVar ); @@ -2204,8 +2225,8 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP} g_code->codify(yytext); endFontClass(); } -{ID} { - //printf("%s:addBase(%s)\n",g_ccd.name.data(),yytext); +{SEP}?({ID}{SEP})*{ID} { + //fprintf(stderr,"%s:addBase(%s)\n",g_curClassName.data(),yytext); g_curClassBases.inSort(yytext); generateClassOrGlobalLink(*g_code,yytext); } @@ -2421,6 +2442,11 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP} g_lastTemplCastContext = YY_START; BEGIN(TemplCast); } +"$this->"{SCOPENAME}/{BN}*[;,)\]] { // PHP member variable + addType(); + generatePHPVariableLink(*g_code,yytext); + g_name+=yytext+7; + } {SCOPENAME}{B}*"<"[^\n\/\-\.\{\"\>]*">"("::"{ID})*/{B}* { // A *pt; int i=QCString(yytext).find('<'); QCString kw = QCString(yytext).left(i).stripWhiteSpace(); diff --git a/src/commentcnv.h b/src/commentcnv.h index ae113a3..5277524 100644 --- a/src/commentcnv.h +++ b/src/commentcnv.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/commentcnv.l b/src/commentcnv.l index fa392bf..1ae07c0 100644 --- a/src/commentcnv.l +++ b/src/commentcnv.l @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/commentscan.h b/src/commentscan.h index a34dfc7..41cf766 100644 --- a/src/commentscan.h +++ b/src/commentscan.h @@ -1,6 +1,6 @@ /****************************************************************************** * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/commentscan.l b/src/commentscan.l index 85b378a..966183d 100644 --- a/src/commentscan.l +++ b/src/commentscan.l @@ -1,6 +1,6 @@ /***************************************************************************** * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -109,6 +109,7 @@ static bool handleProtected(const QCString &); static bool handleProtectedSection(const QCString &); static bool handlePublic(const QCString &s); static bool handlePublicSection(const QCString &s); +static bool handleToc(const QCString &s); static bool handleInherit(const QCString &); static bool handleExtends(const QCString &); static bool handleCopyDoc(const QCString &); @@ -203,6 +204,7 @@ static DocCmdMap docCmdMap[] = { "protectedsection",&handleProtectedSection, FALSE }, { "public", &handlePublic, FALSE }, { "publicsection", &handlePublicSection, FALSE }, + { "tableofcontents", &handleToc, FALSE }, { "inherit", &handleInherit, TRUE }, { "extends", &handleExtends, TRUE }, { "implements", &handleExtends, TRUE }, @@ -590,9 +592,9 @@ static QCString addFormula() formLabel.sprintf("\\form#%d",f->getId()); } int i; - for (i=0;isection==Entry::PAGEDOC_SEC || + current->section==Entry::MAINPAGEDOC_SEC) + { + current->stat=TRUE; // we 'abuse' stat to pass whether or the TOC is enabled + } + return FALSE; +} + static bool handleInherit(const QCString &) { BEGIN(InheritParam); diff --git a/src/config.h b/src/config.h index ffa912f..ccbf713 100644 --- a/src/config.h +++ b/src/config.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/config.l b/src/config.l index ee535e9..2e23ea1 100644 --- a/src/config.l +++ b/src/config.l @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/config.xml b/src/config.xml index adbb326..20eb5ac 100644 --- a/src/config.xml +++ b/src/config.xml @@ -355,6 +355,10 @@ the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES If the EXTRACT_PRIVATE tag is set to YES all private members of a class will be included in the documentation. ' defval='0'/> +
  • \n"); + ol.writeString("
  • label+"\">"+si->title+""); + inLi[nextLevel]=TRUE; + level = nextLevel; + } + } + while (level>1) + { + if (inLi[level]) ol.writeString("
  • \n"); + inLi[level]=FALSE; + ol.writeString("\n"); + level--; + } + if (inLi[level]) ol.writeString("
  • \n"); + inLi[level]=FALSE; + ol.writeString("\n"); + ol.writeString("\n"); + ol.popGeneratorState(); +} + void Definition::writeDocAnchorsToTagFile() { makeResident(); @@ -679,7 +736,7 @@ static bool readCodeFragment(const char *fileName, cn=fgetc(f); if (cn!=':') found=TRUE; } - else if (c=='{') + else if (c=='{') // } so vi matching brackets has no problem { found=TRUE; } @@ -743,6 +800,8 @@ static bool readCodeFragment(const char *fileName, if (usePipe) { portable_pclose(f); + Debug::print(Debug::FilterOutput, 0, "Filter output\n"); + Debug::print(Debug::FilterOutput,0,"-------------\n%s\n-------------\n",result.data()); } else { diff --git a/src/definition.h b/src/definition.h index c07eb3e..e09a478 100644 --- a/src/definition.h +++ b/src/definition.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -330,6 +330,7 @@ class Definition : public DefinitionIntf, public LockableObj void setLocalName(const QCString name); void addSectionsToIndex(); + void writeToc(OutputList &ol); protected: diff --git a/src/diagram.cpp b/src/diagram.cpp index 487e44a..c40002c 100644 --- a/src/diagram.cpp +++ b/src/diagram.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/diagram.h b/src/diagram.h index b2dacb3..3e2cac2 100644 --- a/src/diagram.h +++ b/src/diagram.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -17,7 +17,7 @@ */ #include "qtbc.h" -#include "entry.h" +#include "types.h" class ClassDef; class DiagramRow; diff --git a/src/dirdef.cpp b/src/dirdef.cpp index 05ab52f..c2739f2 100644 --- a/src/dirdef.cpp +++ b/src/dirdef.cpp @@ -22,6 +22,7 @@ DirDef::DirDef(const char *path) : Definition(path,1,path) m_dispName = stripFromPath(path); // get short name (last part of path) m_shortName = path; + m_diskName = path; if (m_shortName.at(m_shortName.length()-1)=='/') { // strip trailing / m_shortName = m_shortName.left(m_shortName.length()-1); @@ -105,8 +106,9 @@ static QCString encodeDirName(const QCString &anchor) QCString DirDef::getOutputFileBase() const { - return "dir_"+encodeDirName(name()); - //return QCString().sprintf("dir_%06d",m_dirCount); + //printf("DirDef::getOutputFileBase() %s->dir_%s\n", + // m_diskName.data(),encodeDirName(m_diskName).data()); + return "dir_"+encodeDirName(m_diskName); } void DirDef::writeDetailedDescription(OutputList &ol,const QCString &title) @@ -737,6 +739,86 @@ void DirRelation::writeDocumentation(OutputList &ol) //---------------------------------------------------------------------- // external functions +/** In order to create stable, but unique directory names, + * we compute the common part of the path shared by all directories. + */ +static void computeCommonDirPrefix() +{ + QCString path; + DirDef *dir; + DirSDict::Iterator sdi(*Doxygen::directories); + if (Doxygen::directories->count()>0) // we have at least one dir + { + // start will full path of first dir + sdi.toFirst(); + dir=sdi.current(); + path=dir->name(); + int i=path.findRev('/',path.length()-2); + path=path.left(i+1); + bool done=FALSE; + if (i==-1) + { + path=""; + } + else + { + while (!done) + { + int l = path.length(); + int count=0; + for (sdi.toFirst();(dir=sdi.current());++sdi) + { + QCString dirName = dir->name(); + if (dirName.length()>path.length()) + { + if (strncmp(dirName,path,l)!=0) // dirName does not start with path + { + int i=path.findRev('/',l-2); + if (i==-1) // no unique prefix -> stop + { + path=""; + done=TRUE; + } + else // restart with shorter path + { + path=path.left(i+1); + break; + } + } + } + else // dir is shorter than path -> take path of dir as new start + { + path=dir->name(); + int i=path.findRev('/',l-2); + if (i==-1) // no unique prefix -> stop + { + path=""; + done=TRUE; + } + else // restart with shorter path + { + path=path.left(i+1); + } + break; + } + count++; + } + if (count==Doxygen::directories->count()) + // path matches for all directories -> found the common prefix + { + done=TRUE; + } + } + } + } + for (sdi.toFirst();(dir=sdi.current());++sdi) + { + QCString diskName = dir->name().right(dir->name().length()-path.length()); + dir->setDiskName(diskName); + //printf("set disk name: %s -> %s\n",dir->name().data(),diskName.data()); + } +} + void buildDirectories() { // for each input file @@ -786,6 +868,7 @@ void buildDirectories() } } } + computeCommonDirPrefix(); } void computeDirDependencies() diff --git a/src/dirdef.h b/src/dirdef.h index 445e3ff..e7a6b0e 100644 --- a/src/dirdef.h +++ b/src/dirdef.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -74,6 +74,7 @@ class DirDef : public Definition static DirDef *mergeDirectoryInTree(const QCString &path); bool visited; + void setDiskName(const QCString &name) { m_diskName = name; } private: friend void computeDirDependencies(); @@ -96,6 +97,7 @@ class DirDef : public Definition DirList m_subdirs; QCString m_dispName; QCString m_shortName; + QCString m_diskName; FileList *m_fileList; // list of files in the group int m_dirCount; int m_level; diff --git a/src/docparser.cpp b/src/docparser.cpp index 526e349..12b6e1c 100644 --- a/src/docparser.cpp +++ b/src/docparser.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -42,6 +42,7 @@ #include "language.h" #include "portable.h" #include "cite.h" +#include "arguments.h" // debug off #define DBG(x) do {} while(0) diff --git a/src/docparser.h b/src/docparser.h index 1e7f7d8..bc42389 100644 --- a/src/docparser.h +++ b/src/docparser.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/docsets.cpp b/src/docsets.cpp index 7a6ff9d..272ed69 100644 --- a/src/docsets.cpp +++ b/src/docsets.cpp @@ -1,6 +1,6 @@ /****************************************************************************** * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/docsets.h b/src/docsets.h index 4a13d88..97457f6 100644 --- a/src/docsets.h +++ b/src/docsets.h @@ -1,6 +1,6 @@ /****************************************************************************** * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/doctokenizer.h b/src/doctokenizer.h index f86020a..e5ae26a 100644 --- a/src/doctokenizer.h +++ b/src/doctokenizer.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/doctokenizer.l b/src/doctokenizer.l index c9e5756..a183377 100644 --- a/src/doctokenizer.l +++ b/src/doctokenizer.l @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -322,6 +322,7 @@ NONWS [^ \t\r\n] BLANK [ \t\r] ID "$"?[a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF]* LABELID [a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF\-]* +PHPTYPE [\\:a-z_A-Z0-9\x80-\xFF\-]+ CITEID [a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF\-:/]* MAILADR ("mailto:")?[a-z_A-Z0-9.+-]+"@"[a-z_A-Z0-9-]+("."[a-z_A-Z0-9\-]+)+[a-z_A-Z0-9\-]+ OPTSTARS ("//"{BLANK}*)?"*"*{BLANK}* @@ -518,7 +519,7 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3} g_token->name = "inheritdoc"; return TK_COMMAND; } -"\\_fakenl" { // artificial new line +"@_fakenl" { // artificial new line yylineno++; } {SPCMD3} { @@ -958,7 +959,7 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3} g_token->name = g_token->name.left(yyleng-2); return TK_WORD; } -({LABELID}"|")*{LABELID}{WS}+("&")?"$"{LABELID} { +({PHPTYPE}{BLANK}*"|"{BLANK}*)*{PHPTYPE}{WS}+("&")?"$"{LABELID} { QCString params = yytext; int j = params.find('&'); int i = params.find('$'); diff --git a/src/docvisitor.h b/src/docvisitor.h index 057da5f..c9acf64 100644 --- a/src/docvisitor.h +++ b/src/docvisitor.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/dot.cpp b/src/dot.cpp index f3e524d..62d1831 100644 --- a/src/dot.cpp +++ b/src/dot.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -115,6 +115,13 @@ static const char svgZoomFooter[] = " \n" " \n" " \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" "\n" ; @@ -1540,7 +1547,8 @@ static void writeBoxMemberList(FTextStream &t, if (mma->getClassDef() == scope && (skipNames==0 || skipNames->find(mma->name())==0)) { - if (totalCount>=15 && count>=10) + static int limit = Config_getInt("UML_LIMIT_NUM_FIELDS"); + if (limit==0 || (totalCount>=limit*3/2 && count>=limit)) { t << "and " << (totalCount-count-1) << " more..."; // TODO: TRANSLATE ME diff --git a/src/dot.h b/src/dot.h index 1ea1f66..e4acd5a 100644 --- a/src/dot.h +++ b/src/dot.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/doxygen.cpp b/src/doxygen.cpp index 34fe2d1..98f076b 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -1,6 +1,6 @@ /****************************************************************************** * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -82,6 +82,7 @@ #include "cite.h" #include "filestorage.h" #include "markdown.h" +#include "arguments.h" #include "layout.h" @@ -507,6 +508,7 @@ static void addRelatedPage(EntryNav *rootNav) if (pd) { pd->addSectionsToDefinition(root->anchors); + pd->setShowToc(root->stat); addPageToContext(pd,rootNav); } } @@ -898,7 +900,7 @@ static Definition *findScope(Entry *root,int level=0) * full qualified name \a name. Creates an artificial scope if the scope is * not found and set the parent/child scope relation if the scope is found. */ -static Definition *buildScopeFromQualifiedName(const QCString name,int level) +static Definition *buildScopeFromQualifiedName(const QCString name,int level,SrcLangExt lang) { int i=0; int p=0,l; @@ -922,9 +924,10 @@ static Definition *buildScopeFromQualifiedName(const QCString name,int level) else if (nd==0 && cd==0) // scope is not known! { // introduce bogus namespace - printf("++ adding dummy namespace %s to %s\n",nsName.data(),prevScope->name().data()); + //printf("++ adding dummy namespace %s to %s\n",nsName.data(),prevScope->name().data()); nd=new NamespaceDef( "[generated]",1,fullScope); + nd->setLanguage(lang); // add namespace to the list Doxygen::namespaceSDict->inSort(fullScope,nd); @@ -1010,7 +1013,7 @@ static Definition *findScopeFromQualifiedName(Definition *startScope,const QCStr // so use this instead. QCString fqn = QCString(ui.currentKey())+ scope.right(scope.length()-p); - resultScope = buildScopeFromQualifiedName(fqn,fqn.contains("::")); + resultScope = buildScopeFromQualifiedName(fqn,fqn.contains("::"),startScope->getLanguage()); //printf("Creating scope from fqn=%s result %p\n",fqn.data(),resultScope); if (resultScope) { @@ -1322,7 +1325,7 @@ static void resolveClassNestingRelations() //printf("processing unresolved=%s, iteration=%d\n",cd->name().data(),iteration); /// create the scope artificially // anyway, so we can at least relate scopes properly. - Definition *d = buildScopeFromQualifiedName(name,name.contains("::")); + Definition *d = buildScopeFromQualifiedName(name,name.contains("::"),cd->getLanguage()); if (d!=cd && !cd->getDefFileName().isEmpty()) // avoid recursion in case of redundant scopes, i.e: namespace N { class N::C {}; } // for this case doxygen assumes the exitance of a namespace N::N in which C is to be found! @@ -1641,7 +1644,7 @@ static void buildNamespaceList(EntryNav *rootNav) if (d==0) // we didn't find anything, create the scope artificially // anyway, so we can at least relate scopes properly. { - Definition *d = buildScopeFromQualifiedName(fullName,fullName.contains("::")); + Definition *d = buildScopeFromQualifiedName(fullName,fullName.contains("::"),nd->getLanguage()); d->addInnerCompound(nd); nd->setOuterScope(d); // TODO: Due to the order in which the tag file is written @@ -3186,7 +3189,7 @@ static void buildFunctionList(EntryNav *rootNav) ) ); // otherwise, allow a duplicate global member with the same argument list - if (!found && gd && gd==md->getGroupDef()) + if (!found && gd && gd==md->getGroupDef() && nsName==rnsName) { // member is already in the group, so we don't want to add it again. found=TRUE; @@ -4749,8 +4752,8 @@ static void computeClassRelations() if (!root->name.isEmpty() && root->name.find('@')==-1 && // normal name (guessSection(root->fileName)==Entry::HEADER_SEC || Config_getBool("EXTRACT_LOCAL_CLASSES")) && // not defined in source file - (root->protection!=Private || Config_getBool("EXTRACT_PRIVATE")) && // hidden by protection - !Config_getBool("HIDE_UNDOC_CLASSES") // undocumented class are visible + protectionLevelVisible(root->protection) && // hidden by protection + !Config_getBool("HIDE_UNDOC_CLASSES") // undocumented class are visible ) warn_undoc( root->fileName,root->startLine, @@ -8224,6 +8227,7 @@ static void findMainPage(EntryNav *rootNav) indexName, root->brief+root->doc+root->inbodyDocs,title); //setFileNameForSections(root->anchors,"index",Doxygen::mainPage); Doxygen::mainPage->setFileName(indexName); + Doxygen::mainPage->setShowToc(root->stat); addPageToContext(Doxygen::mainPage,rootNav); // a page name is a label as well! @@ -9274,7 +9278,7 @@ void dumpConfigAsXML() static void usage(const char *name) { - msg("Doxygen version %s\nCopyright Dimitri van Heesch 1997-2011\n\n",versionString); + msg("Doxygen version %s\nCopyright Dimitri van Heesch 1997-2012\n\n",versionString); msg("You can use doxygen in a number of ways:\n\n"); msg("1) Use doxygen to generate a template configuration file:\n"); msg(" %s [-s] -g [configName]\n\n",name); diff --git a/src/doxygen.css b/src/doxygen.css index b146398..30b6261 100644 --- a/src/doxygen.css +++ b/src/doxygen.css @@ -802,7 +802,8 @@ dl padding: 0 0 0 10px; } -dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section { border-left:4px solid; padding: 0 0 0 6px; @@ -843,6 +844,11 @@ dl.bug border-color: #C08050; } +dl.section dd { + margin-bottom: 6px; +} + + #projectlogo { text-align: center; @@ -926,6 +932,55 @@ dl.citelist dd { padding:5px 0; } +div.toc { + padding: 14px 25px; + background-color: ##F6; + border: 1px solid ##DD; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 20px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: ##60; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + + @media print { #top { display: none; } diff --git a/src/doxygen.h b/src/doxygen.h index b06d205..0e436ec 100644 --- a/src/doxygen.h +++ b/src/doxygen.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/doxygen.pro.in b/src/doxygen.pro.in index d3e6459..42ffaa0 100644 --- a/src/doxygen.pro.in +++ b/src/doxygen.pro.in @@ -1,7 +1,7 @@ # # # -# Copyright (C) 1997-2011 by Dimitri van Heesch. +# Copyright (C) 1997-2012 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 diff --git a/src/doxygen_css.h b/src/doxygen_css.h index 15c68da..a3e3589 100644 --- a/src/doxygen_css.h +++ b/src/doxygen_css.h @@ -802,7 +802,8 @@ " padding: 0 0 0 10px;\n" "}\n" "\n" -"dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug\n" +"/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */\n" +"dl.section\n" "{\n" " border-left:4px solid;\n" " padding: 0 0 0 6px;\n" @@ -843,6 +844,11 @@ " border-color: #C08050;\n" "}\n" "\n" +"dl.section dd {\n" +" margin-bottom: 6px;\n" +"}\n" +"\n" +"\n" "#projectlogo\n" "{\n" " text-align: center;\n" @@ -926,6 +932,55 @@ " padding:5px 0;\n" "}\n" "\n" +"div.toc {\n" +" padding: 14px 25px;\n" +" background-color: ##F6;\n" +" border: 1px solid ##DD;\n" +" border-radius: 7px 7px 7px 7px;\n" +" float: right;\n" +" height: auto;\n" +" margin: 0 20px 10px 10px;\n" +" width: 200px;\n" +"}\n" +"\n" +"div.toc li {\n" +" background: url(\"bdwn.png\") no-repeat scroll 0 5px transparent;\n" +" font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;\n" +" margin-top: 5px;\n" +" padding-left: 10px;\n" +" padding-top: 2px;\n" +"}\n" +"\n" +"div.toc h3 {\n" +" font: bold 12px/1.2 Arial,FreeSans,sans-serif;\n" +" color: ##60;\n" +" border-bottom: 0 none;\n" +" margin: 0;\n" +"}\n" +"\n" +"div.toc ul {\n" +" list-style: none outside none;\n" +" border: medium none;\n" +" padding: 0px;\n" +"} \n" +"\n" +"div.toc li.level1 {\n" +" margin-left: 0px;\n" +"}\n" +"\n" +"div.toc li.level2 {\n" +" margin-left: 15px;\n" +"}\n" +"\n" +"div.toc li.level3 {\n" +" margin-left: 30px;\n" +"}\n" +"\n" +"div.toc li.level4 {\n" +" margin-left: 45px;\n" +"}\n" +"\n" +"\n" "@media print\n" "{\n" " #top { display: none; }\n" diff --git a/src/eclipsehelp.cpp b/src/eclipsehelp.cpp index 9f708bc..ea05885 100644 --- a/src/eclipsehelp.cpp +++ b/src/eclipsehelp.cpp @@ -1,6 +1,6 @@ /****************************************************************************** * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/eclipsehelp.h b/src/eclipsehelp.h index 7be3502..0629810 100644 --- a/src/eclipsehelp.h +++ b/src/eclipsehelp.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/entry.cpp b/src/entry.cpp index 8741ec2..01c9742 100644 --- a/src/entry.cpp +++ b/src/entry.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -23,6 +23,7 @@ #include "section.h" #include "doxygen.h" #include "filestorage.h" +#include "arguments.h" //------------------------------------------------------------------ @@ -30,23 +31,6 @@ //------------------------------------------------------------------ -/*! the argument list is documented if one of its - * arguments is documented - */ -bool ArgumentList::hasDocumentation() const -{ - bool hasDocs=FALSE; - ArgumentListIterator ali(*this); - Argument *a; - for (ali.toFirst();!hasDocs && (a=ali.current());++ali) - { - hasDocs = a->hasDocumentation(); - } - return hasDocs; -} - -//------------------------------------------------------------------ - int Entry::num=0; Entry::Entry() diff --git a/src/entry.h b/src/entry.h index b9a91df..63ddc5a 100644 --- a/src/entry.h +++ b/src/entry.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -20,9 +20,9 @@ #include "qtbc.h" #include +#include "types.h" #include -#include "util.h" struct SectionInfo; class QFile; @@ -30,18 +30,8 @@ class EntryNav; class FileDef; class FileStorage; class StorageIntf; - -enum Protection { Public, Protected, Private, Package } ; -enum Specifier { Normal, Virtual, Pure } ; -enum MethodTypes { Method, Signal, Slot, DCOP, Property, Event }; -enum RelatesType { Simple, Duplicate, MemberOf }; -enum Relationship { Member, Related, Foreign }; - -struct ListItemInfo -{ - QCString type; - int itemId; -}; +class ArgumentList; +class ListItemInfo; /*! \brief This class stores information about an inheritance relation */ @@ -55,83 +45,6 @@ struct BaseInfo Specifier virt; //!< virtualness }; -/*! \brief This class contains the information about the argument of a - * function or template - * - */ -struct Argument -{ - /*! Construct a new argument. */ - Argument() {} - /*! Copy an argument (does a deep copy of all strings). */ - Argument(const Argument &a) - { - attrib=a.attrib.copy(); - type=a.type.copy(); - name=a.name.copy(); - defval=a.defval.copy(); - docs=a.docs.copy(); - array=a.array.copy(); - } - /*! Assignment of an argument (does a deep copy of all strings). */ - Argument &operator=(const Argument &a) - { - if (this!=&a) - { - attrib=a.attrib.copy(); - type=a.type.copy(); - name=a.name.copy(); - defval=a.defval.copy(); - docs=a.docs.copy(); - array=a.array.copy(); - } - return *this; - } - /*! return TRUE if this argument is documentation and the argument has a - * non empty name. - */ - bool hasDocumentation() const - { - return !name.isEmpty() && !docs.isEmpty(); - } - - QCString attrib; /*!< Argument's attribute (IDL only) */ - QCString type; /*!< Argument's type */ - QCString canType; /*!< Cached value of canonical type (after type resolution). Empty initially. */ - QCString name; /*!< Argument's name (may be empty) */ - QCString array; /*!< Argument's array specifier (may be empty) */ - QCString defval; /*!< Argument's default value (may be empty) */ - QCString docs; /*!< Argument's documentation (may be empty) */ -}; - -/*! \brief This class represents an function or template argument list. - * - * This class also stores some information about member that is typically - * put after the argument list, such as wether the member is const, - * volatile or pure virtual. - */ -class ArgumentList : public QList -{ - public: - /*! Creates an empty argument list */ - ArgumentList() : QList(), - constSpecifier(FALSE), - volatileSpecifier(FALSE), - pureSpecifier(FALSE) - { setAutoDelete(TRUE); } - /*! Destroys the argument list */ - ~ArgumentList() {} - bool hasDocumentation() const; - /*! Does the member modify the state of the class? default: FALSE. */ - bool constSpecifier; - /*! Is the member volatile? default: FALSE. */ - bool volatileSpecifier; - /*! Is this a pure virtual member? default: FALSE */ - bool pureSpecifier; -}; - -typedef QListIterator ArgumentListIterator; - /*! \brief This struct is used to capture the tag file information * for an Entry. */ @@ -142,43 +55,6 @@ struct TagInfo QCString anchor; }; -struct Grouping -{ - enum GroupPri_t - { - GROUPING_LOWEST, - GROUPING_AUTO_WEAK = - GROUPING_LOWEST, //!< membership in group was defined via \@weakgroup - GROUPING_AUTO_ADD, //!< membership in group was defined via \@add[to]group - GROUPING_AUTO_DEF, //!< membership in group was defined via \@defgroup - GROUPING_AUTO_HIGHEST = GROUPING_AUTO_DEF, - GROUPING_INGROUP, //!< membership in group was defined by \@ingroup - GROUPING_HIGHEST = GROUPING_INGROUP - }; - - static const char *getGroupPriName( GroupPri_t priority ) - { - switch( priority ) - { - case GROUPING_AUTO_WEAK: - return "@weakgroup"; - case GROUPING_AUTO_ADD: - return "@addtogroup"; - case GROUPING_AUTO_DEF: - return "@defgroup"; - case GROUPING_INGROUP: - return "@ingroup"; - } - return "???"; - } - - Grouping( const char *gn, GroupPri_t p ) : groupname(gn), pri(p) {} - Grouping( const Grouping &g ) : groupname(g.groupname), pri(g.pri) {} - QCString groupname; //!< name of the group - GroupPri_t pri; //!< priority of this definition - -}; - /*! \brief Represents an unstructured piece of information, about an * entity found in the sources. * diff --git a/src/example.h b/src/example.h index 745045c..a780326 100644 --- a/src/example.h +++ b/src/example.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/filedef.cpp b/src/filedef.cpp index 52c5f0c..e25e04f 100644 --- a/src/filedef.cpp +++ b/src/filedef.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -36,6 +36,7 @@ #include "vhdldocgen.h" #include "debug.h" #include "layout.h" +#include "entry.h" //--------------------------------------------------------------------------- diff --git a/src/filedef.h b/src/filedef.h index 34b6424..08b8480 100644 --- a/src/filedef.h +++ b/src/filedef.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/filename.cpp b/src/filename.cpp index 73ca911..dddeeca 100644 --- a/src/filename.cpp +++ b/src/filename.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/filename.h b/src/filename.h index f1a563d..29e90c0 100644 --- a/src/filename.h +++ b/src/filename.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/filestorage.h b/src/filestorage.h index 17d4498..ddffeda 100644 --- a/src/filestorage.h +++ b/src/filestorage.h @@ -1,6 +1,6 @@ /****************************************************************************** * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/footer.html b/src/footer.html index d476078..c93cb56 100644 --- a/src/footer.html +++ b/src/footer.html @@ -13,4 +13,4 @@ $generatedby   - \ No newline at end of file + diff --git a/src/footer_html.h b/src/footer_html.h index adcf367..86a2e91 100644 --- a/src/footer_html.h +++ b/src/footer_html.h @@ -13,4 +13,4 @@ "\n" "\n" "\n" -"\n" \ No newline at end of file +"\n" diff --git a/src/formula.cpp b/src/formula.cpp index ff93951..adc1d42 100644 --- a/src/formula.cpp +++ b/src/formula.cpp @@ -1,7 +1,7 @@ /****************************************************************************** * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/formula.h b/src/formula.h index 79b9e7e..ca68e6e 100644 --- a/src/formula.h +++ b/src/formula.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/fortrancode.h b/src/fortrancode.h index d89d846..887fe65 100644 --- a/src/fortrancode.h +++ b/src/fortrancode.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/fortranscanner.h b/src/fortranscanner.h index 6557045..392a75d 100644 --- a/src/fortranscanner.h +++ b/src/fortranscanner.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/fortranscanner.l b/src/fortranscanner.l index a512647..036769a 100644 --- a/src/fortranscanner.l +++ b/src/fortranscanner.l @@ -64,9 +64,12 @@ #include "commentscan.h" #include "fortrancode.h" #include "pre.h" +#include "arguments.h" #define YY_NEVER_INTERACTIVE 1 +class Arguments; + enum ScanVar { V_IGNORE, V_VARIABLE, V_PARAMETER}; enum InterfaceType { IF_NONE, IF_SPECIFIC, IF_GENERIC, IF_ABSTRACT }; @@ -868,14 +871,16 @@ private { ";".*"\n" { currentModifiers = SymbolModifiers(); yy_pop_state(); // end variable declaration list docBlock.resize(0); - inputStringSemi =(const char*)(yytext+1); + inputStringSemi =(const char*)(QCString(" \n") + QCString(yytext+1)).data(); + yyLineNr--; pushBuffer(inputStringSemi); } <*>";".*"\n" { if (YY_START == Variable) REJECT; // Just be on the safe side if (YY_START == String) REJECT; // ";" ignored in strings if (YY_START == StrIgnore) REJECT; // ";" ignored in regular comments - inputStringSemi =(const char*)(yytext+1); + inputStringSemi =(const char*)(QCString(" \n") + QCString(yytext+1)).data(); + yyLineNr--; pushBuffer(inputStringSemi); } diff --git a/src/ftvhelp.cpp b/src/ftvhelp.cpp index a8f9de3..4951b03 100644 --- a/src/ftvhelp.cpp +++ b/src/ftvhelp.cpp @@ -1,7 +1,7 @@ /****************************************************************************** * ftvhelp.cpp,v 1.0 2000/09/06 16:09:00 * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/ftvhelp.h b/src/ftvhelp.h index 78e8b7b..89e9e62 100644 --- a/src/ftvhelp.h +++ b/src/ftvhelp.h @@ -1,6 +1,6 @@ /****************************************************************************** * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/groupdef.cpp b/src/groupdef.cpp index 8452aa2..60f5104 100644 --- a/src/groupdef.cpp +++ b/src/groupdef.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -36,6 +36,8 @@ #include "dot.h" #include "vhdldocgen.h" #include "layout.h" +#include "arguments.h" +#include "entry.h" //--------------------------------------------------------------------------- diff --git a/src/groupdef.h b/src/groupdef.h index 002b037..a55137f 100644 --- a/src/groupdef.h +++ b/src/groupdef.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -40,6 +40,7 @@ class PageDef; class DirDef; class DirList; class FTVHelp; +class Entry; class GroupDef : public Definition { diff --git a/src/htags.cpp b/src/htags.cpp index 036dcc9..caa4535 100644 --- a/src/htags.cpp +++ b/src/htags.cpp @@ -1,6 +1,6 @@ /****************************************************************************** * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/htags.h b/src/htags.h index cb6d58f..458adec 100644 --- a/src/htags.h +++ b/src/htags.h @@ -1,6 +1,6 @@ /****************************************************************************** * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/htmlattrib.h b/src/htmlattrib.h index b25489c..b391861 100644 --- a/src/htmlattrib.h +++ b/src/htmlattrib.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp index 70fa3f8..4c76be3 100644 --- a/src/htmldocvisitor.cpp +++ b/src/htmldocvisitor.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -954,7 +954,7 @@ void HtmlDocVisitor::visitPre(DocSimpleSect *s) { if (m_hide) return; forceEndParagraph(s); - m_t << "
    typeString() << "\">
    "; + m_t << "
    typeString() << "\">
    "; switch(s->type()) { case DocSimpleSect::See: @@ -995,7 +995,7 @@ void HtmlDocVisitor::visitPre(DocSimpleSect *s) // special case 1: user defined title if (s->type()!=DocSimpleSect::User && s->type()!=DocSimpleSect::Rcs) { - m_t << ":
    "; + m_t << ":
    "; } } diff --git a/src/htmldocvisitor.h b/src/htmldocvisitor.h index cf71e22..33d1177 100644 --- a/src/htmldocvisitor.h +++ b/src/htmldocvisitor.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp index c3921af..eac4a20 100644 --- a/src/htmlgen.cpp +++ b/src/htmlgen.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -615,6 +615,30 @@ static unsigned char open_a_png[81] = 0, 0, 0, 0,255, 0, 0, 0, 0 }; +static unsigned char bdwn_png[7*8] = +{ + 0, 0, 0,142, 0, 0, 0, + 0, 0, 0,142, 0, 0, 0, + 0, 0, 0,142, 0, 0, 0, + 142, 0, 0,142, 0, 0,142, + 142,142, 0,142, 0,142,142, + 142,142,142,142,142,142,142, + 0,142,142,142,142,142, 0, + 0, 0,142,142,142, 0, 0, +}; + +static unsigned char bdwn_a_png[7*8] = +{ + 0, 0, 0,255, 0, 0, 0, + 0, 0, 0,255, 0, 0, 0, + 0, 0, 0,255, 0, 0, 0, + 128, 0, 0,255, 0, 0,128, + 255,128, 0,255, 0,128,255, + 128,255,128,255,128,255,128, + 0,128,255,255,255,128, 0, + 0, 0,128,255,128, 0, 0, +}; + //------------------------------------------------------------------------ @@ -722,6 +746,7 @@ static ColoredImgDataItem colored_tab_data[] = { "doxygen.png", 104,31, doxygen_png, doxygen_a_png }, { "closed.png", 9, 9, closed_png, closed_a_png }, { "open.png", 9, 9, open_png, open_a_png }, + { "bdwn.png", 7, 8, bdwn_png, bdwn_a_png }, { 0, 0, 0, 0, 0 } }; @@ -928,6 +953,18 @@ static QCString substituteHtmlKeywords(const QCString &s,const char *title, { cssFile = "doxygen.css"; } + else + { + QFileInfo cssfi(cssFile); + if (cssfi.exists()) + { + cssFile = cssfi.fileName(); + } + else + { + cssFile = "doxygen.css"; + } + } if (timeStamp) { generatedBy = theTranslator->trGeneratedAt(dateToString(TRUE), Config_getString("PROJECT_NAME")); diff --git a/src/htmlgen.h b/src/htmlgen.h index b5d82da..dbbdc11 100644 --- a/src/htmlgen.h +++ b/src/htmlgen.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/htmlhelp.cpp b/src/htmlhelp.cpp index dd2311e..af06445 100644 --- a/src/htmlhelp.cpp +++ b/src/htmlhelp.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/htmlhelp.h b/src/htmlhelp.h index 8dafd15..ef5fb67 100644 --- a/src/htmlhelp.h +++ b/src/htmlhelp.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/image.cpp b/src/image.cpp index 04d5247..20fa868 100644 --- a/src/image.cpp +++ b/src/image.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/image.h b/src/image.h index 1728485..a73be0d 100644 --- a/src/image.h +++ b/src/image.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/index.cpp b/src/index.cpp index 68725aa..8f725d5 100644 --- a/src/index.cpp +++ b/src/index.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -2718,10 +2718,6 @@ static void writeSubPages(PageDef *pd) LayoutNavEntry *lne = LayoutDocManager::instance().rootNavEntry()->find(LayoutNavEntry::Pages); bool addToIndex = lne==0 || lne->visible(); //printf("Write subpages(%s #=%d)\n",pd->name().data(),pd->getSubPages() ? pd->getSubPages()->count() : 0 ); - if (addToIndex) - { - Doxygen::indexList.incContentsDepth(); - } PageSDict *subPages = pd->getSubPages(); if (subPages) { @@ -2737,18 +2733,29 @@ static void writeSubPages(PageDef *pd) pageTitle=subPage->title(); bool hasSubPages = subPage->hasSubPages(); + bool hasSections = subPage->hasSections(); if (addToIndex) { - Doxygen::indexList.addContentsItem(hasSubPages,pageTitle,subPage->getReference(),subPage->getOutputFileBase(),0,hasSubPages,TRUE); + Doxygen::indexList.addContentsItem(hasSubPages,pageTitle, + subPage->getReference(),subPage->getOutputFileBase(), + 0,hasSubPages,TRUE); + if (hasSections || hasSubPages) + { + Doxygen::indexList.incContentsDepth(); + } + if (hasSections) + { + subPage->addSectionsToIndex(); + } } writeSubPages(subPage); + if (addToIndex && (hasSections || hasSubPages)) + { + Doxygen::indexList.decContentsDepth(); + } } } - if (addToIndex) - { - Doxygen::indexList.decContentsDepth(); - } } static void writePageIndex(OutputList &ol) @@ -2810,12 +2817,20 @@ static void writePageIndex(OutputList &ol) 0, // anchor hasSubPages || hasSections, // separateIndex TRUE); // addToNavIndex + if (hasSections || hasSubPages) + { + Doxygen::indexList.incContentsDepth(); + } if (hasSections) { pd->addSectionsToIndex(); } } writeSubPages(pd); + if (addToIndex && (hasSections || hasSubPages)) + { + Doxygen::indexList.decContentsDepth(); + } ol.endIndexListItem(); } } @@ -2896,33 +2911,7 @@ void writeGraphInfo(OutputList &ol) ol.popGeneratorState(); } -static void writeGroupIndexItem(GroupDef *gd,MemberList *ml,const QCString &title) -{ - if (ml && ml->count()>0) - { - bool first=TRUE; - MemberDef *md=ml->first(); - while (md) - { - if (md->isDetailedSectionVisible(TRUE,FALSE)) - { - if (first) - { - first=FALSE; - Doxygen::indexList.addContentsItem(TRUE, convertToHtml(title,TRUE), gd->getReference(), gd->getOutputFileBase(), 0,TRUE,FALSE); - Doxygen::indexList.incContentsDepth(); - } - Doxygen::indexList.addContentsItem(FALSE,md->name(),md->getReference(),md->getOutputFileBase(),md->anchor(),FALSE,TRUE); - } - md=ml->next(); - } - if (!first) - { - Doxygen::indexList.decContentsDepth(); - } - } -} //---------------------------------------------------------------------------- /*! @@ -2930,8 +2919,8 @@ static void writeGroupIndexItem(GroupDef *gd,MemberList *ml,const QCString &titl */ static void writeGroupTreeNode(OutputList &ol, GroupDef *gd, int level, FTVHelp* ftv, bool addToIndex) { - bool fortranOpt = Config_getBool("OPTIMIZE_FOR_FORTRAN"); - bool vhdlOpt = Config_getBool("OPTIMIZE_OUTPUT_VHDL"); + //bool fortranOpt = Config_getBool("OPTIMIZE_FOR_FORTRAN"); + //bool vhdlOpt = Config_getBool("OPTIMIZE_OUTPUT_VHDL"); if (level>20) { warn(gd->getDefFileName(),gd->getDefLine(), @@ -2952,7 +2941,7 @@ static void writeGroupTreeNode(OutputList &ol, GroupDef *gd, int level, FTVHelp* bool hasSubGroups = gd->getSubGroups()->count()>0; bool hasSubPages = gd->getPages()->count()>0; int numSubItems = 0; - if ( Config_getBool("TOC_EXPAND")) + if (1 /*Config_getBool("TOC_EXPAND")*/) { QListIterator mli(gd->getMemberLists()); MemberList *ml; @@ -2966,7 +2955,8 @@ static void writeGroupTreeNode(OutputList &ol, GroupDef *gd, int level, FTVHelp* numSubItems += gd->getNamespaces()->count(); numSubItems += gd->getClasses()->count(); numSubItems += gd->getFiles()->count(); - numSubItems += gd->getExamples()->count(); + numSubItems += gd->getDirs()->count(); + numSubItems += gd->getPages()->count(); } bool isDir = hasSubGroups || hasSubPages || numSubItems>0; @@ -2978,7 +2968,7 @@ static void writeGroupTreeNode(OutputList &ol, GroupDef *gd, int level, FTVHelp* } if (ftv) { - ftv->addContentsItem(isDir,gd->groupTitle(),gd->getReference(),gd->getOutputFileBase(),0); + ftv->addContentsItem(hasSubGroups,gd->groupTitle(),gd->getReference(),gd->getOutputFileBase(),0); ftv->incContentsDepth(); } @@ -2997,133 +2987,128 @@ static void writeGroupTreeNode(OutputList &ol, GroupDef *gd, int level, FTVHelp* ol.docify(" [external]"); ol.endTypewriter(); } - - - // write pages - if (addToIndex) + + QListIterator eli(LayoutDocManager::instance().docEntries(LayoutDocManager::Group)); + LayoutDocEntry *lde; + for (eli.toFirst();(lde=eli.current());++eli) { - PageSDict::Iterator pli(*gd->getPages()); - PageDef *pd = 0; - for (pli.toFirst();(pd=pli.current());++pli) + if (lde->kind()==LayoutDocEntry::MemberDef && addToIndex) + { + LayoutDocEntryMemberDef *lmd = (LayoutDocEntryMemberDef*)lde; + MemberList *ml = gd->getMemberList(lmd->type); + if (ml) + { + MemberListIterator mi(*ml); + MemberDef *md; + for (mi.toFirst();(md=mi.current());++mi) + { + if (md->name().find('@')==-1) + { + Doxygen::indexList.addContentsItem(FALSE, + md->name(),md->getReference(), + md->getOutputFileBase(),md->anchor(),FALSE); + } + } + } + } + else if (lde->kind()==LayoutDocEntry::GroupClasses && addToIndex) { - SectionInfo *si=0; - if (!pd->name().isEmpty()) si=Doxygen::sectionDict[pd->name()]; - Doxygen::indexList.addContentsItem(FALSE, - convertToHtml(pd->title(),TRUE), - gd->getReference(), - gd->getOutputFileBase(), - si ? si->label.data() : 0, - FALSE, - TRUE); // addToNavIndex + ClassSDict::Iterator it(*gd->getClasses()); + ClassDef *cd; + for (;(cd=it.current());++it) + { + Doxygen::indexList.addContentsItem(FALSE, + cd->localName(),cd->getReference(), + cd->getOutputFileBase(),cd->anchor(),FALSE,FALSE); + } } - } - - // write subgroups - if (hasSubGroups) - { - startIndexHierarchy(ol,level+1); - if (Config_getBool("SORT_GROUP_NAMES")) gd->sortSubGroups(); - QListIterator gli(*gd->getSubGroups()); - GroupDef *subgd = 0; - for (gli.toFirst();(subgd=gli.current());++gli) + else if (lde->kind()==LayoutDocEntry::GroupNamespaces && addToIndex) { - writeGroupTreeNode(ol,subgd,level+1,ftv,addToIndex); + NamespaceSDict::Iterator it(*gd->getNamespaces()); + NamespaceDef *nd; + for (;(nd=it.current());++it) + { + Doxygen::indexList.addContentsItem(FALSE, + nd->localName(),nd->getReference(), + nd->getOutputFileBase(),0,FALSE,FALSE); + } } - endIndexHierarchy(ol,level+1); - } - - - if (Config_getBool("TOC_EXPAND") && addToIndex) - { - writeGroupIndexItem(gd,gd->getMemberList(MemberList::docDefineMembers), - theTranslator->trDefines()); - writeGroupIndexItem(gd,gd->getMemberList(MemberList::docTypedefMembers), - theTranslator->trTypedefs()); - writeGroupIndexItem(gd,gd->getMemberList(MemberList::docEnumMembers), - theTranslator->trEnumerations()); - writeGroupIndexItem(gd,gd->getMemberList(MemberList::docFuncMembers), - fortranOpt ? theTranslator->trSubprograms() : - vhdlOpt ? VhdlDocGen::trFunctionAndProc() : - theTranslator->trFunctions() - ); - writeGroupIndexItem(gd,gd->getMemberList(MemberList::docVarMembers), - theTranslator->trVariables()); - writeGroupIndexItem(gd,gd->getMemberList(MemberList::docProtoMembers), - theTranslator->trFuncProtos()); - - // write namespaces - NamespaceSDict *namespaceSDict=gd->getNamespaces(); - if (namespaceSDict->count()>0) + else if (lde->kind()==LayoutDocEntry::GroupFiles && addToIndex) { - Doxygen::indexList.addContentsItem(TRUE,convertToHtml(fortranOpt?theTranslator->trModules():theTranslator->trNamespaces(),TRUE),gd->getReference(), gd->getOutputFileBase(), 0); - Doxygen::indexList.incContentsDepth(); - - NamespaceSDict::Iterator ni(*namespaceSDict); - NamespaceDef *nsd; - for (ni.toFirst();(nsd=ni.current());++ni) + QListIterator it(*gd->getFiles()); + FileDef *fd; + for (;(fd=it.current());++it) { - Doxygen::indexList.addContentsItem(FALSE, convertToHtml(nsd->name(),TRUE), nsd->getReference(), nsd->getOutputFileBase(), 0); + Doxygen::indexList.addContentsItem(FALSE, + fd->displayName(),fd->getReference(), + fd->getOutputFileBase(),0,FALSE,FALSE); } - Doxygen::indexList.decContentsDepth(); } - - // write classes - if (gd->getClasses()->count()>0) + else if (lde->kind()==LayoutDocEntry::GroupDirs && addToIndex) { - Doxygen::indexList.addContentsItem(TRUE,convertToHtml(fortranOpt?theTranslator->trDataTypes():theTranslator->trClasses(),TRUE), gd->getReference(), gd->getOutputFileBase(), 0); - Doxygen::indexList.incContentsDepth(); - - ClassDef *cd; - ClassSDict::Iterator cdi(*gd->getClasses()); - for (cdi.toFirst();(cd=cdi.current());++cdi) + static bool showDirs = Config_getBool("SHOW_DIRECTORIES"); + if (showDirs) { - if (cd->isLinkable()) + QListIterator it(*gd->getDirs()); + DirDef *dd; + for (;(dd=it.current());++it) { - //printf("node: Has children %s\n",cd->name().data()); - Doxygen::indexList.addContentsItem(FALSE,cd->displayName(),cd->getReference(),cd->getOutputFileBase(),cd->anchor()); + Doxygen::indexList.addContentsItem(FALSE, + dd->shortName(),dd->getReference(), + dd->getOutputFileBase(),0,FALSE,FALSE); } } - - //writeClassTree(gd->classSDict,1); - Doxygen::indexList.decContentsDepth(); } - - // write file list - FileList *fileList=gd->getFiles(); - if (fileList->count()>0) + else if (lde->kind()==LayoutDocEntry::GroupPageDocs && addToIndex) { - Doxygen::indexList.addContentsItem(TRUE, - theTranslator->trFile(TRUE,FALSE), - gd->getReference(), - gd->getOutputFileBase(), 0); - Doxygen::indexList.incContentsDepth(); - - FileDef *fd=fileList->first(); - while (fd) + SDict::Iterator it(*gd->getPages()); + PageDef *pd; + for (;(pd=it.current());++it) { - Doxygen::indexList.addContentsItem(FALSE, convertToHtml(fd->name(),TRUE),fd->getReference(), fd->getOutputFileBase(), 0); - fd=fileList->next(); + SectionInfo *si=0; + if (!pd->name().isEmpty()) si=Doxygen::sectionDict[pd->name()]; + bool hasSubPages = pd->hasSubPages(); + bool hasSections = pd->hasSections(); + Doxygen::indexList.addContentsItem( + hasSubPages || hasSections, + convertToHtml(pd->title(),TRUE), + gd->getReference(), + gd->getOutputFileBase(), + si ? si->label.data() : 0, + hasSubPages || hasSections, + TRUE); // addToNavIndex + if (hasSections || hasSubPages) + { + Doxygen::indexList.incContentsDepth(); + } + if (hasSections) + { + pd->addSectionsToIndex(); + } + writeSubPages(pd); + if (hasSections || hasSubPages) + { + Doxygen::indexList.decContentsDepth(); + } } - Doxygen::indexList.decContentsDepth(); } - - // write examples - if (gd->getExamples()->count()>0) + else if (lde->kind()==LayoutDocEntry::GroupNestedGroups) { - Doxygen::indexList.addContentsItem(TRUE, convertToHtml(theTranslator->trExamples(),TRUE),gd->getReference(), gd->getOutputFileBase(), 0); - Doxygen::indexList.incContentsDepth(); - - PageSDict::Iterator eli(*(gd->getExamples())); - PageDef *pd=eli.toFirst(); - while (pd) + if (gd->getSubGroups()->count()>0) { - Doxygen::indexList.addContentsItem(FALSE,pd->name(),pd->getReference(),pd->getOutputFileBase(),0); - pd=++eli; + startIndexHierarchy(ol,level+1); + if (Config_getBool("SORT_GROUP_NAMES")) gd->sortSubGroups(); + QListIterator gli(*gd->getSubGroups()); + GroupDef *subgd = 0; + for (gli.toFirst();(subgd=gli.current());++gli) + { + writeGroupTreeNode(ol,subgd,level+1,ftv,addToIndex); + } + endIndexHierarchy(ol,level+1); } - - Doxygen::indexList.decContentsDepth(); } } + ol.endIndexListItem(); if (addToIndex) @@ -3175,7 +3160,7 @@ static void writeDirTreeNode(OutputList &ol, DirDef *dd, int level, FTVHelp* ftv return; } - static bool tocExpand = Config_getBool("TOC_EXPAND"); + static bool tocExpand = TRUE; //Config_getBool("TOC_EXPAND"); bool isDir = dd->subDirs().count()>0 || // there are subdirs (tocExpand && // or toc expand and dd->getFiles() && dd->getFiles()->count()>0 // there are files diff --git a/src/index.h b/src/index.h index 9288f5d..54f7f35 100644 --- a/src/index.h +++ b/src/index.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/jquery_fx.js b/src/jquery_fx.js index 4fd051a..d373e6a 100644 --- a/src/jquery_fx.js +++ b/src/jquery_fx.js @@ -43,4 +43,4 @@ a*2-e,0,d,e)*0.5+d*0.5+b}})}(jQuery); */ (function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&& this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); -; \ No newline at end of file +; diff --git a/src/language.cpp b/src/language.cpp index e893c3f..3afa5b9 100644 --- a/src/language.cpp +++ b/src/language.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/language.h b/src/language.h index e134b20..17f5800 100644 --- a/src/language.h +++ b/src/language.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/latexdocvisitor.cpp b/src/latexdocvisitor.cpp index 3dab3ce..e060da1 100644 --- a/src/latexdocvisitor.cpp +++ b/src/latexdocvisitor.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -915,7 +915,7 @@ void LatexDocVisitor::visitPost(DocHtmlRow *) it.data()--; if (it.data () <= 0) { - m_rowspanIndices.remove (it); + m_rowspanIndices.remove(it); } else if (0 < it.data() - col) { @@ -940,7 +940,7 @@ void LatexDocVisitor::visitPre(DocHtmlCell *c) m_currentColumn++; //Skip columns that span from above. QMap::Iterator it = m_rowspanIndices.find(m_currentColumn); - while (0 < it.data() && it != m_rowspanIndices.end()) + while (it!=m_rowspanIndices.end() && 0 m_enabled; QCString m_langExt; - QMap m_rowspanIndices; - int m_currentColumn; - bool m_inRowspan; + QMap m_rowspanIndices; + int m_currentColumn; + bool m_inRowspan; }; #endif diff --git a/src/latexgen.cpp b/src/latexgen.cpp index 65ed16b..cb36b20 100644 --- a/src/latexgen.cpp +++ b/src/latexgen.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -104,13 +104,7 @@ static void writeLatexMakefile() << "\tdvips -o refman.ps refman.dvi" << endl << endl; t << "refman.pdf: refman.ps" << endl; -#if defined(_MSC_VER) - // ps2pdf.bat does not work properly from a makefile using GNU make! - t << "\tgswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite " - "-sOutputFile=refman.pdf -c save pop -f refman.ps" << endl << endl; -#else t << "\tps2pdf refman.ps refman.pdf" << endl << endl; -#endif t << "refman.dvi: clean refman.tex doxygen.sty" << endl << "\techo \"Running latex...\"" << endl << "\t" << latex_command << " refman.tex" << endl @@ -121,7 +115,7 @@ static void writeLatexMakefile() t << "\techo \"Running bibtex...\"" << endl; t << "\tbibtex refman" << endl; t << "\techo \"Rerunning latex....\"" << endl; - t << "\tpdflatex refman" << endl; + t << "\t" << latex_command << " refman.tex" << endl; } t << "\techo \"Rerunning latex....\"" << endl << "\t" << latex_command << " refman.tex" << endl @@ -136,13 +130,7 @@ static void writeLatexMakefile() << "\tpsnup -2 refman.ps >refman_2on1.ps" << endl << endl << "refman_2on1.pdf: refman_2on1.ps" << endl -#if defined(_MSC_VER) - // ps2pdf.bat does not work properly from a makefile using GNU make! - << "\tgswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite " - "-sOutputFile=refman_2on1.pdf -c save pop -f refman_2on1.ps" << endl; -#else << "\tps2pdf refman_2on1.ps refman_2on1.pdf" << endl; -#endif } else // use pdflatex for higher quality output { @@ -168,38 +156,64 @@ static void writeLatexMakefile() t << endl << "clean:" << endl -#if defined(_MSC_VER) - << "\tdel /s/y " -#else << "\trm -f " -#endif << "*.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf" << endl; } -static void writeMakePdfBat() +static void writeMakeBat() { #if defined(_MSC_VER) - if (Config_getBool("USE_PDFLATEX")) // use plain old latex - { - bool generateBib = !Doxygen::citeDict->isEmpty(); - QCString mkidx_command = Config_getString("MAKEINDEX_CMD_NAME"); - QCString dir=Config_getString("LATEX_OUTPUT"); - QCString fileName=dir+"/makepdf.bat"; - QFile file(fileName); - if (!file.open(IO_WriteOnly)) + QCString dir=Config_getString("LATEX_OUTPUT"); + QCString fileName=dir+"/make.bat"; + QCString latex_command = Config_getString("LATEX_CMD_NAME"); + QCString mkidx_command = Config_getString("MAKEINDEX_CMD_NAME"); + QFile file(fileName); + bool generateBib = !Doxygen::citeDict->isEmpty(); + if (!file.open(IO_WriteOnly)) + { + err("Could not open file %s for writing\n",fileName.data()); + exit(1); + } + FTextStream t(&file); + t << "del /s /f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf\n\n"; + if (!Config_getBool("USE_PDFLATEX")) // use plain old latex + { + t << latex_command << " refman.tex\n"; + t << "echo ----\n"; + t << mkidx_command << " refman.idx\n"; + if (generateBib) { - err("Could not open file %s for writing\n",fileName.data()); - exit(1); + t << "bibtex refman\n"; + t << "echo ----\n"; + t << latex_command << " refman.tex\n"; } - FTextStream t(&file); - t << "del /s /f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf\n\n"; + t << "setlocal enabledelayedexpansion\n"; + t << "set count=5\n"; + t << ":repeat\n"; + t << "set content=X\n"; + t << "for /F \"tokens=*\" %%T in ( 'findstr /C:\"Rerun LaTeX\" refman.log' ) do set content=\"%%~T\"\n"; + t << "if !content! == X for /F \"tokens=*\" %%T in ( 'findstr /C:\"Rerun to get cross-references right\" refman.log' ) do set content=\"%%~T\"\n"; + t << "if !content! == X goto :skip\n"; + t << "set /a count-=1\n"; + t << "if !count! EQU 0 goto :skip\n\n"; + t << "echo ----\n"; + t << latex_command << " refman.tex\n"; + t << "goto :repeat\n"; + t << ":skip\n"; + t << "endlocal\n"; + t << "dvips -o refman.ps refman.dvi\n"; + t << "gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite " + "-sOutputFile=refman.pdf -c save pop -f refman.ps\n"; + } + else // use pdflatex + { t << "pdflatex refman\n"; t << "echo ----\n"; t << mkidx_command << " refman.idx\n"; if (generateBib) { - t << "\tbibtex refman" << endl; - t << "\tpdflatex refman" << endl; + t << "bibtex refman" << endl; + t << "pdflatex refman" << endl; } t << "echo ----\n"; t << "pdflatex refman\n\n"; @@ -233,7 +247,7 @@ void LatexGenerator::init() } writeLatexMakefile(); - writeMakePdfBat(); + writeMakeBat(); createSubDirs(d); } @@ -249,14 +263,16 @@ static void writeDefaultHeaderPart1(FTextStream &t) paperName="a4"; else paperName=paperType; - t << "\\documentclass[" << paperName << "paper"; - //if (Config_getBool("PDF_HYPERLINKS")) t << ",ps2pdf"; - t << "]{"; + t << "\\documentclass"; + //"[" << paperName << "paper"; + //t << "]"; + t << "{"; if (Config_getBool("COMPACT_LATEX")) t << "article"; else t << "book"; t << "}\n"; // the next package is obsolete (see bug 563698) //if (paperType=="a4wide") t << "\\usepackage{a4wide}\n"; t << + "\\usepackage["<trGeneratedAt( dateToString(TRUE), projectName ); t << " doxygen"; //t << " " << theTranslator->trWrittenBy() << " "; - //t << "Dimitri van Heesch \\copyright~1997-2011"; + //t << "Dimitri van Heesch \\copyright~1997-2012"; writeDefaultStyleSheetPart2(t); t << theTranslator->trGeneratedAt( dateToString(TRUE), projectName ); t << " doxygen"; //t << " << theTranslator->trWrittenBy() << " "; - //t << "Dimitri van Heesch \\copyright~1997-2011"; + //t << "Dimitri van Heesch \\copyright~1997-2012"; writeDefaultStyleSheetPart3(t); } @@ -2561,7 +2577,7 @@ void LatexGenerator::lineBreak(const char *) } else { - t << "\\*\n"; + t << "\\\\*\n"; } } diff --git a/src/latexgen.h b/src/latexgen.h index 91b4740..36246fd 100644 --- a/src/latexgen.h +++ b/src/latexgen.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/layout.cpp b/src/layout.cpp index 1fa6a41..b4a94f2 100644 --- a/src/layout.cpp +++ b/src/layout.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/layout.h b/src/layout.h index 0b26690..e0ea4ca 100644 --- a/src/layout.h +++ b/src/layout.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/layout_default.h b/src/layout_default.h index 7ed1629..6a1ff8f 100644 --- a/src/layout_default.h +++ b/src/layout_default.h @@ -134,11 +134,11 @@ " \n" " \n" " \n" -" \n" -" \n" -" \n" " \n" +" \n" " \n" +" \n" +" \n" " \n" " \n" " \n" diff --git a/src/layout_default.xml b/src/layout_default.xml index 5b60278..7f62755 100644 --- a/src/layout_default.xml +++ b/src/layout_default.xml @@ -134,11 +134,11 @@ - - - + + + diff --git a/src/libdoxycfg.pro.in b/src/libdoxycfg.pro.in index 2adead6..800c373 100644 --- a/src/libdoxycfg.pro.in +++ b/src/libdoxycfg.pro.in @@ -1,7 +1,7 @@ # # # -# Copyright (C) 1997-2011 by Dimitri van Heesch. +# Copyright (C) 1997-2012 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 diff --git a/src/libdoxycfg.t b/src/libdoxycfg.t deleted file mode 100644 index 6682956..0000000 --- a/src/libdoxycfg.t +++ /dev/null @@ -1,52 +0,0 @@ -# -# -# -# Copyright (C) 1997-2011 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. -#! -#! doxygen.t: This is a custom template for building Doxygen -#! -#$ IncludeTemplate("lib.t"); - -LEX = flex -YACC = bison - -#${ -sub GenerateDep { - my($obj,$src,$dep) = @_; - my(@objv,$srcv,$i,$s,$o,$d,$c); - @objv = split(/\s+/,$obj); - @srcv = split(/\s+/,$src); - for $i ( 0..$#objv ) { - $s = $srcv[$i]; - $o = $objv[$i]; - next if $s eq ""; - $text .= $o . ": " . $s; - $text .= " ${linebreak}\n\t\t" . $dep if $dep ne ""; - if ( $moc_output{$s} ne "" ) { - $text .= " ${linebreak}\n\t\t" . $moc_output{$s}; - } - $d = &make_depend($s); - $text .= " ${linebreak}\n\t\t" . $d if $d ne ""; - $text .= "\n"; - } - chop $text; -} -#$} - -#################### - -#$ GenerateDep("config.cpp","config.l"); - $(LEX) -PconfigYY -t config.l >config.cpp - -configoptions.cpp: config.xml - python configgen.py config.xml >configoptions.cpp - diff --git a/src/libdoxycfg.t.in b/src/libdoxycfg.t.in new file mode 100644 index 0000000..29b1623 --- /dev/null +++ b/src/libdoxycfg.t.in @@ -0,0 +1,52 @@ +# +# +# +# Copyright (C) 1997-2012 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. +#! +#! doxygen.t: This is a custom template for building Doxygen +#! +#$ IncludeTemplate("lib.t"); + +LEX = %%FLEX%% +YACC = %%BISON%% + +#${ +sub GenerateDep { + my($obj,$src,$dep) = @_; + my(@objv,$srcv,$i,$s,$o,$d,$c); + @objv = split(/\s+/,$obj); + @srcv = split(/\s+/,$src); + for $i ( 0..$#objv ) { + $s = $srcv[$i]; + $o = $objv[$i]; + next if $s eq ""; + $text .= $o . ": " . $s; + $text .= " ${linebreak}\n\t\t" . $dep if $dep ne ""; + if ( $moc_output{$s} ne "" ) { + $text .= " ${linebreak}\n\t\t" . $moc_output{$s}; + } + $d = &make_depend($s); + $text .= " ${linebreak}\n\t\t" . $d if $d ne ""; + $text .= "\n"; + } + chop $text; +} +#$} + +#################### + +#$ GenerateDep("config.cpp","config.l"); + $(LEX) -PconfigYY -t config.l >config.cpp + +configoptions.cpp: config.xml + python configgen.py config.xml >configoptions.cpp + diff --git a/src/libdoxygen.pro.in b/src/libdoxygen.pro.in index 1446a17..b6c7dec 100644 --- a/src/libdoxygen.pro.in +++ b/src/libdoxygen.pro.in @@ -1,7 +1,7 @@ # # # -# Copyright (C) 1997-2011 by Dimitri van Heesch. +# Copyright (C) 1997-2012 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 @@ -16,7 +16,8 @@ TEMPLATE = libdoxygen.t CONFIG = console warn_on staticlib $extraopts -HEADERS = bufstr.h \ +HEADERS = arguments.h \ + bufstr.h \ cite.h \ classdef.h \ classlist.h \ @@ -158,6 +159,7 @@ HEADERS = bufstr.h \ translator_ua.h \ translator_vi.h \ translator_za.h \ + types.h \ unistd.h \ util.h \ version.h \ @@ -167,7 +169,8 @@ HEADERS = bufstr.h \ xmldocvisitor.h \ xmlgen.h -SOURCES = ce_lex.cpp \ +SOURCES = arguments.cpp \ + ce_lex.cpp \ ce_parse.cpp \ cite.cpp \ classdef.cpp \ diff --git a/src/libdoxygen.t b/src/libdoxygen.t deleted file mode 100644 index 200d39b..0000000 --- a/src/libdoxygen.t +++ /dev/null @@ -1,177 +0,0 @@ -# -# -# -# Copyright (C) 1997-2011 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. -#! -#! doxygen.t: This is a custom template for building Doxygen -#! -#$ IncludeTemplate("lib.t"); - -LEX = flex -YACC = bison -INCBUFSIZE = $(PERL) increasebuffer.pl - -#${ -sub GenerateDep { - my($obj,$src,$dep) = @_; - my(@objv,$srcv,$i,$s,$o,$d,$c); - @objv = split(/\s+/,$obj); - @srcv = split(/\s+/,$src); - for $i ( 0..$#objv ) { - $s = $srcv[$i]; - $o = $objv[$i]; - next if $s eq ""; - $text .= $o . ": " . $s; - $text .= " ${linebreak}\n\t\t" . $dep if $dep ne ""; - if ( $moc_output{$s} ne "" ) { - $text .= " ${linebreak}\n\t\t" . $moc_output{$s}; - } - $d = &make_depend($s); - $text .= " ${linebreak}\n\t\t" . $d if $d ne ""; - $text .= "\n"; - } - chop $text; -} -#$} - -#################### - -#$ GenerateDep("scanner.cpp","scanner.l"); - $(LEX) -PscanYY -t scanner.l | $(INCBUFSIZE) >scanner.cpp - -#$ GenerateDep("code.cpp","code.l"); - $(LEX) -PcodeYY -t code.l | $(INCBUFSIZE) >code.cpp - -#$ GenerateDep("pyscanner.cpp","pyscanner.l"); - $(LEX) -PpyscanYY -t pyscanner.l | $(INCBUFSIZE) >pyscanner.cpp - -#$ GenerateDep("pycode.cpp","pycode.l"); - $(LEX) -PpycodeYY -t pycode.l | $(INCBUFSIZE) >pycode.cpp - -#$ GenerateDep("fortranscanner.cpp","fortranscanner.l"); - $(LEX) -i -PfscanYY -t fortranscanner.l | $(INCBUFSIZE) >fortranscanner.cpp - -#$ GenerateDep("fortrancode.cpp","fortrancode.l"); - $(LEX) -i -PfcodeYY -t fortrancode.l | $(INCBUFSIZE) >fortrancode.cpp - -#$ GenerateDep("vhdlcode.cpp","vhdlcode.l"); - $(LEX) -i -PvhdlcodeYY -t vhdlcode.l | $(INCBUFSIZE) >vhdlcode.cpp - -#$ GenerateDep("tclscanner.cpp","tclscanner.l"); - $(LEX) -i -PtclscanYY -t tclscanner.l | $(INCBUFSIZE) >tclscanner.cpp - -#$ GenerateDep("pre.cpp","pre.l"); - $(LEX) -PpreYY -t pre.l | $(INCBUFSIZE) >pre.cpp - -#$ GenerateDep("declinfo.cpp","declinfo.l"); - $(LEX) -PdeclinfoYY -t declinfo.l | $(INCBUFSIZE) >declinfo.cpp - -#$ GenerateDep("defargs.cpp","defargs.l"); - $(LEX) -PdefargsYY -t defargs.l | $(INCBUFSIZE) >defargs.cpp - -#$ GenerateDep("doctokenizer.cpp","doctokenizer.l"); - $(LEX) -PdoctokenizerYY -t doctokenizer.l | $(INCBUFSIZE) >doctokenizer.cpp - -#$ GenerateDep("commentcnv.cpp","commentcnv.l"); - $(LEX) -PcommentcnvYY -t commentcnv.l | $(INCBUFSIZE) >commentcnv.cpp - -#$ GenerateDep("commentscan.cpp","commentscan.l"); - $(LEX) -PcommentScanYY -t commentscan.l | $(INCBUFSIZE) >commentscan.cpp - -#$ GenerateDep("ce_lex.cpp","constexp.l","ce_parse.h"); - $(LEX) -PcppExpYY -t constexp.l | $(INCBUFSIZE) >ce_lex.cpp - -#$ GenerateDep("ce_parse.cpp","constexp.y"); - $(YACC) -l -p cppExpYY constexp.y -o ce_parse.cpp - -#$ GenerateDep("ce_parse.h","constexp.y"); - $(YACC) -l -d -p cppExpYY constexp.y -o ce_parse.c - -rm ce_parse.c - -#$ GenerateDep("vhdlscanner.cpp","vhdlscanner.l","vhdlparser.h"); - $(LEX) -i -PvhdlScanYY -t vhdlscanner.l | $(INCBUFSIZE) >vhdlscanner.cpp - -#$ GenerateDep("vhdlparser.cpp","vhdlparser.y"); - $(YACC) -l -p vhdlScanYY vhdlparser.y -o vhdlparser.cpp - -#$ GenerateDep("vhdlparser.h","vhdlparser.y"); - $(YACC) -l -d -p vhdlScanYY vhdlparser.y -o vhdlparser.c - -rm vhdlparser.c - -#$ GenerateDep("layout.cpp","layout_default.h"); - -TO_C_CMD=sed -e "s/\\\\/\\\\\\\\/g" -e "s/\"/\\\\\"/g" -e "s/^/\"/g" -e "s/$$/\\\\n\"/g" - -index_xsd.h: index.xsd - cat index.xsd | $(TO_C_CMD) >index_xsd.h - -compound_xsd.h: compound.xsd - cat compound.xsd | $(TO_C_CMD) >compound_xsd.h - -layout_default.h: layout_default.xml - cat layout_default.xml | $(TO_C_CMD) >layout_default.h - -header_html.h: header.html - cat header.html | $(TO_C_CMD) >header_html.h - -footer_html.h: footer.html - cat footer.html | $(TO_C_CMD) >footer_html.h - -search_functions_php.h: search_functions.php - cat search_functions.php | $(TO_C_CMD) >search_functions_php.h - -search_opensearch_php.h: search_opensearch.php - cat search_opensearch.php | $(TO_C_CMD) >search_opensearch_php.h - -search_js.h: search.js - cat search.js | $(TO_C_CMD) >search_js.h - -search_css.h: search.css - cat search.css | $(TO_C_CMD) >search_css.h - -doxygen_css.h: doxygen.css - cat doxygen.css | $(TO_C_CMD) >doxygen_css.h - -navtree_js.h: navtree.js - cat navtree.js | $(TO_C_CMD) >navtree_js.h - -navindex_js.h: navindex.js - cat navindex.js | $(TO_C_CMD) >navindex_js.h - -resize_js.h: resize.js - cat resize.js | $(TO_C_CMD) >resize_js.h - -jquery_js.h: jquery.js - cat jquery.js | $(TO_C_CMD) >jquery_js.h - -jquery_ui_js.h: jquery_ui.js - cat jquery_ui.js | $(TO_C_CMD) >jquery_ui_js.h - -jquery_fx_js.h: jquery_fx.js - cat jquery_fx.js | $(TO_C_CMD) >jquery_fx_js.h - -sizzle_js.h: sizzle.js - cat sizzle.js | $(TO_C_CMD) >sizzle_js.h - -navtree_css.h: navtree.css - cat navtree.css | $(TO_C_CMD) >navtree_css.h - -svgpan_js.h: svgpan.js - cat svgpan.js | $(TO_C_CMD) >svgpan_js.h - -doxygen_bst.h: doxygen.bst - cat doxygen.bst | $(TO_C_CMD) >doxygen_bst.h - -bib2xhtml.h: bib2xhtml.pl - cat bib2xhtml.pl | $(TO_C_CMD) >bib2xhtml.h - - diff --git a/src/libdoxygen.t.in b/src/libdoxygen.t.in new file mode 100644 index 0000000..accf5cf --- /dev/null +++ b/src/libdoxygen.t.in @@ -0,0 +1,177 @@ +# +# +# +# Copyright (C) 1997-2012 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. +#! +#! doxygen.t: This is a custom template for building Doxygen +#! +#$ IncludeTemplate("lib.t"); + +LEX = %%FLEX%% +YACC = %%BISON%% +INCBUFSIZE = $(PERL) increasebuffer.pl + +#${ +sub GenerateDep { + my($obj,$src,$dep) = @_; + my(@objv,$srcv,$i,$s,$o,$d,$c); + @objv = split(/\s+/,$obj); + @srcv = split(/\s+/,$src); + for $i ( 0..$#objv ) { + $s = $srcv[$i]; + $o = $objv[$i]; + next if $s eq ""; + $text .= $o . ": " . $s; + $text .= " ${linebreak}\n\t\t" . $dep if $dep ne ""; + if ( $moc_output{$s} ne "" ) { + $text .= " ${linebreak}\n\t\t" . $moc_output{$s}; + } + $d = &make_depend($s); + $text .= " ${linebreak}\n\t\t" . $d if $d ne ""; + $text .= "\n"; + } + chop $text; +} +#$} + +#################### + +#$ GenerateDep("scanner.cpp","scanner.l"); + $(LEX) -PscanYY -t scanner.l | $(INCBUFSIZE) >scanner.cpp + +#$ GenerateDep("code.cpp","code.l"); + $(LEX) -PcodeYY -t code.l | $(INCBUFSIZE) >code.cpp + +#$ GenerateDep("pyscanner.cpp","pyscanner.l"); + $(LEX) -PpyscanYY -t pyscanner.l | $(INCBUFSIZE) >pyscanner.cpp + +#$ GenerateDep("pycode.cpp","pycode.l"); + $(LEX) -PpycodeYY -t pycode.l | $(INCBUFSIZE) >pycode.cpp + +#$ GenerateDep("fortranscanner.cpp","fortranscanner.l"); + $(LEX) -i -PfscanYY -t fortranscanner.l | $(INCBUFSIZE) >fortranscanner.cpp + +#$ GenerateDep("fortrancode.cpp","fortrancode.l"); + $(LEX) -i -PfcodeYY -t fortrancode.l | $(INCBUFSIZE) >fortrancode.cpp + +#$ GenerateDep("vhdlcode.cpp","vhdlcode.l"); + $(LEX) -i -PvhdlcodeYY -t vhdlcode.l | $(INCBUFSIZE) >vhdlcode.cpp + +#$ GenerateDep("tclscanner.cpp","tclscanner.l"); + $(LEX) -i -PtclscanYY -t tclscanner.l | $(INCBUFSIZE) >tclscanner.cpp + +#$ GenerateDep("pre.cpp","pre.l"); + $(LEX) -PpreYY -t pre.l | $(INCBUFSIZE) >pre.cpp + +#$ GenerateDep("declinfo.cpp","declinfo.l"); + $(LEX) -PdeclinfoYY -t declinfo.l | $(INCBUFSIZE) >declinfo.cpp + +#$ GenerateDep("defargs.cpp","defargs.l"); + $(LEX) -PdefargsYY -t defargs.l | $(INCBUFSIZE) >defargs.cpp + +#$ GenerateDep("doctokenizer.cpp","doctokenizer.l"); + $(LEX) -PdoctokenizerYY -t doctokenizer.l | $(INCBUFSIZE) >doctokenizer.cpp + +#$ GenerateDep("commentcnv.cpp","commentcnv.l"); + $(LEX) -PcommentcnvYY -t commentcnv.l | $(INCBUFSIZE) >commentcnv.cpp + +#$ GenerateDep("commentscan.cpp","commentscan.l"); + $(LEX) -PcommentScanYY -t commentscan.l | $(INCBUFSIZE) >commentscan.cpp + +#$ GenerateDep("ce_lex.cpp","constexp.l","ce_parse.h"); + $(LEX) -PcppExpYY -t constexp.l | $(INCBUFSIZE) >ce_lex.cpp + +#$ GenerateDep("ce_parse.cpp","constexp.y"); + $(YACC) -l -p cppExpYY constexp.y -o ce_parse.cpp + +#$ GenerateDep("ce_parse.h","constexp.y"); + $(YACC) -l -d -p cppExpYY constexp.y -o ce_parse.c + -rm ce_parse.c + +#$ GenerateDep("vhdlscanner.cpp","vhdlscanner.l","vhdlparser.h"); + $(LEX) -i -PvhdlScanYY -t vhdlscanner.l | $(INCBUFSIZE) >vhdlscanner.cpp + +#$ GenerateDep("vhdlparser.cpp","vhdlparser.y"); + $(YACC) -l -p vhdlScanYY vhdlparser.y -o vhdlparser.cpp + +#$ GenerateDep("vhdlparser.h","vhdlparser.y"); + $(YACC) -l -d -p vhdlScanYY vhdlparser.y -o vhdlparser.c + -rm vhdlparser.c + +#$ GenerateDep("layout.cpp","layout_default.h"); + +TO_C_CMD=sed -e "s/\\\\/\\\\\\\\/g" -e "s/\"/\\\\\"/g" -e "s/^/\"/g" -e "s/$$/\\\\n\"/g" + +index_xsd.h: index.xsd + cat index.xsd | $(TO_C_CMD) >index_xsd.h + +compound_xsd.h: compound.xsd + cat compound.xsd | $(TO_C_CMD) >compound_xsd.h + +layout_default.h: layout_default.xml + cat layout_default.xml | $(TO_C_CMD) >layout_default.h + +header_html.h: header.html + cat header.html | $(TO_C_CMD) >header_html.h + +footer_html.h: footer.html + cat footer.html | $(TO_C_CMD) >footer_html.h + +search_functions_php.h: search_functions.php + cat search_functions.php | $(TO_C_CMD) >search_functions_php.h + +search_opensearch_php.h: search_opensearch.php + cat search_opensearch.php | $(TO_C_CMD) >search_opensearch_php.h + +search_js.h: search.js + cat search.js | $(TO_C_CMD) >search_js.h + +search_css.h: search.css + cat search.css | $(TO_C_CMD) >search_css.h + +doxygen_css.h: doxygen.css + cat doxygen.css | $(TO_C_CMD) >doxygen_css.h + +navtree_js.h: navtree.js + cat navtree.js | $(TO_C_CMD) >navtree_js.h + +navindex_js.h: navindex.js + cat navindex.js | $(TO_C_CMD) >navindex_js.h + +resize_js.h: resize.js + cat resize.js | $(TO_C_CMD) >resize_js.h + +jquery_js.h: jquery.js + cat jquery.js | $(TO_C_CMD) >jquery_js.h + +jquery_ui_js.h: jquery_ui.js + cat jquery_ui.js | $(TO_C_CMD) >jquery_ui_js.h + +jquery_fx_js.h: jquery_fx.js + cat jquery_fx.js | $(TO_C_CMD) >jquery_fx_js.h + +sizzle_js.h: sizzle.js + cat sizzle.js | $(TO_C_CMD) >sizzle_js.h + +navtree_css.h: navtree.css + cat navtree.css | $(TO_C_CMD) >navtree_css.h + +svgpan_js.h: svgpan.js + cat svgpan.js | $(TO_C_CMD) >svgpan_js.h + +doxygen_bst.h: doxygen.bst + cat doxygen.bst | $(TO_C_CMD) >doxygen_bst.h + +bib2xhtml.h: bib2xhtml.pl + cat bib2xhtml.pl | $(TO_C_CMD) >bib2xhtml.h + + diff --git a/src/lockingptr.h b/src/lockingptr.h index b16e5ca..5fc328d 100644 --- a/src/lockingptr.h +++ b/src/lockingptr.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/logos.cpp b/src/logos.cpp index 8f2dbd0..afc93cb 100644 --- a/src/logos.cpp +++ b/src/logos.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/logos.h b/src/logos.h index 438df13..3050819 100644 --- a/src/logos.h +++ b/src/logos.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/main.cpp b/src/main.cpp index 854eed7..dd1ea1e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/mandocvisitor.cpp b/src/mandocvisitor.cpp index 9a630b7..06fe9df 100644 --- a/src/mandocvisitor.cpp +++ b/src/mandocvisitor.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/mandocvisitor.h b/src/mandocvisitor.h index 14559d5..acd0663 100644 --- a/src/mandocvisitor.h +++ b/src/mandocvisitor.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/mangen.cpp b/src/mangen.cpp index c44044b..fb2898c 100644 --- a/src/mangen.cpp +++ b/src/mangen.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -436,7 +436,7 @@ void ManGenerator::startDoxyAnchor(const char *,const char *manName, void ManGenerator::endMemberDoc(bool) { - t << "\""; + t << "\"\n"; } void ManGenerator::startSubsection() diff --git a/src/mangen.h b/src/mangen.h index d7c58a5..5c8a863 100644 --- a/src/mangen.h +++ b/src/mangen.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/markdown.cpp b/src/markdown.cpp index 95cf3c1..16dbe6d 100644 --- a/src/markdown.cpp +++ b/src/markdown.cpp @@ -47,10 +47,24 @@ //----------- +// is character at position i in data part of an identifier? #define isIdChar(i) \ - ((data[(i)]>='a' && data[(i)]<='z') || \ - (data[(i)]>='A' && data[(i)]<='Z') || \ - (data[(i)]>='0' && data[(i)]<='9')) \ + ((data[i]>='a' && data[i]<='z') || \ + (data[i]>='A' && data[i]<='Z') || \ + (data[i]>='0' && data[i]<='9')) \ + +// is character at position i in data allowed before an emphasis section +#define isOpenEmphChar(i) \ + (data[i]=='\n' || data[i]==' ' || data[i]=='\'' || data[i]=='<' || \ + data[i]=='{' || data[i]=='(' || data[i]=='[' || data[i]==',' || \ + data[i]==':' || data[i]==';') + +// is character at position i in data an escape that prevents ending an emphasis section +// so for example *bla (*.txt) is cool* +#define ignoreCloseEmphChar(i) \ + (data[i]=='(' || data[i]=='{' || data[i]=='[' || data[i]=='<' || \ + data[i]=='=' || data[i]=='+' || data[i]=='-' || data[i]=='\\' || \ + data[i]=='@') //---------- @@ -199,7 +213,6 @@ static QCString isBlockCommand(const char *data,int offset,int size) return QCString(); } - /** looks for the next emph char, skipping other constructs, and * stopping when either it is found, or we are at the end of a paragraph. */ @@ -209,12 +222,19 @@ static int findEmphasisChar(const char *data, int size, char c) while (i0 && ignoreCloseEmphChar(i-1)) + { + i++; + continue; + } + else if (data[i] == c) { if (i0 && (data[i-1]=='\\' || data[i-1]=='@')) - { - i++; - continue; - } // skipping a code span if (data[i]=='`') @@ -489,6 +503,14 @@ static int processHtmlTag(GrowBuf &out,const char *data,int offset,int size) static int processEmphasis(GrowBuf &out,const char *data,int offset,int size) { + if ((offset>0 && !isOpenEmphChar(-1)) || // invalid char before * or _ + (size>1 && data[0]!=data[1] && !isIdChar(1)) || // invalid char after * or _ + (size>2 && data[0]==data[1] && !isIdChar(2))) // invalid char after ** or __ + { + return 0; + } + +#if 0 if (offset>0 && size>1 && (isIdChar(-1) || data[-1]==data[0])) { if (isIdChar(1) || data[-1]==data[0]) @@ -504,6 +526,7 @@ static int processEmphasis(GrowBuf &out,const char *data,int offset,int size) return 0; } } +#endif char c = data[0]; int ret; if (size>2 && data[1]!=c) // _bla or *bla @@ -544,6 +567,7 @@ static int processLink(GrowBuf &out,const char *data,int,int size) QCString title; int contentStart,contentEnd,linkStart,titleStart,titleEnd; bool isImageLink = FALSE; + bool isToc = FALSE; int i=1; if (data[0]=='!') { @@ -704,6 +728,11 @@ static int processLink(GrowBuf &out,const char *data,int,int size) explicitTitle=TRUE; i=contentEnd; } + else if (content=="TOC") + { + isToc=TRUE; + i=contentEnd; + } else { return 0; @@ -715,7 +744,11 @@ static int processLink(GrowBuf &out,const char *data,int,int size) return 0; } static QRegExp re("^[@\\]ref "); - if (isImageLink) + if (isToc) // special case for [TOC] + { + if (g_current) g_current->stat=TRUE; + } + else if (isImageLink) { if (link.find("@ref ")!=-1 || link.find("\\ref ")!=-1) // assume doxygen symbol link @@ -893,11 +926,11 @@ static int processSpecialCommand(GrowBuf &out, const char *data, int offset, int i++; } } - if (size>1) + if (size>1 && data[0]=='\\') { char c=data[1]; - if (c=='[' || c==']' || c=='*' || c=='_' || c=='+' || c=='-' || - c=='!' || c=='(' || c==')' || c=='.' || c=='`') + if (c=='[' || c==']' || c=='*' || c=='+' || c=='-' || + c=='!' || c=='(' || c==')' || c=='.' || c=='`' || c=='_') { out.addStr(&data[1],1); return 2; @@ -1144,7 +1177,7 @@ static int isAtxHeader(const char *data,int size, if (!id.isEmpty()) // strip #'s between title and id { i=header.length()-1; - while (i>=0 && header.at(i)=='#' || header.at(i)==' ') i--; + while (i>=0 && (header.at(i)=='#' || header.at(i)==' ')) i--; header=header.left(i+1); } @@ -1241,7 +1274,6 @@ static int computeIndentExcludingListMarkers(const char *data,int size) static bool isFencedCodeBlock(const char *data,int size,int refIndent, QCString &lang,int &start,int &end,int &offset) { - // TODO: implement me... // rules: at least 3 ~~~, end of the block same amount of ~~~'s, otherwise // return FALSE int i=0; @@ -1537,7 +1569,7 @@ static int writeTableBlock(GrowBuf &out,const char *data,int size) out.addStr("\n"); - delete columnAlignment; + delete[] columnAlignment; return i; } @@ -1689,7 +1721,8 @@ static void findEndOfLine(GrowBuf &out,const char *data,int size, { // find end of the line int nb=0; - for (end=i+1; endprot==Private && !extractPrivate && m_impl->mtype!=Friend) + if (!protectionLevelVisible(m_impl->prot) && m_impl->mtype!=Friend) { //printf("private and invisible!\n"); m_isLinkableCached = 1; // hidden due to protection @@ -1028,7 +1028,7 @@ void MemberDef::writeLink(OutputList &ol,ClassDef *,NamespaceDef *, SrcLangExt lang = getLanguage(); //static bool optimizeOutputJava = Config_getBool("OPTIMIZE_OUTPUT_JAVA"); static bool hideScopeNames = Config_getBool("HIDE_SCOPE_NAMES"); - QCString sep = getLanguageSpecificSeparator(lang); + QCString sep = getLanguageSpecificSeparator(lang,TRUE); QCString n = name(); if (!hideScopeNames) { @@ -1139,7 +1139,6 @@ bool MemberDef::isBriefSectionVisible() const static bool briefMemberDesc = Config_getBool("BRIEF_MEMBER_DESC"); static bool repeatBrief = Config_getBool("REPEAT_BRIEF"); static bool hideFriendCompounds = Config_getBool("HIDE_FRIEND_COMPOUNDS"); - static bool extractPrivate = Config_getBool("EXTRACT_PRIVATE"); //printf("Member %s grpId=%d docs=%s file=%s args=%s\n", // name().data(), @@ -1189,8 +1188,7 @@ bool MemberDef::isBriefSectionVisible() const // only include members that are non-private unless EXTRACT_PRIVATE is // set to YES or the member is part of a group - bool visibleIfPrivate = (protection()!=Private || - extractPrivate || + bool visibleIfPrivate = (protectionLevelVisible(protection()) || m_impl->mtype==Friend ); @@ -1689,7 +1687,6 @@ bool MemberDef::isDetailedSectionLinkable() const static bool briefMemberDesc = Config_getBool("BRIEF_MEMBER_DESC"); static bool hideUndocMembers = Config_getBool("HIDE_UNDOC_MEMBERS"); static bool extractStatic = Config_getBool("EXTRACT_STATIC"); - static bool extractPrivate = Config_getBool("EXTRACT_PRIVATE"); KEEP_RESIDENT_DURING_CALL; @@ -1727,9 +1724,7 @@ bool MemberDef::isDetailedSectionLinkable() const // only include members that are non-private unless EXTRACT_PRIVATE is // set to YES or the member is part of a group - bool privateFilter = (protection()!=Private || extractPrivate || - m_impl->mtype==Friend - ); + bool privateFilter = protectionLevelVisible(protection()) || m_impl->mtype==Friend; // member is part of an anonymous scope that is the type of // another member in the list. @@ -1797,7 +1792,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, SrcLangExt lang = getLanguage(); //printf("member=%s lang=%d\n",name().data(),lang); bool optVhdl = lang==SrcLangExt_VHDL; - QCString sep = getLanguageSpecificSeparator(lang); + QCString sep = getLanguageSpecificSeparator(lang,TRUE); QCString scopeName = scName; QCString memAnchor = anchor(); @@ -2671,7 +2666,7 @@ void MemberDef::warnIfUndocumented() if ((!hasUserDocumentation() && !extractAll) && !isFriendClass() && name().find('@')==-1 && d->name().find('@')==-1 && - (m_impl->prot!=Private || Config_getBool("EXTRACT_PRIVATE")) + protectionLevelVisible(m_impl->prot) ) { warn_undoc(getDefFileName(),getDefLine(),"warning: Member %s%s (%s) of %s %s is not documented.", @@ -2947,7 +2942,7 @@ void MemberDef::addListReference(Definition *) Definition *pd=getOuterScope(); QCString pdName = pd->definitionType()==Definition::TypeClass ? ((ClassDef*)pd)->displayName() : pd->name(); - QCString sep = getLanguageSpecificSeparator(lang); + QCString sep = getLanguageSpecificSeparator(lang,TRUE); QCString memArgs; if (!isRelated() /* && commented out as a result of bug 597016 @@ -3304,6 +3299,7 @@ void MemberDef::enableCallerGraph(bool e) if (e) Doxygen::parseSourcesNeeded = TRUE; } +#if 0 bool MemberDef::protectionVisible() const { makeResident(); @@ -3312,6 +3308,7 @@ bool MemberDef::protectionVisible() const (m_impl->prot==Protected && Config_getBool("EXTRACT_PROTECTED")) || (m_impl->prot==Package && Config_getBool("EXTRACT_PACKAGE")); } +#endif #if 0 void MemberDef::setInbodyDocumentation(const char *docs, diff --git a/src/memberdef.h b/src/memberdef.h index 5ec91b3..2e85d47 100644 --- a/src/memberdef.h +++ b/src/memberdef.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -23,7 +23,7 @@ #include #include -#include "entry.h" +#include "types.h" #include "definition.h" #include "sortdict.h" diff --git a/src/membergroup.cpp b/src/membergroup.cpp index 2f821f8..6f9cbe7 100644 --- a/src/membergroup.cpp +++ b/src/membergroup.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/membergroup.h b/src/membergroup.h index bf9ff97..12d1383 100644 --- a/src/membergroup.h +++ b/src/membergroup.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/memberlist.cpp b/src/memberlist.cpp index f3cfe54..8cfad19 100644 --- a/src/memberlist.cpp +++ b/src/memberlist.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/memberlist.h b/src/memberlist.h index 09ac656..e832ad5 100644 --- a/src/memberlist.h +++ b/src/memberlist.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/membername.cpp b/src/membername.cpp index 8c6b735..506313e 100644 --- a/src/membername.cpp +++ b/src/membername.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/membername.h b/src/membername.h index aeebf23..e5fbaa3 100644 --- a/src/membername.h +++ b/src/membername.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/message.cpp b/src/message.cpp index 7c0679c..5a452cc 100644 --- a/src/message.cpp +++ b/src/message.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/message.h b/src/message.h index 5325e81..46b736c 100644 --- a/src/message.h +++ b/src/message.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/msc.cpp b/src/msc.cpp index cce6178..51875ba 100644 --- a/src/msc.cpp +++ b/src/msc.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/msc.h b/src/msc.h index e26ed8b..f1fc78b 100644 --- a/src/msc.h +++ b/src/msc.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/namespacedef.cpp b/src/namespacedef.cpp index 18d2801..4d53a12 100644 --- a/src/namespacedef.cpp +++ b/src/namespacedef.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/namespacedef.h b/src/namespacedef.h index 67cffaf..f1db108 100644 --- a/src/namespacedef.h +++ b/src/namespacedef.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/navtree.js b/src/navtree.js index eb18215..505ca61 100644 --- a/src/navtree.js +++ b/src/navtree.js @@ -19,7 +19,9 @@ function getScript(scriptName,func,show) script.onload = func; script.src = scriptName+'.js'; script.onreadystatechange = function() { - if (script.readyState == 'complete') { func(); if (show) showRoot(); } + if (script.readyState=='complete' || script.readyState=='loaded') { + func(); if (show) showRoot(); + } }; head.appendChild(script); } diff --git a/src/navtree_js.h b/src/navtree_js.h index 63c104b..746b39d 100644 --- a/src/navtree_js.h +++ b/src/navtree_js.h @@ -19,7 +19,9 @@ " script.onload = func; \n" " script.src = scriptName+'.js'; \n" " script.onreadystatechange = function() {\n" -" if (script.readyState == 'complete') { func(); if (show) showRoot(); }\n" +" if (script.readyState=='complete' || script.readyState=='loaded') { \n" +" func(); if (show) showRoot(); \n" +" }\n" " };\n" " head.appendChild(script); \n" "}\n" diff --git a/src/objcache.cpp b/src/objcache.cpp index 23c14ec..a08d649 100644 --- a/src/objcache.cpp +++ b/src/objcache.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/objcache.h b/src/objcache.h index c89ec2c..71e7178 100644 --- a/src/objcache.h +++ b/src/objcache.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/outputgen.cpp b/src/outputgen.cpp index fbe6b3e..74ba116 100644 --- a/src/outputgen.cpp +++ b/src/outputgen.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/outputgen.h b/src/outputgen.h index ba77605..58d1384 100644 --- a/src/outputgen.h +++ b/src/outputgen.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/outputlist.cpp b/src/outputlist.cpp index 738d540..cb1bba1 100644 --- a/src/outputlist.cpp +++ b/src/outputlist.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/outputlist.h b/src/outputlist.h index 2e863e3..1b5b8ec 100644 --- a/src/outputlist.h +++ b/src/outputlist.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/pagedef.cpp b/src/pagedef.cpp index 63b24d8..f280c81 100644 --- a/src/pagedef.cpp +++ b/src/pagedef.cpp @@ -17,6 +17,7 @@ PageDef::PageDef(const char *f,int l,const char *n, m_subPageDict = new PageSDict(7); m_pageScope = 0; m_nestingLevel = 0; + m_showToc = FALSE; } PageDef::~PageDef() @@ -139,6 +140,11 @@ void PageDef::writeDocumentation(OutputList &ol) ol.popGeneratorState(); //2.} + if (m_showToc && hasSections()) + { + writeToc(ol); + } + writePageDocumentation(ol); ol.popGeneratorState(); @@ -270,3 +276,8 @@ void PageDef::setNestingLevel(int l) m_nestingLevel = l; } +void PageDef::setShowToc(bool b) +{ + m_showToc = b; +} + diff --git a/src/pagedef.h b/src/pagedef.h index 136a997..b4eded5 100644 --- a/src/pagedef.h +++ b/src/pagedef.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -26,6 +26,12 @@ class PageDef : public Definition public: PageDef(const char *f,int l,const char *n,const char *d,const char *t); ~PageDef(); + + // setters + void setFileName(const char *name) { m_fileName = name; } + void setShowToc(bool b); + + // getters DefType definitionType() const { return TypePage; } bool isLinkableInProject() const { @@ -35,7 +41,6 @@ class PageDef : public Definition { return isLinkableInProject() || isReference(); } - void writeDocumentation(OutputList &ol); // functions to get a uniform interface with Definitions QCString getOutputFileBase() const; @@ -44,7 +49,6 @@ class PageDef : public Definition QCString title() const { return m_title; } GroupDef * getGroupDef() const; PageSDict * getSubPages() const { return m_subPageDict; } - void setFileName(const char *name) { m_fileName = name; } void addInnerCompound(Definition *d); bool visibleInIndex() const; bool documentedPage() const; @@ -54,6 +58,8 @@ class PageDef : public Definition Definition *getPageScope() const { return m_pageScope; } QCString displayName() const { return !m_title.isEmpty() ? m_title : Definition::name(); } + void writeDocumentation(OutputList &ol); + private: void setNestingLevel(int l); void writePageDocumentation(OutputList &ol); @@ -63,6 +69,7 @@ class PageDef : public Definition PageSDict *m_subPageDict; // list of pages in the group Definition *m_pageScope; int m_nestingLevel; + bool m_showToc; }; class PageSDict : public SDict diff --git a/src/parserintf.h b/src/parserintf.h index 2e5397e..db22088 100644 --- a/src/parserintf.h +++ b/src/parserintf.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/perlmodgen.cpp b/src/perlmodgen.cpp index 30e4788..78fa313 100644 --- a/src/perlmodgen.cpp +++ b/src/perlmodgen.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 by Dimitri van Heesch. * Authors: Dimitri van Heesch, Miguel Lobo. * * Permission to use, copy, modify, and distribute this software and its @@ -30,6 +30,7 @@ #include #include #include "ftextstream.h" +#include "arguments.h" #define PERLOUTPUT_MAX_INDENTATION 40 diff --git a/src/perlmodgen.h b/src/perlmodgen.h index 2f13ec5..4307d9b 100644 --- a/src/perlmodgen.h +++ b/src/perlmodgen.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/pre.h b/src/pre.h index cbb68ad..18c57c8 100644 --- a/src/pre.h +++ b/src/pre.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/pre.l b/src/pre.l index fea32f8..217ed80 100644 --- a/src/pre.l +++ b/src/pre.l @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -47,6 +47,8 @@ #include "bufstr.h" #include "portable.h" #include "bufstr.h" +#include "arguments.h" +#include "entry.h" #define YY_NEVER_INTERACTIVE 1 @@ -1552,7 +1554,10 @@ static void readIncludeFile(const QCString &inc) //printf("Found include file!\n"); if (Debug::isFlagSet(Debug::Preprocessor)) { - for (i=0;i di(DefineManager::instance().defineContext()); - Define *def; - for (di.toFirst();(def=di.current());++di) + Debug::print(Debug::Preprocessor,0,"\n---------\n"); + if (DefineManager::instance().defineContext().count()>0) + { + Debug::print(Debug::Preprocessor,0,"Macros accessible in this file:\n"); + Debug::print(Debug::Preprocessor,0,"---------\n"); + QDictIterator di(DefineManager::instance().defineContext()); + Define *def; + for (di.toFirst();(def=di.current());++di) + { + Debug::print(Debug::Preprocessor,0,"%s ",def->name.data()); + } + Debug::print(Debug::Preprocessor,0,"\n---------\n"); + } + else { - msg("%s ",def->name.data()); + Debug::print(Debug::Preprocessor,0,"No macros accessible in this file.\n"); } - msg("\n---------\n"); } DefineManager::instance().endContext(); } diff --git a/src/printdocvisitor.h b/src/printdocvisitor.h index 4a41647..7e96c61 100644 --- a/src/printdocvisitor.h +++ b/src/printdocvisitor.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/pycode.h b/src/pycode.h index 230ba23..895c88e 100644 --- a/src/pycode.h +++ b/src/pycode.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/pycode.l b/src/pycode.l index 1eb762d..6ddf2e0 100644 --- a/src/pycode.l +++ b/src/pycode.l @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/pyscanner.h b/src/pyscanner.h index c02d47f..3bb4b21 100644 --- a/src/pyscanner.h +++ b/src/pyscanner.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/pyscanner.l b/src/pyscanner.l index 1c29c57..7c571d6 100644 --- a/src/pyscanner.l +++ b/src/pyscanner.l @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -50,6 +50,7 @@ #include "language.h" #include "commentscan.h" #include "pycode.h" +#include "arguments.h" #define YY_NEVER_INTERACTIVE 1 diff --git a/src/qtbc.h b/src/qtbc.h index 2baf251..5c3ceef 100644 --- a/src/qtbc.h +++ b/src/qtbc.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/reflist.cpp b/src/reflist.cpp index cd19d53..8f103d7 100644 --- a/src/reflist.cpp +++ b/src/reflist.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/reflist.h b/src/reflist.h index 90c07e3..90c95c8 100644 --- a/src/reflist.h +++ b/src/reflist.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/rtfdocvisitor.cpp b/src/rtfdocvisitor.cpp index e49a8ed..ceedb2d 100644 --- a/src/rtfdocvisitor.cpp +++ b/src/rtfdocvisitor.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -34,6 +34,24 @@ //#define DBG_RTF(x) m_t << x #define DBG_RTF(x) do {} while(0) +static QCString align(DocHtmlCell *cell) +{ + HtmlAttribList attrs = cell->attribs(); + uint i; + for (i=0; iname.lower()=="align") + { + if (attrs.at(i)->value.lower()=="center") + return "\\qc "; + else if (attrs.at(i)->value.lower()=="right") + return "\\qr "; + else return ""; + } + } + return ""; +} + RTFDocVisitor::RTFDocVisitor(FTextStream &t,CodeOutputInterface &ci, const char *langExt) : DocVisitor(DocVisitor_RTF), m_t(t), m_ci(ci), m_insidePre(FALSE), @@ -931,7 +949,8 @@ void RTFDocVisitor::visitPost(DocHtmlTable *) { if (m_hide) return; DBG_RTF("{\\comment RTFDocVisitor::visitPost(DocHtmlTable)}\n"); - m_t << "\\pard" << endl; + m_t << "\\pard\\plain" << endl; + m_t << "\\par" << endl; m_lastIsPara=TRUE; } @@ -959,6 +978,10 @@ void RTFDocVisitor::visitPre(DocHtmlRow *r) "\\trbrdrv\\brdrs\\brdrw10 "<< endl; for (i=0;inumCells();i++) { + if (r->isHeading()) + { + m_t << "\\clcbpat16"; // set cell shading to light grey (color 16 in the clut) + } m_t << "\\clvertalt\\clbrdrt\\brdrs\\brdrw10 " "\\clbrdrl\\brdrs\\brdrw10 " "\\clbrdrb\\brdrs\\brdrw10 " @@ -980,11 +1003,11 @@ void RTFDocVisitor::visitPost(DocHtmlRow *) m_lastIsPara=FALSE; } -void RTFDocVisitor::visitPre(DocHtmlCell *) +void RTFDocVisitor::visitPre(DocHtmlCell *c) { if (m_hide) return; DBG_RTF("{\\comment RTFDocVisitor::visitPre(DocHtmlCell)}\n"); - m_t << "{"; + m_t << "{" << align(c); m_lastIsPara=FALSE; } diff --git a/src/rtfdocvisitor.h b/src/rtfdocvisitor.h index db70b00..2e35b3b 100644 --- a/src/rtfdocvisitor.h +++ b/src/rtfdocvisitor.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/rtfgen.cpp b/src/rtfgen.cpp index 7f37f92..b00fb46 100644 --- a/src/rtfgen.cpp +++ b/src/rtfgen.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Parker Waechter & Dimitri van Heesch. + * Copyright (C) 1997-2012 by Parker Waechter & Dimitri van Heesch. * * Style sheet additions by Alexander Bartolich * diff --git a/src/rtfgen.h b/src/rtfgen.h index 1970f12..c9dec0b 100644 --- a/src/rtfgen.h +++ b/src/rtfgen.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Parker Waechter & Dimitri van Heesch. + * Copyright (C) 1997-2012 by Parker Waechter & 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 diff --git a/src/rtfstyle.cpp b/src/rtfstyle.cpp index 9cc2064..716cf2a 100644 --- a/src/rtfstyle.cpp +++ b/src/rtfstyle.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/rtfstyle.h b/src/rtfstyle.h index 5d2b5ed..3dd4897 100644 --- a/src/rtfstyle.h +++ b/src/rtfstyle.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/scanner.h b/src/scanner.h index 62c1b09..70dad99 100644 --- a/src/scanner.h +++ b/src/scanner.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/scanner.l b/src/scanner.l index 63bfde0..e6cbd17 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -42,6 +42,7 @@ #include "language.h" #include "commentscan.h" #include "code.h" +#include "arguments.h" #define YY_NEVER_INTERACTIVE 1 @@ -70,6 +71,7 @@ static int lastSkipVerbStringContext; static int lastCommentInArgContext; static int lastCSConstraint; static int lastHereDocContext; +static int lastDefineContext; static Protection protection; static Protection baseProt; static int sharpCount = 0 ; @@ -571,7 +573,7 @@ ID "$"?[a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF]* SCOPEID {ID}({ID}*{BN}*"::"{BN}*)*({ID}?) SCOPENAME "$"?(({ID}?{BN}*"::"{BN}*)*)(((~|!){BN}*)?{ID}) PHPSCOPENAME ({ID}"\\")+{ID} -TSCOPE {ID}("<"[a-z_A-Z0-9 \t\*\&,]*">")? +TSCOPE {ID}("<"[a-z_A-Z0-9 \t\*\&,:]*">")? CSSCOPENAME (({ID}?{BN}*"."{BN}*)*)((~{BN}*)?{ID}) PRE [pP][rR][eE] CODE [cC][oO][dD][eE] @@ -1140,7 +1142,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?) unput('{'); BEGIN( Function ); } -{BN}{1,80} { +{BN}{1,80} { lineCount(); } "@"({ID}".")*{ID}{BN}*"(" { @@ -1813,6 +1815,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?) current->name=n.left(n.length()-2); } {SCOPENAME}{BN}*/"<" { // Note: this could be a return type! + roundCount=0; sharpCount=0; lineCount(); addType( current ); @@ -2080,6 +2083,10 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?) { current->protection = Protected; } + else if (javaLike && strcmp(yytext,"internal")==0) + { + current->protection = Package; + } else if (javaLike && strcmp(yytext,"private")==0) { current->protection = Private; @@ -2190,6 +2197,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?) if (insidePHP) REJECT; current->bodyLine = yyLineNr; + lastDefineContext = YY_START; BEGIN( Define ); } {B}*"#"{B}+[0-9]+{B}+/"\"" { /* line control directive */ @@ -2274,7 +2282,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?) current_root->addSubEntry(current); current = new Entry ; initEntry(); - BEGIN(FindMembers); + BEGIN(lastDefineContext); } ";" { //printf("End define\n"); @@ -3545,7 +3553,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?) */ "," { BEGIN(MemberSpec); } ";" { unput(';'); BEGIN(MemberSpec); } -{BN}+ { current->program += yytext ; +{BN}{1,80} { current->program += yytext ; lineCount() ; } "@end"/[^a-z_A-Z0-9] { // end of Objective C block @@ -5011,6 +5019,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?) "virtual"{BN}+ { lineCount(); baseVirt = Virtual; } "public"{BN}+ { lineCount(); baseProt = Public; } "protected"{BN}+ { lineCount(); baseProt = Protected; } +"internal"{BN}+ { lineCount(); baseProt = Package; } "private"{BN}+ { lineCount(); baseProt = Private; } {BN} { lineCount(); } . { unput(*yytext); BEGIN(Bases); } diff --git a/src/searchindex.cpp b/src/searchindex.cpp index ad9f8ba..c40791e 100644 --- a/src/searchindex.cpp +++ b/src/searchindex.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/searchindex.h b/src/searchindex.h index 2b94261..024e70a 100644 --- a/src/searchindex.h +++ b/src/searchindex.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/section.h b/src/section.h index 78516ae..556cad0 100644 --- a/src/section.h +++ b/src/section.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/sortdict.h b/src/sortdict.h index c2afa39..40f23f7 100644 --- a/src/sortdict.h +++ b/src/sortdict.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/store.cpp b/src/store.cpp index b075218..efa0718 100644 --- a/src/store.cpp +++ b/src/store.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/store.h b/src/store.h index 6d6eee8..816ce46 100644 --- a/src/store.h +++ b/src/store.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/svgpan.js b/src/svgpan.js index 663be79..a64c488 100644 --- a/src/svgpan.js +++ b/src/svgpan.js @@ -278,4 +278,42 @@ function handleZoom(evt,direction) doZoom(g,p,factor); } +function serializeXmlNode(xmlNode) +{ + if (typeof window.XMLSerializer != "undefined") { + return (new window.XMLSerializer()).serializeToString(xmlNode); + } else if (typeof xmlNode.xml != "undefined") { + return xmlNode.xml; + } + return ""; +} + +/** + * Handler for print function + */ +function handlePrint(evt) +{ + evt.returnValue = false; + var g = svgDoc.getElementById("graph"); + var xs = serializeXmlNode(g); + try { + var w = window.open('about:blank','_blank','width='+windowWidth+',height='+windowHeight+ + ',toolbar=0,status=0,menubar=0,scrollbars=0,resizable=0,location=0,directories=0'); + var d = w.document; + d.write(''); + d.write('Print SVG'); + d.write(''); + d.write('
    '+xs+'
    '); + d.write(''); + d.write(''); + d.close(); + } catch(e) { + alert('Print function not supported by this browser!'); + } +} + + + diff --git a/src/svgpan_js.h b/src/svgpan_js.h index 260d4f7..9978f21 100644 --- a/src/svgpan_js.h +++ b/src/svgpan_js.h @@ -278,4 +278,42 @@ " doZoom(g,p,factor);\n" "}\n" "\n" +"function serializeXmlNode(xmlNode) \n" +"{\n" +" if (typeof window.XMLSerializer != \"undefined\") {\n" +" return (new window.XMLSerializer()).serializeToString(xmlNode);\n" +" } else if (typeof xmlNode.xml != \"undefined\") {\n" +" return xmlNode.xml;\n" +" }\n" +" return \"\";\n" +"}\n" +"\n" +"/** \n" +" * Handler for print function\n" +" */\n" +"function handlePrint(evt)\n" +"{\n" +" evt.returnValue = false;\n" +" var g = svgDoc.getElementById(\"graph\");\n" +" var xs = serializeXmlNode(g);\n" +" try {\n" +" var w = window.open('about:blank','_blank','width='+windowWidth+',height='+windowHeight+\n" +" ',toolbar=0,status=0,menubar=0,scrollbars=0,resizable=0,location=0,directories=0');\n" +" var d = w.document;\n" +" d.write('');\n" +" d.write('Print SVG');\n" +" d.write('');\n" +" d.write('
    '+xs+'
    ');\n" +" d.write('');\n" +" d.write('');\n" +" d.close();\n" +" } catch(e) {\n" +" alert('Print function not supported by this browser!');\n" +" }\n" +"}\n" +"\n" +"\n" +"\n" "\n" diff --git a/src/tagreader.cpp b/src/tagreader.cpp index 36119e2..226a726 100644 --- a/src/tagreader.cpp +++ b/src/tagreader.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -35,6 +35,7 @@ #include "util.h" #include "message.h" #include "defargs.h" +#include "arguments.h" //#include "reflist.h" /*! Information about an linkable anchor */ diff --git a/src/tagreader.h b/src/tagreader.h index ef05d5c..8366cbb 100644 --- a/src/tagreader.h +++ b/src/tagreader.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/tclscanner.h b/src/tclscanner.h index b586450..8f9d280 100644 --- a/src/tclscanner.h +++ b/src/tclscanner.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 by Dimitri van Heesch. * Copyright (C) 2010-2011 by Rene Zaumseil * * Permission to use, copy, modify, and distribute this software and its diff --git a/src/tclscanner.l b/src/tclscanner.l index fec5dc7..67b8c6d 100644 --- a/src/tclscanner.l +++ b/src/tclscanner.l @@ -46,6 +46,7 @@ #include #include #include +#include "arguments.h" #define YY_NEVER_INTERACTIVE 1 diff --git a/src/textdocvisitor.cpp b/src/textdocvisitor.cpp index dd7e181..b0c3ec2 100644 --- a/src/textdocvisitor.cpp +++ b/src/textdocvisitor.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/textdocvisitor.h b/src/textdocvisitor.h index 5646064..66ace1a 100644 --- a/src/textdocvisitor.h +++ b/src/textdocvisitor.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator.h b/src/translator.h index 07c83ea..47a9417 100644 --- a/src/translator.h +++ b/src/translator.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_am.h b/src/translator_am.h index f935c5f..3eac0cc 100644 --- a/src/translator_am.h +++ b/src/translator_am.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_ar.h b/src/translator_ar.h index b6f6e7c..6738537 100644 --- a/src/translator_ar.h +++ b/src/translator_ar.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_br.h b/src/translator_br.h index 39dc859..d36d466 100644 --- a/src/translator_br.h +++ b/src/translator_br.h @@ -1,5 +1,5 @@ /****************************************************************************** - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_ca.h b/src/translator_ca.h index 4104e34..595fe67 100644 --- a/src/translator_ca.h +++ b/src/translator_ca.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_cn.h b/src/translator_cn.h index 54bbcf4..a77e436 100644 --- a/src/translator_cn.h +++ b/src/translator_cn.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_cz.h b/src/translator_cz.h index 63ab495..3120e2f 100644 --- a/src/translator_cz.h +++ b/src/translator_cz.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_de.h b/src/translator_de.h index d825cc2..35a1dc3 100644 --- a/src/translator_de.h +++ b/src/translator_de.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_dk.h b/src/translator_dk.h index bca066f..71beda7 100644 --- a/src/translator_dk.h +++ b/src/translator_dk.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_en.h b/src/translator_en.h index 5d312a4..0dfde48 100644 --- a/src/translator_en.h +++ b/src/translator_en.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_eo.h b/src/translator_eo.h index 0deb979..c273791 100644 --- a/src/translator_eo.h +++ b/src/translator_eo.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_es.h b/src/translator_es.h index 7b57f3b..eebfddd 100644 --- a/src/translator_es.h +++ b/src/translator_es.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_fa.h b/src/translator_fa.h index e385d79..dbfafca 100644 --- a/src/translator_fa.h +++ b/src/translator_fa.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_fi.h b/src/translator_fi.h index d35d698..148b140 100644 --- a/src/translator_fi.h +++ b/src/translator_fi.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_fr.h b/src/translator_fr.h index 373c364..4b654ce 100644 --- a/src/translator_fr.h +++ b/src/translator_fr.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_gr.h b/src/translator_gr.h index 8d38cf3..bcf6b27 100644 --- a/src/translator_gr.h +++ b/src/translator_gr.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_hr.h b/src/translator_hr.h index e175aa5..f193304 100644 --- a/src/translator_hr.h +++ b/src/translator_hr.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_hu.h b/src/translator_hu.h index 17ed254..70d7186 100644 --- a/src/translator_hu.h +++ b/src/translator_hu.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_id.h b/src/translator_id.h index f0d7afc..2206906 100644 --- a/src/translator_id.h +++ b/src/translator_id.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2007 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_it.h b/src/translator_it.h index f3f9245..037d408 100644 --- a/src/translator_it.h +++ b/src/translator_it.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_je.h b/src/translator_je.h index 1368e6f..09bb066 100644 --- a/src/translator_je.h +++ b/src/translator_je.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_jp.h b/src/translator_jp.h index fb01d2a..1ba24bc 100644 --- a/src/translator_jp.h +++ b/src/translator_jp.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_ke.h b/src/translator_ke.h index ce5b26e..4874a5c 100644 --- a/src/translator_ke.h +++ b/src/translator_ke.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_kr.h b/src/translator_kr.h index 752d980..acaf8ee 100644 --- a/src/translator_kr.h +++ b/src/translator_kr.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_lt.h b/src/translator_lt.h index 96aec3e..3f1bcb6 100644 --- a/src/translator_lt.h +++ b/src/translator_lt.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_mk.h b/src/translator_mk.h index 3ec5b55..d656609 100644 --- a/src/translator_mk.h +++ b/src/translator_mk.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_nl.h b/src/translator_nl.h index 402112e..f0cc795 100644 --- a/src/translator_nl.h +++ b/src/translator_nl.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_no.h b/src/translator_no.h index c4ed2b5..29b2648 100644 --- a/src/translator_no.h +++ b/src/translator_no.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_pl.h b/src/translator_pl.h index db301be..038bd5e 100644 --- a/src/translator_pl.h +++ b/src/translator_pl.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_pt.h b/src/translator_pt.h index c3fd310..fa60916 100644 --- a/src/translator_pt.h +++ b/src/translator_pt.h @@ -1,5 +1,5 @@ /****************************************************************************** - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_ro.h b/src/translator_ro.h index 3fbbbf1..22b769d 100644 --- a/src/translator_ro.h +++ b/src/translator_ro.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_ru.h b/src/translator_ru.h index 922845a..e7f7d95 100644 --- a/src/translator_ru.h +++ b/src/translator_ru.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_sc.h b/src/translator_sc.h index ffc2f31..6555cf5 100644 --- a/src/translator_sc.h +++ b/src/translator_sc.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_si.h b/src/translator_si.h index aa25943..5d0182a 100644 --- a/src/translator_si.h +++ b/src/translator_si.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_sk.h b/src/translator_sk.h index 1f29b2c..904b609 100644 --- a/src/translator_sk.h +++ b/src/translator_sk.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_sr.h b/src/translator_sr.h index d7af204..15d6700 100644 --- a/src/translator_sr.h +++ b/src/translator_sr.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_sv.h b/src/translator_sv.h index b95e05a..f262eda 100644 --- a/src/translator_sv.h +++ b/src/translator_sv.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_tr.h b/src/translator_tr.h index cf74639..5906364 100644 --- a/src/translator_tr.h +++ b/src/translator_tr.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_tw.h b/src/translator_tw.h index 19a873f..8777ae5 100644 --- a/src/translator_tw.h +++ b/src/translator_tw.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_ua.h b/src/translator_ua.h index 3ace830..022100d 100644 --- a/src/translator_ua.h +++ b/src/translator_ua.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_vi.h b/src/translator_vi.h index 8a294fd..971f12b 100644 --- a/src/translator_vi.h +++ b/src/translator_vi.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translator_za.h b/src/translator_za.h index 5c68163..46f5a05 100644 --- a/src/translator_za.h +++ b/src/translator_za.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/translatordecoder.h b/src/translatordecoder.h index 90f01fa..07716fb 100644 --- a/src/translatordecoder.h +++ b/src/translatordecoder.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/types.h b/src/types.h new file mode 100644 index 0000000..a8b2db6 --- /dev/null +++ b/src/types.h @@ -0,0 +1,92 @@ +/****************************************************************************** + * + * Copyright (C) 1997-2012 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. + * + */ + +#ifndef TYPES_H +#define TYPES_H + +#include "qtbc.h" + +/** @file + * @brief This file contains a number of basic enums and types. + */ + +enum Protection { Public, Protected, Private, Package } ; +enum Specifier { Normal, Virtual, Pure } ; +enum MethodTypes { Method, Signal, Slot, DCOP, Property, Event }; +enum RelatesType { Simple, Duplicate, MemberOf }; +enum Relationship { Member, Related, Foreign }; +enum SrcLangExt +{ + SrcLangExt_Unknown = 0x00000, + SrcLangExt_IDL = 0x00008, + SrcLangExt_Java = 0x00010, + SrcLangExt_CSharp = 0x00020, + SrcLangExt_D = 0x00040, + SrcLangExt_PHP = 0x00080, + SrcLangExt_ObjC = 0x00100, + SrcLangExt_Cpp = 0x00200, + SrcLangExt_JS = 0x00400, + SrcLangExt_Python = 0x00800, + SrcLangExt_Fortran = 0x01000, + SrcLangExt_VHDL = 0x02000, + SrcLangExt_XML = 0x04000, + SrcLangExt_Tcl = 0x08000, + SrcLangExt_Markdown = 0x10000 +}; + +struct Grouping +{ + enum GroupPri_t + { + GROUPING_LOWEST, + GROUPING_AUTO_WEAK = GROUPING_LOWEST, //!< membership in group was defined via \@weakgroup + GROUPING_AUTO_ADD, //!< membership in group was defined via \@add[to]group + GROUPING_AUTO_DEF, //!< membership in group was defined via \@defgroup + GROUPING_AUTO_HIGHEST = GROUPING_AUTO_DEF, + GROUPING_INGROUP, //!< membership in group was defined by \@ingroup + GROUPING_HIGHEST = GROUPING_INGROUP + }; + + static const char *getGroupPriName( GroupPri_t priority ) + { + switch( priority ) + { + case GROUPING_AUTO_WEAK: + return "@weakgroup"; + case GROUPING_AUTO_ADD: + return "@addtogroup"; + case GROUPING_AUTO_DEF: + return "@defgroup"; + case GROUPING_INGROUP: + return "@ingroup"; + } + return "???"; + } + + Grouping( const char *gn, GroupPri_t p ) : groupname(gn), pri(p) {} + Grouping( const Grouping &g ) : groupname(g.groupname), pri(g.pri) {} + QCString groupname; //!< name of the group + GroupPri_t pri; //!< priority of this definition + +}; + +struct ListItemInfo +{ + QCString type; + int itemId; +}; + + +#endif diff --git a/src/util.cpp b/src/util.cpp index 3859c97..08cf0cf 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -53,6 +53,8 @@ #include "bufstr.h" #include "image.h" #include "growbuf.h" +#include "entry.h" +#include "arguments.h" #define ENABLE_TRACINGSUPPORT 0 @@ -1737,7 +1739,7 @@ void linkifyText(const TextGeneratorIntf &out,Definition *scope, bool keepSpaces,int indentLevel) { //printf("linkify=`%s'\n",text); - static QRegExp regExp("[a-z_A-Z\\x80-\\xFF][~!a-z_A-Z0-9.:\\x80-\\xFF]*"); + static QRegExp regExp("[a-z_A-Z\\x80-\\xFF][~!a-z_A-Z0-9$\\\\.:\\x80-\\xFF]*"); static QRegExp regExpSplit("(?!:),"); QCString txtStr=text; int strLen = txtStr.length(); @@ -1795,7 +1797,7 @@ void linkifyText(const TextGeneratorIntf &out,Definition *scope, } // get word from string QCString word=txtStr.mid(newIndex,matchLen); - QCString matchWord = substitute(word,".","::"); + QCString matchWord = substitute(substitute(word,"\\","::"),".","::"); //printf("linkifyText word=%s matchWord=%s scope=%s\n", // word.data(),matchWord.data(),scope?scope->name().data():""); bool found=FALSE; @@ -2273,6 +2275,8 @@ QCString fileToString(const char *name,bool filter,bool isSourceCode) contents.at(totalSize-2)='\n'; // to help the scanner contents.at(totalSize-1)='\0'; portable_pclose(f); + Debug::print(Debug::FilterOutput, 0, "Filter output\n"); + Debug::print(Debug::FilterOutput,0,"-------------\n%s\n-------------\n",contents.data()); return transcodeCharacterStringToUTF8(contents); } } @@ -6616,6 +6620,28 @@ static QCString replaceAliasArguments(const QCString &aliasValue,const QCString return result; } +static QCString escapeCommas(const QCString &s) +{ + QGString result; + const char *p = s.data(); + char c,pc=0; + while ((c=*p++)) + { + if (c==',' && pc!='\\') + { + result+="\\,"; + } + else + { + result+=c; + } + pc=c; + } + result+='\0'; + //printf("escapeCommas: '%s'->'%s'\n",s.data(),result.data()); + return result.data(); +} + static QCString expandAliasRec(const QCString s) { QCString result; @@ -6627,18 +6653,28 @@ static QCString expandAliasRec(const QCString s) result+=value.mid(p,i-p); QCString args = extractAliasArgs(value,i+l); bool hasArgs = !args.isEmpty(); // found directly after command - QCString cmd; + int argsLen = args.length(); + QCString cmd = value.mid(i+1,l-1); + QCString cmdNoArgs = cmd; + int numArgs=0; if (hasArgs) { - int numArgs = countAliasArguments(args); - cmd = value.mid(i+1,l-1)+QCString().sprintf("{%d}",numArgs); // alias name + {n} - } - else - { - cmd = value.mid(i+1,l-1); + numArgs = countAliasArguments(args); + cmd += QCString().sprintf("{%d}",numArgs); // alias name + {n} } QCString *aliasText=Doxygen::aliasDict.find(cmd); - //printf("Found command '%s' args='%s' aliasText=%s\n",cmd.data(),args.data(),aliasText?aliasText->data():""); + if (numArgs>1 && aliasText==0) + { // in case there is no command with numArgs parameters, but there is a command with 1 parameter, + // we also accept all text as the argument of that command (so you don't have to escape commas) + aliasText=Doxygen::aliasDict.find(cmdNoArgs+"{1}"); + if (aliasText) + { + cmd = cmdNoArgs+"{1}"; + args = escapeCommas(args); // escape , so that everything is seen as one argument + } + } + //printf("Found command s='%s' cmd='%s' numArgs=%d args='%s' aliasText=%s\n", + // s.data(),cmd.data(),numArgs,args.data(),aliasText?aliasText->data():""); if (aliasesProcessed.find(cmd)==0 && aliasText) // expand the alias { //printf("is an alias!\n"); @@ -6653,7 +6689,7 @@ static QCString expandAliasRec(const QCString s) result+=expandAliasRec(val); aliasesProcessed.remove(cmd); p=i+l; - if (hasArgs) p+=args.length()+2; + if (hasArgs) p+=argsLen+2; } else // command is not an alias { @@ -6871,6 +6907,9 @@ bool readInputFile(const char *fileName,BufStr &inBuf) inBuf.addArray(buf,numRead),size+=numRead; } portable_pclose(f); + inBuf.at(inBuf.curPos()) ='\0'; + Debug::print(Debug::FilterOutput, 0, "Filter output\n"); + Debug::print(Debug::FilterOutput,0,"-------------\n%s\n-------------\n",inBuf.data()); } int start=0; @@ -7187,13 +7226,13 @@ QCString langToString(SrcLangExt lang) } /** Returns the scope separator to use given the programming language \a lang */ -QCString getLanguageSpecificSeparator(SrcLangExt lang) +QCString getLanguageSpecificSeparator(SrcLangExt lang,bool classScope) { if (lang==SrcLangExt_Java || lang==SrcLangExt_CSharp || lang==SrcLangExt_VHDL || lang==SrcLangExt_Python) { return "."; } - else if (lang==SrcLangExt_PHP) + else if (lang==SrcLangExt_PHP && !classScope) { return "\\"; } @@ -7219,3 +7258,14 @@ QCString correctURL(const QCString &url,const QCString &relPath) } //--------------------------------------------------------------------------- + +bool protectionLevelVisible(Protection prot) +{ + static bool extractPrivate = Config_getBool("EXTRACT_PRIVATE"); + static bool extractPackage = Config_getBool("EXTRACT_PACKAGE"); + + return (prot!=Private && prot!=Package) || + (prot==Private && extractPrivate) || + (prot==Package && extractPackage); +} + diff --git a/src/util.h b/src/util.h index 9bc235c..f7aa91f 100644 --- a/src/util.h +++ b/src/util.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -27,6 +27,7 @@ #include #include #include "sortdict.h" +#include "types.h" //-------------------------------------------------------------------- @@ -87,27 +88,8 @@ class TextGeneratorOLImpl : public TextGeneratorIntf //-------------------------------------------------------------------- -enum SrcLangExt -{ - SrcLangExt_Unknown = 0x00000, - SrcLangExt_IDL = 0x00008, - SrcLangExt_Java = 0x00010, - SrcLangExt_CSharp = 0x00020, - SrcLangExt_D = 0x00040, - SrcLangExt_PHP = 0x00080, - SrcLangExt_ObjC = 0x00100, - SrcLangExt_Cpp = 0x00200, - SrcLangExt_JS = 0x00400, - SrcLangExt_Python = 0x00800, - SrcLangExt_Fortran = 0x01000, - SrcLangExt_VHDL = 0x02000, - SrcLangExt_XML = 0x04000, - SrcLangExt_Tcl = 0x08000, - SrcLangExt_Markdown = 0x10000 -}; - QCString langToString(SrcLangExt lang); -QCString getLanguageSpecificSeparator(SrcLangExt lang); +QCString getLanguageSpecificSeparator(SrcLangExt lang,bool classScope=FALSE); //-------------------------------------------------------------------- @@ -419,5 +401,7 @@ QCString correctURL(const QCString &url,const QCString &relPath); QCString processMarkup(const QCString &s); +bool protectionLevelVisible(Protection prot); + #endif diff --git a/src/version.h b/src/version.h index 116ecdd..4752520 100644 --- a/src/version.h +++ b/src/version.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/vhdlcode.l b/src/vhdlcode.l index 9aaeb02..c48078d 100644 --- a/src/vhdlcode.l +++ b/src/vhdlcode.l @@ -1,6 +1,6 @@ /****************************************************************************** * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -40,6 +40,7 @@ #include "membername.h" #include "searchindex.h" #include "vhdldocgen.h" +#include "arguments.h" #define YY_NEVER_INTERACTIVE 1 diff --git a/src/vhdldocgen.cpp b/src/vhdldocgen.cpp index 43f8054..5af938f 100644 --- a/src/vhdldocgen.cpp +++ b/src/vhdldocgen.cpp @@ -1,6 +1,6 @@ /****************************************************************************** * - * Copyright (C) 1997-2010 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -45,6 +45,7 @@ #include "parserintf.h" #include "vhdlscanner.h" #include "layout.h" +#include "arguments.h" #define theTranslator_vhdlType VhdlDocGen::trVhdlType diff --git a/src/vhdldocgen.h b/src/vhdldocgen.h index 8850d47..bb9a122 100644 --- a/src/vhdldocgen.h +++ b/src/vhdldocgen.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2010 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -35,6 +35,7 @@ class FileStorage; class EntryNav; class ClassDef; class MemberDef; +class Argument; // wrapper class for the vhdl parser class MyParserVhdl diff --git a/src/vhdlparser.y b/src/vhdlparser.y index 1389f23..41c81aa 100644 --- a/src/vhdlparser.y +++ b/src/vhdlparser.y @@ -60,6 +60,7 @@ struct YYMM #include "vhdlscanner.h" #include "commentscan.h" #include "entry.h" +#include "arguments.h" //-----------------------------variables --------------------------------------------------------------------------- static MyParserVhdl* myconv=0; diff --git a/src/vhdlscanner.h b/src/vhdlscanner.h index 197de40..bca6460 100644 --- a/src/vhdlscanner.h +++ b/src/vhdlscanner.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2010 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/xmldocvisitor.cpp b/src/xmldocvisitor.cpp index 1e135ef..81acba5 100644 --- a/src/xmldocvisitor.cpp +++ b/src/xmldocvisitor.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/xmldocvisitor.h b/src/xmldocvisitor.h index 531cd38..dbe4bd5 100644 --- a/src/xmldocvisitor.h +++ b/src/xmldocvisitor.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp index b398ac3..5f1532f 100644 --- a/src/xmlgen.cpp +++ b/src/xmlgen.cpp @@ -1,6 +1,6 @@ /****************************************************************************** * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 @@ -32,6 +32,7 @@ #include "docparser.h" #include "language.h" #include "parserintf.h" +#include "arguments.h" #include #include diff --git a/src/xmlgen.h b/src/xmlgen.h index 39869ee..9193956 100644 --- a/src/xmlgen.h +++ b/src/xmlgen.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2011 by Dimitri van Heesch. + * Copyright (C) 1997-2012 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 diff --git a/winbuild/Doxygen.vcproj b/winbuild/Doxygen.vcproj index 07df324..24f61c8 100644 --- a/winbuild/Doxygen.vcproj +++ b/winbuild/Doxygen.vcproj @@ -432,6 +432,10 @@ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" > + + @@ -3585,6 +3589,14 @@ Filter="h;hpp;hxx;hm;inl" > + + + + -- cgit v0.12