From de297f6d77f3861b649f3fcba443483d6be6afe9 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Mon, 6 Jun 2011 19:49:53 +0000 Subject: Release-1.7.4-20110606 --- INSTALL | 4 +- README | 4 +- configure | 6 +- doc/commands.doc | 15 +- doc/config.doc | 9 + doc/language.doc | 20 +- doc/maintainers.txt | 3 + doc/translator_report.txt | 21 +- examples/author.cpp | 25 +- qtools/qglobal.h | 7 +- src/classdef.cpp | 18 +- src/classdef.h | 6 +- src/cmdmapper.cpp | 1 + src/cmdmapper.h | 5 +- src/code.l | 2 +- src/compound.xsd | 1 + src/compound_xsd.h | 1 + src/config.xml | 7 + src/configoptions.cpp | 10 +- src/definition.cpp | 4 +- src/docparser.cpp | 133 ++-- src/docparser.h | 2 +- src/doctokenizer.h | 1 + src/doctokenizer.l | 14 + src/dot.cpp | 390 ++++++++-- src/dot.h | 6 +- src/doxygen.cpp | 14 +- src/doxygen.css | 27 +- src/doxygen_css.h | 27 +- src/entry.h | 47 +- src/fortranscanner.l | 69 +- src/ftvhelp.cpp | 12 - src/groupdef.cpp | 15 +- src/htmlattrib.h | 12 + src/htmldocvisitor.cpp | 2 + src/htmlgen.cpp | 22 +- src/lang_cfg.h | 1 + src/language.cpp | 9 + src/latexdocvisitor.cpp | 35 +- src/latexgen.cpp | 60 +- src/libdoxygen.pro.in | 2 + src/libdoxygen.t | 3 + src/mandocvisitor.cpp | 2 + src/memberdef.cpp | 24 +- src/perlmodgen.cpp | 1 + src/pre.l | 1 - src/printdocvisitor.h | 1 + src/reflist.cpp | 25 +- src/rtfdocvisitor.cpp | 2 + src/scanner.l | 11 +- src/search.css | 7 - src/search_css.h | 7 - src/svgpan.js | 271 +++++++ src/svgpan_js.h | 271 +++++++ src/translator_am.h | 1835 +++++++++++++++++++++++++++++++++++++++++++++ src/translator_gr.h | 45 +- src/util.cpp | 91 ++- src/util.h | 4 +- src/xmldocvisitor.cpp | 2 + 59 files changed, 3310 insertions(+), 362 deletions(-) create mode 100644 src/svgpan.js create mode 100644 src/svgpan_js.h create mode 100644 src/translator_am.h diff --git a/INSTALL b/INSTALL index f1132ee..0bb247b 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,7 @@ -DOXYGEN Version 1.7.4-20110426 +DOXYGEN Version 1.7.4-20110606 Please read the installation section of the manual (http://www.doxygen.org/install.html) for instructions. -------- -Dimitri van Heesch (26 April 2011) +Dimitri van Heesch (06 June 2011) diff --git a/README b/README index bc7a0a5..a366352 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -DOXYGEN Version 1.7.4_20110426 +DOXYGEN Version 1.7.4_20110606 Please read INSTALL for compilation instructions. @@ -26,4 +26,4 @@ forum. Enjoy, -Dimitri van Heesch (dimitri@stack.nl) (26 April 2011) +Dimitri van Heesch (dimitri@stack.nl) (06 June 2011) diff --git a/configure b/configure index 5054923..167c086 100755 --- a/configure +++ b/configure @@ -20,7 +20,7 @@ doxygen_version_minor=7 doxygen_version_revision=4 #NOTE: Setting version_mmn to "NO" will omit mmn info from the package. -doxygen_version_mmn=20110426 +doxygen_version_mmn=20110606 bin_dirs=`echo $PATH | sed -e "s/:/ /g"` @@ -38,7 +38,7 @@ f_app=NO f_thread=NO f_flex=NO f_bison=NO -f_langs=nl,sv,cz,fr,id,it,de,jp,je,es,fi,ru,hr,pl,pt,hu,kr,ke,ro,si,cn,no,mk,br,dk,sk,ua,gr,tw,sr,ca,lt,za,ar,fa,sc,vi,tr,eo +f_langs=nl,sv,cz,fr,id,it,de,jp,je,es,fi,ru,hr,pl,pt,hu,kr,ke,ro,si,cn,no,mk,br,dk,sk,ua,gr,tw,sr,ca,lt,za,ar,fa,sc,vi,tr,eo,am while test -n "$1"; do case $1 in @@ -658,7 +658,7 @@ fi echo -n " Generating src/lang_cfg.h..." echo $f_langs | $f_perl -e '@l=split(/,/,); chomp @l; - @allowed=(split(/,/,"NL,SV,CZ,FR,ID,IT,DE,JP,JE,ES,FI,RU,HR,PL,PT,HU,KR,KE,RO,SI,CN,NO,MK,BR,DK,SK,UA,GR,TW,SR,CA,LT,ZA,AR,FA,SC,VI,TR,EO")); + @allowed=(split(/,/,"NL,SV,CZ,FR,ID,IT,DE,JP,JE,ES,FI,RU,HR,PL,PT,HU,KR,KE,RO,SI,CN,NO,MK,BR,DK,SK,UA,GR,TW,SR,CA,LT,ZA,AR,FA,SC,VI,TR,EO,AM")); foreach my $elem (@l){ $elem =~ tr/a-z/A-Z/; $r=0; diff --git a/doc/commands.doc b/doc/commands.doc index bf2b39c..9e1a787 100644 --- a/doc/commands.doc +++ b/doc/commands.doc @@ -57,6 +57,7 @@ documentation: \refitem cmdcopybrief \\copybrief \refitem cmdcopydetails \\copydetails \refitem cmdcopydoc \\copydoc +\refitem cmdcopyright \\copyright \refitem cmddate \\date \refitem cmddef \\def \refitem cmddefgroup \\defgroup @@ -1018,6 +1019,7 @@ Section indicators Click here for the corresponding HTML documentation that is generated by doxygen. \endhtmlonly +
\section cmdauthors \\authors { list of authors } @@ -1124,6 +1126,15 @@ contains \c TEST, or \c DEV \sa section \ref cmdendcond "\\endcond".
+\section cmdcopyright \\copyright { copyright description } + + \addindex \\copyright + Starts a paragraph where the copyright of an entity can be described. + This paragraph will be indented. + The text of the paragraph has no special internal structure. + See section \ref cmdauthor "\\author" for an example. + +
\section cmddate \\date { date description } \addindex \\date @@ -1566,8 +1577,8 @@ void memcpy(void *dest, const void *src, size_t n); Alternatively, one \\version command may mention several version strings. The \\version command ends when a blank line or some other - sectioning command is encountered. See section \ref cmdauthor "\\author" - for an example. + sectioning command is encountered. + See section \ref cmdauthor "\\author" for an example.
\section cmdwarning \\warning { warning message } diff --git a/doc/config.doc b/doc/config.doc index a511f8b..7f98fd0 100644 --- a/doc/config.doc +++ b/doc/config.doc @@ -183,6 +183,7 @@ followed by the descriptions of the tags grouped by category. \refitem cfg_input INPUT \refitem cfg_input_encoding INPUT_ENCODING \refitem cfg_input_filter INPUT_FILTER +\refitem cfg_interactive_svg INTERACTIVE_SVG \refitem cfg_internal_docs INTERNAL_DOCS \refitem cfg_javadoc_autobrief JAVADOC_AUTOBRIEF \refitem cfg_latex_batchmode LATEX_BATCHMODE @@ -1063,6 +1064,7 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn" The \c EXCLUDE tag can be used to specify files and/or directories that should excluded from the \c INPUT source files. This way you can easily exclude a subdirectory from a directory tree whose root is specified with the \c INPUT tag. + Note that relative paths are relative to directory from which doxygen is run. \anchor cfg_exclude_symlinks
\c EXCLUDE_SYMLINKS
@@ -2421,6 +2423,13 @@ The default size is 10pt. generated by dot. Possible values are svg, png, jpg, or gif. If left blank png will be used. +\anchor cfg_interactive_svg +
\c INTERACTIVE_SVG + If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to + enable generation of interactive SVG images that allow zooming and panning. + Note that this requires a modern browser. For Internet Explorer you will need + at least version 9. + \anchor cfg_dot_path
\c DOT_PATH
\addindex DOT_PATH diff --git a/doc/language.doc b/doc/language.doc index 1537c17..de6ebba 100644 --- a/doc/language.doc +++ b/doc/language.doc @@ -23,13 +23,13 @@ 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.4), 38 languages +Currently (version 1.7.4), 39 languages are supported (sorted alphabetically): -Afrikaans, Arabic, Brazilian Portuguese, Catalan, Chinese, Chinese -Traditional, Croatian, Czech, Danish, Dutch, English, Esperanto, -Finnish, French, German, Greek, Hungarian, Indonesian, Italian, -Japanese (+En), Korean (+En), Lithuanian, Macedonian, Norwegian, -Persian, Polish, Portuguese, Romanian, Russian, Serbian, +Afrikaans, Arabic, Armenian, Brazilian Portuguese, Catalan, Chinese, +Chinese Traditional, Croatian, Czech, Danish, Dutch, English, +Esperanto, Finnish, French, German, Greek, Hungarian, Indonesian, +Italian, Japanese (+En), Korean (+En), Lithuanian, Macedonian, +Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Serbian, SerbianCyrilic, Slovak, Slovene, Spanish, Swedish, Turkish, Ukrainian, and Vietnamese.. @@ -65,6 +65,12 @@ when the translator was updated. 1.4.6 + Armenian + Armen Tangamyan + armen dot tangamyan at anu dot edu dot au + up-to-date + + Brazilian Portuguese Fabio "FJTC" Jun Takada Chino jun-chino at uol dot com dot br @@ -313,6 +319,8 @@ when the translator was updated. Arabic & Moaz Reyad & {\tt\tiny [resigned] moazreyad at yahoo dot com} & 1.4.6 \\ ~ & -- searching for the maintainer -- & {\tt\tiny [Please, try to help to find someone.]} & ~ \\ \hline + Armenian & Armen Tangamyan & {\tt\tiny armen dot tangamyan at anu dot edu dot au} & up-to-date \\ + \hline Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt\tiny jun-chino at uol dot com dot br} & up-to-date \\ \hline Catalan & Maximiliano Pin & {\tt\tiny max dot pin at bitroit dot com} & 1.6.3 \\ diff --git a/doc/maintainers.txt b/doc/maintainers.txt index 544f89e..dc4c21a 100644 --- a/doc/maintainers.txt +++ b/doc/maintainers.txt @@ -22,6 +22,9 @@ TranslatorArabic Moaz Reyad: [resigned] moazreyad at yahoo dot com -- searching for the maintainer --: [Please, try to help to find someone.] +TranslatorArmenian +Armen Tangamyan: armen dot tangamyan at anu dot edu dot au + TranslatorBrazilian Fabio "FJTC" Jun Takada Chino: jun-chino at uol dot com dot br diff --git a/doc/translator_report.txt b/doc/translator_report.txt index 5d59c1e..77ede62 100644 --- a/doc/translator_report.txt +++ b/doc/translator_report.txt @@ -1,16 +1,16 @@ (1.7.4) -Doxygen supports the following 38 languages (sorted alphabetically): +Doxygen supports the following 39 languages (sorted alphabetically): -Afrikaans, Arabic, Brazilian Portuguese, Catalan, Chinese, Chinese -Traditional, Croatian, Czech, Danish, Dutch, English, Esperanto, -Finnish, French, German, Greek, Hungarian, Indonesian, Italian, -Japanese (+En), Korean (+En), Lithuanian, Macedonian, Norwegian, -Persian, Polish, Portuguese, Romanian, Russian, Serbian, +Afrikaans, Arabic, Armenian, Brazilian Portuguese, Catalan, Chinese, +Chinese Traditional, Croatian, Czech, Danish, Dutch, English, +Esperanto, Finnish, French, German, Greek, Hungarian, Indonesian, +Italian, Japanese (+En), Korean (+En), Lithuanian, Macedonian, +Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Serbian, SerbianCyrilic, Slovak, Slovene, Spanish, Swedish, Turkish, Ukrainian, and Vietnamese. -Of them, 17 translators are up-to-date, 21 translators are based on +Of them, 18 translators are up-to-date, 21 translators are based on some adapter class, and 2 are English based. ---------------------------------------------------------------------- @@ -19,6 +19,7 @@ alphabetically). This means that they derive from the Translator class and they implement all 225 of the required methods. Anyway, there still may be some details listed even for them: + TranslatorArmenian -- The MAX_DOT_GRAPH_HEIGHT found in trLegendDocs() TranslatorBrazilian TranslatorChinese -- Reimplementation using UTF-8 suggested. TranslatorCroatian @@ -195,6 +196,12 @@ TranslatorArabic (TranslatorAdapter_1_4_6) 32 methods to implement (14 %) virtual QCString trNoDescriptionAvailable() +TranslatorArmenian (Translator) +------------------ + + Implements 225 of the required methods (100 %). + + TranslatorCatalan (TranslatorAdapter_1_6_3) 4 methods to implement (1 %) ----------------- diff --git a/examples/author.cpp b/examples/author.cpp index 59cc7ab..4c22a6a 100644 --- a/examples/author.cpp +++ b/examples/author.cpp @@ -1,14 +1,13 @@ -/*! \class WindowsNT - * \brief Windows Nice Try. - * \author Bill Gates - * \author Several species of small furry animals gathered together - * in a cave and grooving with a pict. - * \version 4.0 - * \date 1996-1998 - * \bug It crashes a lot and requires huge amounts of memory. - * \bug The class introduces the more bugs, the longer it is used. - * \warning This class may explode in your face. - * \warning If you inherit anything from this class, you're doomed. +/*! + * \brief Pretty nice class. + * \details This class is used to demonstrate a number of section commands. + * \author John Doe + * \author Jan Doe + * \version 4.1a + * \date 1990-2010 + * \pre First initialize the system. + * \bug Not all memory is freed when deleting an object of this class. + * \warning Improper use can crash your application + * \copyright GNU Public License. */ - -class WindowsNT {}; +class SomeNiceClass {}; diff --git a/qtools/qglobal.h b/qtools/qglobal.h index 700cb80..352d985 100644 --- a/qtools/qglobal.h +++ b/qtools/qglobal.h @@ -89,8 +89,11 @@ # if !defined(MAC_OS_X_VERSION_10_6) # define MAC_OS_X_VERSION_10_6 MAC_OS_X_VERSION_10_5 + 1 # endif -# if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_6) -# error "This version of Mac OS X is unsupported" +# if !defined(MAC_OS_X_VERSION_10_7) +# define MAC_OS_X_VERSION_10_7 MAC_OS_X_VERSION_10_6 + 1 +# endif +# if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_7) +# warning "This version of Mac OS X is unsupported" # endif #elif defined(MSDOS) || defined(_MSDOS) || defined(__MSDOS__) #define _OS_MSDOS_ diff --git a/src/classdef.cpp b/src/classdef.cpp index 5c75ebb..34dcee3 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -383,7 +383,8 @@ void ClassDef::internalInsertMember(MemberDef *md, } } - if (!isReference()) + 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"); @@ -2865,8 +2866,11 @@ void ClassDef::mergeCategory(ClassDef *category) //---------------------------------------------------------------------------- -void ClassDef::addUsedClass(ClassDef *cd,const char *accessName) +void ClassDef::addUsedClass(ClassDef *cd,const char *accessName, + Protection prot) { + static bool extractPrivate = Config_getBool("EXTRACT_PRIVATE"); + if (prot==Private && !extractPrivate) return; //printf("%s::addUsedClass(%s,%s)\n",name().data(),cd->name().data(),accessName); if (m_impl->usesImplClassDict==0) { @@ -2884,8 +2888,11 @@ void ClassDef::addUsedClass(ClassDef *cd,const char *accessName) ucd->addAccessor(accessName); } -void ClassDef::addUsedByClass(ClassDef *cd,const char *accessName) +void ClassDef::addUsedByClass(ClassDef *cd,const char *accessName, + Protection prot) { + static bool extractPrivate = Config_getBool("EXTRACT_PRIVATE"); + if (prot==Private && !extractPrivate) return; //printf("%s::addUsedByClass(%s,%s)\n",name().data(),cd->name().data(),accessName); if (m_impl->usedByImplClassDict==0) { @@ -3854,6 +3861,11 @@ void ClassDef::setUsedOnly(bool b) m_impl->usedOnly = b; } +SrcLangExt ClassDef::getLanguage() const +{ + return m_impl->lang; +} + bool ClassDef::isUsedOnly() const { return m_impl->usedOnly; diff --git a/src/classdef.h b/src/classdef.h index 7b5ce86..fcb8d4c 100644 --- a/src/classdef.h +++ b/src/classdef.h @@ -267,6 +267,8 @@ class ClassDef : public Definition QCString anchor() const; bool isEmbeddedInGroupDocs() const; + SrcLangExt getLanguage() const; + //----------------------------------------------------------------------------------- // --- setters ---- //----------------------------------------------------------------------------------- @@ -286,8 +288,8 @@ class ClassDef : public Definition void addInnerCompound(Definition *d); ClassDef *insertTemplateInstance(const QCString &fileName,int startLine, const QCString &templSpec,bool &freshInstance); - void addUsedClass(ClassDef *cd,const char *accessName); - void addUsedByClass(ClassDef *cd,const char *accessName); + void addUsedClass(ClassDef *cd,const char *accessName,Protection prot); + void addUsedByClass(ClassDef *cd,const char *accessName,Protection prot); void setIsStatic(bool b); void setLanguage(SrcLangExt lang); void setCompoundType(CompoundType t); diff --git a/src/cmdmapper.cpp b/src/cmdmapper.cpp index c06d33e..d45bccc 100644 --- a/src/cmdmapper.cpp +++ b/src/cmdmapper.cpp @@ -65,6 +65,7 @@ CommandMap cmdMap[] = { "param", CMD_PARAM }, { "post", CMD_POST }, { "pre", CMD_PRE }, + { "copyright", CMD_COPYRIGHT }, { "ref", CMD_REF }, { "refitem", CMD_SECREFITEM }, { "remark", CMD_REMARK }, diff --git a/src/cmdmapper.h b/src/cmdmapper.h index 3b01030..0a398f5 100644 --- a/src/cmdmapper.h +++ b/src/cmdmapper.h @@ -77,7 +77,7 @@ enum CommandType CMD_PARAM = 43 | SIMPLESECT_BIT, CMD_PERCENT = 44, CMD_POST = 45 | SIMPLESECT_BIT, - CMD_PRE = 46 | SIMPLESECT_BIT , + CMD_PRE = 46 | SIMPLESECT_BIT, CMD_REF = 47, CMD_SECREFITEM = 48, CMD_REMARK = 49 | SIMPLESECT_BIT , @@ -115,7 +115,8 @@ enum CommandType CMD_COPYDETAILS = 81, CMD_QUOTE = 82, CMD_MSCFILE = 83, - CMD_DCOLON = 84 + CMD_DCOLON = 84, + CMD_COPYRIGHT = 85 | SIMPLESECT_BIT, }; enum HtmlTagType diff --git a/src/code.l b/src/code.l index 55045ea..733be82 100644 --- a/src/code.l +++ b/src/code.l @@ -1793,7 +1793,7 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP} codifyLines(yytext); endFontClass(); } -(KEYWORD_CPPCLI_DATATYPE|("partial"{B}+)?"class"|"struct"|"union"|"namespace"){B}+ { +(KEYWORD_CPPCLI_DATATYPE|("partial"{B}+)?"class"|"struct"|"union"|"namespace"|"interface"){B}+ { startFontClass("keyword"); codifyLines(yytext); endFontClass(); diff --git a/src/compound.xsd b/src/compound.xsd index 65fc0bf..493fc4e 100644 --- a/src/compound.xsd +++ b/src/compound.xsd @@ -764,6 +764,7 @@ + diff --git a/src/compound_xsd.h b/src/compound_xsd.h index c157054..e84e21f 100644 --- a/src/compound_xsd.h +++ b/src/compound_xsd.h @@ -764,6 +764,7 @@ " \n" " \n" " \n" +" \n" " \n" " \n" " \n" diff --git a/src/config.xml b/src/config.xml index 2883b83..6893283 100644 --- a/src/config.xml +++ b/src/config.xml @@ -626,6 +626,7 @@ If left blank NO is used. The EXCLUDE tag can be used to specify files and/or directories that should excluded from the INPUT source files. This way you can easily exclude a subdirectory from a directory tree whose root is specified with the INPUT tag. +Note that relative paths are relative to directory from which doxygen is run. '> +