From e48f695c385ccc356e124ac3a851a6228f4f5b84 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Sat, 3 Dec 2011 18:14:19 +0000 Subject: Release-1.7.6 --- INSTALL | 4 ++-- README | 4 ++-- configure | 4 ++-- doc/config.doc | 6 ++--- src/classdef.cpp | 24 +++++++++++++++++-- src/classdef.h | 7 +++++- src/commentscan.l | 3 ++- src/config.l | 24 ++++++++++++------- src/config.xml | 7 +++--- src/configoptions.cpp | 7 +++--- src/dirdef.cpp | 2 +- src/docparser.cpp | 10 ++++---- src/docparser.h | 22 +++++++++++------- src/dot.cpp | 34 +++++++++++++++++++++------ src/doxygen.cpp | 2 +- src/doxygen.css | 2 +- src/doxygen_css.h | 2 +- src/htmldocvisitor.cpp | 29 +++++++++++++++++++---- src/pre.l | 62 +++++++++++++++++++++++++++++++++++--------------- src/scanner.l | 2 ++ 20 files changed, 184 insertions(+), 73 deletions(-) diff --git a/INSTALL b/INSTALL index 30d34f6..95047af 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,7 @@ -DOXYGEN Version 1.7.5.1-20111119 +DOXYGEN Version 1.7.6 Please read the installation section of the manual (http://www.doxygen.org/install.html) for instructions. -------- -Dimitri van Heesch (19 November 2011) +Dimitri van Heesch (03 December 2011) diff --git a/README b/README index 08d7273..c1dd455 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -DOXYGEN Version 1.7.5.1_20111119 +DOXYGEN Version 1.7.6 Please read INSTALL for compilation instructions. @@ -26,4 +26,4 @@ forum. Enjoy, -Dimitri van Heesch (dimitri@stack.nl) (19 November 2011) +Dimitri van Heesch (dimitri@stack.nl) (03 December 2011) diff --git a/configure b/configure index aad688b..31e9607 100755 --- a/configure +++ b/configure @@ -17,10 +17,10 @@ doxygen_version_major=1 doxygen_version_minor=7 -doxygen_version_revision=5.1 +doxygen_version_revision=6 #NOTE: Setting version_mmn to "NO" will omit mmn info from the package. -doxygen_version_mmn=20111119 +doxygen_version_mmn=NO bin_dirs=`echo $PATH | sed -e "s/:/ /g"` diff --git a/doc/config.doc b/doc/config.doc index 022f4cd..bf81121 100644 --- a/doc/config.doc +++ b/doc/config.doc @@ -1075,15 +1075,15 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn" \anchor cfg_exclude
\c EXCLUDE
\addindex EXCLUDE - The \c EXCLUDE tag can be used to specify files and/or directories that should + The \c EXCLUDE tag can be used to specify files and/or directories that should be 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. + Note that relative paths are relative to the directory from which doxygen is run. \anchor cfg_exclude_symlinks
\c EXCLUDE_SYMLINKS
\addindex EXCLUDE_SYMLINKS - The \c EXCLUDE_SYMLINKS tag can be used select whether or not files or directories + The \c EXCLUDE_SYMLINKS tag can be used to select whether or not files or directories that are symbolic links (a Unix file system feature) are excluded from the input. \anchor cfg_exclude_patterns diff --git a/src/classdef.cpp b/src/classdef.cpp index fd3aedf..cc9a617 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -180,6 +180,9 @@ class ClassDefImpl ClassList *taggedInnerClasses; ClassDef *tagLessRef; + + /** Does this class represent a Java style enum? */ + bool isJavaEnum; }; void ClassDefImpl::init(const char *defFileName, const char *name, @@ -270,13 +273,14 @@ ClassDef::ClassDef( const char *defFileName,int defLine, const char *nm,CompoundType ct, const char *lref,const char *fName, - bool isSymbol) + bool isSymbol,bool isJavaEnum) : Definition(defFileName,defLine,removeRedundantWhiteSpace(nm),0,0,isSymbol) { visited=FALSE; setReference(lref); m_impl = new ClassDefImpl; m_impl->compType = ct; + m_impl->isJavaEnum = isJavaEnum; m_impl->init(defFileName,name(),compoundTypeString(),fName); } @@ -1015,6 +1019,13 @@ void ClassDef::showUsedFiles(OutputList &ol) getLanguage()==SrcLangExt_ObjC && m_impl->compType==Interface ? Class : m_impl->compType, m_impl->files.count()==1)); } + else if (isJavaEnum()) + { + // TODO: TRANSLATE ME + QCString s; + if (m_impl->files.count()!=1) s="s"; + ol.parseText("The documentation for this enum was generated from the following file"+s+":"); + } else { ol.parseText(theTranslator->trGeneratedFromFiles( @@ -1939,6 +1950,11 @@ void ClassDef::writeDocumentation(OutputList &ol) // TODO: TRANSLATE ME pageTitle = VhdlDocGen::getClassTitle(this)+" Reference"; } + else if (isJavaEnum()) + { + // TODO: TRANSLATE ME + pageTitle = displayName()+" Enum Reference"; + } else { pageTitle = theTranslator->trCompoundReference(displayName(), @@ -3166,7 +3182,7 @@ QCString ClassDef::compoundTypeString() const { switch (m_impl->compType) { - case Class: return "class"; + case Class: return isJavaEnum() ? "enum" : "class"; case Struct: return "struct"; case Union: return "union"; case Interface: return getLanguage()==SrcLangExt_ObjC ? "class" : "interface"; @@ -4027,3 +4043,7 @@ void ClassDef::removeMemberFromLists(MemberDef *md) } } +bool ClassDef::isJavaEnum() const +{ + return m_impl->isJavaEnum; +} diff --git a/src/classdef.h b/src/classdef.h index 13f1157..d92b5a6 100644 --- a/src/classdef.h +++ b/src/classdef.h @@ -79,11 +79,14 @@ class ClassDef : public Definition * generates based on the compound type & name. * \param isSymbol If TRUE this class name is added as a publicly * visible (and referencable) symbol. + * \param isJavaEnum If TRUE this class is actually a Java enum. + * I didn't add this to CompoundType to avoid having + * to adapt all translators. */ ClassDef(const char *fileName,int startLine, const char *name,CompoundType ct, const char *ref=0,const char *fName=0, - bool isSymbol=TRUE); + bool isSymbol=TRUE,bool isJavaEnum=FALSE); /*! Destroys a compound definition. */ ~ClassDef(); @@ -273,6 +276,8 @@ class ClassDef : public Definition MemberDef *isSmartPointer() const; + bool isJavaEnum() const; + //----------------------------------------------------------------------------------- // --- setters ---- //----------------------------------------------------------------------------------- diff --git a/src/commentscan.l b/src/commentscan.l index c37b3dc..8ea61ce 100644 --- a/src/commentscan.l +++ b/src/commentscan.l @@ -811,7 +811,8 @@ OL [oO][lL] DL [dD][lL] IMG [iI][mM][gG] HR [hH][rR] -DETAILEDHTML {PRE}|{UL}|{TABLE}|{OL}|{DL}|{P}|[Hh][1-6]|{IMG}|{HR} +PARA [pP][aA][rR][aA] +DETAILEDHTML {PRE}|{UL}|{TABLE}|{OL}|{DL}|{P}|[Hh][1-6]|{IMG}|{HR}|{PARA} BN [ \t\n\r] BL [ \t\r]*"\n" B [ \t] diff --git a/src/config.l b/src/config.l index 7d3f633..3c22571 100644 --- a/src/config.l +++ b/src/config.l @@ -1223,20 +1223,28 @@ void Config::check() QCString &dotPath = Config_getString("DOT_PATH"); if (!dotPath.isEmpty()) { - QFileInfo dp(dotPath+"/dot"+portable_commandExtension()); - if (!dp.exists() || !dp.isFile()) + QFileInfo fi(dotPath); + if (fi.exists() && fi.isFile()) // user specified path + exec { - config_err("warning: the dot tool could not be found at %s\n",dotPath.data()); - dotPath=""; + dotPath=fi.dirPath(TRUE); } else { - dotPath=dp.dirPath(TRUE)+"/"; + QFileInfo dp(dotPath+"/dot"+portable_commandExtension()); + if (!dp.exists() || !dp.isFile()) + { + config_err("warning: the dot tool could not be found at %s\n",dotPath.data()); + dotPath=""; + } + else + { + dotPath=dp.dirPath(TRUE)+"/"; + } + } #if defined(_WIN32) // convert slashes - uint i=0,l=dotPath.length(); - for (i=0;i