From 07ee85ebcc91a12df8a92078f33e700e5f9f40e8 Mon Sep 17 00:00:00 2001 From: dimitri Date: Sun, 11 Jun 2006 07:58:28 +0000 Subject: Release-1.4.7 --- INSTALL | 4 +- PLATFORMS | 1 + README | 4 +- addon/doxywizard/doxywizard.cpp | 10 ++ configure | 7 +- doc/diagrams.doc | 4 +- doc/install.doc | 8 +- doc/language.doc | 82 ++++----- doc/translator_report.txt | 335 +++++++++++++++++++++++++----------- src/classdef.cpp | 15 +- src/code.l | 2 +- src/commentcnv.l | 3 +- src/commentscan.h | 3 + src/commentscan.l | 31 +++- src/config.l | 1 + src/doctokenizer.l | 2 +- src/doxygen.cpp | 6 +- src/groupdef.cpp | 19 ++ src/groupdef.h | 1 + src/index.cpp | 17 +- src/memberdef.cpp | 29 +++- src/memberdef.h | 2 +- src/memberlist.cpp | 27 +-- src/memberlist.h | 8 +- src/pre.l | 4 +- src/pycode.l | 2 +- src/pyscanner.l | 1 + src/scanner.l | 29 +++- src/translator.h | 2 +- src/translator_adapter.h | 4 + src/translator_br.h | 2 +- src/translator_cz.h | 16 +- src/translator_en.h | 14 +- src/translator_es.h | 73 +++++++- src/translator_it.h | 13 +- tmake/lib/macosx-c++/tmake.conf | 4 +- tmake/lib/macosx-uni-c++/app.t | 2 + tmake/lib/macosx-uni-c++/lib.t | 2 + tmake/lib/macosx-uni-c++/subdirs.t | 2 + tmake/lib/macosx-uni-c++/tmake.conf | 59 +++++++ 40 files changed, 629 insertions(+), 221 deletions(-) create mode 100644 tmake/lib/macosx-uni-c++/app.t create mode 100644 tmake/lib/macosx-uni-c++/lib.t create mode 100644 tmake/lib/macosx-uni-c++/subdirs.t create mode 100644 tmake/lib/macosx-uni-c++/tmake.conf diff --git a/INSTALL b/INSTALL index 9b786da..cacc382 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,7 @@ -DOXYGEN Version 1.4.6-20060507 +DOXYGEN Version 1.4.7 Please read the installation section of the manual (http://www.doxygen.org/install.html) for instructions. -------- -Dimitri van Heesch (07 May 2006) +Dimitri van Heesch (11 June 2006) diff --git a/PLATFORMS b/PLATFORMS index 7650548..be58d6d 100644 --- a/PLATFORMS +++ b/PLATFORMS @@ -14,6 +14,7 @@ irix-n32 linux-g++ linux-64 macosx-c++ +macosx-uni-c++ m68k-atari-mint-g++ netbsd-g++ openbsd-g++ diff --git a/README b/README index 358707a..609272b 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -DOXYGEN Version 1.4.6_20060507 +DOXYGEN Version 1.4.7 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) (07 May 2006) +Dimitri van Heesch (dimitri@stack.nl) (11 June 2006) diff --git a/addon/doxywizard/doxywizard.cpp b/addon/doxywizard/doxywizard.cpp index b221530..230143c 100644 --- a/addon/doxywizard/doxywizard.cpp +++ b/addon/doxywizard/doxywizard.cpp @@ -1191,6 +1191,16 @@ void MainWidget::saveConfigFile() if (!fn.isEmpty()) { QFile f(fn); + if (f.exists() && QMessageBox::question(this, + "Overwrite file? -- Doxywizard", + "A file called "+fn+" already exists. Do you want to overwrite it?", + "&Yes","&no", + QString::null, 0, 1) + ) + { + statusBar()->message("Save request aborted",messageTimeout); + return; + } if (f.open(IO_WriteOnly)) { QTextStream t(&f); diff --git a/configure b/configure index a335db9..27650f4 100755 --- a/configure +++ b/configure @@ -17,10 +17,10 @@ doxygen_version_major=1 doxygen_version_minor=4 -doxygen_version_revision=6 +doxygen_version_revision=7 #NOTE: Setting version_mmn to "NO" will omit mmn info from the package. -doxygen_version_mmn=20060507 +doxygen_version_mmn=NO bin_dirs=`echo $PATH | sed -e "s/:/ /g"` @@ -155,6 +155,9 @@ if test -z "$f_platform"; then if test "$f_insttool" = NO; then f_insttool=/usr/bin/install fi + if test -n "`ls /Developer/SDKs/MacOSX10.*u.sdk`"; then + f_platform=macosx-uni-c++ + fi ;; FreeBSD:*) f_platform=freebsd-g++ diff --git a/doc/diagrams.doc b/doc/diagrams.doc index 41ff4f9..2329631 100644 --- a/doc/diagrams.doc +++ b/doc/diagrams.doc @@ -21,8 +21,8 @@ Doxygen can use the "dot" tool from graphviz 1.5 to generate more advanced diagrams and graphs. Graphviz is an "open-sourced", - cross-platform graph drawing toolkit from AT\&T and Lucent Bell Labs and - can be found at http://www.research.att.com/sw/tools/graphviz/ + cross-platform graph drawing toolkit and can be found + at http://www.graphviz.org/ If you have the "dot" tool available in the path, you can set \ref cfg_have_dot "HAVE_DOT" to \c YES in the configuration file to diff --git a/doc/install.doc b/doc/install.doc index d424100..ad32d26 100644 --- a/doc/install.doc +++ b/doc/install.doc @@ -62,9 +62,9 @@ tools should be installed. teTeX 1.0 \latexonly \\par (see {\tt http://www.tug.org/interest.html\#free})\endlatexonly. This is needed for generating LaTeX, Postscript, and PDF output. -
  • +
  • the Graph visualization toolkit version 1.8.10 or higher - \latexonly \\par (see {\tt http://www.research.att.com/sw/tools/graphviz/})\endlatexonly. + \latexonly \\par (see {\tt http://www.graphviz.org/})\endlatexonly. Needed for the include dependency graphs, the graphical inheritance graphs, and the collaboration graphs. If you compile graphviz yourself, make sure you do include @@ -559,9 +559,9 @@ features: You can download it from Microsoft. -
  • +
  • the Graph visualization toolkit version 1.8.10
    - \latexonly(see {\tt http://www.research.att.com/sw/tools/graphviz/})\endlatexonly. + \latexonly(see {\tt http://www.graphviz.org/})\endlatexonly. Needed for the include dependency graphs, the graphical inheritance graphs, and the collaboration graphs. diff --git a/doc/language.doc b/doc/language.doc index 05beecc..0c8ef41 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.4.6), 31 languages +Currently (version 1.4.7), 31 languages are supported (sorted alphabetically): Afrikaans, Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian, Czech, Danish, Dutch, English, Finnish, French, @@ -54,19 +54,19 @@ when the translator was updated. Afrikaans Johan Prinsloo johan at zippysnoek dot com - up-to-date + 1.4.6 Brazilian Portuguese Fabio "FJTC" Jun Takada Chino jun-chino at uol dot com dot br - up-to-date + 1.4.6 Catalan Maximiliano Pin
    Albert Mora mcpin at emtesistemas dot com
    amora at iua dot upf dot es - up-to-date + 1.4.6 Chinese @@ -78,19 +78,19 @@ when the translator was updated. Chinese Traditional Daniel YC Lin
    Gary Lee daniel at twpda dot com
    garylee at ecosine dot com dot tw - up-to-date + 1.4.6 Croatian Boris Bralo boris.bralo at zg dot htnet dot hr - up-to-date + 1.4.6 Czech Petr Přikryl prikrylp at skil dot cz - up-to-date + 1.4.6 Danish @@ -120,13 +120,13 @@ when the translator was updated. French Xavier Outhier xouthier at yahoo dot fr - up-to-date + 1.4.6 German Jens Seidel jensseidel at users dot sf dot net - up-to-date + 1.4.6 Greek @@ -138,25 +138,25 @@ when the translator was updated. Hungarian Ákos Kiss
    Földvári György akiss at users dot sourceforge dot net
    foldvari lost at cyberspace - up-to-date + 1.4.6 Indonesian Hendy Irawan ceefour at gauldong dot net - up-to-date + 1.4.6 Italian Alessandro Falappa
    Ahmed Aldo Faisal alessandro at falappa dot net
    aaf23 at cam dot ac dot uk - up-to-date + 1.4.6 Japanese Ryunosuke Satoh
    Kenji Nagamatsu
    Iwasa Kazmi sun594 at hotmail dot com
    naga at joyful dot club dot ne dot jp
    iwasa at cosmo-system dot jp - up-to-date + 1.4.6 JapaneseEn @@ -168,7 +168,7 @@ when the translator was updated. Korean SooYoung Jung
    Richard Kim jung5000 at gmail dot com
    ryk at dspwiz dot com - up-to-date + 1.4.6 KoreanEn @@ -180,19 +180,19 @@ when the translator was updated. Lithuanian Tomas Simonaitis
    Mindaugas Radzius
    Aidas Berukstis haden at homelan dot lt
    mindaugasradzius at takas dot lt
    aidasber at takas dot lt - up-to-date + 1.4.6 Norwegian Lars Erik Jordet lejordet at gmail dot com - 1.3.9 + 1.4.6 Polish Piotr Kaminski
    Grzegorz Kowal Piotr.Kaminski at ctm dot gdynia dot pl
    g_kowal at poczta dot onet dot pl - up-to-date + 1.4.6 Portuguese @@ -210,7 +210,7 @@ when the translator was updated. Russian Alexandr Chelpanov cav at cryptopro dot ru - up-to-date + 1.4.6 Serbian @@ -228,19 +228,19 @@ when the translator was updated. Slovene Matjaž Ostroveršnik matjaz.ostroversnik at ztm dot si - up-to-date + 1.4.6 Spanish Francisco Oltra Thennet foltra at puc dot cl - 1.3.8 + 1.4.6 Swedish Mikael Hallin mikaelhallin at yahoo dot se - up-to-date + 1.4.6 Ukrainian @@ -263,22 +263,22 @@ when the translator was updated. \hline \hline - Afrikaans & Johan Prinsloo & {\tt\tiny johan@zippysnoek.com} & up-to-date \\ + Afrikaans & Johan Prinsloo & {\tt\tiny johan@zippysnoek.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.4.6 \\ \hline - Catalan & Maximiliano Pin & {\tt\tiny mcpin@emtesistemas.com} & up-to-date \\ + Catalan & Maximiliano Pin & {\tt\tiny mcpin@emtesistemas.com} & 1.4.6 \\ ~ & Albert Mora & {\tt\tiny amora@iua.upf.es} & ~ \\ \hline Chinese & Li Daobing & {\tt\tiny lidaobing@gmail.com} & 1.4.1 \\ ~ & Wei Liu & {\tt\tiny liuwei@asiainfo.com} & ~ \\ \hline - Chinese Traditional & Daniel YC Lin & {\tt\tiny daniel@twpda.com} & up-to-date \\ + Chinese Traditional & Daniel YC Lin & {\tt\tiny daniel@twpda.com} & 1.4.6 \\ ~ & Gary Lee & {\tt\tiny garylee@ecosine.com.tw} & ~ \\ \hline - Croatian & Boris Bralo & {\tt\tiny boris.bralo@zg.htnet.hr} & up-to-date \\ + Croatian & Boris Bralo & {\tt\tiny boris.bralo@zg.htnet.hr} & 1.4.6 \\ \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.4.6 \\ \hline Danish & Erik S\o{}e S\o{}rensen & {\tt\tiny eriksoe+doxygen@daimi.au.dk} & 1.3.9 \\ \hline @@ -288,55 +288,55 @@ when the translator was updated. \hline Finnish & Olli Korhonen & {\tt\tiny olli.korhonen lost@cyberspace} & obsolete \\ \hline - French & Xavier Outhier & {\tt\tiny xouthier@yahoo.fr} & up-to-date \\ + French & Xavier Outhier & {\tt\tiny xouthier@yahoo.fr} & 1.4.6 \\ \hline - German & Jens Seidel & {\tt\tiny jensseidel@users.sf.net} & up-to-date \\ + German & Jens Seidel & {\tt\tiny jensseidel@users.sf.net} & 1.4.6 \\ \hline Greek & Harry Kalogirou & {\tt\tiny harkal@rainbow.cs.unipi.gr} & 1.2.11 \\ \hline - Hungarian & \'{A}kos Kiss & {\tt\tiny akiss@users.sourceforge.net} & up-to-date \\ + Hungarian & \'{A}kos Kiss & {\tt\tiny akiss@users.sourceforge.net} & 1.4.6 \\ ~ & F\"{o}ldv\'{a}ri Gy\"{o}rgy & {\tt\tiny foldvari lost@cyberspace} & ~ \\ \hline - Indonesian & Hendy Irawan & {\tt\tiny ceefour@gauldong.net} & up-to-date \\ + Indonesian & Hendy Irawan & {\tt\tiny ceefour@gauldong.net} & 1.4.6 \\ \hline - Italian & Alessandro Falappa & {\tt\tiny alessandro@falappa.net} & up-to-date \\ + Italian & Alessandro Falappa & {\tt\tiny alessandro@falappa.net} & 1.4.6 \\ ~ & Ahmed Aldo Faisal & {\tt\tiny aaf23@cam.ac.uk} & ~ \\ \hline - Japanese & Ryunosuke Satoh & {\tt\tiny sun594@hotmail.com} & up-to-date \\ + Japanese & Ryunosuke Satoh & {\tt\tiny sun594@hotmail.com} & 1.4.6 \\ ~ & Kenji Nagamatsu & {\tt\tiny naga@joyful.club.ne.jp} & ~ \\ ~ & Iwasa Kazmi & {\tt\tiny iwasa@cosmo-system.jp} & ~ \\ \hline JapaneseEn & see the Japanese language & {\tt\tiny ~} & English based \\ \hline - Korean & SooYoung Jung & {\tt\tiny jung5000@gmail.com} & up-to-date \\ + Korean & SooYoung Jung & {\tt\tiny jung5000@gmail.com} & 1.4.6 \\ ~ & Richard Kim & {\tt\tiny ryk@dspwiz.com} & ~ \\ \hline KoreanEn & see the Korean language & {\tt\tiny ~} & English based \\ \hline - Lithuanian & Tomas Simonaitis & {\tt\tiny haden@homelan.lt} & up-to-date \\ + Lithuanian & Tomas Simonaitis & {\tt\tiny haden@homelan.lt} & 1.4.6 \\ ~ & Mindaugas Radzius & {\tt\tiny mindaugasradzius@takas.lt} & ~ \\ ~ & Aidas Berukstis & {\tt\tiny aidasber@takas.lt} & ~ \\ \hline - Norwegian & Lars Erik Jordet & {\tt\tiny lejordet@gmail.com} & 1.3.9 \\ + Norwegian & Lars Erik Jordet & {\tt\tiny lejordet@gmail.com} & 1.4.6 \\ \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.4.6 \\ ~ & Grzegorz Kowal & {\tt\tiny g\_kowal@poczta.onet.pl} & ~ \\ \hline Portuguese & Rui Godinho Lopes & {\tt\tiny ruiglopes@yahoo.com} & 1.3.3 \\ \hline Romanian & Alexandru Iosup & {\tt\tiny aiosup@yahoo.com} & 1.4.1 \\ \hline - Russian & Alexandr Chelpanov & {\tt\tiny cav@cryptopro.ru} & up-to-date \\ + Russian & Alexandr Chelpanov & {\tt\tiny cav@cryptopro.ru} & 1.4.6 \\ \hline Serbian & Dejan Milosavljevic & {\tt\tiny dmilos@email.com} & 1.4.1 \\ \hline Slovak & Stanislav Kudl\'{a}\v{c} & {\tt\tiny skudlac@pobox.sk} & 1.2.18 \\ \hline - Slovene & Matja\v{z} Ostrover\v{s}nik & {\tt\tiny matjaz.ostroversnik@ztm.si} & up-to-date \\ + Slovene & Matja\v{z} Ostrover\v{s}nik & {\tt\tiny matjaz.ostroversnik@ztm.si} & 1.4.6 \\ \hline - Spanish & Francisco Oltra Thennet & {\tt\tiny foltra@puc.cl} & 1.3.8 \\ + Spanish & Francisco Oltra Thennet & {\tt\tiny foltra@puc.cl} & 1.4.6 \\ \hline - Swedish & Mikael Hallin & {\tt\tiny mikaelhallin@yahoo.se} & up-to-date \\ + Swedish & Mikael Hallin & {\tt\tiny mikaelhallin@yahoo.se} & 1.4.6 \\ \hline Ukrainian & Olexij Tkatchenko & {\tt\tiny olexij.tkatchenko@parcs.de} & 1.4.1 \\ \hline diff --git a/doc/translator_report.txt b/doc/translator_report.txt index 614e56a..17aa5f7 100644 --- a/doc/translator_report.txt +++ b/doc/translator_report.txt @@ -1,4 +1,4 @@ -(1.4.6) +(1.4.7) Doxygen supports the following 31 languages (sorted alphabetically): @@ -8,35 +8,17 @@ German, Greek, Hungarian, Indonesian, Italian, Japanese (+En), Korean (+En), Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. -Of them, 20 translators are up-to-date, 11 translators are based on +Of them, 2 translators are up-to-date, 29 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 192 of the required methods. Anyway, there +and they implement all 194 of the required methods. Anyway, there still may be some details listed even for them: - TranslatorAfrikaans - TranslatorBrazilian -- Remove the obsolete methods (never used). - TranslatorCatalan - TranslatorChinesetraditional -- Remove the obsolete methods (never used). - TranslatorCroatian - TranslatorCzech TranslatorDutch -- Remove the obsolete methods (never used). TranslatorEnglish -- Remove the obsolete methods (never used). - TranslatorFrench -- Remove the obsolete methods (never used). - TranslatorGerman - TranslatorHungarian - TranslatorIndonesian -- Remove the obsolete methods (never used). - TranslatorItalian - TranslatorJapanese -- Remove the obsolete methods (never used). - TranslatorKorean - TranslatorLithuanian - TranslatorPolish -- Remove the obsolete methods (never used). - TranslatorRussian - TranslatorSlovene - TranslatorSwedish ---------------------------------------------------------------------- The following translator classes need some maintenance (the most @@ -44,17 +26,35 @@ 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: - TranslatorUkrainian 1.4.1 1 method to implement - TranslatorSerbian 1.4.1 1 method to implement - TranslatorRomanian 1.4.1 1 method to implement - TranslatorChinese 1.4.1 1 method to implement - TranslatorNorwegian 1.3.9 7 methods to implement - TranslatorDanish 1.3.9 7 methods to implement - TranslatorSpanish 1.3.8 8 methods to implement - TranslatorPortuguese 1.3.3 12 methods to implement - TranslatorSlovak 1.2.18 21 methods to implement - TranslatorGreek 1.2.11 26 methods to implement - TranslatorFinnish obsolete 95 methods to implement + TranslatorSwedish 1.4.6 2 methods to implement + TranslatorSpanish 1.4.6 1 method to implement + TranslatorSlovene 1.4.6 2 methods to implement + TranslatorRussian 1.4.6 2 methods to implement + TranslatorPolish 1.4.6 1 method to implement + TranslatorNorwegian 1.4.6 1 method to implement + TranslatorLithuanian 1.4.6 2 methods to implement + TranslatorKorean 1.4.6 2 methods to implement + TranslatorJapanese 1.4.6 1 method to implement + TranslatorItalian 1.4.6 1 method to implement + TranslatorIndonesian 1.4.6 1 method to implement + TranslatorHungarian 1.4.6 2 methods to implement + TranslatorGerman 1.4.6 2 methods to implement + TranslatorFrench 1.4.6 1 method to implement + TranslatorCzech 1.4.6 1 method to implement + TranslatorCroatian 1.4.6 2 methods to implement + TranslatorChinesetraditional 1.4.6 1 method to implement + TranslatorCatalan 1.4.6 2 methods to implement + TranslatorBrazilian 1.4.6 1 method to implement + TranslatorAfrikaans 1.4.6 2 methods to implement + TranslatorUkrainian 1.4.1 2 methods to implement + TranslatorSerbian 1.4.1 2 methods to implement + TranslatorRomanian 1.4.1 2 methods to implement + TranslatorChinese 1.4.1 3 methods to implement + TranslatorDanish 1.3.9 8 methods to implement + TranslatorPortuguese 1.3.3 13 methods to implement + TranslatorSlovak 1.2.18 22 methods to implement + TranslatorGreek 1.2.11 27 methods to implement + TranslatorFinnish obsolete 96 methods to implement ---------------------------------------------------------------------- The following translator classes derive directly from the @@ -70,11 +70,26 @@ Details for translators (classes sorted alphabetically): -TranslatorBrazilian (Translator) +TranslatorAfrikaans (TranslatorAdapter_1_4_6) 2 methods to implement ------------------- Implements 192 of the required methods. + Missing methods (should be implemented): + + virtual QCString trCallerGraph() + virtual QCString trEnumerationValueDocumentation() + + +TranslatorBrazilian (TranslatorAdapter_1_4_6) 1 method to implement +------------------- + + Implements 193 of the required methods. + + Missing methods (should be implemented): + + virtual QCString trCallerGraph() + Obsolete methods (should be removed, never used): virtual QCString trHeaderFilesDescription() @@ -85,11 +100,21 @@ TranslatorBrazilian (Translator) virtual QCString trInterfaces() virtual QCString trHeaderFiles() virtual QCString trBugsAndLimitations() - virtual QCString trEnumerationValueDocumentation() virtual QCString trNoDescriptionAvailable() -TranslatorChinese (TranslatorAdapter_1_4_1) 1 method to implement +TranslatorCatalan (TranslatorAdapter_1_4_6) 2 methods to implement +----------------- + + Implements 192 of the required methods. + + Missing methods (should be implemented): + + virtual QCString trCallerGraph() + virtual QCString trEnumerationValueDocumentation() + + +TranslatorChinese (TranslatorAdapter_1_4_1) 3 methods to implement ----------------- Implements 191 of the required methods. @@ -97,12 +122,18 @@ TranslatorChinese (TranslatorAdapter_1_4_1) 1 method to implement Missing methods (should be implemented): virtual QCString trOverloadText() + virtual QCString trCallerGraph() + virtual QCString trEnumerationValueDocumentation() -TranslatorChinesetraditional (Translator) +TranslatorChinesetraditional (TranslatorAdapter_1_4_6) 1 method to implement ---------------------------- - Implements 192 of the required methods. + Implements 193 of the required methods. + + Missing methods (should be implemented): + + virtual QCString trCallerGraph() Obsolete methods (should be removed, never used): @@ -114,14 +145,34 @@ TranslatorChinesetraditional (Translator) virtual QCString trInterfaces() virtual QCString trHeaderFiles() virtual QCString trBugsAndLimitations() - virtual QCString trEnumerationValueDocumentation() virtual QCString trNoDescriptionAvailable() -TranslatorDanish (TranslatorAdapter_1_3_9) 7 methods to implement +TranslatorCroatian (TranslatorAdapter_1_4_6) 2 methods to implement +------------------ + + Implements 192 of the required methods. + + Missing methods (should be implemented): + + virtual QCString trCallerGraph() + virtual QCString trEnumerationValueDocumentation() + + +TranslatorCzech (TranslatorAdapter_1_4_6) 1 method to implement +--------------- + + Implements 193 of the required methods. + + Missing methods (should be implemented): + + virtual QCString trEnumerationValueDocumentation() + + +TranslatorDanish (TranslatorAdapter_1_3_9) 8 methods to implement ---------------- - Implements 185 of the required methods. + Implements 186 of the required methods. Missing methods (should be implemented): @@ -130,6 +181,7 @@ TranslatorDanish (TranslatorAdapter_1_3_9) 7 methods to implement virtual QCString trDirDocumentation() virtual QCString trDirectories() virtual QCString trDirDescription() + virtual QCString trCallerGraph() virtual QCString trDirReference(const char * dirName) virtual QCString trDir(bool first_capital, bool singular) @@ -143,14 +195,13 @@ TranslatorDanish (TranslatorAdapter_1_3_9) 7 methods to implement virtual QCString trInterfaces() virtual QCString trHeaderFiles() virtual QCString trBugsAndLimitations() - virtual QCString trEnumerationValueDocumentation() virtual QCString trNoDescriptionAvailable() TranslatorDutch (Translator) --------------- - Implements 192 of the required methods. + Implements 194 of the required methods. Obsolete methods (should be removed, never used): @@ -162,14 +213,13 @@ TranslatorDutch (Translator) QCString trInterfaces() QCString trHeaderFiles() QCString trBugsAndLimitations() - QCString trEnumerationValueDocumentation() QCString trNoDescriptionAvailable() TranslatorEnglish (Translator) ----------------- - Implements 192 of the required methods. + Implements 194 of the required methods. Obsolete methods (should be removed, never used): @@ -181,14 +231,13 @@ TranslatorEnglish (Translator) virtual QCString trInterfaces() virtual QCString trHeaderFiles() virtual QCString trBugsAndLimitations() - virtual QCString trEnumerationValueDocumentation() virtual QCString trNoDescriptionAvailable() -TranslatorFinnish (TranslatorEnglish) 95 methods to implement +TranslatorFinnish (TranslatorEnglish) 96 methods to implement ----------------- - Implements 97 of the required methods. + Implements 98 of the required methods. Missing methods (should be implemented): @@ -265,6 +314,7 @@ TranslatorFinnish (TranslatorEnglish) 95 methods to implement virtual QCString latexLanguageSupportCommand() virtual QCString trBugList() virtual QCString trRTFGeneralIndex() + virtual QCString trCallerGraph() virtual QCString trNamespace(bool first_capital, bool singular) virtual QCString trTestList() virtual QCString trPrecondition() @@ -297,14 +347,17 @@ TranslatorFinnish (TranslatorEnglish) 95 methods to implement QCString trHeaderFiles() QCString trAuthors() QCString trBugsAndLimitations() - QCString trEnumerationValueDocumentation() QCString trNoDescriptionAvailable() -TranslatorFrench (Translator) +TranslatorFrench (TranslatorAdapter_1_4_6) 1 method to implement ---------------- - Implements 192 of the required methods. + Implements 193 of the required methods. + + Missing methods (should be implemented): + + virtual QCString trCallerGraph() Obsolete methods (should be removed, never used): @@ -316,14 +369,24 @@ TranslatorFrench (Translator) virtual QCString trInterfaces() virtual QCString trHeaderFiles() virtual QCString trBugsAndLimitations() - virtual QCString trEnumerationValueDocumentation() virtual QCString trNoDescriptionAvailable() -TranslatorGreek (TranslatorAdapter_1_2_11) 26 methods to implement +TranslatorGerman (TranslatorAdapter_1_4_6) 2 methods to implement +---------------- + + Implements 192 of the required methods. + + Missing methods (should be implemented): + + virtual QCString trCallerGraph() + virtual QCString trEnumerationValueDocumentation() + + +TranslatorGreek (TranslatorAdapter_1_2_11) 27 methods to implement --------------- - Implements 166 of the required methods. + Implements 167 of the required methods. Missing methods (should be implemented): @@ -346,6 +409,7 @@ TranslatorGreek (TranslatorAdapter_1_2_11) 26 methods to implement virtual QCString trPackageAttribs() virtual QCString trSearchMatches() virtual QCString trEvents() + virtual QCString trCallerGraph() virtual QCString trReferences() virtual QCString trSourceFile(QCString & filename) virtual QCString trDirReference(const char * dirName) @@ -364,15 +428,29 @@ TranslatorGreek (TranslatorAdapter_1_2_11) 26 methods to implement virtual QCString trInterfaces() virtual QCString trHeaderFiles() virtual QCString trBugsAndLimitations() - virtual QCString trEnumerationValueDocumentation() virtual QCString trNoDescriptionAvailable() -TranslatorIndonesian (Translator) --------------------- +TranslatorHungarian (TranslatorAdapter_1_4_6) 2 methods to implement +------------------- Implements 192 of the required methods. + Missing methods (should be implemented): + + virtual QCString trCallerGraph() + virtual QCString trEnumerationValueDocumentation() + + +TranslatorIndonesian (TranslatorAdapter_1_4_6) 1 method to implement +-------------------- + + Implements 193 of the required methods. + + Missing methods (should be implemented): + + virtual QCString trCallerGraph() + Obsolete methods (should be removed, never used): virtual QCString trHeaderFilesDescription() @@ -383,14 +461,27 @@ TranslatorIndonesian (Translator) virtual QCString trInterfaces() virtual QCString trHeaderFiles() virtual QCString trBugsAndLimitations() - virtual QCString trEnumerationValueDocumentation() virtual QCString trNoDescriptionAvailable() -TranslatorJapanese (Translator) +TranslatorItalian (TranslatorAdapter_1_4_6) 1 method to implement +----------------- + + Implements 193 of the required methods. + + Missing methods (should be implemented): + + virtual QCString trEnumerationValueDocumentation() + + +TranslatorJapanese (TranslatorAdapter_1_4_6) 1 method to implement ------------------ - Implements 192 of the required methods. + Implements 193 of the required methods. + + Missing methods (should be implemented): + + virtual QCString trCallerGraph() Obsolete methods (should be removed, never used): @@ -402,11 +493,10 @@ TranslatorJapanese (Translator) virtual QCString trInterfaces() virtual QCString trHeaderFiles() virtual QCString trBugsAndLimitations() - virtual QCString trEnumerationValueDocumentation() virtual QCString trNoDescriptionAvailable() -TranslatorJapaneseEn (TranslatorEnglish) 187 methods to implement +TranslatorJapaneseEn (TranslatorEnglish) 189 methods to implement -------------------- Implements 5 of the required methods. @@ -420,7 +510,18 @@ TranslatorJapaneseEn (TranslatorEnglish) 187 methods to implement virtual QCString latexLanguageSupportCommand() -TranslatorKoreanEn (TranslatorEnglish) 187 methods to implement +TranslatorKorean (TranslatorAdapter_1_4_6) 2 methods to implement +---------------- + + Implements 192 of the required methods. + + Missing methods (should be implemented): + + virtual QCString trCallerGraph() + virtual QCString trEnumerationValueDocumentation() + + +TranslatorKoreanEn (TranslatorEnglish) 189 methods to implement ------------------ Implements 5 of the required methods. @@ -434,20 +535,25 @@ TranslatorKoreanEn (TranslatorEnglish) 187 methods to implement virtual QCString latexLanguageSupportCommand() -TranslatorNorwegian (TranslatorAdapter_1_3_9) 7 methods to implement +TranslatorLithuanian (TranslatorAdapter_1_4_6) 2 methods to implement +-------------------- + + Implements 192 of the required methods. + + Missing methods (should be implemented): + + virtual QCString trCallerGraph() + virtual QCString trEnumerationValueDocumentation() + + +TranslatorNorwegian (TranslatorAdapter_1_4_6) 1 method to implement ------------------- - Implements 185 of the required methods. + Implements 193 of the required methods. Missing methods (should be implemented): - virtual QCString trOverloadText() - virtual QCString trDirIndex() - virtual QCString trDirDocumentation() - virtual QCString trDirectories() - virtual QCString trDirDescription() - virtual QCString trDirReference(const char * dirName) - virtual QCString trDir(bool first_capital, bool singular) + virtual QCString trCallerGraph() Obsolete methods (should be removed, never used): @@ -459,14 +565,17 @@ TranslatorNorwegian (TranslatorAdapter_1_3_9) 7 methods to implement virtual QCString trInterfaces() virtual QCString trHeaderFiles() virtual QCString trBugsAndLimitations() - virtual QCString trEnumerationValueDocumentation() virtual QCString trNoDescriptionAvailable() -TranslatorPolish (Translator) +TranslatorPolish (TranslatorAdapter_1_4_6) 1 method to implement ---------------- - Implements 192 of the required methods. + Implements 193 of the required methods. + + Missing methods (should be implemented): + + virtual QCString trCallerGraph() Obsolete methods (should be removed, never used): @@ -478,14 +587,13 @@ TranslatorPolish (Translator) virtual QCString trInterfaces() QCString trHeaderFiles() QCString trBugsAndLimitations() - QCString trEnumerationValueDocumentation() QCString trNoDescriptionAvailable() -TranslatorPortuguese (TranslatorAdapter_1_3_3) 12 methods to implement +TranslatorPortuguese (TranslatorAdapter_1_3_3) 13 methods to implement -------------------- - Implements 180 of the required methods. + Implements 181 of the required methods. Missing methods (should be implemented): @@ -497,6 +605,7 @@ TranslatorPortuguese (TranslatorAdapter_1_3_3) 12 methods to implement virtual QCString trDirDescription() virtual QCString trSearchResults(int numDocuments) virtual QCString trSearchMatches() + virtual QCString trCallerGraph() virtual QCString trSourceFile(QCString & filename) virtual QCString trDirReference(const char * dirName) virtual QCString trDir(bool first_capital, bool singular) @@ -512,18 +621,18 @@ TranslatorPortuguese (TranslatorAdapter_1_3_3) 12 methods to implement virtual QCString trInterfaces() QCString trHeaderFiles() QCString trBugsAndLimitations() - QCString trEnumerationValueDocumentation() QCString trNoDescriptionAvailable() -TranslatorRomanian (TranslatorAdapter_1_4_1) 1 method to implement +TranslatorRomanian (TranslatorAdapter_1_4_1) 2 methods to implement ------------------ - Implements 191 of the required methods. + Implements 192 of the required methods. Missing methods (should be implemented): virtual QCString trOverloadText() + virtual QCString trCallerGraph() Obsolete methods (should be removed, never used): @@ -535,18 +644,29 @@ TranslatorRomanian (TranslatorAdapter_1_4_1) 1 method to implement virtual QCString trInterfaces() virtual QCString trHeaderFiles() virtual QCString trBugsAndLimitations() - virtual QCString trEnumerationValueDocumentation() virtual QCString trNoDescriptionAvailable() -TranslatorSerbian (TranslatorAdapter_1_4_1) 1 method to implement +TranslatorRussian (TranslatorAdapter_1_4_6) 2 methods to implement ----------------- - Implements 191 of the required methods. + Implements 192 of the required methods. + + Missing methods (should be implemented): + + virtual QCString trCallerGraph() + virtual QCString trEnumerationValueDocumentation() + + +TranslatorSerbian (TranslatorAdapter_1_4_1) 2 methods to implement +----------------- + + Implements 192 of the required methods. Missing methods (should be implemented): virtual QCString trOverloadText() + virtual QCString trCallerGraph() Obsolete methods (should be removed, never used): @@ -558,14 +678,13 @@ TranslatorSerbian (TranslatorAdapter_1_4_1) 1 method to implement virtual QCString trInterfaces() virtual QCString trHeaderFiles() virtual QCString trBugsAndLimitations() - virtual QCString trEnumerationValueDocumentation() virtual QCString trNoDescriptionAvailable() -TranslatorSlovak (TranslatorAdapter_1_2_18) 21 methods to implement +TranslatorSlovak (TranslatorAdapter_1_2_18) 22 methods to implement ---------------- - Implements 171 of the required methods. + Implements 172 of the required methods. Missing methods (should be implemented): @@ -585,6 +704,7 @@ TranslatorSlovak (TranslatorAdapter_1_2_18) 21 methods to implement virtual QCString trPackageAttribs() virtual QCString trSearchMatches() virtual QCString trEvents() + virtual QCString trCallerGraph() virtual QCString trSourceFile(QCString & filename) virtual QCString trDirReference(const char * dirName) virtual QCString trDir(bool first_capital, bool singular) @@ -601,25 +721,28 @@ TranslatorSlovak (TranslatorAdapter_1_2_18) 21 methods to implement virtual QCString trInterfaces() virtual QCString trHeaderFiles() virtual QCString trBugsAndLimitations() - virtual QCString trEnumerationValueDocumentation() virtual QCString trNoDescriptionAvailable() -TranslatorSpanish (TranslatorAdapter_1_3_8) 8 methods to implement +TranslatorSlovene (TranslatorAdapter_1_4_6) 2 methods to implement ----------------- - Implements 184 of the required methods. + Implements 192 of the required methods. Missing methods (should be implemented): - virtual QCString trOverloadText() - virtual QCString trDirIndex() - virtual QCString trDirDocumentation() - virtual QCString trDirectories() - virtual QCString trDirDescription() - virtual QCString trSourceFile(QCString & filename) - virtual QCString trDirReference(const char * dirName) - virtual QCString trDir(bool first_capital, bool singular) + virtual QCString trCallerGraph() + virtual QCString trEnumerationValueDocumentation() + + +TranslatorSpanish (TranslatorAdapter_1_4_6) 1 method to implement +----------------- + + Implements 193 of the required methods. + + Missing methods (should be implemented): + + virtual QCString trCallerGraph() Obsolete methods (should be removed, never used): @@ -631,18 +754,29 @@ TranslatorSpanish (TranslatorAdapter_1_3_8) 8 methods to implement virtual QCString trInterfaces() virtual QCString trHeaderFiles() virtual QCString trBugsAndLimitations() - virtual QCString trEnumerationValueDocumentation() virtual QCString trNoDescriptionAvailable() -TranslatorUkrainian (TranslatorAdapter_1_4_1) 1 method to implement +TranslatorSwedish (TranslatorAdapter_1_4_6) 2 methods to implement +----------------- + + Implements 192 of the required methods. + + Missing methods (should be implemented): + + virtual QCString trCallerGraph() + virtual QCString trEnumerationValueDocumentation() + + +TranslatorUkrainian (TranslatorAdapter_1_4_1) 2 methods to implement ------------------- - Implements 191 of the required methods. + Implements 192 of the required methods. Missing methods (should be implemented): virtual QCString trOverloadText() + virtual QCString trCallerGraph() Obsolete methods (should be removed, never used): @@ -654,5 +788,4 @@ TranslatorUkrainian (TranslatorAdapter_1_4_1) 1 method to implement virtual QCString trInterfaces() virtual QCString trHeaderFiles() virtual QCString trBugsAndLimitations() - virtual QCString trEnumerationValueDocumentation() virtual QCString trNoDescriptionAvailable() \ No newline at end of file diff --git a/src/classdef.cpp b/src/classdef.cpp index cea3d69..5450b46 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -2055,22 +2055,27 @@ bool ClassDef::isLinkable() const /*! the class is visible in a class diagram, or class hierarchy */ bool ClassDef::isVisibleInHierarchy() { - return // show all classes or a subclass is visible - (Config_getBool("ALLEXTERNALS") || hasNonReferenceSuperClass()) && + static bool allExternals = Config_getBool("ALLEXTERNALS"); + static bool extractPrivate = Config_getBool("EXTRACT_PRIVATE"); + static bool hideUndocClasses = Config_getBool("HIDE_UNDOC_CLASSES"); + static bool extractStatic = Config_getBool("EXTRACT_STATIC"); + + return // show all classes or a subclass is visible + (allExternals || hasNonReferenceSuperClass()) && // and not an annonymous compound name().find('@')==-1 && // not an artifically introduced class !m_artificial && // and not privately inherited - (m_prot!=Private || Config_getBool("EXTRACT_PRIVATE")) && + (m_prot!=Private || extractPrivate) && // documented or shown anyway or documentation is external (hasDocumentation() || - !Config_getBool("HIDE_UNDOC_CLASSES") || + !hideUndocClasses || (m_templateMaster && m_templateMaster->hasDocumentation()) || isReference() ) && // is not part of an unnamed namespace or shown anyway - (!m_isStatic || Config_getBool("EXTRACT_STATIC")); + (!m_isStatic || extractStatic); } bool ClassDef::hasDocumentation() const diff --git a/src/code.l b/src/code.l index f6acb71..07a3fc6 100644 --- a/src/code.l +++ b/src/code.l @@ -3152,7 +3152,7 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s, extern "C" { // some bogus code to keep the compiler happy void codeYYdummy() { yy_flex_realloc(0,0); } } -#else +#elif YY_FLEX_SUBMINOR_VERSION<33 #error "You seem to be using a version of flex newer than 2.5.4. These are currently incompatible with 2.5.4, and do NOT work with doxygen! Please use version 2.5.4 or expect things to be parsed wrongly! A bug report has been submitted (#732132)." #endif diff --git a/src/commentcnv.l b/src/commentcnv.l index cf22972..a64d66a 100644 --- a/src/commentcnv.l +++ b/src/commentcnv.l @@ -493,8 +493,9 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) BEGIN(g_condCtx); } [ \t]* -[\\@]"cond"[ \t]*\n | +[\\@]"cond"[ \t\r]*\n | . { // forgot section id? + if (YY_START!=CondLine) g_condCtx=YY_START; bool oldSkip=g_skip; startCondSection(" "); // fake section id causing the section to be hidden unconditionally if (g_condCtx==CComment && !oldSkip && g_skip) diff --git a/src/commentscan.h b/src/commentscan.h index b2d3d0d..a30ae61 100644 --- a/src/commentscan.h +++ b/src/commentscan.h @@ -42,6 +42,8 @@ class ParserInterface; * @param[in] isJavaDocStyle TRUE iff this comment block is in "JavaDoc" style. * This means that it starts as a brief description until the end of * the sentences is found and then proceeds as a detailed description. + * @param[in] isInbody TRUE iff this comment block is located in the body of + * a function. * @param[in,out] prot The protection level in which this comment block was * found. Commands in the comment block may override this. * @param[in,out] position The character position within \a comment where the @@ -63,6 +65,7 @@ bool parseCommentBlock(ParserInterface *parser, int lineNr, bool isBrief, bool isJavaDocStyle, + bool isInbody, Protection &prot, int &position, bool &newEntryNeeded diff --git a/src/commentscan.l b/src/commentscan.l index 47e8b5a..35f2566 100644 --- a/src/commentscan.l +++ b/src/commentscan.l @@ -261,7 +261,8 @@ enum OutputContext { OutputDoc, OutputBrief, - OutputXRef + OutputXRef, + OutputInbody }; enum GuardType @@ -299,7 +300,7 @@ static QCString inputString; // input string static int inputPosition; // read pointer static QCString yyFileName; // file name that is read from static int yyLineNr; // line number in the input -//static bool inBody; // was the comment found inside the body of a function? +static bool inBody; // was the comment found inside the body of a function? static OutputContext inContext; // are we inside the brief, details or xref part static bool briefEndsAtDot; // does the brief description stop at a dot? static QCString formulaText; // Running text of a formula @@ -479,7 +480,14 @@ static void addXRefItem(const char *listName,const char *itemTitle, docEntry->addSpecialListItem(listName,itemId); QCString cmdString; cmdString.sprintf("\\xrefitem %s %d\n",listName,itemId); - docEntry->doc += cmdString; + if (inBody) + { + docEntry->inbodyDocs += cmdString; + } + else + { + docEntry->doc += cmdString; + } SectionInfo *si=new SectionInfo(listName,anchorLabel, sectionTitle,SectionInfo::Anchor); Doxygen::sectionDict.insert(anchorLabel,si); @@ -605,6 +613,7 @@ static inline void setOutput(OutputContext ctx) } inContext = ctx; + if (inContext!=OutputXRef && inBody) inContext=OutputInbody; switch(inContext) { case OutputDoc: @@ -629,6 +638,9 @@ static inline void setOutput(OutputContext ctx) // first item found, so can't append to previous //xrefAppendFlag = FALSE; break; + case OutputInbody: + pOutputString = ¤t->inbodyDocs; + break; } } @@ -780,7 +792,7 @@ MAILADR [a-z_A-Z0-9.+\-]+"@"[a-z_A-Z0-9\-]+("."[a-z_A-Z0-9\-]+)+[a-z_A-Z0-9\-] ("\\"[a-z_A-Z]+)+"\\" { // directory (or chain of commands!) addOutput(yytext); } -{XREFCMD}/[^a-z_A-Z]* { // command that can end a brief description +{XREFCMD}/[^a-z_A-Z]* { // xref command if (inContext!=OutputXRef) { briefEndsAtDot=FALSE; @@ -826,7 +838,12 @@ MAILADR [a-z_A-Z0-9.+\-]+"@"[a-z_A-Z0-9\-]+("."[a-z_A-Z0-9\-]+)+[a-z_A-Z0-9\-] // yuk, this is probably not very portable across lex implementations, // but we need to know the position in the input buffer where this // rule matched. + // for flex 2.5.33+ we should use YY_CURRENT_BUFFER_LVALUE +#if YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33 + inputPosition=prevPosition + yy_bp - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; +#else inputPosition=prevPosition + yy_bp - yy_current_buffer->yy_ch_buf; +#endif yyterminate(); } } @@ -2177,6 +2194,7 @@ bool parseCommentBlock(/* in */ ParserInterface *parser, /* in */ int lineNr, /* in */ bool isBrief, /* in */ bool isJavaDocStyle, + /* in */ bool isInbody, /* in,out */ Protection &prot, /* in,out */ int &position, /* out */ bool &newEntryNeeded @@ -2202,10 +2220,15 @@ bool parseCommentBlock(/* in */ ParserInterface *parser, xrefAppendFlag = FALSE; insidePre = FALSE; parseMore = FALSE; + inBody = isInbody; outputXRef.resize(0); setOutput( isBrief || isJavaDocStyle ? OutputBrief : OutputDoc ); briefEndsAtDot = isJavaDocStyle; + if (!current->inbodyDocs.isEmpty() && isInbody) // separate in body fragments + { + current->inbodyDocs+="\n\n"; + } Debug::print(Debug::CommentScan,0,"-----------\nCommentScanner: %s:%d\n" "input=[%s]\n",fileName.data(),lineNr,comment.data() diff --git a/src/config.l b/src/config.l index 9755fca..9ec2b75 100644 --- a/src/config.l +++ b/src/config.l @@ -311,6 +311,7 @@ static int yyread(char *buf,int max_size) if (includeStack.isEmpty()) { int c=0; + if (inputString==0) return c; while( c < max_size && inputString[inputPosition] ) { *buf = inputString[inputPosition++] ; diff --git a/src/doctokenizer.l b/src/doctokenizer.l index 811127a..100dd11 100644 --- a/src/doctokenizer.l +++ b/src/doctokenizer.l @@ -325,7 +325,7 @@ OPMASK ({BLANK}*{OPNORM}{FUNCARG}?)|({OPCAST}{FUNCARG}) LNKWORD1 ("::"|"#")?{SCOPEMASK} CVSPEC {BLANK}*("const"|"volatile") LNKWORD2 {SCOPEPRE}*"operator"{OPMASK} -LNKWORD3 [0-9a-z_A-Z]+("."[0-9a-z_A-Z]+)+ +LNKWORD3 ([0-9a-z_A-Z\-]+("/"|"\\"))*[0-9a-z_A-Z\-]+("."[0-9a-z_A-Z]+)+ CHARWORD [^ \t\n\r\\@<>()\[\]:;\?{}&%$#,.] CHARWORDQ [^ \t\n\r\\@<>()\[\]:;\?{}&%$#,."] WORD1 "%"?{CHARWORD}+|"{"|"}"|("\""[^"\n]*"\"") diff --git a/src/doxygen.cpp b/src/doxygen.cpp index 4a8015e..6932f1d 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -120,7 +120,7 @@ SearchIndex * Doxygen::searchIndex=0; SDict *Doxygen::symbolMap; bool Doxygen::outputToWizard=FALSE; QDict * Doxygen::htmlDirMap = 0; -QCache Doxygen::lookupCache(20000,20000); +QCache Doxygen::lookupCache(50000,50000); DirSDict Doxygen::directories(17); SDict Doxygen::dirRelations(257); ParserManager *Doxygen::parserManager = 0; @@ -4889,7 +4889,6 @@ static void findMember(Entry *root, else { scopeName = mergeScopes(root->parent->name,scopeName); - printf("joinedName=%s\n",scopeName.data()); } } else // see if we can prefix a namespace or class that is used from the file @@ -6131,7 +6130,7 @@ static void findEnumDocumentation(Entry *root) md->setMemberGroupId(root->mGrpId); GroupDef *gd=md->getGroupDef(); - if (gd==0 &&root->groups->first()!=0) // member not grouped but out-of-line documentation is + if (gd==0 && root->groups->first()!=0) // member not grouped but out-of-line documentation is { addMemberToGroups(root,md); } @@ -7894,6 +7893,7 @@ static int readFileOrDirectory(const char *s, { //printf("killDict=%p count=%d\n",killDict,killDict->count()); // strip trailing slashes + if (s==0) return 0; QCString fs = s; char lc = fs.at(fs.length()-1); if (lc=='/' || lc=='\\') fs = fs.left(fs.length()-1); diff --git a/src/groupdef.cpp b/src/groupdef.cpp index 94df15f..d0ce1cc 100644 --- a/src/groupdef.cpp +++ b/src/groupdef.cpp @@ -71,6 +71,7 @@ GroupDef::GroupDef(const char *df,int dl,const char *na,const char *t, docProtoMembers.setInGroup(TRUE); docTypedefMembers.setInGroup(TRUE); docEnumMembers.setInGroup(TRUE); + docEnumValMembers.setInGroup(TRUE); docFuncMembers.setInGroup(TRUE); docVarMembers.setInGroup(TRUE); @@ -302,6 +303,18 @@ bool GroupDef::insertMember(MemberDef *md,bool docOnly) docEnumMembers.append(md); break; case MemberDef::EnumValue: + if (!docOnly) + { + //printf("enum value %s!\n",md->name().data()); + if (Config_getBool("SORT_BRIEF_DOCS")) + decEnumValMembers.inSort(md); + else + decEnumValMembers.append(md); + } + if (Config_getBool("SORT_MEMBER_DOCS")) + docEnumValMembers.inSort(md); + else + docEnumValMembers.append(md); break; case MemberDef::Prototype: if (!docOnly) @@ -381,6 +394,8 @@ void GroupDef::removeMember(MemberDef *md) docEnumMembers.remove(md); break; case MemberDef::EnumValue: + decEnumValMembers.remove(md); + docEnumValMembers.remove(md); break; case MemberDef::Prototype: decProtoMembers.remove(md); @@ -654,6 +669,7 @@ void GroupDef::writeDocumentation(OutputList &ol) decProtoMembers.writeDeclarations(ol,0,0,0,this,theTranslator->trFuncProtos(),0); decTypedefMembers.writeDeclarations(ol,0,0,0,this,theTranslator->trTypedefs(),0); decEnumMembers.writeDeclarations(ol,0,0,0,this,theTranslator->trEnumerations(),0); + decEnumValMembers.writeDeclarations(ol,0,0,0,this,theTranslator->trEnumerationValues(),0,TRUE); decFuncMembers.writeDeclarations(ol,0,0,0,this,theTranslator->trFunctions(),0); decVarMembers.writeDeclarations(ol,0,0,0,this,theTranslator->trVariables(),0); } @@ -729,6 +745,9 @@ void GroupDef::writeMemberDocumentation(OutputList &ol) docEnumMembers.writeDocumentation(ol,name(),this, theTranslator->trEnumerationTypeDocumentation()); + docEnumValMembers.writeDocumentation(ol,name(),this, + theTranslator->trEnumerationValueDocumentation(),TRUE); + docFuncMembers.writeDocumentation(ol,name(),this, theTranslator->trFunctionDocumentation()); diff --git a/src/groupdef.h b/src/groupdef.h index ac939d8..2fe2302 100644 --- a/src/groupdef.h +++ b/src/groupdef.h @@ -106,6 +106,7 @@ class GroupDef : public Definition MemberList docProtoMembers; MemberList docTypedefMembers; MemberList docEnumMembers; + MemberList docEnumValMembers; MemberList docFuncMembers; MemberList docVarMembers; diff --git a/src/index.cpp b/src/index.cpp index 0aa76ac..0c8394c 100644 --- a/src/index.cpp +++ b/src/index.cpp @@ -625,7 +625,10 @@ static int countClassesInTreeList(const ClassSDict &cl) { if (cd->isVisibleInHierarchy()) // should it be visible { - count++; + if (cd->subClasses()->count()>0) // should have sub classes + { + count++; + } } } } @@ -634,17 +637,6 @@ static int countClassesInTreeList(const ClassSDict &cl) int countClassHierarchy() { -#if 0 -// TODO: let this function return the real number of items in the hierarchy. - initClassHierarchy(&Doxygen::classSDict); - int count=0; - ClassSDict::Iterator cli(Doxygen::classSDict); - for ( ; cli.current(); ++cli) - { - if (cli.current()->subClasses()->count()>0) count++; - } - return count; -#endif int count=0; initClassHierarchy(&Doxygen::classSDict); initClassHierarchy(&Doxygen::hiddenClasses); @@ -657,7 +649,6 @@ int countClassHierarchy() void writeHierarchicalIndex(OutputList &ol) { - //printf("writeHierarchicalIndex: %d classes\n",hierarchyClasses); if (hierarchyClasses==0) return; ol.pushGeneratorState(); ol.disable(OutputGenerator::Man); diff --git a/src/memberdef.cpp b/src/memberdef.cpp index 87f620d..753e353 100644 --- a/src/memberdef.cpp +++ b/src/memberdef.cpp @@ -694,7 +694,18 @@ void MemberDef::writeLink(OutputList &ol,ClassDef *,NamespaceDef *, } if (!onlyText) // write link { - ol.writeObjectLink(getReference(),getOutputFileBase(),anchor(),n); + if (mtype==EnumValue && getGroupDef()==0 && // enum value is not grouped + getEnumScope() && getEnumScope()->getGroupDef()) // but its container is + { + GroupDef *enumValGroup = getEnumScope()->getGroupDef(); + ol.writeObjectLink(enumValGroup->getReference(), + enumValGroup->getOutputFileBase(), + anchor(),n); + } + else + { + ol.writeObjectLink(getReference(),getOutputFileBase(),anchor(),n); + } } else // write only text { @@ -1029,6 +1040,10 @@ void MemberDef::writeDeclaration(OutputList &ol, } } } + else if (ltype=="@") // rename type from enum values + { + ltype=""; + } else { if (isObjCMethod()) @@ -1291,7 +1306,8 @@ bool MemberDef::isDetailedSectionVisible(bool inGroup,bool inFile) const void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, const char *scName, Definition *container, - bool inGroup + bool inGroup, + bool showEnumValues ) { // if this member is in a group find the real scope name. @@ -1301,7 +1317,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, //printf("MemberDef::writeDocumentation(): name=`%s' hasDocs=`%d' containerType=%d inGroup=%d\n", // name().data(),hasDocs,container->definitionType(),inGroup); if ( !hasDocs ) return; - if (isEnumValue()) return; + if (isEnumValue() && !showEnumValues) return; QCString scopeName = scName; QCString memAnchor = anchor(); @@ -1357,6 +1373,13 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, ldef.prepend("enum "); } } + else if (isEnumValue()) + { + if (ldef.at(0)=='@') + { + ldef=ldef.mid(2); + } + } int i=0,l; static QRegExp r("@[0-9]+"); diff --git a/src/memberdef.h b/src/memberdef.h index dcfa401..d7da3db 100644 --- a/src/memberdef.h +++ b/src/memberdef.h @@ -194,7 +194,7 @@ class MemberDef : public Definition bool inGroup); void writeDocumentation(MemberList *ml,OutputList &ol, const char *scopeName,Definition *container, - bool inGroup); + bool inGroup,bool showEnumValues=FALSE); void warnIfUndocumented(); // relation to other members diff --git a/src/memberlist.cpp b/src/memberlist.cpp index 2a2cef7..1fb225e 100644 --- a/src/memberlist.cpp +++ b/src/memberlist.cpp @@ -50,7 +50,7 @@ int MemberList::compareItems(GCI item1, GCI item2) /*! Count the number of members in this list that are visible in * the declaration part of a compound's documentation page. */ -void MemberList::countDecMembers() +void MemberList::countDecMembers(bool countEnumValues) { if (m_numDecMembers!=-1) return; @@ -77,7 +77,8 @@ void MemberList::countDecMembers() m_funcCnt++,m_numDecMembers++; break; case MemberDef::Enumeration: m_enumCnt++,m_numDecMembers++; break; - case MemberDef::EnumValue: //m_enumValCnt++,m_numDecMembers++; + case MemberDef::EnumValue: if (countEnumValues) + m_enumValCnt++,m_numDecMembers++; break; case MemberDef::Typedef: m_typeCnt++,m_numDecMembers++; break; case MemberDef::Prototype: m_protoCnt++,m_numDecMembers++; break; @@ -117,7 +118,7 @@ void MemberList::countDecMembers() //printf("MemberList::countDecMembers()=%d\n",m_numDecMembers); } -void MemberList::countDocMembers() +void MemberList::countDocMembers(bool countEnumValues) { if (m_numDocMembers!=-1) return; // used cached value m_numDocMembers=0; @@ -128,7 +129,8 @@ void MemberList::countDocMembers() if (md->isDetailedSectionVisible(m_inGroup,m_inFile)) { // do not count enum values, since they do not produce entries of their own - if (md->memberType()!=MemberDef::EnumValue) m_numDocMembers++; + if (countEnumValues || md->memberType()!=MemberDef::EnumValue) + m_numDocMembers++; } } if (memberGroupList) @@ -181,9 +183,10 @@ void MemberList::writePlainDeclarations(OutputList &ol, MemberListIterator mli(*this); for ( ; (md=mli.current()); ++mli ) { + //printf(">>> Member `%s' type=%d visible=%d\n", + // md->name().data(),md->memberType(),md->isBriefSectionVisible()); if (md->isBriefSectionVisible()) { - //printf(">>> Member `%s' type=%d\n",md->name().data(),md->memberType()); switch(md->memberType()) { case MemberDef::Define: // fall through @@ -264,6 +267,10 @@ void MemberList::writePlainDeclarations(OutputList &ol, break; } case MemberDef::EnumValue: + { + if (first) ol.startMemberList(),first=FALSE; + md->writeDeclaration(ol,cd,nd,fd,gd,m_inGroup); + } break; } } @@ -298,11 +305,11 @@ void MemberList::writePlainDeclarations(OutputList &ol, void MemberList::writeDeclarations(OutputList &ol, ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd, - const char *title,const char *subtitle + const char *title,const char *subtitle, bool showEnumValues /*, bool inGroup,bool countSubGroups*/) { //printf("----- writeDeclaration() ----\n"); - countDecMembers(); // count member not in group + countDecMembers(showEnumValues); // count member not in group if (numDecMembers()==0) return; //printf("MemberList::writeDeclaration(title=`%s',subtitle=`%s')=%d\n",title,subtitle,numDecMembers()); if (title) @@ -355,11 +362,11 @@ void MemberList::writeDeclarations(OutputList &ol, void MemberList::writeDocumentation(OutputList &ol, const char *scopeName, Definition *container, - const char *title) + const char *title,bool showEnumValues) { //printf("MemberList::writeDocumentation()\n"); - countDocMembers(); + countDocMembers(showEnumValues); if (numDocMembers()==0) return; if (title) @@ -375,7 +382,7 @@ void MemberList::writeDocumentation(OutputList &ol, MemberDef *md; for ( ; (md=mli.current()) ; ++mli) { - md->writeDocumentation(this,ol,scopeName,container,m_inGroup); + md->writeDocumentation(this,ol,scopeName,container,m_inGroup,showEnumValues); } if (memberGroupList) { diff --git a/src/memberlist.h b/src/memberlist.h index 78a317b..c9f1fef 100644 --- a/src/memberlist.h +++ b/src/memberlist.h @@ -45,15 +45,15 @@ class MemberList : public QList int friendCount() const { ASSERT(m_numDecMembers!=-1); return m_friendCnt; } int numDecMembers() const { ASSERT(m_numDecMembers!=-1); return m_numDecMembers; } int numDocMembers() const { ASSERT(m_numDocMembers!=-1); return m_numDocMembers; } - void countDecMembers(/*bool inGroup,bool countSubGroups,bool sectionPerType*/); - void countDocMembers(); + void countDecMembers(bool countEnumValues=FALSE); + void countDocMembers(bool countEnumValues=FALSE); void writePlainDeclarations(OutputList &ol, ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd); void writeDeclarations(OutputList &ol, ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd, - const char *title,const char *subtitle); + const char *title,const char *subtitle,bool showEnumValues=FALSE); void writeDocumentation(OutputList &ol,const char *scopeName, - Definition *container,const char *title); + Definition *container,const char *title,bool showEnumValues=FALSE); void writeDocumentationPage(OutputList &ol, const char *scopeName, Definition *container); void addMemberGroup(MemberGroup *mg); diff --git a/src/pre.l b/src/pre.l index b4a3787..672104f 100644 --- a/src/pre.l +++ b/src/pre.l @@ -1872,7 +1872,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) outputArray(yytext,yyleng); BEGIN(g_condCtx); } -[\\@]"cond"[ \t]+\n | +[\\@]"cond"[ \t\r]*\n | . { outputArray(yytext,yyleng); startCondSection(" "); @@ -1943,7 +1943,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) "//" { outputChar('/');outputChar('/'); } -[^\x06\n]+ { +[^\x06\@\\\n]+ { outputArray(yytext,yyleng); } . { diff --git a/src/pycode.l b/src/pycode.l index cfa2da2..ae3c543 100644 --- a/src/pycode.l +++ b/src/pycode.l @@ -1431,7 +1431,7 @@ void parsePythonCode(CodeOutputInterface &od,const char *className, extern "C" { // some bogus code to keep the compiler happy void pycodeYYdummy() { yy_flex_realloc(0,0); } } -#else +#elif YY_FLEX_SUBMINOR_VERSION<33 #error "You seem to be using a version of flex newer than 2.5.4. These are currently incompatible with 2.5.4, and do NOT work with doxygen! Please use version 2.5.4 or expect things to be parsed wrongly! A bug report has been submitted (#732132)." #endif diff --git a/src/pyscanner.l b/src/pyscanner.l index d3b4dcc..6420e40 100644 --- a/src/pyscanner.l +++ b/src/pyscanner.l @@ -308,6 +308,7 @@ static void handleCommentBlock(const QCString &doc,bool brief) brief ? current->briefLine : current->docLine, // line of block start docBlockInBody ? FALSE : brief, docBlockJavaStyle, // javadoc style + docBlockInBody, protection, position, needsEntry) diff --git a/src/scanner.l b/src/scanner.l index 9001e80..d16c50f 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2006 by Dimitri van Heesch. + * Copyright (C) 1997-2005 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -2569,7 +2569,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?) // see if the compound does not have a name or is inside another // annonymous compound. If so we insert a // special `annonymous' variable. - Entry *p=current_root; + //Entry *p=current_root; + Entry *p=current; while (p) { // only look for class scopes, not namespace scopes @@ -2586,7 +2587,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?) break; } } - p=p->parent; + //p=p->parent; + if (p==current) p=current_root; else p=p->parent; } } //printf("msName=%s current->name=%s\n",msName.data(),current->name.data()); @@ -3416,6 +3418,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?) } else { +#if 0 if (!Config_getBool("HIDE_IN_BODY_DOCS") && !current->doc.isEmpty()) { @@ -3430,6 +3433,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?) previous->inbodyDocs += current->doc; current->doc.resize(0); } +#endif if (current->sli) // copy special list items { QListIterator li(*current->sli); @@ -3880,7 +3884,16 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?) } {BN}+ { lineCount(); *specName +=' '; } "<<" { *specName += yytext; } -">>" { *specName += yytext; } +">>" { + if (insideCS) // for C# >> ends a nested template + { + REJECT; + } + else // for C++ >> is a bitshift operator and > > would end a nested template + { + *specName += yytext; + } + } "typename"{BN}+ { lineCount(); } "(" { *specName += *yytext; roundCount++; } ")" { *specName += *yytext; roundCount--; } @@ -3977,7 +3990,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?) insideCode=FALSE; current->program += yytext ; } -[^ \.\n\/\*]+ { current->program += yytext ; } +[^ \.\t\r\n\/\*]+ { current->program += yytext ; } "*/" { current->program += yytext ; if (!insideCode) BEGIN( lastContext ) ; } @@ -4405,6 +4418,7 @@ static void handleCommentBlock(const QCString &doc,bool brief) int position=0; bool needsEntry=FALSE; if (docBlockInBody && hideInBodyDocs) return; +#if 0 if (docBlockInBody) { if (previous==0) @@ -4417,6 +4431,7 @@ static void handleCommentBlock(const QCString &doc,bool brief) previous->doc=previous->doc.stripWhiteSpace()+"\n\n"; } } +#endif //printf("parseCommentBlock [%s]\n",doc.data()); while (parseCommentBlock( g_thisParser, @@ -4426,6 +4441,7 @@ static void handleCommentBlock(const QCString &doc,bool brief) brief ? current->briefLine : current->docLine, // line of block start docBlockInBody ? FALSE : brief, docBlockInBody ? FALSE : docBlockJavaStyle, + docBlockInBody, protection, position, needsEntry @@ -4440,7 +4456,9 @@ static void handleCommentBlock(const QCString &doc,bool brief) newEntry(); } +#if 0 exit: +#endif if (docBlockTerm) { unput(docBlockTerm); @@ -4479,6 +4497,7 @@ static void handleParametersCommentBlocks() current->docLine, // line of block start FALSE, FALSE, + FALSE, protection, position, needsEntry diff --git a/src/translator.h b/src/translator.h index 93f33a8..449af81 100644 --- a/src/translator.h +++ b/src/translator.h @@ -135,7 +135,6 @@ class Translator virtual QCString trFunctionPrototypeDocumentation() = 0; virtual QCString trTypedefDocumentation() = 0; virtual QCString trEnumerationTypeDocumentation() = 0; - //virtual QCString trEnumerationValueDocumentation() = 0; virtual QCString trFunctionDocumentation() = 0; virtual QCString trVariableDocumentation() = 0; virtual QCString trCompounds() = 0; @@ -446,6 +445,7 @@ class Translator ////////////////////////////////////////////////////////////////////////// virtual QCString trCallerGraph() = 0; + virtual QCString trEnumerationValueDocumentation() = 0; }; diff --git a/src/translator_adapter.h b/src/translator_adapter.h index 1505918..e3a1119 100644 --- a/src/translator_adapter.h +++ b/src/translator_adapter.h @@ -51,6 +51,10 @@ class TranslatorAdapter_1_4_6 : public TranslatorAdapterBase { return english.trCallerGraph(); } + virtual QCString trEnumerationValueDocumentation() + { + return english.trEnumerationValueDocumentation(); + } }; class TranslatorAdapter_1_4_1 : public TranslatorAdapter_1_4_6 diff --git a/src/translator_br.h b/src/translator_br.h index db33976..8363795 100644 --- a/src/translator_br.h +++ b/src/translator_br.h @@ -469,7 +469,7 @@ class TranslatorBrazilian : public TranslatorAdapter_1_4_6 * documentation blocks for defines */ virtual QCString trDefineDocumentation() - { return "Deinições e macros"; } + { return "Definições e macros"; } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for function prototypes diff --git a/src/translator_cz.h b/src/translator_cz.h index d85e554..2221469 100644 --- a/src/translator_cz.h +++ b/src/translator_cz.h @@ -65,6 +65,9 @@ // 2004/09/14 - The new methods "since 1.3.9" implemented. // 2005/02/11 - The "never used" methods removed. // 2005/03/08 - Update for "new since 1.4.1" (trOverloadText()) +// 2006/05/10 - Update for "new since 1.4.6" -- trCallerGraph(), +// modified trCallGraph() to make the meaning unambiguous +// and clear in the Czech language. // Todo // ---- @@ -1488,7 +1491,7 @@ class TranslatorCzech : public TranslatorAdapter_1_4_6 /*! Put in front of the call graph for a function. */ virtual QCString trCallGraph() { - return decode("Graf volání pro tuto funkci:"); + return decode("Tato funkce volá..."); } ////////////////////////////////////////////////////////////////////////// @@ -1620,6 +1623,17 @@ class TranslatorCzech : public TranslatorAdapter_1_4_6 "která má usnadnit používání. Od výše uvedené metody se liší " "pouze jinak zadávanými argumenty."); } + +////////////////////////////////////////////////////////////////////////// +// new since 1.4.6 +////////////////////////////////////////////////////////////////////////// + + virtual QCString trCallerGraph() + { + return decode("Tuto funkci volají..."); + } + + }; #endif // TRANSLATOR_CZ_H diff --git a/src/translator_en.h b/src/translator_en.h index 165bf4b..e365835 100644 --- a/src/translator_en.h +++ b/src/translator_en.h @@ -502,12 +502,6 @@ class TranslatorEnglish : public Translator { return "Enumeration Type Documentation"; } /*! This is used in the documentation of a file/namespace before the list - * of documentation blocks for enumeration values - */ - virtual QCString trEnumerationValueDocumentation() - { return "Enumerator Documentation"; } - - /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for functions */ virtual QCString trFunctionDocumentation() @@ -1624,11 +1618,19 @@ class TranslatorEnglish : public Translator // new since 1.4.6 ////////////////////////////////////////////////////////////////////////// + /*! This is used to introduce a caller (or called-by) graph */ virtual QCString trCallerGraph() { return "Here is the caller graph for this function:"; } + /*! This is used in the documentation of a file/namespace before the list + * of documentation blocks for enumeration values + */ + virtual QCString trEnumerationValueDocumentation() + { return "Enumerator Documentation"; } + + }; #endif diff --git a/src/translator_es.h b/src/translator_es.h index 1369637..10b2aa7 100644 --- a/src/translator_es.h +++ b/src/translator_es.h @@ -20,12 +20,13 @@ * Some notes: * - It's posible that some sentences haven't got meaning because * some words haven't got translate in spanish. + * Updated from 1.3.8 to 1.4.6 by Guillermo Ballester Valor (May-05-2006) */ #ifndef TRANSLATOR_ES_H #define TRANSLATOR_ES_H -class TranslatorSpanish : public TranslatorAdapter_1_3_8 +class TranslatorSpanish : public TranslatorAdapter_1_4_6 { public: virtual QCString idLanguage() @@ -1376,6 +1377,76 @@ class TranslatorSpanish : public TranslatorAdapter_1_3_8 return "Coincidencias:"; } +////////////////////////////////////////////////////////////////////////// +// new since 1.3.8 +////////////////////////////////////////////////////////////////////////// + + /*! This is used in HTML as the title of page with source code for file filename + */ + virtual QCString trSourceFile(QCString& filename) + { + return "Fichero Fuente " + filename; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.3.9 +////////////////////////////////////////////////////////////////////////// + + /*! This is used as the name of the chapter containing the directory + * hierarchy. + */ + virtual QCString trDirIndex() + { return "Jerarquía de Directorio"; } + + /*! This is used as the name of the chapter containing the documentation + * of the directories. + */ + virtual QCString trDirDocumentation() + { return "Documentación de Directorio"; } + + /*! This is used as the title of the directory index and also in the + * Quick links of an HTML page, to link to the directory hierarchy. + */ + virtual QCString trDirectories() + { return "Directorios"; } + + /*! This returns a sentences that introduces the directory hierarchy. + * and the fact that it is sorted alphabetically per level + */ + virtual QCString trDirDescription() + { return "La jeraquía de este directorio está ordenada casi, " + "pero no completamente, de forma alfabética:"; + } + + /*! This returns the title of a directory page. The name of the + * directory is passed via \a dirName. + */ + virtual QCString trDirReference(const char *dirName) + { QCString result="Referencia del Directorio "; result+=dirName; return result; } + + /*! This returns the word directory with or without starting capital + * (\a first_capital) and in sigular or plural form (\a singular). + */ + virtual QCString trDir(bool first_capital, bool singular) + { + QCString result((first_capital ? "Directori" : "directori")); + if (singular) result+="o"; else result+="os"; + return result; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.4.1 +////////////////////////////////////////////////////////////////////////// + + /*! This text is added to the documentation when the \\overload command + * is used for a overloaded function. + */ + virtual QCString trOverloadText() + { + return "Esta es una función miembro sobrecargada que se " + "suministra por conveniencia. Difiere de la anterior " + "función solamente en los argumentos que acepta."; + } }; diff --git a/src/translator_it.h b/src/translator_it.h index f49381c..5515a89 100644 --- a/src/translator_it.h +++ b/src/translator_it.h @@ -19,6 +19,8 @@ * * Revision history * + * 2006/05: translated new items used since version 1.4.6 + * corrected typo in trPackageMembers method * 2005/03: translated new items used since version 1.4.1 * removed unused methods listed in Petr Prikryl February 28 translator report * 2004/09: translated new items used since version 1.3.9 @@ -1362,7 +1364,7 @@ class TranslatorItalian : public TranslatorAdapter_1_4_6 */ virtual QCString trPackageMembers() { - return "Funczioni con visibilità di package"; + return "Funzioni con visibilità di package"; } /*! Used as a heading for a list of static Java class functions with * package scope. @@ -1524,6 +1526,15 @@ class TranslatorItalian : public TranslatorAdapter_1_4_6 "unicamente per gli argomenti passati."; } +////////////////////////////////////////////////////////////////////////// +// new since 1.4.6 +////////////////////////////////////////////////////////////////////////// + + virtual QCString trCallerGraph() + { + return "Questo è il grafo dei chiamanti di questa funzione:"; + } + }; #endif diff --git a/tmake/lib/macosx-c++/tmake.conf b/tmake/lib/macosx-c++/tmake.conf index 0df5e06..cd4978b 100755 --- a/tmake/lib/macosx-c++/tmake.conf +++ b/tmake/lib/macosx-c++/tmake.conf @@ -8,7 +8,7 @@ TEMPLATE = app CONFIG = qt warn_on release TMAKE_CC = cc -TMAKE_CFLAGS = -pipe -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc +TMAKE_CFLAGS = -pipe TMAKE_CFLAGS_WARN_ON = -Wall -W TMAKE_CFLAGS_WARN_OFF = TMAKE_CFLAGS_RELEASE = -O2 @@ -36,7 +36,7 @@ TMAKE_LIBDIR_OPENGL = /usr/X11R6/lib TMAKE_LINK = c++ TMAKE_LINK_SHLIB = c++ -TMAKE_LFLAGS = -Wl,-search_paths_first -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc +TMAKE_LFLAGS = -Wl,-search_paths_first TMAKE_LFLAGS_RELEASE = TMAKE_LFLAGS_DEBUG = TMAKE_LFLAGS_SHLIB = -shared diff --git a/tmake/lib/macosx-uni-c++/app.t b/tmake/lib/macosx-uni-c++/app.t new file mode 100644 index 0000000..867725e --- /dev/null +++ b/tmake/lib/macosx-uni-c++/app.t @@ -0,0 +1,2 @@ +#! Use the common Unix template +#$ IncludeTemplate("../unix/app.t"); diff --git a/tmake/lib/macosx-uni-c++/lib.t b/tmake/lib/macosx-uni-c++/lib.t new file mode 100644 index 0000000..2523b2f --- /dev/null +++ b/tmake/lib/macosx-uni-c++/lib.t @@ -0,0 +1,2 @@ +#! Use the common Unix template +#$ IncludeTemplate("../unix/lib.t"); diff --git a/tmake/lib/macosx-uni-c++/subdirs.t b/tmake/lib/macosx-uni-c++/subdirs.t new file mode 100644 index 0000000..5e888af --- /dev/null +++ b/tmake/lib/macosx-uni-c++/subdirs.t @@ -0,0 +1,2 @@ +#! Use the common Unix template +#$ IncludeTemplate("../unix/subdirs.t"); diff --git a/tmake/lib/macosx-uni-c++/tmake.conf b/tmake/lib/macosx-uni-c++/tmake.conf new file mode 100644 index 0000000..0df5e06 --- /dev/null +++ b/tmake/lib/macosx-uni-c++/tmake.conf @@ -0,0 +1,59 @@ +# +# +# +# tmake configuration for macosx-c++ +# + +TEMPLATE = app +CONFIG = qt warn_on release + +TMAKE_CC = cc +TMAKE_CFLAGS = -pipe -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc +TMAKE_CFLAGS_WARN_ON = -Wall -W +TMAKE_CFLAGS_WARN_OFF = +TMAKE_CFLAGS_RELEASE = -O2 +TMAKE_CFLAGS_DEBUG = -g +TMAKE_CFLAGS_SHLIB = -fPIC +TMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses + +TMAKE_CXX = c++ +TMAKE_CXXFLAGS = $$TMAKE_CFLAGS -D__FreeBSD__=6 +TMAKE_CXXFLAGS_WARN_ON = $$TMAKE_CFLAGS_WARN_ON +TMAKE_CXXFLAGS_WARN_OFF = $$TMAKE_CFLAGS_WARN_OFF +TMAKE_CXXFLAGS_RELEASE = $$TMAKE_CFLAGS_RELEASE +TMAKE_CXXFLAGS_DEBUG = $$TMAKE_CFLAGS_DEBUG +TMAKE_CXXFLAGS_SHLIB = $$TMAKE_CFLAGS_SHLIB +TMAKE_CXXFLAGS_YACC = $$TMAKE_CFLAGS_YACC + +TMAKE_INCDIR = +TMAKE_LIBDIR = +TMAKE_INCDIR_X11 = +TMAKE_LIBDIR_X11 = +TMAKE_INCDIR_QT = $(QTDIR)/include +TMAKE_LIBDIR_QT = $(QTDIR)/lib +TMAKE_INCDIR_OPENGL = /usr/X11R6/include +TMAKE_LIBDIR_OPENGL = /usr/X11R6/lib + +TMAKE_LINK = c++ +TMAKE_LINK_SHLIB = c++ +TMAKE_LFLAGS = -Wl,-search_paths_first -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc +TMAKE_LFLAGS_RELEASE = +TMAKE_LFLAGS_DEBUG = +TMAKE_LFLAGS_SHLIB = -shared + +TMAKE_LFLAGS_SONAME = -dynamiclib -install_name + +TMAKE_LIBS = +TMAKE_LIBS_X11 = +TMAKE_LIBS_QT = -lqt +TMAKE_LIBS_QT_MT = -lqt-mt +TMAKE_LIBS_QT_OPENGL = -lqgl +TMAKE_LIBS_OPENGL = -lMesaGL -lMesaGLU -lXmu + +TMAKE_MOC = moc + +TMAKE_AR = ar cq +TMAKE_RANLIB = ranlib + +TMAKE_TAR = tar -cf +TMAKE_GZIP = gzip -9f -- cgit v0.12