From a3b06c4fd310fdeda48a4730139cee09b5302072 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Fri, 7 May 2010 19:37:33 +0000 Subject: Release-1.6.3-20100507 --- Doxyfile | 4 +- INSTALL | 4 +- README | 4 +- addon/doxywizard/doxywizard.cpp | 46 +++- addon/doxywizard/doxywizard.h | 1 + configure | 2 +- doc/autolink.doc | 5 +- doc/doxygen_manual.tex | 8 +- doc/language.doc | 42 ++-- doc/translator_report.txt | 415 ++++++++++++++++++++++----------- qtools/Doxyfile | 13 +- qtools/qcstring.cpp | 5 + qtools/qcstring.h | 1 + qtools/qdir.cpp | 4 +- qtools/qdir_win32.cpp | 2 +- qtools/qgstring.cpp | 35 +++ qtools/qgstring.h | 2 + qtools/qregexp.cpp | 105 ++++----- qtools/qregexp.h | 18 +- qtools/qstring.cpp | 22 +- qtools/qstringlist.cpp | 9 +- qtools/qstringlist.h | 5 +- qtools/scstring.cpp | 5 + src/classdef.cpp | 111 +++++---- src/classdef.h | 1 + src/cmdmapper.cpp | 2 +- src/code.l | 34 +-- src/commentcnv.l | 18 +- src/config.xml | 10 +- src/configoptions.cpp | 18 +- src/dbusxmlscanner.cpp | 4 +- src/defgen.cpp | 16 +- src/diagram.cpp | 18 +- src/diagram.h | 9 +- src/dirdef.cpp | 3 +- src/dirdef.h | 4 +- src/docparser.cpp | 194 ++++++++-------- src/docparser.h | 353 ++++++++++++++-------------- src/docsets.cpp | 23 +- src/docsets.h | 9 +- src/doctokenizer.h | 16 +- src/doctokenizer.l | 22 +- src/dot.cpp | 121 +++++----- src/dot.h | 40 ++-- src/doxygen.cpp | 74 +++++- src/doxygen.css | 24 +- src/doxygen_css.h | 24 +- src/eclipsehelp.cpp | 4 +- src/eclipsehelp.h | 4 +- src/filedef.cpp | 20 +- src/filedef.h | 1 + src/formula.cpp | 4 +- src/ftextstream.cpp | 259 +++++++++++++++++++++ src/ftextstream.h | 82 +++++++ src/ftvhelp.cpp | 242 +++++++++---------- src/ftvhelp.h | 13 +- src/groupdef.cpp | 22 +- src/groupdef.h | 1 + src/htmlattrib.h | 8 +- src/htmldocvisitor.cpp | 50 ++-- src/htmldocvisitor.h | 17 +- src/htmlgen.cpp | 55 +++-- src/htmlgen.h | 3 +- src/index.cpp | 41 ++-- src/index.h | 4 +- src/instdox.cpp | 2 +- src/latexdocvisitor.cpp | 68 +++--- src/latexdocvisitor.h | 23 +- src/latexgen.cpp | 128 +++++++--- src/latexgen.h | 8 +- src/layout.h | 2 +- src/libdoxygen.pro.in | 2 + src/lodepng.h | 2 +- src/mandocvisitor.cpp | 12 +- src/mandocvisitor.h | 7 +- src/mangen.cpp | 4 +- src/memberdef.cpp | 146 +++++++++--- src/memberdef.h | 6 + src/memberlist.cpp | 12 +- src/memberlist.h | 3 + src/msc.cpp | 10 +- src/msc.h | 4 +- src/namespacedef.cpp | 28 ++- src/namespacedef.h | 2 + src/outputgen.cpp | 50 +--- src/outputgen.h | 14 +- src/perlmodgen.cpp | 70 +++--- src/perlmodgen.h | 4 +- src/pre.l | 12 +- src/qhpxmlwriter.h | 6 +- src/rtfdocvisitor.cpp | 44 ++-- src/rtfdocvisitor.h | 19 +- src/rtfgen.cpp | 75 +++++- src/rtfgen.h | 2 +- src/scanner.l | 16 +- src/search_css.h | 2 +- src/textdocvisitor.h | 6 +- src/util.cpp | 500 ++++++++++++++++++++-------------------- src/util.h | 8 +- src/xmldocvisitor.cpp | 16 +- src/xmldocvisitor.h | 12 +- src/xmlgen.cpp | 90 ++++---- winbuild/Doxygen.vcproj | 8 + 103 files changed, 2535 insertions(+), 1623 deletions(-) create mode 100644 src/ftextstream.cpp create mode 100644 src/ftextstream.h diff --git a/Doxyfile b/Doxyfile index 661941c..9638f25 100644 --- a/Doxyfile +++ b/Doxyfile @@ -138,7 +138,7 @@ VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = NO +ALPHABETICAL_INDEX = YES COLS_IN_ALPHA_INDEX = 5 IGNORE_PREFIX = #--------------------------------------------------------------------------- @@ -173,7 +173,7 @@ QHG_LOCATION = DISABLE_INDEX = NO ENUM_VALUES_PER_LINE = 4 GENERATE_TREEVIEW = YES -USE_INLINE_TREES = NO +USE_INLINE_TREES = YES TREEVIEW_WIDTH = 250 FORMULA_FONTSIZE = 10 SEARCHENGINE = YES diff --git a/INSTALL b/INSTALL index 0754aa8..b69fafd 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,7 @@ -DOXYGEN Version 1.6.3-20100418 +DOXYGEN Version 1.6.3-20100507 Please read the installation section of the manual (http://www.doxygen.org/install.html) for instructions. -------- -Dimitri van Heesch (18 April 2010) +Dimitri van Heesch (07 May 2010) diff --git a/README b/README index 6474d5a..2cb931b 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -DOXYGEN Version 1.6.3_20100418 +DOXYGEN Version 1.6.3_20100507 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) (18 April 2010) +Dimitri van Heesch (dimitri@stack.nl) (07 May 2010) diff --git a/addon/doxywizard/doxywizard.cpp b/addon/doxywizard/doxywizard.cpp index b746db1..329f60e 100644 --- a/addon/doxywizard/doxywizard.cpp +++ b/addon/doxywizard/doxywizard.cpp @@ -4,6 +4,8 @@ #include "expert.h" #include "wizard.h" +#define MAX_RECENT_FILES 10 + const int messageTimeout = 5000; //!< status bar message timeout in millisec. MainWindow &MainWindow::instance() @@ -31,6 +33,8 @@ MainWindow::MainWindow() this,SLOT(resetToDefaults())); settings->addAction(tr("Use current settings at startup"), this,SLOT(makeDefaults())); + settings->addAction(tr("Clear recent list"), + this,SLOT(clearRecent())); QMenu *help = menuBar()->addMenu(tr("Help")); help->addAction(tr("Online manual"), @@ -280,6 +284,25 @@ void MainWindow::makeDefaults() } } +void MainWindow::clearRecent() +{ + if (QMessageBox::question(this,tr("Clear the list of recent files?"), + tr("Do you want to clear the list of recently " + "loaded configuration files?"), + QMessageBox::Yes| + QMessageBox::Cancel)==QMessageBox::Yes) + { + m_recentMenu->clear(); + m_recentFiles.clear(); + for (int i=0;iloadSettings(&m_settings); + if (workingDir!=QVariant::Invalid && QDir(workingDir.toString()).exists()) + { + setWorkingDir(workingDir.toString()); + } } - if (workingDir!=QVariant::Invalid && QDir(workingDir.toString()).exists()) - { - setWorkingDir(workingDir.toString()); - } - - for (int i=0;i<10;i++) + for (int i=0;iaddAction(str); m_settings.setValue(QString().sprintf("recent/config%d",i++),str); } + for (;igetHtmlOutputIndex(m_workingDir->text()); QFileInfo fi(indexFile); + // TODO: the following doesn't seem to work with IE #ifdef WIN32 QString indexUrl(QString::fromAscii("file:///")); #else diff --git a/addon/doxywizard/doxywizard.h b/addon/doxywizard/doxywizard.h index 49e13cc..46cd748 100644 --- a/addon/doxywizard/doxywizard.h +++ b/addon/doxywizard/doxywizard.h @@ -50,6 +50,7 @@ class MainWindow : public QMainWindow void saveLog(); void showSettings(); void configChanged(); + void clearRecent(); private: MainWindow(); diff --git a/configure b/configure index c58bb2f..ced9687 100755 --- a/configure +++ b/configure @@ -20,7 +20,7 @@ doxygen_version_minor=6 doxygen_version_revision=3 #NOTE: Setting version_mmn to "NO" will omit mmn info from the package. -doxygen_version_mmn=20100418 +doxygen_version_mmn=20100507 bin_dirs=`echo $PATH | sed -e "s/:/ /g"` diff --git a/doc/autolink.doc b/doc/autolink.doc index 767fb5f..0325a7a 100644 --- a/doc/autolink.doc +++ b/doc/autolink.doc @@ -33,7 +33,10 @@ \section linkurl Links to web pages and mail addresses Doxygen will automatically replace any URLs and mail addresses found in the - documentation by links (in HTML). + documentation by links (in HTML). To manually specify link text, use the + HTML 'a' tag: + \verbatim link text \endverbatim + which will be automatically translated to other output formats by Doxygen. \section linkclass Links to classes. diff --git a/doc/doxygen_manual.tex b/doc/doxygen_manual.tex index 57865dd..a755c19 100644 --- a/doc/doxygen_manual.tex +++ b/doc/doxygen_manual.tex @@ -69,10 +69,10 @@ Written by Dimitri van Heesch\\[2ex] \part{Reference Manual} \chapter{Features}\label{features}\hypertarget{features}{}\input{features} \chapter{Doxygen History}\label{history}\hypertarget{history}{}\input{history} -\chapter{Doxygen usage}\label{doxygen__usage}\hypertarget{doxygen__usage}{}\input{doxygen__usage} -\chapter{Doxytag usage}\label{doxytag__usage}\hypertarget{doxytag__usage}{}\input{doxytag__usage} -\chapter{Doxywizard usage}\label{doxywizard__usage}\hypertarget{doxywizard__usage}{}\input{doxywizard__usage} -\chapter{Installdox usage}\label{installdox__usage}\hypertarget{installdox__usage}{}\input{installdox__usage} +\chapter{Doxygen usage}\label{doxygen_usage}\hypertarget{doxygen_usage}{}\input{doxygen_usage} +\chapter{Doxytag usage}\label{doxytag_usage}\hypertarget{doxytag_usage}{}\input{doxytag_usage} +\chapter{Doxywizard usage}\label{doxywizard_usage}\hypertarget{doxywizard_usage}{}\input{doxywizard_usage} +\chapter{Installdox usage}\label{installdox_usage}\hypertarget{installdox_usage}{}\input{installdox_usage} \chapter{Configuration}\label{config}\hypertarget{config}{}\input{config} \chapter{Special Commands}\label{commands}\hypertarget{commands}{}\input{commands} \chapter{HTML commands}\label{htmlcmds}\hypertarget{htmlcmds}{}\input{htmlcmds} diff --git a/doc/language.doc b/doc/language.doc index 43f1eaa..a26d36f 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.6.2), 38 languages +Currently (version 1.6.3), 38 languages are supported (sorted alphabetically): Afrikaans, Arabic, Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian, Czech, Danish, Dutch, English, Esperanto, @@ -68,13 +68,13 @@ when the translator was updated. Brazilian Portuguese Fabio "FJTC" Jun Takada Chino jun-chino at uol dot com dot br - up-to-date + 1.6.3 Catalan Maximiliano Pin
Albert Mora max.pin at bitroit dot com
amora at iua dot upf dot es - 1.6.0 + 1.6.3 Chinese @@ -92,13 +92,13 @@ when the translator was updated. Croatian Boris Bralo boris.bralo at zg dot htnet dot hr - 1.6.0 + 1.6.3 Czech Petr Přikryl prikrylp at skil dot cz - up-to-date + 1.6.3 Danish @@ -122,7 +122,7 @@ when the translator was updated. Esperanto Ander Martinez dwarfnauko at gmail dot com - 1.6.0 + 1.6.3 Finnish @@ -134,13 +134,13 @@ when the translator was updated. French Xavier Outhier xouthier at yahoo dot fr - up-to-date + 1.6.3 German Jens Seidel jensseidel at users dot sf dot net - 1.6.0 + 1.6.3 Greek @@ -182,7 +182,7 @@ when the translator was updated. Korean Kim Taedong
SooYoung Jung
Richard Kim fly1004 at gmail dot com
jung5000 at gmail dot com
ryk at dspwiz dot com - up-to-date + 1.6.3 KoreanEn @@ -218,7 +218,7 @@ when the translator was updated. Polish Piotr Kaminski
Grzegorz Kowal
Krzysztof Kral Piotr.Kaminski at ctm dot gdynia dot pl
g_kowal at poczta dot onet dot pl
krzysztof.kral at gmail dot com - up-to-date + 1.6.3 Portuguese @@ -266,7 +266,7 @@ when the translator was updated. Spanish Bartomeu
Francisco Oltra Thennet
David Vaquero bartomeu at loteria3cornella dot com
foltra at puc dot cl
david at grupoikusnet dot com - 1.6.0 + 1.6.3 Swedish @@ -311,9 +311,9 @@ when the translator was updated. \hline Arabic & Moaz Reyad & {\tt\tiny moazreyad@yahoo.com} & 1.4.6 \\ \hline - Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt\tiny jun-chino@uol.com.br} & up-to-date \\ + Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt\tiny jun-chino@uol.com.br} & 1.6.3 \\ \hline - Catalan & Maximiliano Pin & {\tt\tiny max.pin@bitroit.com} & 1.6.0 \\ + Catalan & Maximiliano Pin & {\tt\tiny max.pin@bitroit.com} & 1.6.3 \\ ~ & Albert Mora & {\tt\tiny amora@iua.upf.es} & ~ \\ \hline Chinese & Li Daobing & {\tt\tiny lidaobing@gmail.com} & 1.6.0 \\ @@ -322,9 +322,9 @@ when the translator was updated. Chinese Traditional & Daniel YC Lin & {\tt\tiny dlin.tw@gmail.com} & 1.6.0 \\ ~ & Gary Lee & {\tt\tiny garywlee@gmail.com} & ~ \\ \hline - Croatian & Boris Bralo & {\tt\tiny boris.bralo@zg.htnet.hr} & 1.6.0 \\ + Croatian & Boris Bralo & {\tt\tiny boris.bralo@zg.htnet.hr} & 1.6.3 \\ \hline - Czech & Petr P\v{r}ikryl & {\tt\tiny prikrylp@skil.cz} & up-to-date \\ + Czech & Petr P\v{r}ikryl & {\tt\tiny prikrylp@skil.cz} & 1.6.3 \\ \hline Danish & Erik S\o{}e S\o{}rensen & {\tt\tiny eriksoe+doxygen@daimi.au.dk} & 1.5.4 \\ \hline @@ -332,13 +332,13 @@ when the translator was updated. \hline English & Dimitri van Heesch & {\tt\tiny dimitri@stack.nl} & up-to-date \\ \hline - Esperanto & Ander Martinez & {\tt\tiny dwarfnauko@gmail.com} & 1.6.0 \\ + Esperanto & Ander Martinez & {\tt\tiny dwarfnauko@gmail.com} & 1.6.3 \\ \hline Finnish & Antti Laine & {\tt\tiny antti.a.laine@tut.fi} & 1.6.0 \\ \hline - French & Xavier Outhier & {\tt\tiny xouthier@yahoo.fr} & up-to-date \\ + French & Xavier Outhier & {\tt\tiny xouthier@yahoo.fr} & 1.6.3 \\ \hline - German & Jens Seidel & {\tt\tiny jensseidel@users.sf.net} & 1.6.0 \\ + German & Jens Seidel & {\tt\tiny jensseidel@users.sf.net} & 1.6.3 \\ \hline Greek & Paul Gessos & {\tt\tiny nickreserved@yahoo.com} & 1.5.4 \\ \hline @@ -357,7 +357,7 @@ when the translator was updated. \hline JapaneseEn & see the Japanese language & {\tt\tiny ~} & English based \\ \hline - Korean & Kim Taedong & {\tt\tiny fly1004@gmail.com} & up-to-date \\ + Korean & Kim Taedong & {\tt\tiny fly1004@gmail.com} & 1.6.3 \\ ~ & SooYoung Jung & {\tt\tiny jung5000@gmail.com} & ~ \\ ~ & Richard Kim & {\tt\tiny ryk@dspwiz.com} & ~ \\ \hline @@ -373,7 +373,7 @@ when the translator was updated. \hline Persian & Ali Nadalizadeh & {\tt\tiny nadalizadeh@gmail.com} & 1.6.0 \\ \hline - Polish & Piotr Kaminski & {\tt\tiny Piotr.Kaminski@ctm.gdynia.pl} & up-to-date \\ + Polish & Piotr Kaminski & {\tt\tiny Piotr.Kaminski@ctm.gdynia.pl} & 1.6.3 \\ ~ & Grzegorz Kowal & {\tt\tiny g\_kowal@poczta.onet.pl} & ~ \\ ~ & Krzysztof Kral & {\tt\tiny krzysztof.kral@gmail.com} & ~ \\ \hline @@ -392,7 +392,7 @@ when the translator was updated. \hline Slovene & Matja\v{z} Ostrover\v{s}nik & {\tt\tiny matjaz.ostroversnik@ostri.org} & 1.4.6 \\ \hline - Spanish & Bartomeu & {\tt\tiny bartomeu@loteria3cornella.com} & 1.6.0 \\ + Spanish & Bartomeu & {\tt\tiny bartomeu@loteria3cornella.com} & 1.6.3 \\ ~ & Francisco Oltra Thennet & {\tt\tiny foltra@puc.cl} & ~ \\ ~ & David Vaquero & {\tt\tiny david@grupoikusnet.com} & ~ \\ \hline diff --git a/doc/translator_report.txt b/doc/translator_report.txt index 08458e4..e2d9cc8 100644 --- a/doc/translator_report.txt +++ b/doc/translator_report.txt @@ -1,4 +1,4 @@ -(1.6.2) +(1.6.3) Doxygen supports the following 38 languages (sorted alphabetically): @@ -10,22 +10,17 @@ Persian, Polish, Portuguese, Romanian, Russian, Serbian, SerbianCyrilic, Slovak, Slovene, Spanish, Swedish, Turkish, Ukrainian, and Vietnamese. -Of them, 7 translators are up-to-date, 31 translators are based on +Of them, 2 translators are up-to-date, 36 translators are based on some adapter class, and 2 are English based. ---------------------------------------------------------------------- The following translator classes are up-to-date (sorted alphabetically). This means that they derive from the Translator class -and they implement all 221 of the required methods. Anyway, there +and they implement all 225 of the required methods. Anyway, there still may be some details listed even for them: - TranslatorBrazilian -- Reimplementation using UTF-8 suggested. - TranslatorCzech TranslatorDutch TranslatorEnglish - TranslatorFrench -- Reimplementation using UTF-8 suggested. - TranslatorKorean -- Reimplementation using UTF-8 suggested. - TranslatorPolish -- Reimplementation using UTF-8 suggested. ---------------------------------------------------------------------- The following translator classes need some maintenance (the most @@ -33,81 +28,86 @@ obsolete at the end). The other info shows the estimation of Doxygen version when the class was last updated and number of methods that must be implemented to become up-to-date: - TranslatorVietnamese 1.6.0 5 methods to implement (2 %) - TranslatorTurkish 1.6.0 5 methods to implement (2 %) - TranslatorSwedish 1.6.0 5 methods to implement (2 %) + TranslatorSpanish 1.6.3 4 methods to implement (1 %) + TranslatorPolish 1.6.3 4 methods to implement (1 %) + TranslatorKorean 1.6.3 4 methods to implement (1 %) Note: Reimplementation using UTF-8 suggested. - TranslatorSpanish 1.6.0 5 methods to implement (2 %) + TranslatorGerman 1.6.3 4 methods to implement (1 %) + TranslatorFrench 1.6.3 4 methods to implement (1 %) Note: Reimplementation using UTF-8 suggested. - TranslatorSerbian 1.6.0 5 methods to implement (2 %) + TranslatorEsperanto 1.6.3 4 methods to implement (1 %) + TranslatorCzech 1.6.3 4 methods to implement (1 %) + TranslatorCroatian 1.6.3 4 methods to implement (1 %) + TranslatorCatalan 1.6.3 4 methods to implement (1 %) + TranslatorBrazilian 1.6.3 4 methods to implement (1 %) Note: Reimplementation using UTF-8 suggested. - TranslatorSerbianCyrilic 1.6.0 5 methods to implement (2 %) - TranslatorRussian 1.6.0 5 methods to implement (2 %) + TranslatorVietnamese 1.6.0 9 methods to implement (4 %) + TranslatorTurkish 1.6.0 9 methods to implement (4 %) + TranslatorSwedish 1.6.0 9 methods to implement (4 %) Note: Reimplementation using UTF-8 suggested. - TranslatorRomanian 1.6.0 5 methods to implement (2 %) + TranslatorSerbian 1.6.0 9 methods to implement (4 %) Note: Reimplementation using UTF-8 suggested. - TranslatorPersian 1.6.0 5 methods to implement (2 %) + TranslatorSerbianCyrilic 1.6.0 9 methods to implement (4 %) + TranslatorRussian 1.6.0 9 methods to implement (4 %) Note: Reimplementation using UTF-8 suggested. - TranslatorMacedonian 1.6.0 5 methods to implement (2 %) - TranslatorJapanese 1.6.0 5 methods to implement (2 %) + TranslatorRomanian 1.6.0 9 methods to implement (4 %) Note: Reimplementation using UTF-8 suggested. - TranslatorItalian 1.6.0 5 methods to implement (2 %) - TranslatorGerman 1.6.0 5 methods to implement (2 %) + TranslatorPersian 1.6.0 9 methods to implement (4 %) Note: Reimplementation using UTF-8 suggested. - TranslatorFinnish 1.6.0 5 methods to implement (2 %) - TranslatorEsperanto 1.6.0 5 methods to implement (2 %) - TranslatorCroatian 1.6.0 5 methods to implement (2 %) + TranslatorMacedonian 1.6.0 9 methods to implement (4 %) + TranslatorJapanese 1.6.0 9 methods to implement (4 %) Note: Reimplementation using UTF-8 suggested. - TranslatorChinese 1.6.0 5 methods to implement (2 %) + TranslatorItalian 1.6.0 9 methods to implement (4 %) + TranslatorFinnish 1.6.0 9 methods to implement (4 %) + TranslatorChinese 1.6.0 9 methods to implement (4 %) Note: Reimplementation using UTF-8 suggested. - TranslatorChinesetraditional 1.6.0 5 methods to implement (2 %) + TranslatorChinesetraditional 1.6.0 9 methods to implement (4 %) Note: Reimplementation using UTF-8 suggested. - TranslatorCatalan 1.6.0 5 methods to implement (2 %) - TranslatorAfrikaans 1.6.0 5 methods to implement (2 %) + TranslatorAfrikaans 1.6.0 9 methods to implement (4 %) Note: Reimplementation using UTF-8 suggested. - TranslatorGreek 1.5.4 27 methods to implement (12 %) + TranslatorGreek 1.5.4 31 methods to implement (13 %) Note: Reimplementation using UTF-8 suggested. - TranslatorDanish 1.5.4 27 methods to implement (12 %) + TranslatorDanish 1.5.4 31 methods to implement (13 %) Note: Reimplementation using UTF-8 suggested. - TranslatorSlovene 1.4.6 29 methods to implement (13 %) + TranslatorSlovene 1.4.6 33 methods to implement (14 %) Note: Reimplementation using UTF-8 suggested. - TranslatorNorwegian 1.4.6 28 methods to implement (12 %) + TranslatorNorwegian 1.4.6 32 methods to implement (14 %) Note: Reimplementation using UTF-8 suggested. - TranslatorLithuanian 1.4.6 29 methods to implement (13 %) + TranslatorLithuanian 1.4.6 33 methods to implement (14 %) Note: Reimplementation using UTF-8 suggested. - TranslatorIndonesian 1.4.6 28 methods to implement (12 %) + TranslatorIndonesian 1.4.6 32 methods to implement (14 %) Note: Reimplementation using UTF-8 suggested. - TranslatorHungarian 1.4.6 29 methods to implement (13 %) + TranslatorHungarian 1.4.6 33 methods to implement (14 %) Note: Reimplementation using UTF-8 suggested. - TranslatorArabic 1.4.6 28 methods to implement (12 %) + TranslatorArabic 1.4.6 32 methods to implement (14 %) Note: Reimplementation using UTF-8 suggested. - TranslatorUkrainian 1.4.1 29 methods to implement (13 %) + TranslatorUkrainian 1.4.1 33 methods to implement (14 %) Note: Reimplementation using UTF-8 suggested. - TranslatorPortuguese 1.3.3 40 methods to implement (18 %) + TranslatorPortuguese 1.3.3 44 methods to implement (19 %) Note: Reimplementation using UTF-8 suggested. - TranslatorSlovak 1.2.18 49 methods to implement (22 %) + TranslatorSlovak 1.2.18 53 methods to implement (23 %) Note: Reimplementation using UTF-8 suggested. @@ -129,6 +129,7 @@ for occurence of the method identifiers: QCString idLanguageCharset() QCString trDCOPMethods() + QCString trDirDependency(const char *) QCString trFunctionPrototypeDocumentation() @@ -137,24 +138,28 @@ Details for translators (classes sorted alphabetically): -TranslatorAfrikaans (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorAfrikaans (TranslatorAdapter_1_6_0) 9 methods to implement (4 %) ------------------- - Implements 216 of the required methods (97 %). + Implements 216 of the required methods (96 %). Missing methods (should be implemented): virtual QCString trSearching() virtual QCString trNoMatches() virtual QCString trLoading() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trDirRelation(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorArabic (TranslatorAdapter_1_4_6) 28 methods to implement (12 %) +TranslatorArabic (TranslatorAdapter_1_4_6) 32 methods to implement (14 %) ---------------- - Implements 193 of the required methods (87 %). + Implements 193 of the required methods (85 %). Missing methods (should be implemented): @@ -164,9 +169,11 @@ TranslatorArabic (TranslatorAdapter_1_4_6) 28 methods to implement (12 %) virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType, bool single) virtual QCString trLoading() virtual QCString trSubprograms() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) virtual QCString trModulesListDescription(bool extractAll) virtual QCString trModulesList() virtual QCString trTypeConstraints() + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trMemberFunctionDocumentationFortran() virtual QCString trCompoundListDescriptionFortran() @@ -178,6 +185,8 @@ TranslatorArabic (TranslatorAdapter_1_4_6) 28 methods to implement (12 %) virtual QCString trDirRelation(const char * name) virtual QCString trCompoundListFortran() virtual QCString trDataTypes() + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) virtual QCString trCompoundIndexFortran() virtual QCString trSubprogram(bool first_capital, bool singular) virtual QCString trCallerGraph() @@ -200,72 +209,98 @@ TranslatorArabic (TranslatorAdapter_1_4_6) 28 methods to implement (12 %) virtual QCString trNoDescriptionAvailable() -TranslatorBrazilian (Translator) +TranslatorBrazilian (TranslatorAdapter_1_6_3) 4 methods to implement (1 %) ------------------- - Implements 221 of the required methods (100 %). + Implements 221 of the required methods (98 %). + + Missing methods (should be implemented): + + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorCatalan (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorCatalan (TranslatorAdapter_1_6_3) 4 methods to implement (1 %) ----------------- - Implements 216 of the required methods (97 %). + Implements 221 of the required methods (98 %). Missing methods (should be implemented): - virtual QCString trSearching() - virtual QCString trNoMatches() - virtual QCString trLoading() - virtual QCString trGlobalNamespace() - virtual QCString trDirRelation(const char * name) + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorChinese (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorChinese (TranslatorAdapter_1_6_0) 9 methods to implement (4 %) ----------------- - Implements 216 of the required methods (97 %). + Implements 216 of the required methods (96 %). Missing methods (should be implemented): virtual QCString trSearching() virtual QCString trNoMatches() virtual QCString trLoading() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trDirRelation(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorChinesetraditional (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorChinesetraditional (TranslatorAdapter_1_6_0) 9 methods to implement (4 %) ---------------------------- - Implements 216 of the required methods (97 %). + Implements 216 of the required methods (96 %). Missing methods (should be implemented): virtual QCString trSearching() virtual QCString trNoMatches() virtual QCString trLoading() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trDirRelation(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorCroatian (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorCroatian (TranslatorAdapter_1_6_3) 4 methods to implement (1 %) ------------------ - Implements 216 of the required methods (97 %). + Implements 221 of the required methods (98 %). Missing methods (should be implemented): - virtual QCString trSearching() - virtual QCString trNoMatches() - virtual QCString trLoading() - virtual QCString trGlobalNamespace() - virtual QCString trDirRelation(const char * name) + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) + + +TranslatorCzech (TranslatorAdapter_1_6_3) 4 methods to implement (1 %) +--------------- + + Implements 221 of the required methods (98 %). + Missing methods (should be implemented): -TranslatorDanish (TranslatorAdapter_1_5_4) 27 methods to implement (12 %) + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) + + +TranslatorDanish (TranslatorAdapter_1_5_4) 31 methods to implement (13 %) ---------------- - Implements 194 of the required methods (87 %). + Implements 194 of the required methods (86 %). Missing methods (should be implemented): @@ -275,9 +310,11 @@ TranslatorDanish (TranslatorAdapter_1_5_4) 27 methods to implement (12 %) virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType, bool single) virtual QCString trLoading() virtual QCString trSubprograms() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) virtual QCString trModulesListDescription(bool extractAll) virtual QCString trModulesList() virtual QCString trTypeConstraints() + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trMemberFunctionDocumentationFortran() virtual QCString trCompoundListDescriptionFortran() @@ -289,6 +326,8 @@ TranslatorDanish (TranslatorAdapter_1_5_4) 27 methods to implement (12 %) virtual QCString trDirRelation(const char * name) virtual QCString trCompoundListFortran() virtual QCString trDataTypes() + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) virtual QCString trCompoundIndexFortran() virtual QCString trSubprogram(bool first_capital, bool singular) virtual QCString trCompoundReferenceFortran(const char * clName, ClassDef::CompoundType compType, bool isTemplate) @@ -298,58 +337,67 @@ TranslatorDanish (TranslatorAdapter_1_5_4) 27 methods to implement (12 %) virtual QCString trSubprogramDocumentation() -TranslatorEsperanto (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorEsperanto (TranslatorAdapter_1_6_3) 4 methods to implement (1 %) ------------------- - Implements 216 of the required methods (97 %). + Implements 221 of the required methods (98 %). Missing methods (should be implemented): - virtual QCString trSearching() - virtual QCString trNoMatches() - virtual QCString trLoading() - virtual QCString trGlobalNamespace() - virtual QCString trDirRelation(const char * name) + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorFinnish (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorFinnish (TranslatorAdapter_1_6_0) 9 methods to implement (4 %) ----------------- - Implements 216 of the required methods (97 %). + Implements 216 of the required methods (96 %). Missing methods (should be implemented): virtual QCString trSearching() virtual QCString trNoMatches() virtual QCString trLoading() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trDirRelation(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorFrench (Translator) +TranslatorFrench (TranslatorAdapter_1_6_3) 4 methods to implement (1 %) ---------------- - Implements 221 of the required methods (100 %). + Implements 221 of the required methods (98 %). + + Missing methods (should be implemented): + + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorGerman (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorGerman (TranslatorAdapter_1_6_3) 4 methods to implement (1 %) ---------------- - Implements 216 of the required methods (97 %). + Implements 221 of the required methods (98 %). Missing methods (should be implemented): - virtual QCString trSearching() - virtual QCString trNoMatches() - virtual QCString trLoading() - virtual QCString trGlobalNamespace() - virtual QCString trDirRelation(const char * name) + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorGreek (TranslatorAdapter_1_5_4) 27 methods to implement (12 %) +TranslatorGreek (TranslatorAdapter_1_5_4) 31 methods to implement (13 %) --------------- - Implements 194 of the required methods (87 %). + Implements 194 of the required methods (86 %). Missing methods (should be implemented): @@ -359,9 +407,11 @@ TranslatorGreek (TranslatorAdapter_1_5_4) 27 methods to implement (12 %) virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType, bool single) virtual QCString trLoading() virtual QCString trSubprograms() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) virtual QCString trModulesListDescription(bool extractAll) virtual QCString trModulesList() virtual QCString trTypeConstraints() + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trMemberFunctionDocumentationFortran() virtual QCString trCompoundListDescriptionFortran() @@ -373,6 +423,8 @@ TranslatorGreek (TranslatorAdapter_1_5_4) 27 methods to implement (12 %) virtual QCString trDirRelation(const char * name) virtual QCString trCompoundListFortran() virtual QCString trDataTypes() + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) virtual QCString trCompoundIndexFortran() virtual QCString trSubprogram(bool first_capital, bool singular) virtual QCString trCompoundReferenceFortran(const char * clName, ClassDef::CompoundType compType, bool isTemplate) @@ -394,10 +446,10 @@ TranslatorGreek (TranslatorAdapter_1_5_4) 27 methods to implement (12 %) virtual QCString trNoDescriptionAvailable() -TranslatorHungarian (TranslatorAdapter_1_4_6) 29 methods to implement (13 %) +TranslatorHungarian (TranslatorAdapter_1_4_6) 33 methods to implement (14 %) ------------------- - Implements 192 of the required methods (86 %). + Implements 192 of the required methods (85 %). Missing methods (should be implemented): @@ -407,9 +459,11 @@ TranslatorHungarian (TranslatorAdapter_1_4_6) 29 methods to implement (13 %) virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType, bool single) virtual QCString trLoading() virtual QCString trSubprograms() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) virtual QCString trModulesListDescription(bool extractAll) virtual QCString trModulesList() virtual QCString trTypeConstraints() + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trMemberFunctionDocumentationFortran() virtual QCString trCompoundListDescriptionFortran() @@ -421,6 +475,8 @@ TranslatorHungarian (TranslatorAdapter_1_4_6) 29 methods to implement (13 %) virtual QCString trDirRelation(const char * name) virtual QCString trCompoundListFortran() virtual QCString trDataTypes() + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) virtual QCString trCompoundIndexFortran() virtual QCString trSubprogram(bool first_capital, bool singular) virtual QCString trCallerGraph() @@ -432,10 +488,10 @@ TranslatorHungarian (TranslatorAdapter_1_4_6) 29 methods to implement (13 %) virtual QCString trSubprogramDocumentation() -TranslatorIndonesian (TranslatorAdapter_1_4_6) 28 methods to implement (12 %) +TranslatorIndonesian (TranslatorAdapter_1_4_6) 32 methods to implement (14 %) -------------------- - Implements 193 of the required methods (87 %). + Implements 193 of the required methods (85 %). Missing methods (should be implemented): @@ -445,9 +501,11 @@ TranslatorIndonesian (TranslatorAdapter_1_4_6) 28 methods to implement (12 %) virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType, bool single) virtual QCString trLoading() virtual QCString trSubprograms() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) virtual QCString trModulesListDescription(bool extractAll) virtual QCString trModulesList() virtual QCString trTypeConstraints() + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trMemberFunctionDocumentationFortran() virtual QCString trCompoundListDescriptionFortran() @@ -459,6 +517,8 @@ TranslatorIndonesian (TranslatorAdapter_1_4_6) 28 methods to implement (12 %) virtual QCString trDirRelation(const char * name) virtual QCString trCompoundListFortran() virtual QCString trDataTypes() + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) virtual QCString trCompoundIndexFortran() virtual QCString trSubprogram(bool first_capital, bool singular) virtual QCString trCallerGraph() @@ -481,32 +541,40 @@ TranslatorIndonesian (TranslatorAdapter_1_4_6) 28 methods to implement (12 %) virtual QCString trNoDescriptionAvailable() -TranslatorItalian (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorItalian (TranslatorAdapter_1_6_0) 9 methods to implement (4 %) ----------------- - Implements 216 of the required methods (97 %). + Implements 216 of the required methods (96 %). Missing methods (should be implemented): virtual QCString trSearching() virtual QCString trNoMatches() virtual QCString trLoading() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trDirRelation(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorJapanese (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorJapanese (TranslatorAdapter_1_6_0) 9 methods to implement (4 %) ------------------ - Implements 216 of the required methods (97 %). + Implements 216 of the required methods (96 %). Missing methods (should be implemented): virtual QCString trSearching() virtual QCString trNoMatches() virtual QCString trLoading() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trDirRelation(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) Obsolete methods (should be removed, never used): @@ -521,7 +589,7 @@ TranslatorJapanese (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) virtual QCString trNoDescriptionAvailable() -TranslatorJapaneseEn (TranslatorEnglish) 216 methods to implement (97 %) +TranslatorJapaneseEn (TranslatorEnglish) 220 methods to implement (97 %) -------------------- Implements 5 of the required methods (2 %). @@ -535,13 +603,20 @@ TranslatorJapaneseEn (TranslatorEnglish) 216 methods to implement (97 %) virtual QCString latexLanguageSupportCommand() -TranslatorKorean (Translator) +TranslatorKorean (TranslatorAdapter_1_6_3) 4 methods to implement (1 %) ---------------- - Implements 221 of the required methods (100 %). + Implements 221 of the required methods (98 %). + + Missing methods (should be implemented): + + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorKoreanEn (TranslatorEnglish) 216 methods to implement (97 %) +TranslatorKoreanEn (TranslatorEnglish) 220 methods to implement (97 %) ------------------ Implements 5 of the required methods (2 %). @@ -555,10 +630,10 @@ TranslatorKoreanEn (TranslatorEnglish) 216 methods to implement (97 %) virtual QCString latexLanguageSupportCommand() -TranslatorLithuanian (TranslatorAdapter_1_4_6) 29 methods to implement (13 %) +TranslatorLithuanian (TranslatorAdapter_1_4_6) 33 methods to implement (14 %) -------------------- - Implements 192 of the required methods (86 %). + Implements 192 of the required methods (85 %). Missing methods (should be implemented): @@ -568,9 +643,11 @@ TranslatorLithuanian (TranslatorAdapter_1_4_6) 29 methods to implement (13 %) virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType, bool single) virtual QCString trLoading() virtual QCString trSubprograms() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) virtual QCString trModulesListDescription(bool extractAll) virtual QCString trModulesList() virtual QCString trTypeConstraints() + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trMemberFunctionDocumentationFortran() virtual QCString trCompoundListDescriptionFortran() @@ -582,6 +659,8 @@ TranslatorLithuanian (TranslatorAdapter_1_4_6) 29 methods to implement (13 %) virtual QCString trDirRelation(const char * name) virtual QCString trCompoundListFortran() virtual QCString trDataTypes() + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) virtual QCString trCompoundIndexFortran() virtual QCString trSubprogram(bool first_capital, bool singular) virtual QCString trCallerGraph() @@ -593,24 +672,28 @@ TranslatorLithuanian (TranslatorAdapter_1_4_6) 29 methods to implement (13 %) virtual QCString trSubprogramDocumentation() -TranslatorMacedonian (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorMacedonian (TranslatorAdapter_1_6_0) 9 methods to implement (4 %) -------------------- - Implements 216 of the required methods (97 %). + Implements 216 of the required methods (96 %). Missing methods (should be implemented): virtual QCString trSearching() virtual QCString trNoMatches() virtual QCString trLoading() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trDirRelation(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorNorwegian (TranslatorAdapter_1_4_6) 28 methods to implement (12 %) +TranslatorNorwegian (TranslatorAdapter_1_4_6) 32 methods to implement (14 %) ------------------- - Implements 193 of the required methods (87 %). + Implements 193 of the required methods (85 %). Missing methods (should be implemented): @@ -620,9 +703,11 @@ TranslatorNorwegian (TranslatorAdapter_1_4_6) 28 methods to implement (12 %) virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType, bool single) virtual QCString trLoading() virtual QCString trSubprograms() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) virtual QCString trModulesListDescription(bool extractAll) virtual QCString trModulesList() virtual QCString trTypeConstraints() + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trMemberFunctionDocumentationFortran() virtual QCString trCompoundListDescriptionFortran() @@ -634,6 +719,8 @@ TranslatorNorwegian (TranslatorAdapter_1_4_6) 28 methods to implement (12 %) virtual QCString trDirRelation(const char * name) virtual QCString trCompoundListFortran() virtual QCString trDataTypes() + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) virtual QCString trCompoundIndexFortran() virtual QCString trSubprogram(bool first_capital, bool singular) virtual QCString trCallerGraph() @@ -656,24 +743,35 @@ TranslatorNorwegian (TranslatorAdapter_1_4_6) 28 methods to implement (12 %) virtual QCString trNoDescriptionAvailable() -TranslatorPersian (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorPersian (TranslatorAdapter_1_6_0) 9 methods to implement (4 %) ----------------- - Implements 216 of the required methods (97 %). + Implements 216 of the required methods (96 %). Missing methods (should be implemented): virtual QCString trSearching() virtual QCString trNoMatches() virtual QCString trLoading() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trDirRelation(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorPolish (Translator) +TranslatorPolish (TranslatorAdapter_1_6_3) 4 methods to implement (1 %) ---------------- - Implements 221 of the required methods (100 %). + Implements 221 of the required methods (98 %). + + Missing methods (should be implemented): + + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) Obsolete methods (should be removed, never used): @@ -688,10 +786,10 @@ TranslatorPolish (Translator) QCString trNoDescriptionAvailable() -TranslatorPortuguese (TranslatorAdapter_1_3_3) 40 methods to implement (18 %) +TranslatorPortuguese (TranslatorAdapter_1_3_3) 44 methods to implement (19 %) -------------------- - Implements 181 of the required methods (81 %). + Implements 181 of the required methods (80 %). Missing methods (should be implemented): @@ -703,12 +801,14 @@ TranslatorPortuguese (TranslatorAdapter_1_3_3) 40 methods to implement (18 %) virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType, bool single) virtual QCString trLoading() virtual QCString trSubprograms() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) virtual QCString trModulesListDescription(bool extractAll) virtual QCString trModulesList() virtual QCString trDirDocumentation() virtual QCString trSearchResultsTitle() virtual QCString trDirectories() virtual QCString trTypeConstraints() + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trMemberFunctionDocumentationFortran() virtual QCString trDirDescription() @@ -722,6 +822,8 @@ TranslatorPortuguese (TranslatorAdapter_1_3_3) 40 methods to implement (18 %) virtual QCString trCompoundListFortran() virtual QCString trDataTypes() virtual QCString trSearchResults(int numDocuments) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) virtual QCString trSearchMatches() virtual QCString trCompoundIndexFortran() virtual QCString trSubprogram(bool first_capital, bool singular) @@ -749,66 +851,82 @@ TranslatorPortuguese (TranslatorAdapter_1_3_3) 40 methods to implement (18 %) QCString trNoDescriptionAvailable() -TranslatorRomanian (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorRomanian (TranslatorAdapter_1_6_0) 9 methods to implement (4 %) ------------------ - Implements 216 of the required methods (97 %). + Implements 216 of the required methods (96 %). Missing methods (should be implemented): virtual QCString trSearching() virtual QCString trNoMatches() virtual QCString trLoading() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trDirRelation(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorRussian (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorRussian (TranslatorAdapter_1_6_0) 9 methods to implement (4 %) ----------------- - Implements 216 of the required methods (97 %). + Implements 216 of the required methods (96 %). Missing methods (should be implemented): virtual QCString trSearching() virtual QCString trNoMatches() virtual QCString trLoading() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trDirRelation(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorSerbian (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorSerbian (TranslatorAdapter_1_6_0) 9 methods to implement (4 %) ----------------- - Implements 216 of the required methods (97 %). + Implements 216 of the required methods (96 %). Missing methods (should be implemented): virtual QCString trSearching() virtual QCString trNoMatches() virtual QCString trLoading() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trDirRelation(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorSerbianCyrilic (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorSerbianCyrilic (TranslatorAdapter_1_6_0) 9 methods to implement (4 %) ------------------------ - Implements 216 of the required methods (97 %). + Implements 216 of the required methods (96 %). Missing methods (should be implemented): virtual QCString trSearching() virtual QCString trNoMatches() virtual QCString trLoading() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trDirRelation(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorSlovak (TranslatorAdapter_1_2_18) 49 methods to implement (22 %) +TranslatorSlovak (TranslatorAdapter_1_2_18) 53 methods to implement (23 %) ---------------- - Implements 172 of the required methods (77 %). + Implements 172 of the required methods (76 %). Missing methods (should be implemented): @@ -821,6 +939,7 @@ TranslatorSlovak (TranslatorAdapter_1_2_18) 49 methods to implement (22 %) virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType, bool single) virtual QCString trLoading() virtual QCString trSubprograms() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) virtual QCString trPackageMembers() virtual QCString trStaticPackageMembers() virtual QCString trModulesListDescription(bool extractAll) @@ -829,6 +948,7 @@ TranslatorSlovak (TranslatorAdapter_1_2_18) 49 methods to implement (22 %) virtual QCString trSearchResultsTitle() virtual QCString trDirectories() virtual QCString trTypeConstraints() + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trMemberFunctionDocumentationFortran() virtual QCString trDirDescription() @@ -845,6 +965,8 @@ TranslatorSlovak (TranslatorAdapter_1_2_18) 49 methods to implement (22 %) virtual QCString trCompoundListFortran() virtual QCString trDataTypes() virtual QCString trSearchResults(int numDocuments) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) virtual QCString trPackageAttribs() virtual QCString trSearchMatches() virtual QCString trCompoundIndexFortran() @@ -875,10 +997,10 @@ TranslatorSlovak (TranslatorAdapter_1_2_18) 49 methods to implement (22 %) virtual QCString trNoDescriptionAvailable() -TranslatorSlovene (TranslatorAdapter_1_4_6) 29 methods to implement (13 %) +TranslatorSlovene (TranslatorAdapter_1_4_6) 33 methods to implement (14 %) ----------------- - Implements 192 of the required methods (86 %). + Implements 192 of the required methods (85 %). Missing methods (should be implemented): @@ -888,9 +1010,11 @@ TranslatorSlovene (TranslatorAdapter_1_4_6) 29 methods to implement (13 %) virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType, bool single) virtual QCString trLoading() virtual QCString trSubprograms() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) virtual QCString trModulesListDescription(bool extractAll) virtual QCString trModulesList() virtual QCString trTypeConstraints() + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trMemberFunctionDocumentationFortran() virtual QCString trCompoundListDescriptionFortran() @@ -902,6 +1026,8 @@ TranslatorSlovene (TranslatorAdapter_1_4_6) 29 methods to implement (13 %) virtual QCString trDirRelation(const char * name) virtual QCString trCompoundListFortran() virtual QCString trDataTypes() + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) virtual QCString trCompoundIndexFortran() virtual QCString trSubprogram(bool first_capital, bool singular) virtual QCString trCallerGraph() @@ -913,52 +1039,59 @@ TranslatorSlovene (TranslatorAdapter_1_4_6) 29 methods to implement (13 %) virtual QCString trSubprogramDocumentation() -TranslatorSpanish (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorSpanish (TranslatorAdapter_1_6_3) 4 methods to implement (1 %) ----------------- - Implements 216 of the required methods (97 %). + Implements 221 of the required methods (98 %). Missing methods (should be implemented): - virtual QCString trSearching() - virtual QCString trNoMatches() - virtual QCString trLoading() - virtual QCString trGlobalNamespace() - virtual QCString trDirRelation(const char * name) + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorSwedish (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorSwedish (TranslatorAdapter_1_6_0) 9 methods to implement (4 %) ----------------- - Implements 216 of the required methods (97 %). + Implements 216 of the required methods (96 %). Missing methods (should be implemented): virtual QCString trSearching() virtual QCString trNoMatches() virtual QCString trLoading() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trDirRelation(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorTurkish (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorTurkish (TranslatorAdapter_1_6_0) 9 methods to implement (4 %) ----------------- - Implements 216 of the required methods (97 %). + Implements 216 of the required methods (96 %). Missing methods (should be implemented): virtual QCString trSearching() virtual QCString trNoMatches() virtual QCString trLoading() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trDirRelation(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) -TranslatorUkrainian (TranslatorAdapter_1_4_1) 29 methods to implement (13 %) +TranslatorUkrainian (TranslatorAdapter_1_4_1) 33 methods to implement (14 %) ------------------- - Implements 192 of the required methods (86 %). + Implements 192 of the required methods (85 %). Missing methods (should be implemented): @@ -969,9 +1102,11 @@ TranslatorUkrainian (TranslatorAdapter_1_4_1) 29 methods to implement (13 %) virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType, bool single) virtual QCString trLoading() virtual QCString trSubprograms() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) virtual QCString trModulesListDescription(bool extractAll) virtual QCString trModulesList() virtual QCString trTypeConstraints() + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() virtual QCString trMemberFunctionDocumentationFortran() virtual QCString trCompoundListDescriptionFortran() @@ -983,6 +1118,8 @@ TranslatorUkrainian (TranslatorAdapter_1_4_1) 29 methods to implement (13 %) virtual QCString trDirRelation(const char * name) virtual QCString trCompoundListFortran() virtual QCString trDataTypes() + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) virtual QCString trCompoundIndexFortran() virtual QCString trSubprogram(bool first_capital, bool singular) virtual QCString trCallerGraph() @@ -1005,15 +1142,19 @@ TranslatorUkrainian (TranslatorAdapter_1_4_1) 29 methods to implement (13 %) virtual QCString trNoDescriptionAvailable() -TranslatorVietnamese (TranslatorAdapter_1_6_0) 5 methods to implement (2 %) +TranslatorVietnamese (TranslatorAdapter_1_6_0) 9 methods to implement (4 %) -------------------- - Implements 216 of the required methods (97 %). + Implements 216 of the required methods (96 %). Missing methods (should be implemented): virtual QCString trSearching() virtual QCString trNoMatches() virtual QCString trLoading() + virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) + virtual QCString trFileIn(const char * name) virtual QCString trGlobalNamespace() - virtual QCString trDirRelation(const char * name) \ No newline at end of file + virtual QCString trDirRelation(const char * name) + virtual QCString trDirDependency(const char * name) + virtual QCString trIncludesFileIn(const char * name) \ No newline at end of file diff --git a/qtools/Doxyfile b/qtools/Doxyfile index 2ca19ff..61f9093 100644 --- a/qtools/Doxyfile +++ b/qtools/Doxyfile @@ -1,4 +1,4 @@ -# Doxyfile 1.6.1 +# Doxyfile 1.6.3 #--------------------------------------------------------------------------- # Project related configuration options @@ -130,12 +130,17 @@ HTML_FILE_EXTENSION = .html HTML_HEADER = HTML_FOOTER = HTML_STYLESHEET = +HTML_COLORSTYLE_HUE = 220 +HTML_COLORSTYLE_SAT = 70 +HTML_COLORSTYLE_GAMMA = 60 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 +DOCSET_PUBLISHER_ID = org.doxygen.Publisher +DOCSET_PUBLISHER_NAME = Publisher GENERATE_HTMLHELP = NO CHM_FILE = HHC_LOCATION = @@ -238,7 +243,7 @@ PERL_PATH = /usr/bin/perl CLASS_DIAGRAMS = YES MSCGEN_PATH = HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = NO +HAVE_DOT = YES DOT_FONTNAME = FreeSans DOT_FONTSIZE = 10 DOT_FONTPATH = @@ -248,7 +253,7 @@ GROUP_GRAPHS = YES UML_LOOK = NO TEMPLATE_RELATIONS = YES INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = NO +INCLUDED_BY_GRAPH = YES CALL_GRAPH = NO CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES @@ -261,4 +266,4 @@ MAX_DOT_GRAPH_DEPTH = 0 DOT_TRANSPARENT = YES DOT_MULTI_TARGETS = NO GENERATE_LEGEND = YES -DOT_CLEANUP = YES +DOT_CLEANUP = NO diff --git a/qtools/qcstring.cpp b/qtools/qcstring.cpp index c3aad40..4038d55 100644 --- a/qtools/qcstring.cpp +++ b/qtools/qcstring.cpp @@ -198,6 +198,11 @@ int QCString::find( const char *str, int index, bool cs ) const return d ? (int)(d - m_data) : -1; } +int QCString::find( const QCString &str,int index,bool cs) const +{ + return find(str.data(),index,cs); +} + int QCString::find( const QRegExp &rx, int index ) const { QString d = QString::fromLatin1( m_data ); diff --git a/qtools/qcstring.h b/qtools/qcstring.h index ef1189a..032d731 100644 --- a/qtools/qcstring.h +++ b/qtools/qcstring.h @@ -205,6 +205,7 @@ public: int find( char c, int index=0, bool cs=TRUE ) const; int find( const char *str, int index=0, bool cs=TRUE ) const; + int find( const QCString &str, int index=0, bool cs=TRUE ) const; int find( const QRegExp &, int index=0 ) const; int findRev( char c, int index=-1, bool cs=TRUE) const; int findRev( const char *str, int index=-1, bool cs=TRUE) const; diff --git a/qtools/qdir.cpp b/qtools/qdir.cpp index ed7ed99..d0c1233 100644 --- a/qtools/qdir.cpp +++ b/qtools/qdir.cpp @@ -1038,8 +1038,8 @@ bool QDir::match( const QStringList &filters, const QString &fileName ) QStringList::ConstIterator sit = filters.begin(); bool matched = FALSE; for ( ; sit != filters.end(); ++sit ) { - QRegExp regexp( *sit, FALSE, TRUE ); - if ( regexp.match( fileName ) != -1 ) { + QRegExp regexp( (*sit).data(), FALSE, TRUE ); + if ( regexp.match( fileName.data() ) != -1 ) { matched = TRUE; break; } diff --git a/qtools/qdir_win32.cpp b/qtools/qdir_win32.cpp index b1eee66..33c8cec 100644 --- a/qtools/qdir_win32.cpp +++ b/qtools/qdir_win32.cpp @@ -243,7 +243,7 @@ bool QDir::readDirEntries( const QString &nameFilter, bool doModified = (filterSpec & Modified) != 0; bool doSystem = (filterSpec & System) != 0; - QRegExp wc( nameFilter, FALSE, TRUE ); // wild card, case insensitive + QRegExp wc( nameFilter.data(), FALSE, TRUE ); // wild card, case insensitive bool first = TRUE; QString p = dPath.copy(); int plen = p.length(); diff --git a/qtools/qgstring.cpp b/qtools/qgstring.cpp index f43cd6b..f42eede 100644 --- a/qtools/qgstring.cpp +++ b/qtools/qgstring.cpp @@ -22,6 +22,7 @@ #define ROUND_SIZE(x) ((x)+BLOCK_SIZE-1)&~(BLOCK_SIZE-1) #define DBG_STR(x) do { } while(0) +//#define DBG_STR(x) printf x QGString::QGString() // make null string : m_data(0), m_len(0), m_memSize(0) @@ -123,6 +124,40 @@ bool QGString::resize( uint newlen ) return TRUE; } +bool QGString::enlarge( uint newlen ) +{ + if (newlen==0) + { + if (m_data) { free(m_data); m_data=0; } + m_memSize=0; + m_len=0; + return TRUE; + } + uint newMemSize = ROUND_SIZE(newlen+1); + if (newMemSize==m_memSize) return TRUE; + m_memSize = newMemSize; + if (m_data==0) + { + m_data = (char *)malloc(m_memSize); + } + else + { + m_data = (char *)realloc(m_data,m_memSize); + } + if (m_data==0) + { + return FALSE; + } + m_data[newlen-1]='\0'; + if (m_len>newlen) m_len=newlen; + return TRUE; +} + +void QGString::setLen( uint newlen ) +{ + m_len = newlen<=m_memSize ? newlen : m_memSize; +} + QGString &QGString::operator=( const QGString &s ) { if (m_data) free(m_data); diff --git a/qtools/qgstring.h b/qtools/qgstring.h index d3b997f..6934c93 100644 --- a/qtools/qgstring.h +++ b/qtools/qgstring.h @@ -26,6 +26,8 @@ class QGString ~QGString() ; bool resize( uint newlen ); + bool enlarge( uint newlen ); + void setLen( uint newlen ); QGString &operator=( const QGString &s ); QGString &operator=( const char *str ); diff --git a/qtools/qregexp.cpp b/qtools/qregexp.cpp index 671867e..b151558 100644 --- a/qtools/qregexp.cpp +++ b/qtools/qregexp.cpp @@ -192,7 +192,7 @@ QRegExp::QRegExp() \sa setWildcard() */ -QRegExp::QRegExp( const QString &pattern, bool caseSensitive, bool wildcard ) +QRegExp::QRegExp( const QCString &pattern, bool caseSensitive, bool wildcard ) { rxstring = pattern; rxdata = 0; @@ -247,7 +247,7 @@ QRegExp &QRegExp::operator=( const QRegExp &r ) The case sensitivity or wildcard options do not change. */ -QRegExp &QRegExp::operator=( const QString &pattern ) +QRegExp &QRegExp::operator=( const QCString &pattern ) { rxstring = pattern; compile(); @@ -342,13 +342,13 @@ void QRegExp::setCaseSensitive( bool enable ) /*! - \fn QString QRegExp::pattern() const + \fn QCString QRegExp::pattern() const Returns the pattern string of the regexp. */ /*! - \fn void QRegExp::setPattern(const QString & pattern) + \fn void QRegExp::setPattern(const QCString & pattern) Sets the pattern string to \a pattern and returns a reference to this regexp. The case sensitivity or wildcard options do not change. */ @@ -364,7 +364,7 @@ static inline bool iswordchar( int x ) Match character class */ -static bool matchcharclass( uint *rxd, QChar c ) +static bool matchcharclass( uint *rxd, char c ) { uint *d = rxd; uint clcode = *d & MCD; @@ -372,15 +372,15 @@ static bool matchcharclass( uint *rxd, QChar c ) if ( clcode != CCL && clcode != CCN) qWarning("QRegExp: Internal error, please report to qt-bugs@trolltech.com"); uint numFields = *d & MVL; - uint cval = (((uint)(c.row())) << 8) | ((uint)c.cell()); + uint cval = (uint)c; //(((uint)(c.row())) << 8) | ((uint)c.cell()); bool found = FALSE; for ( int i = 0; i < (int)numFields; i++ ) { d++; - if ( *d == PWS && c.isSpace() ) { + if ( *d == PWS && isspace(c) ) { found = TRUE; break; } - if ( *d == PDG && c.isDigit() ) { + if ( *d == PDG && isdigit(c) ) { found = TRUE; break; } @@ -402,11 +402,11 @@ static bool matchcharclass( uint *rxd, QChar c ) Internal: Recursively match string. */ -static int matchstring( uint *rxd, const QChar *str, uint strlength, - const QChar *bol, bool cs ) +static int matchstring( uint *rxd, const char *str, uint strlength, + const char *bol, bool cs ) { - const QChar *p = str; - const QChar *start = p; + const char *p = str; + const char *start = p; uint pl = strlength; uint *d = rxd; @@ -415,9 +415,9 @@ static int matchstring( uint *rxd, const QChar *str, uint strlength, if ( *d & CHR ) { // match char if ( !pl ) return -1; - QChar c( *d ); - if ( !cs && !c.row() ) { // case insensitive, #Only 8bit - if ( p->row() || tolower(p->cell()) != c.cell() ) + char c = *d; + if ( !cs /*&& !c.row()*/ ) { // case insensitive, #Only 8bit + if ( tolower(*p) != c ) return -1; p++; pl--; @@ -440,13 +440,13 @@ static int matchstring( uint *rxd, const QChar *str, uint strlength, } else switch ( *d++ ) { case PWS: // match whitespace - if ( !pl || !p->isSpace() ) + if ( !pl || !isspace(*p) ) return -1; p++; pl--; break; case PDG: // match digits - if ( !pl || !p->isDigit() ) + if ( !pl || !isdigit(*p) ) return -1; p++; pl--; @@ -475,11 +475,11 @@ static int matchstring( uint *rxd, const QChar *str, uint strlength, break; case CLO: // Kleene closure { - const QChar *first_p = p; + const char *first_p = p; if ( *d & CHR ) { // match char - QChar c( *d ); - if ( !cs && !c.row() ) { // case insensitive, #only 8bit - while ( pl && !p->row() && tolower(p->cell())==c.cell() ) { + char c = *d; + if ( !cs /*&& !c.row()*/ ) { // case insensitive, #only 8bit + while ( pl /*&& !p->row()*/ && tolower(*p)==c ) { p++; pl--; } @@ -500,14 +500,14 @@ static int matchstring( uint *rxd, const QChar *str, uint strlength, d += (*d & MVL) + 1; } else if ( *d == PWS ) { - while ( pl && p->isSpace() ) { + while ( pl && isspace(*p) ) { p++; pl--; } d++; } else if ( *d == PDG ) { - while ( pl && p->isDigit() ) { + while ( pl && isdigit(*p) ) { p++; pl--; } @@ -535,11 +535,11 @@ static int matchstring( uint *rxd, const QChar *str, uint strlength, return -1; case OPT: // optional closure { - const QChar *first_p = p; + const char *first_p = p; if ( *d & CHR ) { // match char - QChar c( *d ); - if ( !cs && !c.row() ) { // case insensitive, #only 8bit - if ( pl && !p->row() && tolower(p->cell()) == c.cell() ) { + char c = *d; + if ( !cs /*&& !c.row()*/ ) { // case insensitive, #only 8bit + if ( pl && /*!p->row() &&*/ tolower(*p) == c ) { p++; pl--; } @@ -560,14 +560,14 @@ static int matchstring( uint *rxd, const QChar *str, uint strlength, d += (*d & MVL) + 1; } else if ( *d == PWS ) { - if ( pl && p->isSpace() ) { + if ( pl && isspace(*p) ) { p++; pl--; } d++; } else if ( *d == PDG ) { - if ( pl && p->isDigit() ) { + if ( pl && isdigit(*p) ) { p++; pl--; } @@ -614,8 +614,8 @@ static int matchstring( uint *rxd, const QChar *str, uint strlength, // class derived from QRegExp and calls this directly. // Qt 3.0: Remove this? - -const QChar *QRegExp::matchstr( uint *rxd, const QChar *str, uint strlength, +#if 0 +const char *QRegExp::matchstr( uint *rxd, const QChar *str, uint strlength, const QChar *bol ) const { int len = matchstring( rxd, str, strlength, bol, cs ); @@ -623,6 +623,7 @@ const QChar *QRegExp::matchstr( uint *rxd, const QChar *str, uint strlength, return 0; return str + len; } +#endif /*! Attempts to match in \e str, starting from position \e index. @@ -645,15 +646,15 @@ const QChar *QRegExp::matchstr( uint *rxd, const QChar *str, uint strlength, \note In Qt 3.0, this function will be replaced by find(). */ -int QRegExp::match( const QString &str, int index, int *len, +int QRegExp::match( const QCString &str, int index, int *len, bool indexIsStart ) const { if ( !isValid() || isEmpty() ) return -1; if ( str.length() < (uint)index ) return -1; - const QChar *start = str.unicode(); - const QChar *p = start + index; + const char *start = str.data(); + const char *p = start + index; uint pl = str.length() - index; uint *d = rxdata; int ep = -1; @@ -662,9 +663,9 @@ int QRegExp::match( const QString &str, int index, int *len, ep = matchstring( d, p, pl, indexIsStart ? p : start, cs ); } else { if ( *d & CHR ) { - QChar c( *d ); - if ( !cs && !c.row() ) { // case sensitive, # only 8bit - while ( pl && ( p->row() || tolower(p->cell()) != c.cell() ) ) { + char c = *d; + if ( !cs /*&& !c.row()*/ ) { // case sensitive, # only 8bit + while ( pl && ( /*p->row() ||*/ tolower(*p) != c ) ) { p++; pl--; } @@ -690,7 +691,7 @@ int QRegExp::match( const QString &str, int index, int *len, return ep >= 0 ? (int)(p - start) : -1; // return index; } -/*! \fn int QRegExp::find( const QString& str, int index ) +/*! \fn int QRegExp::find( const QCString& str, int index ) Attempts to match in \e str, starting from position \e index. Returns the position of the match, or -1 if there was no match. @@ -703,12 +704,12 @@ int QRegExp::match( const QString &str, int index, int *len, // Ex: *.cpp ==> ^.*\.cpp$ // -static QString wc2rx( const QString &pattern ) +static QCString wc2rx( const QCString &pattern ) { int patlen = (int)pattern.length(); - QString wcpattern = QString::fromLatin1("^"); + QCString wcpattern("^"); - QChar c; + char c; for( int i = 0; i < patlen; i++ ) { c = pattern[i]; switch ( (char)c ) { @@ -745,9 +746,9 @@ static QString wc2rx( const QString &pattern ) // Internal: Get char value and increment pointer. // -static uint char_val( const QChar **str, uint *strlength ) // get char value +static uint char_val( const char **str, uint *strlength ) // get char value { - const QChar *p = *str; + const char *p = *str; uint pl = *strlength; uint len = 1; uint v = 0; @@ -812,12 +813,12 @@ static uint char_val( const QChar **str, uint *strlength ) // get char value } } else { // not an octal number - v = (((uint)(p->row())) << 8) | ((uint)p->cell()); + v = (uint)*p; //(((uint)(p->row())) << 8) | ((uint)p->cell()); } } } } else { - v = (((uint)(p->row())) << 8) | ((uint)p->cell()); + v = (uint)*p; //(((uint)(p->row())) << 8) | ((uint)p->cell()); } *str += len; *strlength -= len; @@ -830,9 +831,9 @@ static uint *dump( uint *p ) { while ( *p != END ) { if ( *p & CHR ) { - QChar uc = (QChar)*p; + uchar uc = (uchar)*p; char c = (char)uc; - uint u = (((uint)(uc.row())) << 8) | ((uint)uc.cell()); + uint u = (uint)uc; //(((uint)(uc.row())) << 8) | ((uint)uc.cell()); qDebug( "\tCHR\tU%04x (%c)", u, (c ? c : ' ')); p++; } @@ -854,8 +855,8 @@ static uint *dump( uint *p ) else { uint from = ( *p & MCD ) >> 16; uint to = *p & MVL; - char fc = (char)QChar(from); - char tc = (char)QChar(to); + char fc = (char)from; + char tc = (char)to; qDebug( "\t\tU%04x (%c) - U%04x (%c)", from, (fc ? fc : ' '), to, (tc ? tc : ' ') ); } @@ -923,13 +924,13 @@ void QRegExp::compile() error = PatOk; // assume pattern is ok - QString pattern; + QCString pattern; if ( wc ) pattern = wc2rx(rxstring); else pattern = rxstring; - const QChar *start = pattern.unicode(); // pattern pointer - const QChar *p = start; // pattern pointer + const char *start = pattern.data(); // pattern pointer + const char *p = start; // pattern pointer uint pl = pattern.length(); uint *d = rxarray; // data pointer uint *prev_d = 0; diff --git a/qtools/qregexp.h b/qtools/qregexp.h index 25868ce..4bb0230 100644 --- a/qtools/qregexp.h +++ b/qtools/qregexp.h @@ -39,7 +39,7 @@ #define QREGEXP_H #ifndef QT_H -#include "qstring.h" +#include "qcstring.h" #endif // QT_H @@ -47,11 +47,11 @@ class Q_EXPORT QRegExp { public: QRegExp(); - QRegExp( const QString &, bool caseSensitive=TRUE, bool wildcard=FALSE ); + QRegExp( const QCString &, bool caseSensitive=TRUE, bool wildcard=FALSE ); QRegExp( const QRegExp & ); ~QRegExp(); QRegExp &operator=( const QRegExp & ); - QRegExp &operator=( const QString &pattern ); + QRegExp &operator=( const QCString &pattern ); bool operator==( const QRegExp & ) const; bool operator!=( const QRegExp &r ) const @@ -66,22 +66,22 @@ public: bool wildcard() const { return wc; } void setWildcard( bool ); - QString pattern() const { return rxstring; } + QCString pattern() const { return rxstring; } // ### in Qt 3.0, provide a real implementation - void setPattern( const QString& pattern ) + void setPattern( const QCString& pattern ) { operator=( pattern ); } - int match( const QString &str, int index=0, int *len=0, + int match( const QCString &str, int index=0, int *len=0, bool indexIsStart = TRUE ) const; - int find( const QString& str, int index ) + int find( const QCString& str, int index ) { return match( str, index ); } protected: void compile(); - const QChar *matchstr( uint *, const QChar *, uint, const QChar * ) const; + const char *matchstr( uint *, const char *, uint, const char * ) const; private: - QString rxstring; // regular expression pattern + QCString rxstring; // regular expression pattern uint *rxdata; // compiled regexp pattern int error; // error status bool cs; // case sensitive diff --git a/qtools/qstring.cpp b/qtools/qstring.cpp index e073168..b582445 100644 --- a/qtools/qstring.cpp +++ b/qtools/qstring.cpp @@ -12657,7 +12657,7 @@ QString &QString::sprintf( const char* cformat, ... ) int len = 0; int pos; while ( 1 ) { - pos = escape->match( format, last, &len ); + pos = escape->match( cformat, last, &len ); // Non-escaped text if ( pos > (int)last ) result += format.mid(last,pos-last); @@ -12695,15 +12695,15 @@ QString &QString::sprintf( const char* cformat, ... ) // Yes, %-5s really means left adjust in sprintf if ( wpos < 0 ) { - QRegExp num( QString::fromLatin1("[0-9]+") ); - QRegExp dot( QString::fromLatin1("\\.") ); + QRegExp num( "[0-9]+" ); + QRegExp dot( "\\." ); int nlen; - int p = num.match( f, 0, &nlen ); - int q = dot.match( f, 0 ); + int p = num.match( f.data(), 0, &nlen ); + int q = dot.match( f.data(), 0 ); if ( q < 0 || (p < q && p >= 0) ) width = f.mid( p, nlen ).toInt(); if ( q >= 0 ) { - p = num.match( f, q ); + p = num.match( f.data(), q ); // "decimals" is used to specify string truncation if ( p >= 0 ) decimals = f.mid( p, nlen ).toInt(); @@ -13633,7 +13633,7 @@ int QString::find( const QRegExp &rx, int index ) const { if ( index < 0 ) index += length(); - return rx.match( *this, index ); + return rx.match( data(), index ); } /*! @@ -13655,7 +13655,7 @@ int QString::findRev( const QRegExp &rx, int index ) const if ( (uint)index > length() ) // bad index return -1; while( index >= 0 ) { - if ( rx.match( *this, index ) == index ) + if ( rx.match( data(), index ) == index ) return index; index--; } @@ -13678,12 +13678,12 @@ int QString::findRev( const QRegExp &rx, int index ) const int QString::contains( const QRegExp &rx ) const { if ( isEmpty() ) - return rx.match( *this ) < 0 ? 0 : 1; + return rx.match( data() ) < 0 ? 0 : 1; int count = 0; int index = -1; int len = length(); while ( index < len-1 ) { // count overlapping matches - index = rx.match( *this, index+1 ); + index = rx.match( data(), index+1 ); if ( index < 0 ) break; count++; @@ -13719,7 +13719,7 @@ QString &QString::replace( const QRegExp &rx, const QString &str ) int slen = str.length(); int len; while ( index < (int)length() ) { - index = rx.match( *this, index, &len, FALSE ); + index = rx.match( data(), index, &len, FALSE ); if ( index >= 0 ) { replace( index, len, str ); index += slen; diff --git a/qtools/qstringlist.cpp b/qtools/qstringlist.cpp index ff4f33e..7696340 100644 --- a/qtools/qstringlist.cpp +++ b/qtools/qstringlist.cpp @@ -184,6 +184,11 @@ QStringList QStringList::split( const QString &sep, const QString &str, bool all return lst; } +QStringList QStringList::split( const QCString &sep, const QCString &str, bool allowEmptyEntries ) +{ + return split(QString(sep.data()),QString(str.data()),allowEmptyEntries); +} + /*! Splits the string \a str using the regular expression \a sep as separator. Returns the list of strings. If \a allowEmptyEntries is TRUE, also empty @@ -204,7 +209,7 @@ QStringList QStringList::split( const QRegExp &sep, const QString &str, bool all int j = 0; int len = 0; - int i = sep.match( str, j, &len ); + int i = sep.match( str.data(), j, &len ); while ( i != -1 ) { if ( str.mid( j, i - j ).length() > 0 ) @@ -212,7 +217,7 @@ QStringList QStringList::split( const QRegExp &sep, const QString &str, bool all else if ( allowEmptyEntries ) lst << QString::null; j = i + len; - i = sep.match( str, j, &len ); + i = sep.match( str.data(), j, &len ); } int l = str.length() - 1; diff --git a/qtools/qstringlist.h b/qtools/qstringlist.h index 03342c5..3f9fbb2 100644 --- a/qtools/qstringlist.h +++ b/qtools/qstringlist.h @@ -64,8 +64,9 @@ public: void sort(); static QStringList split( const QString &sep, const QString &str, bool allowEmptyEntries = FALSE ); - static QStringList split( const QChar &sep, const QString &str, bool allowEmptyEntries = FALSE ); - static QStringList split( const QRegExp &sep, const QString &str, bool allowEmptyEntries = FALSE ); + static QStringList split( const QCString &sep, const QCString &str, bool allowEmptyEntries = FALSE ); + static QStringList split( const QChar &sep, const QString &str, bool allowEmptyEntries = FALSE ); + static QStringList split( const QRegExp &sep, const QString &str, bool allowEmptyEntries = FALSE ); QString join( const QString &sep ) const; QStringList grep( const QString &str, bool cs = TRUE ) const; diff --git a/qtools/scstring.cpp b/qtools/scstring.cpp index 4a02320..698e036 100644 --- a/qtools/scstring.cpp +++ b/qtools/scstring.cpp @@ -208,6 +208,11 @@ int SCString::find( const char *str, int index, bool cs ) const return d ? (int)(d - m_data) : -1; } +int SCString::find( const QCString &str, int index, bool cs ) const +{ + return find(str.data(),index,cs); +} + int SCString::find( const QRegExp &rx, int index ) const { QString d = QString::fromLatin1( m_data ); diff --git a/src/classdef.cpp b/src/classdef.cpp index 2542774..bfd2fa3 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -372,40 +372,40 @@ void ClassDef::internalInsertMember(MemberDef *md, /********************************************/ if (md->isRelated() && (extractPrivate || prot!=Private)) { - addMemberToList(MemberList::related,md,true); + addMemberToList(MemberList::related,md,TRUE); } else if (md->isFriend()) { - addMemberToList(MemberList::friends,md,true); + addMemberToList(MemberList::friends,md,TRUE); } else { switch (md->memberType()) { case MemberDef::Signal: // Qt specific - addMemberToList(MemberList::signals,md,true); + addMemberToList(MemberList::signals,md,TRUE); break; case MemberDef::DCOP: // KDE2 specific - addMemberToList(MemberList::dcopMethods,md,true); + addMemberToList(MemberList::dcopMethods,md,TRUE); break; case MemberDef::Property: - addMemberToList(MemberList::properties,md,true); + addMemberToList(MemberList::properties,md,TRUE); break; case MemberDef::Event: - addMemberToList(MemberList::events,md,true); + addMemberToList(MemberList::events,md,TRUE); break; case MemberDef::Slot: // Qt specific switch (prot) { case Protected: case Package: // slots in packages are not possible! - addMemberToList(MemberList::proSlots,md,true); + addMemberToList(MemberList::proSlots,md,TRUE); break; case Public: - addMemberToList(MemberList::pubSlots,md,true); + addMemberToList(MemberList::pubSlots,md,TRUE); break; case Private: - addMemberToList(MemberList::priSlots,md,true); + addMemberToList(MemberList::priSlots,md,TRUE); break; } break; @@ -417,16 +417,16 @@ void ClassDef::internalInsertMember(MemberDef *md, switch (prot) { case Protected: - addMemberToList(MemberList::proStaticAttribs,md,true); + addMemberToList(MemberList::proStaticAttribs,md,TRUE); break; case Package: - addMemberToList(MemberList::pacStaticAttribs,md,true); + addMemberToList(MemberList::pacStaticAttribs,md,TRUE); break; case Public: - addMemberToList(MemberList::pubStaticAttribs,md,true); + addMemberToList(MemberList::pubStaticAttribs,md,TRUE); break; case Private: - addMemberToList(MemberList::priStaticAttribs,md,true); + addMemberToList(MemberList::priStaticAttribs,md,TRUE); break; } } @@ -435,16 +435,16 @@ void ClassDef::internalInsertMember(MemberDef *md, switch (prot) { case Protected: - addMemberToList(MemberList::proStaticMethods,md,true); + addMemberToList(MemberList::proStaticMethods,md,TRUE); break; case Package: - addMemberToList(MemberList::pacStaticMethods,md,true); + addMemberToList(MemberList::pacStaticMethods,md,TRUE); break; case Public: - addMemberToList(MemberList::pubStaticMethods,md,true); + addMemberToList(MemberList::pubStaticMethods,md,TRUE); break; case Private: - addMemberToList(MemberList::priStaticMethods,md,true); + addMemberToList(MemberList::priStaticMethods,md,TRUE); break; } } @@ -456,16 +456,16 @@ void ClassDef::internalInsertMember(MemberDef *md, switch (prot) { case Protected: - addMemberToList(MemberList::proAttribs,md,true); + addMemberToList(MemberList::proAttribs,md,TRUE); break; case Package: - addMemberToList(MemberList::pacAttribs,md,true); + addMemberToList(MemberList::pacAttribs,md,TRUE); break; case Public: - addMemberToList(MemberList::pubAttribs,md,true); + addMemberToList(MemberList::pubAttribs,md,TRUE); break; case Private: - addMemberToList(MemberList::priAttribs,md,true); + addMemberToList(MemberList::priAttribs,md,TRUE); break; } } @@ -474,16 +474,16 @@ void ClassDef::internalInsertMember(MemberDef *md, switch (prot) { case Protected: - addMemberToList(MemberList::proTypes,md,true); + addMemberToList(MemberList::proTypes,md,TRUE); break; case Package: - addMemberToList(MemberList::pacTypes,md,true); + addMemberToList(MemberList::pacTypes,md,TRUE); break; case Public: - addMemberToList(MemberList::pubTypes,md,true); + addMemberToList(MemberList::pubTypes,md,TRUE); break; case Private: - addMemberToList(MemberList::priTypes,md,true); + addMemberToList(MemberList::priTypes,md,TRUE); break; } } @@ -492,16 +492,16 @@ void ClassDef::internalInsertMember(MemberDef *md, switch (prot) { case Protected: - addMemberToList(MemberList::proMethods,md,true); + addMemberToList(MemberList::proMethods,md,TRUE); break; case Package: - addMemberToList(MemberList::pacMethods,md,true); + addMemberToList(MemberList::pacMethods,md,TRUE); break; case Public: - addMemberToList(MemberList::pubMethods,md,true); + addMemberToList(MemberList::pubMethods,md,TRUE); break; case Private: - addMemberToList(MemberList::priMethods,md,true); + addMemberToList(MemberList::priMethods,md,TRUE); break; } } @@ -515,21 +515,21 @@ void ClassDef::internalInsertMember(MemberDef *md, /*******************************************************/ if ((md->isRelated() && (extractPrivate || prot!=Private)) || md->isFriend()) { - addMemberToList(MemberList::relatedMembers,md,false); + addMemberToList(MemberList::relatedMembers,md,FALSE); } else { switch (md->memberType()) { case MemberDef::Property: - addMemberToList(MemberList::propertyMembers,md,false); + addMemberToList(MemberList::propertyMembers,md,FALSE); break; case MemberDef::Event: - addMemberToList(MemberList::eventMembers,md,false); + addMemberToList(MemberList::eventMembers,md,FALSE); break; case MemberDef::Signal: // fall through case MemberDef::DCOP: - addMemberToList(MemberList::functionMembers,md,false); + addMemberToList(MemberList::functionMembers,md,FALSE); break; case MemberDef::Slot: switch (prot) @@ -537,12 +537,12 @@ void ClassDef::internalInsertMember(MemberDef *md, case Protected: case Package: case Public: - addMemberToList(MemberList::functionMembers,md,false); + addMemberToList(MemberList::functionMembers,md,FALSE); break; case Private: if (extractPrivate) { - addMemberToList(MemberList::functionMembers,md,false); + addMemberToList(MemberList::functionMembers,md,FALSE); } break; } @@ -553,13 +553,13 @@ void ClassDef::internalInsertMember(MemberDef *md, switch (md->memberType()) { case MemberDef::Typedef: - addMemberToList(MemberList::typedefMembers,md,false); + addMemberToList(MemberList::typedefMembers,md,FALSE); break; case MemberDef::Enumeration: - addMemberToList(MemberList::enumMembers,md,false); + addMemberToList(MemberList::enumMembers,md,FALSE); break; case MemberDef::EnumValue: - addMemberToList(MemberList::enumValMembers,md,false); + addMemberToList(MemberList::enumValMembers,md,FALSE); break; case MemberDef::Function: if (md->isConstructor() || md->isDestructor()) @@ -569,11 +569,11 @@ void ClassDef::internalInsertMember(MemberDef *md, } else { - addMemberToList(MemberList::functionMembers,md,false); + addMemberToList(MemberList::functionMembers,md,FALSE); } break; case MemberDef::Variable: - addMemberToList(MemberList::variableMembers,md,false); + addMemberToList(MemberList::variableMembers,md,FALSE); break; default: err("Unexpected member type %d found!\n",md->memberType()); @@ -2002,7 +2002,7 @@ bool ClassDef::hasNonReferenceSuperClass() } /*! called from MemberDef::writeDeclaration() to (recusively) write the - * definition of an annonymous struct, union or class. + * definition of an anonymous struct, union or class. */ void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup) { @@ -2125,9 +2125,9 @@ bool ClassDef::isVisibleInHierarchy() return // show all classes or a subclass is visible (allExternals || hasNonReferenceSuperClass()) && - // and not an annonymous compound + // and not an anonymous compound name().find('@')==-1 && - // not an artifically introduced class + // not an artificially introduced class !isArtificial() && // and not privately inherited (m_impl->prot!=Private || extractPrivate) && @@ -2163,16 +2163,20 @@ bool ClassDef::isBaseClass(ClassDef *bcd, bool followInstances,int level) } if (baseClasses()) { - BaseClassListIterator bcli(*baseClasses()); - for ( ; bcli.current() && !found ; ++bcli) + //BaseClassListIterator bcli(*baseClasses()); + //for ( ; bcli.current() && !found ; ++bcli) + BaseClassDef *bcdi = baseClasses()->first(); + while (bcdi) { - ClassDef *ccd=bcli.current()->classDef; + //ClassDef *ccd=bcli.current()->classDef; + ClassDef *ccd=bcdi->classDef; if (!followInstances && ccd->templateMaster()) ccd=ccd->templateMaster(); //printf("isBaseClass() baseclass %s\n",ccd->name().data()); if (ccd==bcd) found=TRUE; else found=ccd->isBaseClass(bcd,followInstances,level+1); + bcdi = baseClasses()->next(); } } return found; @@ -3229,17 +3233,32 @@ void ClassDef::addMemberToList(MemberList::ListType lt,MemberDef *md,bool isBrie static bool sortBriefDocs = Config_getBool("SORT_BRIEF_DOCS"); static bool sortMemberDocs = Config_getBool("SORT_MEMBER_DOCS"); MemberList *ml = createMemberList(lt); + ml->setNeedsSorting((isBrief && sortBriefDocs) || (!isBrief && sortMemberDocs)); + ml->append(md); + +#if 0 if (( isBrief && sortBriefDocs ) || (!isBrief && sortMemberDocs) ) ml->inSort(md); else ml->append(md); +#endif // for members in the declaration lists we set the section, needed for member grouping if ((ml->listType()&MemberList::detailedLists)==0) md->setSectionList(this,ml); } +void ClassDef::sortMemberLists() +{ + MemberList *ml = m_impl->memberLists.first(); + while (ml) + { + if (ml->needsSorting()) { ml->sort(); ml->setNeedsSorting(FALSE); } + ml = m_impl->memberLists.next(); + } +} + void ClassDef::writeMemberDeclarations(OutputList &ol,MemberList::ListType lt,const QCString &title, const char *subTitle) { diff --git a/src/classdef.h b/src/classdef.h index 693e299..4b85739 100644 --- a/src/classdef.h +++ b/src/classdef.h @@ -304,6 +304,7 @@ class ClassDef : public Definition void addListReferences(); void computeAnchors(); void mergeMembers(); + void sortMemberLists(); void distributeMemberGroupDocumentation(); void writeDocumentation(OutputList &ol); void writeDocumentationForInnerClasses(OutputList &ol); diff --git a/src/cmdmapper.cpp b/src/cmdmapper.cpp index bd6d593..16e8a7a 100644 --- a/src/cmdmapper.cpp +++ b/src/cmdmapper.cpp @@ -159,7 +159,7 @@ CommandMap htmlTagMap[] = { "div", HTML_DIV }, { "c", XML_C }, - // { "code", XML_CODE }, <= ambigious is also a HTML tag + // { "code", XML_CODE }, <= ambiguous is also a HTML tag { "description", XML_DESCRIPTION }, { "example", XML_EXAMPLE }, { "exception", XML_EXCEPTION }, diff --git a/src/code.l b/src/code.l index 99bb0f2..a0a8f62 100644 --- a/src/code.l +++ b/src/code.l @@ -283,11 +283,13 @@ ClassDef *VariableContext::findVariable(const QCString &name) { if (name.isEmpty()) return 0; ClassDef *result = 0; - QListIterator sli(m_scopes); + //QListIterator sli(m_scopes); Scope *scope; QCString key = name; // search from inner to outer scope - for (sli.toLast();(scope=sli.current());--sli) + scope = m_scopes.last(); + //for (sli.toLast();(scope=sli.current());--sli) + while (scope) { result = scope->find(key); if (result) @@ -295,6 +297,7 @@ ClassDef *VariableContext::findVariable(const QCString &name) DBG_CTX((stderr,"** findVariable(%s)=%p\n",name.data(),result)); return result; } + scope = m_scopes.prev(); } // nothing found -> also try the global scope result=m_globalScope.find(name); @@ -835,7 +838,8 @@ static bool getLinkInScope(const QCString &c, // scope const QCString &m, // member const char *memberText, // exact text CodeOutputInterface &ol, - const char *text + const char *text, + bool varOnly=FALSE ) { MemberDef *md; @@ -843,9 +847,9 @@ static bool getLinkInScope(const QCString &c, // scope FileDef *fd; NamespaceDef *nd; GroupDef *gd; - //fprintf(stderr,"getLinkInScope: trying `%s'::`%s'\n",c.data(),m.data()); + //fprintf(stderr,"getLinkInScope: trying `%s'::`%s' varOnly=%d\n",c.data(),m.data(),varOnly); if (getDefs(c,m,"()",md,cd,fd,nd,gd,FALSE,g_sourceFileDef) && - md->isLinkable()) + md->isLinkable() && (!varOnly || md->isVariable())) { if (g_exampleBlock) { @@ -894,18 +898,19 @@ static bool getLinkInScope(const QCString &c, // scope static bool getLink(const char *className, const char *memberName, CodeOutputInterface &ol, - const char *text=0) + const char *text=0, + bool varOnly=FALSE) { //printf("getLink(%s,%s) g_curClassName=%s\n",className,memberName,g_curClassName.data()); QCString m=removeRedundantWhiteSpace(memberName); QCString c=className; - if (!getLinkInScope(c,m,memberName,ol,text)) + if (!getLinkInScope(c,m,memberName,ol,text,varOnly)) { if (!g_curClassName.isEmpty()) { if (!c.isEmpty()) c.prepend("::"); c.prepend(g_curClassName); - return getLinkInScope(c,m,memberName,ol,text); + return getLinkInScope(c,m,memberName,ol,text,varOnly); } return FALSE; } @@ -913,7 +918,7 @@ static bool getLink(const char *className, } static void generateClassOrGlobalLink(CodeOutputInterface &ol,char *clName, - bool typeOnly=FALSE) + bool typeOnly=FALSE,bool varOnly=FALSE) { int i=0; if (*clName=='~') // correct for matching negated values i.s.o. destructors. @@ -953,7 +958,7 @@ static void generateClassOrGlobalLink(CodeOutputInterface &ol,char *clName, //fprintf(stderr,"is found as a type %s\n",cd?cd->name().data():""); if (cd==0 && md==0) // also see if it is variable or enum or enum value { - if (getLink(g_classScope,clName,ol,clName)) + if (getLink(g_classScope,clName,ol,clName,varOnly)) { return; } @@ -1031,7 +1036,7 @@ static void generateClassOrGlobalLink(CodeOutputInterface &ol,char *clName, md=0; // variable not accessible } } - if (md) + if (md && (!varOnly || md->isVariable())) { //fprintf(stderr,"is a global md=%p g_currentDefinition=%s linkable=%d\n",md,g_currentDefinition?g_currentDefinition->name().data():"",md->isLinkable()); if (md->isLinkable()) @@ -1890,7 +1895,7 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP} { if (ambig) // multiple input files match the name { - //printf("===== yes %s is ambigious\n",yytext); + //printf("===== yes %s is ambiguous\n",yytext); QCString name = convertToQCString(QDir::cleanDirPath(yytext)); if (!name.isEmpty() && g_sourceFileDef) { @@ -2227,6 +2232,9 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP} } {ID}("::"{ID})* { addUsingDirective(yytext); generateClassOrGlobalLink(*g_code,yytext); + DBG_CTX((stderr,"** scope stack push CLASSBLOCK\n")); + g_scopeStack.push(CLASSBLOCK); + pushScope(yytext); BEGIN(Body); } \n { codifyLines(yytext); BEGIN(Body); } @@ -2372,7 +2380,7 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP} } {SCOPENAME}/{BN}*[;,)\]] { // "int var;" or "var, var2" or "debug(f) macro" addType(); - generateClassOrGlobalLink(*g_code,yytext/*,TRUE*/); + generateClassOrGlobalLink(*g_code,yytext,FALSE,TRUE); g_name+=yytext; } {SCOPENAME}/{B}* { // p->func() diff --git a/src/commentcnv.l b/src/commentcnv.l index a38228f..e508221 100644 --- a/src/commentcnv.l +++ b/src/commentcnv.l @@ -67,6 +67,7 @@ static bool g_specialComment; static QCString g_aliasString; static int g_blockCount; +static bool g_lastEscaped; static int g_lastBlockContext; static bool g_pythonDocString; @@ -696,30 +697,41 @@ void replaceComment(int offset); g_lastBlockContext=YY_START; g_blockCount=1; g_aliasString=yytext; + g_lastEscaped=0; BEGIN( ReadAliasArgs ); } -[^{}\n\*]+ { +[^{}\n\\\*]+ { g_aliasString+=yytext; + g_lastEscaped=FALSE; } +"\\" { + if (g_lastEscaped) g_lastEscaped=FALSE; + else g_lastEscaped=TRUE; + g_aliasString+=yytext; + } \n { g_aliasString+=yytext; g_lineNr++; + g_lastEscaped=FALSE; } "{" { g_aliasString+=yytext; - g_blockCount++; + if (!g_lastEscaped) g_blockCount++; + g_lastEscaped=FALSE; } "}" { g_aliasString+=yytext; - g_blockCount--; + if (!g_lastEscaped) g_blockCount--; if (g_blockCount==0) { replaceAliases(g_aliasString); BEGIN( g_lastBlockContext ); } + g_lastEscaped=FALSE; } . { g_aliasString+=yytext; + g_lastEscaped=FALSE; } . { copyToOutput(yytext,yyleng); diff --git a/src/config.xml b/src/config.xml index 088f9e7..b360841 100644 --- a/src/config.xml +++ b/src/config.xml @@ -722,7 +722,7 @@ which an include is specified. Set to NO to disable this. If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all compounds will be generated. Enable this if the project contains a lot of classes, structs, unions or interfaces. -' defval='0'/> +' defval='1'/>