From 05b70e8e2c6e0cda9b74fc99fd782d1977d298c9 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Wed, 30 Dec 2009 13:28:15 +0000 Subject: Release-1.6.2 --- INSTALL | 4 +- README | 4 +- configure | 4 +- doc/config.doc | 24 ++++++ doc/index.doc | 33 +++++--- doc/searching.doc | 29 ++++++- qtools/Doxyfile | 113 ++++++++++++++------------- src/commentcnv.l | 11 ++- src/config.l | 17 +--- src/config.xml | 17 +++- src/configoptions.cpp | 23 ++++++ src/docparser.h | 1 + src/doxygen.cpp | 6 +- src/doxygen.css | 31 +++++++- src/doxygen_css.h | 31 +++++++- src/eclipsehelp.cpp | 200 ++++++++++++++++++++++++++++++++++++++++++++++++ src/eclipsehelp.h | 78 +++++++++++++++++++ src/htmldocvisitor.cpp | 52 +++++++------ src/index.cpp | 10 ++- src/libdoxygen.pro.in | 2 + src/pagedef.cpp | 3 +- src/util.cpp | 15 ++++ src/util.h | 1 + winbuild/Doxygen.vcproj | 8 ++ 24 files changed, 598 insertions(+), 119 deletions(-) create mode 100644 src/eclipsehelp.cpp create mode 100644 src/eclipsehelp.h diff --git a/INSTALL b/INSTALL index 768418a..9fbcad8 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,7 @@ -DOXYGEN Version 1.6.1-20091222 +DOXYGEN Version 1.6.2 Please read the installation section of the manual (http://www.doxygen.org/install.html) for instructions. -------- -Dimitri van Heesch (22 December 2009) +Dimitri van Heesch (30 December 2009) diff --git a/README b/README index 83b07c5..48a9d13 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -DOXYGEN Version 1.6.1_20091222 +DOXYGEN Version 1.6.2 Please read INSTALL for compilation instructions. @@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives. Enjoy, -Dimitri van Heesch (dimitri@stack.nl) (22 December 2009) +Dimitri van Heesch (dimitri@stack.nl) (30 December 2009) diff --git a/configure b/configure index 17d2848..779e7ac 100755 --- a/configure +++ b/configure @@ -17,10 +17,10 @@ doxygen_version_major=1 doxygen_version_minor=6 -doxygen_version_revision=1 +doxygen_version_revision=2 #NOTE: Setting version_mmn to "NO" will omit mmn info from the package. -doxygen_version_mmn=20091222 +doxygen_version_mmn=NO bin_dirs=`echo $PATH | sed -e "s/:/ /g"` diff --git a/doc/config.doc b/doc/config.doc index b657883..455ac61 100644 --- a/doc/config.doc +++ b/doc/config.doc @@ -91,6 +91,7 @@ followed by the descriptions of the tags grouped by category. \refitem cfg_dot_transparent DOT_TRANSPARENT \refitem cfg_dotfile_dirs DOTFILE_DIRS \refitem cfg_doxyfile_encoding DOXYFILE_ENCODING +\refitem cfg_eclipse_doc_id ECLIPSE_DOC_ID \refitem cfg_enable_preprocessing ENABLE_PREPROCESSING \refitem cfg_enabled_sections ENABLED_SECTIONS \refitem cfg_enum_values_per_line ENUM_VALUES_PER_LINE @@ -123,6 +124,7 @@ followed by the descriptions of the tags grouped by category. \refitem cfg_generate_chi GENERATE_CHI \refitem cfg_generate_deprecatedlist GENERATE_DEPRECIATEDLIST \refitem cfg_generate_docset GENERATE_DOCSET +\refitem cfg_generate_eclipsehelp GENERATE_ECLIPSEHELP \refitem cfg_generate_html GENERATE_HTML \refitem cfg_generate_htmlhelp GENERATE_HTMLHELP \refitem cfg_generate_latex GENERATE_LATEX @@ -1455,6 +1457,28 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn" If non-empty doxygen will try to run qhelpgenerator on the generated .qhp file. +\anchor cfg_generate_eclipsehelp +
\c GENERATE_ECLIPSEHELP
+ \addindex GENERATE_ECLIPSEHELP + If the \c GENERATE_ECLIPSEHELP tag is set to \c YES, additional index files + will be generated, which together with the HTML files, form an Eclipse help + plugin. + + To install this plugin and make it available under the help contents + menu in Eclipse, the contents of the directory containing the HTML and XML + files needs to be copied into the plugins directory of eclipse. The name of + the directory within the plugins directory should be the same as + the \ref cfg_eclipse_doc_id "ECLIPSE_DOC_ID" value. + + After copying Eclipse needs to be restarted before the help appears. + +\anchor cfg_eclipse_doc_id +
\c ECLIPSE_DOC_ID
+ \addindex ECLIPSE_DOC_ID + A unique identifier for the eclipse help plugin. When installing the plugin + the directory name containing the HTML and XML files should also have + this name. Each documentation set should have its own identifier. + \anchor cfg_searchengine
\c SEARCHENGINE
\addindex SEARCHENGINE diff --git a/doc/index.doc b/doc/index.doc index 7996f78..8633331 100644 --- a/doc/index.doc +++ b/doc/index.doc @@ -153,18 +153,31 @@ that use doxygen. \latexonly list of projects that use doxygen (see {\tt http://www.doxygen.org/projects.html}). \endlatexonly -If you know other projects, let me know and I'll add them. +If you know other projects, let me +know and I'll add them. + +

Commercial Support

+ +I'm currently investigating the possibilities of providing +commercial support for doxygen. The forms of support I'm thinking of +are: + +To get a better understanding of the feasibility, +please let me know if you +have a need for this type (or another type) +of doxygen related commercial support.

Future work

-Although doxygen is used successfully by a lot of people already, -there is always room for improvement. Therefore, I have compiled a -\htmlonly -todo/wish list -\endhtmlonly -\latexonly -todo/wish list (see {\tt http://www.doxygen.org/todo.html}) -\endlatexonly -of possible and/or requested enhancements. +Although doxygen is successfully used by large number of companies and +open source projects already, there is always room for improvement. +

+You can submit enhancement requests in +the bug tracker. +Make sure the severity of the bug report is set to "enhancement".

Acknowledgements

\addindex acknowledgements diff --git a/doc/searching.doc b/doc/searching.doc index 62f8971..03cd2b7 100644 --- a/doc/searching.doc +++ b/doc/searching.doc @@ -25,7 +25,7 @@ HTML browsers by default have no search capabilities that work across multiple pages, so either doxygen or external tools need to help to facilitate this feature. -Doxygen has 5 different ways to add searching to the HTML output, each of which +Doxygen has 6 different ways to add searching to the HTML output, each of which has its own advantages and disadvantages:

1. Client side searching

@@ -128,4 +128,31 @@ has its own advantages and disadvantages: each user, or distributing the Qt help assistant along with the documentation, which is complicated by the fact that it is not available as a separate package at this moment. + +

6. Eclipse Help Plugin

+ If you use eclipse, you can embed the documentation generated by + doxygen as a help plugin. It will then appear as a topic in the help + browser that can be started from "Help contents" in the Help menu. + Eclipse will generate a search index for the documentation when you + first search for an keyword. + + To enable the help plugin set + \ref cfg_generate_eclipsehelp "GENERATE_ECLIPSE_HELP" to \c YES, + and define a unique identifier for your project via + \ref cfg_eclipse_doc_id "ECLIPSE_DOC_ID", i.e: +\verbatim + GENERATE_ECLIPSE_HELP = YES + ECLIPSE_DOC_ID = com.yourcompany.yourproject +\endverbatim + then create the \c com.yourcompany.yourproject directory (so with + the same name as the value of \c ECLIPSE_DOC_ID) in the + \c plugin directory of eclipse and after doxygen completes copy + to contents of the help output directory to + the \c com.yourcompany.yourproject directory. + Then restart eclipse to make let it find the new plugin. + + The eclipse help plugin provides similar functionality as the + Qt compressed help or CHM output, but it does require that Eclipse is + installed and running. + */ diff --git a/qtools/Doxyfile b/qtools/Doxyfile index cc8e7bb..5311996 100644 --- a/qtools/Doxyfile +++ b/qtools/Doxyfile @@ -1,22 +1,22 @@ -# Doxyfile 1.5.9 +# Doxyfile 1.6.1 #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 -PROJECT_NAME = Doxygen -PROJECT_NUMBER = +PROJECT_NAME = Qtools +PROJECT_NUMBER = OUTPUT_DIRECTORY = ../qtools_docs CREATE_SUBDIRS = YES OUTPUT_LANGUAGE = English BRIEF_MEMBER_DESC = YES REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = +ABBREVIATE_BRIEF = ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO FULL_PATH_NAMES = YES STRIP_FROM_PATH = $(PWD)/ -STRIP_FROM_INC_PATH = +STRIP_FROM_INC_PATH = SHORT_NAMES = NO JAVADOC_AUTOBRIEF = YES QT_AUTOBRIEF = NO @@ -24,12 +24,12 @@ MULTILINE_CPP_IS_BRIEF = NO INHERIT_DOCS = YES SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 8 -ALIASES = +ALIASES = OPTIMIZE_OUTPUT_FOR_C = NO OPTIMIZE_OUTPUT_JAVA = NO OPTIMIZE_FOR_FORTRAN = NO OPTIMIZE_OUTPUT_VHDL = NO -EXTENSION_MAPPING = +EXTENSION_MAPPING = BUILTIN_STL_SUPPORT = NO CPP_CLI_SUPPORT = NO SIP_SUPPORT = NO @@ -55,22 +55,25 @@ INTERNAL_DOCS = NO CASE_SENSE_NAMES = NO HIDE_SCOPE_NAMES = NO SHOW_INCLUDE_FILES = YES +FORCE_LOCAL_INCLUDES = NO INLINE_INFO = YES SORT_MEMBER_DOCS = YES SORT_BRIEF_DOCS = NO +SORT_MEMBERS_CTORS_1ST = NO SORT_GROUP_NAMES = NO SORT_BY_SCOPE_NAME = NO GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = +ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES SHOW_DIRECTORIES = NO SHOW_FILES = YES SHOW_NAMESPACES = YES -FILE_VERSION_FILTER = -LAYOUT_FILE = +FILE_VERSION_FILTER = +LAYOUT_FILE = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- @@ -80,7 +83,7 @@ WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES WARN_NO_PARAMDOC = NO WARN_FORMAT = "$file:$line: $text " -WARN_LOGFILE = +WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- @@ -90,16 +93,16 @@ FILE_PATTERNS = *.h \ *.cpp \ *.doc RECURSIVE = NO -EXCLUDE = +EXCLUDE = EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXCLUDE_SYMBOLS = -EXAMPLE_PATH = -EXAMPLE_PATTERNS = +EXCLUDE_PATTERNS = +EXCLUDE_SYMBOLS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = EXAMPLE_RECURSIVE = NO -IMAGE_PATH = -INPUT_FILTER = -FILTER_PATTERNS = +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing @@ -122,31 +125,34 @@ IGNORE_PREFIX = Q # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES -HTML_OUTPUT = +HTML_OUTPUT = HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_TIMESTAMP = NO HTML_ALIGN_MEMBERS = YES HTML_DYNAMIC_SECTIONS = NO GENERATE_DOCSET = YES DOCSET_FEEDNAME = "Doxygen generated docs" DOCSET_BUNDLE_ID = org.doxygen.Project GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = +CHM_FILE = +HHC_LOCATION = GENERATE_CHI = NO -CHM_INDEX_ENCODING = +CHM_INDEX_ENCODING = BINARY_TOC = NO TOC_EXPAND = NO GENERATE_QHP = YES -QCH_FILE = +QCH_FILE = QHP_NAMESPACE = com.qtools QHP_VIRTUAL_FOLDER = doc -QHP_CUST_FILTER_NAME = -QHP_CUST_FILTER_ATTRS = -QHP_SECT_FILTER_ATTRS = -QHG_LOCATION = +QHP_CUST_FILTER_NAME = +QHP_CUST_FILTER_ATTRS = +QHP_SECT_FILTER_ATTRS = +QHG_LOCATION = +GENERATE_ECLIPSEHELP = YES +ECLIPSE_DOC_ID = org.doxygen.qtools DISABLE_INDEX = NO ENUM_VALUES_PER_LINE = 4 GENERATE_TREEVIEW = NO @@ -154,17 +160,18 @@ USE_INLINE_TREES = NO TREEVIEW_WIDTH = 250 FORMULA_FONTSIZE = 10 SEARCHENGINE = YES +SERVER_BASED_SEARCH = NO #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- GENERATE_LATEX = YES -LATEX_OUTPUT = +LATEX_OUTPUT = LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex COMPACT_LATEX = NO PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = +EXTRA_PACKAGES = +LATEX_HEADER = PDF_HYPERLINKS = YES USE_PDFLATEX = YES LATEX_BATCHMODE = NO @@ -174,16 +181,16 @@ LATEX_SOURCE_CODE = YES # configuration options related to the RTF output #--------------------------------------------------------------------------- GENERATE_RTF = NO -RTF_OUTPUT = +RTF_OUTPUT = COMPACT_RTF = NO RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- GENERATE_MAN = NO -MAN_OUTPUT = +MAN_OUTPUT = MAN_EXTENSION = .3 MAN_LINKS = NO #--------------------------------------------------------------------------- @@ -191,8 +198,8 @@ MAN_LINKS = NO #--------------------------------------------------------------------------- GENERATE_XML = NO XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = +XML_SCHEMA = +XML_DTD = XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output @@ -204,37 +211,37 @@ GENERATE_AUTOGEN_DEF = NO GENERATE_PERLMOD = NO PERLMOD_LATEX = NO PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- -# Configuration options related to the preprocessor +# Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES MACRO_EXPANSION = YES EXPAND_ONLY_PREDEF = YES SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = -EXPAND_AS_DEFINED = +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = +EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- -# Configuration::additions related to external references +# Configuration::additions related to external references #--------------------------------------------------------------------------- -TAGFILES = +TAGFILES = GENERATE_TAGFILE = ../qtools_docs/qtools.tag ALLEXTERNALS = NO EXTERNAL_GROUPS = YES PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- -# Configuration options related to the dot tool +# Configuration options related to the dot tool #--------------------------------------------------------------------------- CLASS_DIAGRAMS = YES -MSCGEN_PATH = +MSCGEN_PATH = HIDE_UNDOC_RELATIONS = YES HAVE_DOT = NO DOT_FONTNAME = FreeSans DOT_FONTSIZE = 10 -DOT_FONTPATH = +DOT_FONTPATH = CLASS_GRAPH = YES COLLABORATION_GRAPH = YES GROUP_GRAPHS = YES @@ -247,8 +254,8 @@ CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = YES DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = +DOT_PATH = +DOTFILE_DIRS = DOT_GRAPH_MAX_NODES = 50 MAX_DOT_GRAPH_DEPTH = 0 DOT_TRANSPARENT = YES diff --git a/src/commentcnv.l b/src/commentcnv.l index c18605d..f482d52 100644 --- a/src/commentcnv.l +++ b/src/commentcnv.l @@ -370,8 +370,8 @@ void replaceComment(int offset); BEGIN(CComment); } } -[ \t]+"{@code" { - copyToOutput(" @code",6); +"{@code"/[ \t\n] { + copyToOutput("@code",5); g_lastCommentContext = YY_START; g_javaBlock=1; g_blockName=&yytext[1]; @@ -426,6 +426,7 @@ void replaceComment(int offset); else { g_javaBlock++; + copyToOutput(yytext,yyleng); } } "}" { @@ -441,6 +442,10 @@ void replaceComment(int offset); copyToOutput(" @endcode ",10); BEGIN(g_lastCommentContext); } + else + { + copyToOutput(yytext,yyleng); + } } } [\\@]("enddot"|"endcode"|"endmsc") { /* end of verbatim block */ @@ -492,7 +497,7 @@ void replaceComment(int offset); copyToOutput(yytext,yyleng); } -[^\\!@*\n]* { /* anything that is not a '*' or command */ +[^\\!@*\n{]* { /* anything that is not a '*' or command */ copyToOutput(yytext,yyleng); } "*"+[^*/\\@\n]* { /* stars without slashes */ diff --git a/src/config.l b/src/config.l index 62e3d7c..c1a4726 100644 --- a/src/config.l +++ b/src/config.l @@ -1361,26 +1361,17 @@ void Config::check() // check QHP creation requirements if (Config_getBool("GENERATE_QHP")) { - bool qhp=TRUE; - if (!Config_getBool("GENERATE_HTML")) - { - config_err("Error: GENERATE_QHP=YES requires GENERATE_HTML=YES. Disabling QHP output.\n"); - qhp=FALSE; - } - if (Config_getString("QHP_NAMESPACE").isEmpty()) { - config_err("Error: GENERATE_QHP=YES requires QHP_NAMESPACE to be set. Disabling QHP output.\n"); - qhp=FALSE; + config_err("Error: GENERATE_QHP=YES requires QHP_NAMESPACE to be set. Using 'org.doxygen.doc' as default!.\n"); + Config_getString("QHP_NAMESPACE")="org.doxygen.doc"; } if (Config_getString("QHP_VIRTUAL_FOLDER").isEmpty()) { - config_err("Error: GENERATE_QHP=YES requires QHP_VIRTUAL_FOLDER to be set. Disabling QHP output.\n"); - qhp=FALSE; + config_err("Error: GENERATE_QHP=YES requires QHP_VIRTUAL_FOLDER to be set. Using 'doc' as default!\n"); + Config_getString("QHP_VIRTUAL_FOLDER")="doc"; } - - Config_getBool("GENERATE_QHP")=qhp; } if (Config_getBool("OPTIMIZE_OUTPUT_JAVA") && Config_getBool("INLINE_INFO")) diff --git a/src/config.xml b/src/config.xml index e4c7cba..62b3438 100644 --- a/src/config.xml +++ b/src/config.xml @@ -861,7 +861,7 @@ The path specified is relative to the HTML output folder. The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help Project output. For more information please see http://doc.trolltech.com/qthelpproject.html#namespace -' defval='' depends='GENERATE_QHP'/> +' defval='org.doxygen.Project' depends='GENERATE_QHP'/>