From 48f4fd9c2d9ba8b374e3c052f888df9bc220df92 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Fri, 24 Dec 2010 16:12:24 +0000 Subject: Release-1.7.2-20101224 --- Doxyfile | 2 +- INSTALL | 4 +- README | 4 +- addon/doxywizard/doxywizard.qrc | 1 + addon/doxywizard/wizard.cpp | 40 ++- addon/doxywizard/wizard.h | 17 ++ configure | 2 +- doc/commands.doc | 9 + doc/config.doc | 10 + doc/maintainers.txt | 1 + qtools/Doxyfile | 16 +- src/classdef.cpp | 34 ++- src/code.l | 10 +- src/config.l | 1 + src/config.xml | 18 +- src/configoptions.cpp | 19 +- src/defargs.l | 23 +- src/definition.cpp | 40 ++- src/dirdef.cpp | 74 +++-- src/dot.cpp | 4 +- src/dot.h | 2 +- src/doxygen.cpp | 72 +++-- src/doxygen.css | 74 ++++- src/doxygen_css.h | 74 ++++- src/eclipsehelp.cpp | 10 +- src/filedef.cpp | 49 +++- src/fortranscanner.l | 199 ++++++++++---- src/ftvhelp.cpp | 573 ++++++++++++++++++++++++++++++++++++-- src/ftvhelp.h | 37 +-- src/groupdef.cpp | 17 +- src/htmlgen.cpp | 535 ++++++++++++++++++++++-------------- src/htmlgen.h | 12 +- src/htmlhelp.cpp | 2 +- src/index.cpp | 592 +++++++++++++++++++++++++--------------- src/index.h | 4 +- src/instdox.cpp | 8 +- src/jquery.js | 50 ++++ src/jquery_js.h | 50 ++++ src/latexgen.cpp | 4 - src/latexgen.h | 2 + src/layout.cpp | 4 +- src/libdoxygen.pro.in | 4 + src/libdoxygen.t | 15 + src/mangen.h | 2 + src/memberdef.cpp | 26 +- src/membergroup.cpp | 2 +- src/memberlist.cpp | 20 +- src/namespacedef.cpp | 25 +- src/navtree.css | 123 +++++++++ src/navtree.js | 245 +++++++++++++++++ src/navtree_css.h | 123 +++++++++ src/navtree_js.h | 245 +++++++++++++++++ src/outputgen.h | 2 + src/outputlist.h | 4 + src/pagedef.cpp | 25 +- src/resize.js | 81 ++++++ src/resize_js.h | 81 ++++++ src/rtfgen.h | 2 + src/search.php | 13 +- src/search_php.h | 13 +- src/translator_cn.h | 77 +++++- src/util.cpp | 349 ++++++----------------- src/util.h | 12 + 63 files changed, 3190 insertions(+), 998 deletions(-) create mode 100644 src/jquery.js create mode 100644 src/jquery_js.h create mode 100644 src/navtree.css create mode 100644 src/navtree.js create mode 100644 src/navtree_css.h create mode 100644 src/navtree_js.h create mode 100644 src/resize.js create mode 100644 src/resize_js.h diff --git a/Doxyfile b/Doxyfile index c56f940..c214224 100644 --- a/Doxyfile +++ b/Doxyfile @@ -190,7 +190,7 @@ ENUM_VALUES_PER_LINE = 4 GENERATE_TREEVIEW = YES USE_INLINE_TREES = YES TREEVIEW_WIDTH = 250 -EXT_LINKS_IN_WINDOW = YES +EXT_LINKS_IN_WINDOW = NO FORMULA_FONTSIZE = 10 SEARCHENGINE = YES SERVER_BASED_SEARCH = NO diff --git a/INSTALL b/INSTALL index 7adabd1..ef7908f 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,7 @@ -DOXYGEN Version 1.7.2-20101118 +DOXYGEN Version 1.7.2-20101224 Please read the installation section of the manual (http://www.doxygen.org/install.html) for instructions. -------- -Dimitri van Heesch (18 November 2010) +Dimitri van Heesch (24 December 2010) diff --git a/README b/README index 79dbd9c..213685f 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -DOXYGEN Version 1.7.2_20101118 +DOXYGEN Version 1.7.2_20101224 Please read INSTALL for compilation instructions. @@ -26,4 +26,4 @@ forum. Enjoy, -Dimitri van Heesch (dimitri@stack.nl) (18 November 2010) +Dimitri van Heesch (dimitri@stack.nl) (24 December 2010) diff --git a/addon/doxywizard/doxywizard.qrc b/addon/doxywizard/doxywizard.qrc index dd23c5d..88316ed 100644 --- a/addon/doxywizard/doxywizard.qrc +++ b/addon/doxywizard/doxywizard.qrc @@ -6,5 +6,6 @@ images/file.png images/folder.png images/refresh.png + images/tunecolor.png diff --git a/addon/doxywizard/wizard.cpp b/addon/doxywizard/wizard.cpp index b756d0f..bdccd81 100644 --- a/addon/doxywizard/wizard.cpp +++ b/addon/doxywizard/wizard.cpp @@ -117,6 +117,32 @@ static void updateStringOption( //========================================================================== +TuneColorDialog::TuneColorDialog(QWidget *parent) : QDialog(parent) +{ + setWindowTitle(tr("Tune the color of the HTML output")); + QGridLayout *layout = new QGridLayout(this); + m_image = new QImage(QString::fromAscii(":/images/tunecolor.png")); + m_imageLab = new QLabel; + m_imageLab->setPixmap(QPixmap::fromImage(*m_image)); + layout->addWidget(new QLabel(tr("Example output: use the sliders to change")),0,0); + layout->addWidget(m_imageLab,1,0); + QHBoxLayout *buttonsLayout = new QHBoxLayout; + + QPushButton *okButton = new QPushButton(tr("Ok")); + connect(okButton,SIGNAL(clicked()),SLOT(accept())); + okButton->setDefault(true); + QPushButton *cancelButton = new QPushButton(tr("Cancel")); + connect(cancelButton,SIGNAL(clicked()),SLOT(reject())); + + buttonsLayout->addStretch(); + buttonsLayout->addWidget(okButton); + buttonsLayout->addWidget(cancelButton); + layout->addLayout(buttonsLayout,5,0); + +} + +//========================================================================== + Step1::Step1(Wizard *wizard,const QHash &modelData) : m_wizard(wizard), m_modelData(modelData) { QVBoxLayout *layout = new QVBoxLayout(this); @@ -477,9 +503,14 @@ Step3::Step3(Wizard *wizard,const QHash &modelData) m_htmlOptionsGroup->addButton(r, 2); // GENERATE_HTMLHELP vbox->addWidget(r); - m_searchEnabled=new QCheckBox(tr("With search function (requires PHP enabled web server)")); + m_searchEnabled=new QCheckBox(tr("With search function")); vbox->addWidget(m_searchEnabled); // SEARCH_ENGINE + QHBoxLayout *hbox = new QHBoxLayout; + m_tuneColor=new QPushButton(tr("Change color...")); + hbox->addWidget(m_tuneColor); + hbox->addStretch(1); + vbox->addLayout(hbox); m_htmlOptions->setLayout(vbox); m_htmlOptions->setChecked(true); } @@ -531,6 +562,13 @@ Step3::Step3(Wizard *wizard,const QHash &modelData) SLOT(setHtmlOptions(int))); connect(m_texOptionsGroup,SIGNAL(buttonClicked(int)), SLOT(setLatexOptions(int))); + connect(m_tuneColor,SIGNAL(clicked()),SLOT(tuneColorDialog())); +} + +void Step3::tuneColorDialog() +{ + TuneColorDialog tuneColor(this); + tuneColor.exec(); } void Step3::setHtmlEnabled(bool b) diff --git a/addon/doxywizard/wizard.h b/addon/doxywizard/wizard.h index d482db9..94cccc2 100644 --- a/addon/doxywizard/wizard.h +++ b/addon/doxywizard/wizard.h @@ -17,6 +17,7 @@ #include #include +#include class Input; class QTreeWidget; @@ -29,12 +30,26 @@ class QRadioButton; class QGroupBox; class QButtonGroup; class Wizard; +class QImage; +class QLabel; enum OptLang { Lang_Cpp, Lang_C, Lang_Java, Lang_CS }; enum HtmlStyle { HS_Plain, HS_TreeView, HS_CHM }; enum TexStyle { TS_PDFHyper, TS_PDF, TS_PS }; enum DiagramMode { DM_None, DM_Builtin, DM_Dot }; +class TuneColorDialog : public QDialog +{ + Q_OBJECT + + public: + TuneColorDialog(QWidget *parent=0); + + private: + QImage *m_image; + QLabel *m_imageLab; +}; + class Step1 : public QWidget { Q_OBJECT @@ -103,6 +118,7 @@ class Step3 : public QWidget void setSearchEnabled(int); void setHtmlOptions(int); void setLatexOptions(int); + void tuneColorDialog(); private: QGroupBox *m_texOptions; @@ -115,6 +131,7 @@ class Step3 : public QWidget QCheckBox *m_rtfEnabled; QCheckBox *m_xmlEnabled; QCheckBox *m_searchEnabled; + QPushButton *m_tuneColor; Wizard *m_wizard; const QHash &m_modelData; }; diff --git a/configure b/configure index f2e9d00..c76413f 100755 --- a/configure +++ b/configure @@ -20,7 +20,7 @@ doxygen_version_minor=7 doxygen_version_revision=2 #NOTE: Setting version_mmn to "NO" will omit mmn info from the package. -doxygen_version_mmn=20101118 +doxygen_version_mmn=20101224 bin_dirs=`echo $PATH | sed -e "s/:/ /g"` diff --git a/doc/commands.doc b/doc/commands.doc index a954d1a..40b800d 100644 --- a/doc/commands.doc +++ b/doc/commands.doc @@ -189,6 +189,7 @@ documentation: \refitem cmdhash \\\# \refitem cmdperc \\\% \refitem cmdquot \\\" +\refitem cmddcolon \\\:: \endsecreflist The following subsections provide a list of all commands that are recognized by @@ -2702,6 +2703,14 @@ class Receiver to indicate an unformatted text fragment.
+\section cmddcolon \\:: + + \addindex \\\:: + This command write a double colon (\::) to the output. This + character sequence has to be escaped in some cases, because it is used + to ref to documented entities. + +
\htmlonly
\endhtmlonly

\htmlonly --- \endhtmlonly diff --git a/doc/config.doc b/doc/config.doc index 23d3b54..e9bd647 100644 --- a/doc/config.doc +++ b/doc/config.doc @@ -801,6 +801,16 @@ function's detailed documentation block. putting \ref cmddeprecated "\\deprecated" commands in the documentation. +\anchor cfg_strict_proto_matching +
\c STRICT_PROTO_MATCHING
+ \addindex STRICT_PROTO_MATCHING + If the \c STRICT_PROTO_MATCHING option is enabled and doxygen fails to + do proper type resolution of all parameters of a function it will reject a + match between the prototype and the implementation of a member function even + if there is only one candidate or it is obvious which candidate to choose + by doing a simple string match. By disabling \c STRICT_PROTO_MATCHING doxygen + will still accept a match between prototype and implementation in such cases. + \anchor cfg_generate_todolist
\c GENERATE_TODOLIST
\addindex GENERATE_TODOLIST diff --git a/doc/maintainers.txt b/doc/maintainers.txt index 2205119..f909ba3 100644 --- a/doc/maintainers.txt +++ b/doc/maintainers.txt @@ -30,6 +30,7 @@ Maximiliano Pin: max dot pin at bitroit dot com Albert Mora: [unreachable] amora at iua dot upf dot es TranslatorChinese +Lang Yang: lian dot yang dot cn at gmail dot com Li Daobing: lidaobing at gmail dot com Wei Liu: liuwei at asiainfo dot com diff --git a/qtools/Doxyfile b/qtools/Doxyfile index bf28583..9e2a9f4 100644 --- a/qtools/Doxyfile +++ b/qtools/Doxyfile @@ -1,4 +1,4 @@ -# Doxyfile 1.6.3 +# Doxyfile 1.7.2 #--------------------------------------------------------------------------- # Project related configuration options @@ -62,6 +62,7 @@ SORT_BRIEF_DOCS = NO SORT_MEMBERS_CTORS_1ST = NO SORT_GROUP_NAMES = NO SORT_BY_SCOPE_NAME = NO +STRICT_PROTO_MATCHING = NO GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES @@ -104,6 +105,7 @@ IMAGE_PATH = INPUT_FILTER = FILTER_PATTERNS = FILTER_SOURCE_FILES = NO +FILTER_SOURCE_PATTERNS = #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- @@ -131,9 +133,9 @@ HTML_HEADER = HTML_FOOTER = HTML_STYLESHEET = HTML_COLORSTYLE_HUE = 220 -HTML_COLORSTYLE_SAT = 80 +HTML_COLORSTYLE_SAT = 100 HTML_COLORSTYLE_GAMMA = 80 -HTML_TIMESTAMP = NO +HTML_TIMESTAMP = YES HTML_ALIGN_MEMBERS = YES HTML_DYNAMIC_SECTIONS = NO GENERATE_DOCSET = YES @@ -165,6 +167,9 @@ USE_INLINE_TREES = NO TREEVIEW_WIDTH = 250 EXT_LINKS_IN_WINDOW = NO FORMULA_FONTSIZE = 10 +FORMULA_TRANSPARENT = YES +USE_MATHJAX = NO +MATHJAX_RELPATH = http://www.mathjax.org/mathjax SEARCHENGINE = YES SERVER_BASED_SEARCH = NO #--------------------------------------------------------------------------- @@ -241,10 +246,10 @@ PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- -CLASS_DIAGRAMS = YES +CLASS_DIAGRAMS = NO MSCGEN_PATH = HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = YES +HAVE_DOT = NO DOT_NUM_THREADS = 0 DOT_FONTNAME = FreeSans.ttf DOT_FONTSIZE = 10 @@ -263,6 +268,7 @@ DIRECTORY_GRAPH = YES DOT_IMAGE_FORMAT = png DOT_PATH = DOTFILE_DIRS = +MSCFILE_DIRS = DOT_GRAPH_MAX_NODES = 50 MAX_DOT_GRAPH_DEPTH = 0 DOT_TRANSPARENT = YES diff --git a/src/classdef.cpp b/src/classdef.cpp index a924dd6..355763d 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -1434,6 +1434,7 @@ void ClassDef::writeSummaryLinks(OutputList &ol) // write all documentation for this class void ClassDef::writeDocumentation(OutputList &ol) { + static bool generateTreeView = Config_getBool("GENERATE_TREEVIEW"); static bool fortranOpt = Config_getBool("OPTIMIZE_FOR_FORTRAN"); static bool vhdlOpt = Config_getBool("OPTIMIZE_OUTPUT_VHDL"); QCString pageType = " "; @@ -1459,12 +1460,15 @@ void ClassDef::writeDocumentation(OutputList &ol) m_impl->tempArgs != 0); } - startFile(ol,getOutputFileBase(),name(),pageTitle,HLI_ClassVisible,TRUE); - if (getOuterScope()!=Doxygen::globalScope) + startFile(ol,getOutputFileBase(),name(),pageTitle,HLI_ClassVisible,!generateTreeView); + if (!generateTreeView) { - writeNavigationPath(ol); + if (getOuterScope()!=Doxygen::globalScope) + { + writeNavigationPath(ol); + } + ol.endQuickIndices(); } - ol.endQuickIndices(); startTitle(ol,getOutputFileBase(),this); ol.parseText(pageTitle); @@ -1621,8 +1625,15 @@ void ClassDef::writeDocumentation(OutputList &ol) writeDocAnchorsToTagFile(); Doxygen::tagFile << " " << endl; } + + ol.endContents(); + + if (generateTreeView) + { + writeNavigationPath(ol); + } - endFile(ol); + endFile(ol,TRUE); if (Config_getBool("SEPARATE_MEMBER_PAGES")) { @@ -1730,14 +1741,23 @@ void ClassDef::writeMemberList(OutputList &ol) { static bool cOpt = Config_getBool("OPTIMIZE_OUTPUT_FOR_C"); static bool vhdlOpt = Config_getBool("OPTIMIZE_OUTPUT_VHDL"); + static bool generateTreeView = Config_getBool("GENERATE_TREEVIEW"); if (m_impl->allMemberNameInfoSDict==0 || cOpt) return; // only for HTML ol.pushGeneratorState(); ol.disableAllBut(OutputGenerator::Html); QCString memListFile = getMemberListFileName(); - startFile(ol,memListFile,memListFile, - theTranslator->trMemberList(),HLI_ClassVisible); + startFile(ol,memListFile,memListFile,theTranslator->trMemberList(), + HLI_ClassVisible,!generateTreeView,getOutputFileBase()); + if (!generateTreeView) + { + if (getOuterScope()!=Doxygen::globalScope) + { + writeNavigationPath(ol); + } + ol.endQuickIndices(); + } startTitle(ol,0); ol.parseText(displayName()+" "+theTranslator->trMemberList()); endTitle(ol,0,0); diff --git a/src/code.l b/src/code.l index 82f807e..b69f216 100644 --- a/src/code.l +++ b/src/code.l @@ -1890,8 +1890,14 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP} bool ambig; bool found=FALSE; FileDef *fd=0; - //printf("looking for include %s\n",yytext); - if ((fd=findFileDef(Doxygen::inputNameDict,yytext,ambig)) && + QCString absPath = yytext; + if (g_sourceFileDef && QDir::isRelativePath(absPath)) + { + absPath = QDir::cleanDirPath(g_sourceFileDef->getPath()+"/"+absPath); + } + + //printf("looking for include %s -> %s\n",yytext,absPath.data()); + if ((fd=findFileDef(Doxygen::inputNameDict,absPath,ambig)) && fd->isLinkable()) { if (ambig) // multiple input files match the name diff --git a/src/config.l b/src/config.l index 532b1c4..30ed8dc 100644 --- a/src/config.l +++ b/src/config.l @@ -1303,6 +1303,7 @@ void Config::check() filePatternList.append("*.py"); filePatternList.append("*.f90"); filePatternList.append("*.f"); + filePatternList.append("*.for"); filePatternList.append("*.vhd"); filePatternList.append("*.vhdl"); if (portable_fileSystemIsCaseSensitive()) diff --git a/src/config.xml b/src/config.xml index d7d4669..e9cd4a7 100644 --- a/src/config.xml +++ b/src/config.xml @@ -15,6 +15,17 @@ The PROJECT_NUMBER tag can be used to enter a project or revision number. This could be handy for archiving the generated documentation or if some version control system is used. ' defval=''/> + @@ -666,7 +678,7 @@ input file. Doxygen will then use the output that the filter program writes to standard output. If FILTER_PATTERNS is specified, this tag will be ignored. ' defval=''/> -