Commit 79099187 authored by Dimitri van Heesch's avatar Dimitri van Heesch

Release-1.8.4

parent 8dc4ff6d
DOXYGEN Version 1.8.3.1-20130512 DOXYGEN Version 1.8.4
Please read the installation section of the manual Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions. (http://www.doxygen.org/install.html) for instructions.
-------- --------
Dimitri van Heesch (12 May 2013) Dimitri van Heesch (19 May 2013)
DOXYGEN Version 1.8.3.1_20130512 DOXYGEN Version 1.8.4
Please read INSTALL for compilation instructions. Please read INSTALL for compilation instructions.
...@@ -26,4 +26,4 @@ forum. ...@@ -26,4 +26,4 @@ forum.
Enjoy, Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (12 May 2013) Dimitri van Heesch (dimitri@stack.nl) (19 May 2013)
...@@ -17,10 +17,10 @@ ...@@ -17,10 +17,10 @@
doxygen_version_major=1 doxygen_version_major=1
doxygen_version_minor=8 doxygen_version_minor=8
doxygen_version_revision=3.1 doxygen_version_revision=4
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package. #NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
doxygen_version_mmn=20130512 doxygen_version_mmn=NO
bin_dirs=`echo $PATH | sed -e "s/:/ /g"` bin_dirs=`echo $PATH | sed -e "s/:/ /g"`
...@@ -478,7 +478,7 @@ if test "$f_libclang" = YES; then ...@@ -478,7 +478,7 @@ if test "$f_libclang" = YES; then
if test "$f_libclangstatic" = NO; then if test "$f_libclangstatic" = NO; then
libclang_link="-L $i -lclang" libclang_link="-L $i -lclang"
else else
libclang_link="$i/libLLVMBitReader.a $i/libLLVMMC.a $i/libLLVMMCParser.a $i/libLLVMSupport.a $i/libclang.a $i/libclangAST.a $i/libclangAnalysis.a $i/libclangBasic.a $i/libclangDriver.a $i/libclangEdit.a $i/libclangFrontend.a $i/libclangLex.a $i/libclangParse.a $i/libclangRewriteCore.a $i/libclangSema.a $i/libclangSerialization.a $i/libclangStaticAnalyzerCore.a" libclang_link="$i/libclang.a $i/libclangFrontend.a $i/libclangSerialization.a $i/libclangParse.a $i/libclangSema.a $i/libclangAnalysis.a $i/libclangStaticAnalyzerCore.a $i/libclangAST.a $i/libclangBasic.a $i/libclangDriver.a $i/libclangEdit.a $i/libclangLex.a $i/libclangRewriteCore.a $i/libLLVMBitReader.a $i/libLLVMMC.a $i/libLLVMMCParser.a $i/libLLVMSupport.a -ldl -lpthread"
fi fi
break break
fi fi
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -274,7 +274,7 @@ documentation -> docs -> dox ...@@ -274,7 +274,7 @@ documentation -> docs -> dox
generator -> gen generator -> gen
\endverbatim \endverbatim
At the time I was looking into lex and yacc, where a lot of things start with At the time I was looking into \c lex and \c yacc, where a lot of things start with
"yy", so the "y" slipped in and made things pronounceable "yy", so the "y" slipped in and made things pronounceable
(the proper pronouncement is Docs-ee-gen, so with a long "e"). (the proper pronouncement is Docs-ee-gen, so with a long "e").
......
...@@ -20,7 +20,7 @@ Here is a list of all HTML commands that may be used inside the ...@@ -20,7 +20,7 @@ Here is a list of all HTML commands that may be used inside the
documentation. Note that although these HTML tags are translated to the documentation. Note that although these HTML tags are translated to the
proper commands for output formats other than HTML, all attributes proper commands for output formats other than HTML, all attributes
of a HTML tag are passed on to the HTML output only of a HTML tag are passed on to the HTML output only
(the HREF and NAME attributes for the A tag are the only exception). (the \c HREF and \c NAME attributes for the \c A tag are the only exception).
<ul> <ul>
<li><tt>\<A HREF="..."\></tt> Starts a hyperlink <li><tt>\<A HREF="..."\></tt> Starts a hyperlink
...@@ -89,7 +89,7 @@ of a HTML tag are passed on to the HTML output only ...@@ -89,7 +89,7 @@ of a HTML tag are passed on to the HTML output only
<li><tt>\<SUB\></tt> Starts a piece of text displayed in subscript. <li><tt>\<SUB\></tt> Starts a piece of text displayed in subscript.
<li><tt>\</SUB\></tt> Ends a <tt>\<SUB\></tt> section. <li><tt>\</SUB\></tt> Ends a <tt>\<SUB\></tt> section.
<li><tt>\<SUP\></tt> Starts a piece of text displayed in superscript. <li><tt>\<SUP\></tt> Starts a piece of text displayed in superscript.
<li><tt>\</SUP\></tt> Ends a <tt>\</SUP\></tt> section. <li><tt>\</SUP\></tt> Ends a <tt>\<SUP\></tt> section.
<li><tt>\<TABLE\></tt> starts a table. <li><tt>\<TABLE\></tt> starts a table.
<li><tt>\</TABLE\></tt> ends a table. <li><tt>\</TABLE\></tt> ends a table.
<li><tt>\<TD\></tt> Starts a new table data element. <li><tt>\<TD\></tt> Starts a new table data element.
......
...@@ -29,16 +29,16 @@ If you downloaded the source distribution, you need at least the ...@@ -29,16 +29,16 @@ If you downloaded the source distribution, you need at least the
following to build the executable: following to build the executable:
<ul> <ul>
<li>The <a href="ftp://prep.ai.mit.edu/pub/gnu/">GNU</a> tools <li>The <a href="ftp://prep.ai.mit.edu/pub/gnu/">GNU</a> tools
flex, bison and GNU make, and strip \c flex, \c bison and <code>GNU make</code>, and \c strip
\addindex flex \addindex flex
\addindex bison \addindex bison
\addindex make \addindex make
\addindex strip \addindex strip
<li>In order to generate a Makefile for your platform, you need <li>In order to generate a \c Makefile for your platform, you need
<a href="http://www.perl.com/">perl</a> <a href="http://www.perl.com/">perl</a>
\addindex perl \addindex perl
<li>The configure script assume the availability of standard UNIX tools such <li>The configure script assume the availability of standard UNIX tools such
as sed, date, find, uname, mv, cp, cat, echo, tr, cd, and rm. as <code>sed, date, find, uname, mv, cp, cat, echo, tr, cd</code> and \c rm.
</ul> </ul>
To take full advantage of doxygen's features the following additional To take full advantage of doxygen's features the following additional
...@@ -168,9 +168,9 @@ standard installation procedure that is required for these packages. ...@@ -168,9 +168,9 @@ standard installation procedure that is required for these packages.
<b>Qt problems</b> <b>Qt problems</b>
The Qt include files and libraries are not a subdirectory of the The Qt include files and libraries are not a subdirectory of the
directory pointed to by QTDIR on some systems directory pointed to by <code>QTDIR</code> on some systems
(for instance on Red Hat 6.0 includes are in /usr/include/qt and (for instance on Red Hat 6.0 includes are in <code>/usr/include/qt</code> and
libs are in /usr/lib). libs are in <code>/usr/lib</code>).
The solution: go to the root of the doxygen distribution and do: The solution: go to the root of the doxygen distribution and do:
...@@ -181,96 +181,26 @@ The solution: go to the root of the doxygen distribution and do: ...@@ -181,96 +181,26 @@ The solution: go to the root of the doxygen distribution and do:
ln -s your-qt-bin-dir-here bin ln -s your-qt-bin-dir-here bin
export QTDIR=$PWD export QTDIR=$PWD
If you have a csh-like shell you should use <code>setenv QTDIR \$PWD</code> If you have a <code>csh</code>-like shell you should use <code>setenv QTDIR \$PWD</code>
instead of the <code>export</code> command above. instead of the <code>export</code> command above.
Now install doxygen as described above. Now install doxygen as described above.
<b>Bison problems</b> <b>Bison problems</b>
Versions 1.31 to 1.34 of bison contain a "bug" that results in a Versions 1.31 to 1.34 of \c bison contain a "bug" that results in a
compiler errors like this: compiler errors like this:
ce_parse.cpp:348: member `class CPPValue yyalloc::yyvs' with <code>ce_parse.cpp:348: member `class CPPValue yyalloc::yyvs' with </code>
constructor not allowed in union constructor not allowed in union
This problem has been solved in version 1.35 (versions before 1.31 This problem has been solved in version 1.35 (versions before 1.31
will also work). will also work).
<b>Latex problems</b>
The file <code>a4wide.sty</code> is not available for all distributions. If
your distribution does not have it please select another paper type
in the config file (see the \ref cfg_paper_type "PAPER_TYPE" tag in the
config file).
<b>HP-UX \& Digital UNIX problems</b>
If you are compiling for HP-UX with aCC and you get this error:
/opt/aCC/lbin/ld: Unsatisfied symbols:
alloca (code)
then you should (according to Anke Selig) edit <code>ce_parse.cpp</code>
and replace
extern "C" {
void *alloca (unsigned int);
};
with
#include <alloca.h>
If that does not help, try removing <code>ce_parse.cpp</code> and let
bison rebuild it (this worked for me).
If you are compiling for Digital UNIX, the same problem can be solved
(according to Barnard Schmallhof) by replacing the following in
ce_parse.cpp:
\verbatim
#else /* not GNU C. */
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
|| defined (__sparc) || defined (__sgi)
#include <alloca.h>
\endverbatim
with
\verbatim
#else /* not GNU C. */
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
|| defined (__sparc) || defined (__sgi) || defined (__osf__)
#include <alloca.h>
\endverbatim
Alternatively, one could fix the problem at the bison side.
Here is patch for bison.simple (provided by Andre Johansen):
\verbatim
--- bison.simple~ Tue Nov 18 11:45:53 1997
+++ bison.simple Mon Jan 26 15:10:26 1998
@@ -27,7 +27,7 @@
#ifdef __GNUC__
#define alloca __builtin_alloca
#else /* not GNU C. */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
|| defined (__sparc) || defined (__sgi)
+#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
|| defined (__sparc) || defined (__sgi) || defined (__alpha)
#include <alloca.h>
#else /* not sparc */
#if defined (MSDOS) && !defined (__TURBOC__)
\endverbatim
The generated scanner.cpp that comes with doxygen is build with this
patch applied.
<b>Sun compiler problems</b> <b>Sun compiler problems</b>
It appears that doxygen doesn't work properly if it is compiled It appears that doxygen doesn't work properly if it is compiled
with Sun's C++ WorkShop 6 Compiler. I cannot verify this myself as I do with Sun's C++ WorkShop Compiler. I cannot verify this myself as I do
not have access to a Solaris machine with this compiler. With GNU compiler not have access to a Solaris machine with this compiler. With GNU compiler
it does work and installing Sun patch 111679-13 has also been reported it does work and installing Sun patch 111679-13 has also been reported
as a way to fix the problem. as a way to fix the problem.
...@@ -338,7 +268,7 @@ compile doxygen. Alternatively, you can compile doxygen ...@@ -338,7 +268,7 @@ compile doxygen. Alternatively, you can compile doxygen
<a href="http://en.wikipedia.org/wiki/Cygwin">Cygwin</a> <a href="http://en.wikipedia.org/wiki/Cygwin">Cygwin</a>
or <a href="http://www.mingw.org/">MinGW</a>. or <a href="http://www.mingw.org/">MinGW</a>.
The next step is to install bison, flex, and tar The next step is to install \c bison, \c flex, and \c tar
(see http://gnuwin32.sourceforge.net/packages.html). (see http://gnuwin32.sourceforge.net/packages.html).
This packages are needed during the This packages are needed during the
compilation process if you use a CVS snapshot of doxygen (the official source releases compilation process if you use a CVS snapshot of doxygen (the official source releases
...@@ -399,7 +329,7 @@ Here is what is required: ...@@ -399,7 +329,7 @@ Here is what is required:
The good, tested, and free alternative is the <code>tar</code> utility The good, tested, and free alternative is the <code>tar</code> utility
supplied with <a href="http://sourceware.cygnus.com/cygwin/">cygwin supplied with <a href="http://sourceware.cygnus.com/cygwin/">cygwin
tools</a>. Anyway, the cygwin's flex, bison, and sed are also tools</a>. Anyway, the Cygwin's \c flex, \c bison, and \c sed are also
recommended below. recommended below.
<li>Microsoft Visual C++ (I only tested with version 6.0). <li>Microsoft Visual C++ (I only tested with version 6.0).
...@@ -412,7 +342,7 @@ Here is what is required: ...@@ -412,7 +342,7 @@ Here is what is required:
<li>Perl 5.0 or higher for Windows. This can be downloaded from: <li>Perl 5.0 or higher for Windows. This can be downloaded from:
http://www.ActiveState.com/Products/ActivePerl/ http://www.ActiveState.com/Products/ActivePerl/
<li>The GNU tools flex, bison, and sed. <li>The GNU tools \c flex, \c bison, and \c sed.
To get these working on Windows you should install the To get these working on Windows you should install the
<a href="http://sources.redhat.com/cygwin/">cygwin tools</a> <a href="http://sources.redhat.com/cygwin/">cygwin tools</a>
......
...@@ -242,7 +242,7 @@ when the translator was updated. ...@@ -242,7 +242,7 @@ when the translator was updated.
<td>Romanian</td> <td>Romanian</td>
<td>Ionut Dumitrascu<br/>Alexandru Iosup</td> <td>Ionut Dumitrascu<br/>Alexandru Iosup</td>
<td>reddumy at yahoo dot com<br/>aiosup at yahoo dot com</td> <td>reddumy at yahoo dot com<br/>aiosup at yahoo dot com</td>
<td>1.6.0</td> <td>up-to-date</td>
</tr> </tr>
<tr bgcolor="#ffffff"> <tr bgcolor="#ffffff">
<td>Russian</td> <td>Russian</td>
...@@ -266,7 +266,7 @@ when the translator was updated. ...@@ -266,7 +266,7 @@ when the translator was updated.
<td>Slovak</td> <td>Slovak</td>
<td>Kali+Laco Švec<br/>Petr Přikryl</td> <td>Kali+Laco Švec<br/>Petr Přikryl</td>
<td><span style="color: brown">[the Slovak language advisors]</span><br/>prikryl at atlas dot cz</td> <td><span style="color: brown">[the Slovak language advisors]</span><br/>prikryl at atlas dot cz</td>
<td>1.8.04</td> <td>up-to-date</td>
</tr> </tr>
<tr bgcolor="#ffffff"> <tr bgcolor="#ffffff">
<td>Slovene</td> <td>Slovene</td>
...@@ -403,7 +403,7 @@ when the translator was updated. ...@@ -403,7 +403,7 @@ when the translator was updated.
Portuguese & Rui Godinho Lopes & {\tt\tiny [resigned] rgl at ruilopes dot com} & 1.8.0 \\ Portuguese & Rui Godinho Lopes & {\tt\tiny [resigned] rgl at ruilopes dot com} & 1.8.0 \\
~ & Fabio "FJTC" Jun Takada Chino & {\tt\tiny jun-chino at uol dot com dot br} & ~ \\ ~ & Fabio "FJTC" Jun Takada Chino & {\tt\tiny jun-chino at uol dot com dot br} & ~ \\
\hline \hline
Romanian & Ionut Dumitrascu & {\tt\tiny reddumy at yahoo dot com} & 1.6.0 \\ Romanian & Ionut Dumitrascu & {\tt\tiny reddumy at yahoo dot com} & up-to-date \\
~ & Alexandru Iosup & {\tt\tiny aiosup at yahoo dot com} & ~ \\ ~ & Alexandru Iosup & {\tt\tiny aiosup at yahoo dot com} & ~ \\
\hline \hline
Russian & Alexandr Chelpanov & {\tt\tiny cav at cryptopro dot ru} & 1.7.5 \\ Russian & Alexandr Chelpanov & {\tt\tiny cav at cryptopro dot ru} & 1.7.5 \\
...@@ -412,7 +412,7 @@ when the translator was updated. ...@@ -412,7 +412,7 @@ when the translator was updated.
\hline \hline
SerbianCyrilic & Nedeljko Stefanovic & {\tt\tiny stenedjo at yahoo dot com} & 1.6.0 \\ SerbianCyrilic & Nedeljko Stefanovic & {\tt\tiny stenedjo at yahoo dot com} & 1.6.0 \\
\hline \hline
Slovak & Kali+Laco Švec & {\tt\tiny [the Slovak language advisors]} & 1.8.04 \\ Slovak & Kali+Laco Švec & {\tt\tiny [the Slovak language advisors]} & up-to-date \\
~ & Petr Přikryl & {\tt\tiny prikryl at atlas dot cz} & ~ \\ ~ & Petr Přikryl & {\tt\tiny prikryl at atlas dot cz} & ~ \\
\hline \hline
Slovene & Matjaž Ostroveršnik & {\tt\tiny matjaz dot ostroversnik at ostri dot org} & 1.4.6 \\ Slovene & Matjaž Ostroveršnik & {\tt\tiny matjaz dot ostroversnik at ostri dot org} & 1.4.6 \\
......
...@@ -140,7 +140,7 @@ has its own advantages and disadvantages: ...@@ -140,7 +140,7 @@ has its own advantages and disadvantages:
If you develop for or want to install the Qt application framework, If you develop for or want to install the Qt application framework,
you will get an application you will get an application
called <a href="http://qt-project.org/doc/qt-4.8/assistant-manual.html">Qt assistant</a>. called <a href="http://qt-project.org/doc/qt-4.8/assistant-manual.html">Qt assistant</a>.
This is a help viewer for Qt Compressed Help files (.qch). This is a help viewer for Qt Compressed Help files (<code>.qch</code>).
To enable this feature set \ref cfg_generate_qhp "GENERATE_QHP" to \c YES. To enable this feature set \ref cfg_generate_qhp "GENERATE_QHP" to \c YES.
You also need to fill in the other Qt help related options, such as You also need to fill in the other Qt help related options, such as
......
...@@ -163,10 +163,10 @@ doxygen <config-file> ...@@ -163,10 +163,10 @@ doxygen <config-file>
\endverbatim \endverbatim
Depending on your settings doxygen will create \c html, \c rtf, Depending on your settings doxygen will create \c html, \c rtf,
\c latex, \c xml and/or \c man directories inside the output directory. \c latex, \c xml, \c man, and/or docbook directories inside the output directory.
As the names suggest these directories contain the As the names suggest these directories contain the
generated documentation in HTML, RTF, \f$\mbox{\LaTeX}\f$, XML and generated documentation in HTML, RTF, \f$\mbox{\LaTeX}\f$, XML,
Unix-Man page format. Unix-Man page, and DocBook format.
The default output directory is the directory in which \c doxygen The default output directory is the directory in which \c doxygen
is started. The root directory to which the output is written can be changed is started. The root directory to which the output is written can be changed
...@@ -174,7 +174,7 @@ using the \ref cfg_output_directory "OUTPUT_DIRECTORY". The format specific ...@@ -174,7 +174,7 @@ using the \ref cfg_output_directory "OUTPUT_DIRECTORY". The format specific
directory within the output directory can be selected using the directory within the output directory can be selected using the
\ref cfg_html_output "HTML_OUTPUT", \ref cfg_rtf_output "RTF_OUTPUT", \ref cfg_html_output "HTML_OUTPUT", \ref cfg_rtf_output "RTF_OUTPUT",
\ref cfg_latex_output "LATEX_OUTPUT", \ref cfg_xml_output "XML_OUTPUT", \ref cfg_latex_output "LATEX_OUTPUT", \ref cfg_xml_output "XML_OUTPUT",
and \ref cfg_man_output "MAN_OUTPUT" \ref cfg_man_output "MAN_OUTPUT", and \ref cfg_docbook_output "DOCBOOK_OUTPUT".
tags of the configuration file. If the output directory does not exist, tags of the configuration file. If the output directory does not exist,
\c doxygen will try to create it for you (but it will \e not try to create \c doxygen will try to create it for you (but it will \e not try to create
a whole path recursively, like <code>mkdir -p</code> does). a whole path recursively, like <code>mkdir -p</code> does).
...@@ -250,12 +250,19 @@ the XML output produced by doxygen in an incremental way ...@@ -250,12 +250,19 @@ the XML output produced by doxygen in an incremental way
(see `addon/doxmlparser/include/doxmlintf.h` for the interface of the library) (see `addon/doxmlparser/include/doxmlintf.h` for the interface of the library)
\subsection man_out Man page output \subsection man_out Man page output
\addindex man
The generated man pages can be viewed using the \c man program. You do need The generated man pages can be viewed using the \c man program. You do need
to make sure the man directory is in the man path (see the \c MANPATH to make sure the man directory is in the man path (see the \c MANPATH
environment variable). Note that there are some limitations to the environment variable). Note that there are some limitations to the
capabilities of the man page format, so some information capabilities of the man page format, so some information
(like class diagrams, cross references and formulas) will be lost. (like class diagrams, cross references and formulas) will be lost.
\subsection docbook_out DocBook output
\addindex docbook
Doxygen can also generate output in the
<a href="http://www.docbook.org/">DocBook</a> format. How to process the
DocBook output is beyond the scope of this manual.
\section step3 Step 3: Documenting the sources \section step3 Step 3: Documenting the sources
Although documenting the sources is presented as step 3, in a new project Although documenting the sources is presented as step 3, in a new project
......
...@@ -10,7 +10,7 @@ Macedonian, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, ...@@ -10,7 +10,7 @@ Macedonian, Norwegian, Persian, Polish, Portuguese, Romanian, Russian,
Serbian, SerbianCyrilic, Slovak, Slovene, Spanish, Swedish, Turkish, Serbian, SerbianCyrilic, Slovak, Slovene, Spanish, Swedish, Turkish,
Ukrainian, and Vietnamese. Ukrainian, and Vietnamese.
Of them, 3 translators are up-to-date, 37 translators are based on Of them, 5 translators are up-to-date, 35 translators are based on
some adapter class, and 2 are English based. some adapter class, and 2 are English based.
---------------------------------------------------------------------- ----------------------------------------------------------------------
...@@ -22,6 +22,8 @@ still may be some details listed even for them: ...@@ -22,6 +22,8 @@ still may be some details listed even for them:
TranslatorEnglish TranslatorEnglish
TranslatorKorean -- Change the base class to Translator. TranslatorKorean -- Change the base class to Translator.
TranslatorLatvian -- Reimplementation using UTF-8 suggested. TranslatorLatvian -- Reimplementation using UTF-8 suggested.
TranslatorRomanian -- Reimplementation using UTF-8 suggested.
TranslatorSlovak
---------------------------------------------------------------------- ----------------------------------------------------------------------
The following translator classes need some maintenance (the most The following translator classes need some maintenance (the most
...@@ -35,9 +37,6 @@ must be implemented to become up-to-date: ...@@ -35,9 +37,6 @@ must be implemented to become up-to-date:
TranslatorSpanish 1.8.04 8 methods to implement (3 %) TranslatorSpanish 1.8.04 8 methods to implement (3 %)
Note: Change the base class to TranslatorAdapter_1_8_4. Note: Change the base class to TranslatorAdapter_1_8_4.
TranslatorSlovak 1.8.04 8 methods to implement (3 %)
Note: Change the base class to TranslatorAdapter_1_8_4.
TranslatorGreek 1.8.04 8 methods to implement (3 %) TranslatorGreek 1.8.04 8 methods to implement (3 %)
Note: Change the base class to TranslatorAdapter_1_8_4. Note: Change the base class to TranslatorAdapter_1_8_4.
...@@ -86,9 +85,6 @@ must be implemented to become up-to-date: ...@@ -86,9 +85,6 @@ must be implemented to become up-to-date:
Note: Reimplementation using UTF-8 suggested. Note: Reimplementation using UTF-8 suggested.
TranslatorSerbianCyrilic 1.6.0 34 methods to implement (13 %) TranslatorSerbianCyrilic 1.6.0 34 methods to implement (13 %)
TranslatorRomanian 1.6.0 34 methods to implement (13 %)
Note: Reimplementation using UTF-8 suggested.
TranslatorMacedonian 1.6.0 34 methods to implement (13 %) TranslatorMacedonian 1.6.0 34 methods to implement (13 %)
TranslatorJapanese 1.6.0 33 methods to implement (13 %) TranslatorJapanese 1.6.0 33 methods to implement (13 %)
Note: Reimplementation using UTF-8 suggested. Note: Reimplementation using UTF-8 suggested.
...@@ -1134,47 +1130,10 @@ TranslatorPortuguese (TranslatorAdapter_1_8_0) 22 methods to implement (8 %) ...@@ -1134,47 +1130,10 @@ TranslatorPortuguese (TranslatorAdapter_1_8_0) 22 methods to implement (8 %)
virtual QCString trInstanceMethods() virtual QCString trInstanceMethods()
TranslatorRomanian (TranslatorAdapter_1_6_0) 34 methods to implement (13 %) TranslatorRomanian (Translator)
------------------ ------------------
Implements 216 of the required methods (86 %). Implements 250 of the required methods (100 %).
Missing methods (should be implemented):
virtual QCString trDetailLevel()
virtual QCString trSearching()
virtual QCString trTemplateParameters()
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 trServices()
virtual QCString trFileIn(const char * name)
virtual QCString trClassMethods()
virtual QCString trProvidedByCategory()
virtual QCString trSingletonGeneratedFromFiles(bool single)
virtual QCString trGlobalNamespace()
virtual QCString trServiceReference(const char * sName)
virtual QCString trDesignOverview()
virtual QCString trAndMore(const QCString & number)
virtual QCString trConstantGroups()
virtual QCString trDirDepGraph(const char * name)
virtual QCString trDirRelation(const char * name)
virtual QCString trMethodDocumentation()
virtual QCString trEnumReference(const char * name)
virtual QCString trInheritedFrom(const char * members, const char * what)
virtual QCString trCiteReferences()
virtual QCString trAdditionalInheritedMembers()
virtual QCString trDirDependency(const char * name)
virtual QCString trInterfaces()
virtual QCString trCopyright()
virtual QCString trIncludesFileIn(const char * name)
virtual QCString trServiceGeneratedFromFiles(bool single)
virtual QCString trEnumGeneratedFromFiles(bool single)
virtual QCString trConstantGroupReference(const char * namespaceName)
virtual QCString trPanelSynchronisationTooltip(bool enable)
virtual QCString trExtendsClass()
virtual QCString trSingletonReference(const char * sName)
virtual QCString trInstanceMethods()
TranslatorRussian (TranslatorAdapter_1_7_5) 25 methods to implement (10 %) TranslatorRussian (TranslatorAdapter_1_7_5) 25 methods to implement (10 %)
...@@ -1297,23 +1256,6 @@ TranslatorSerbianCyrilic (TranslatorAdapter_1_6_0) 34 methods to implement (1 ...@@ -1297,23 +1256,6 @@ TranslatorSerbianCyrilic (TranslatorAdapter_1_6_0) 34 methods to implement (1
virtual QCString trInstanceMethods() virtual QCString trInstanceMethods()
TranslatorSlovak (TranslatorAdapter_1_8_2) 8 methods to implement (3 %)
----------------
Implements 242 of the required methods (96 %).
Missing methods (should be implemented):
virtual QCString trServices()
virtual QCString trSingletonGeneratedFromFiles(bool single)
virtual QCString trServiceReference(const char * sName)
virtual QCString trConstantGroups()
virtual QCString trInterfaces()
virtual QCString trServiceGeneratedFromFiles(bool single)
virtual QCString trConstantGroupReference(const char * namespaceName)
virtual QCString trSingletonReference(const char * sName)
TranslatorSlovene (TranslatorAdapter_1_4_6) 58 methods to implement (23 %) TranslatorSlovene (TranslatorAdapter_1_4_6) 58 methods to implement (23 %)
----------------- -----------------
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
or unions with the same name in your code. It should not crash however, or unions with the same name in your code. It should not crash however,
rather it should ignore all of the classes with the same name except one. rather it should ignore all of the classes with the same name except one.
<li>Some commands do not work inside the arguments of other commands. <li>Some commands do not work inside the arguments of other commands.
Inside a HTML link (i.e. \<a href="..."\>...\<a\>) for instance Inside a HTML link (i.e. \<a&nbsp;href="..."\>...\<a\>) for instance
other commands (including other HTML commands) do not work! other commands (including other HTML commands) do not work!
The sectioning commands are an important exception. The sectioning commands are an important exception.
<li>Redundant braces can confuse doxygen in some cases. <li>Redundant braces can confuse doxygen in some cases.
......
...@@ -28,7 +28,7 @@ Here is the list of tags supported by doxygen: ...@@ -28,7 +28,7 @@ Here is the list of tags supported by doxygen:
<li><tt>\<c\></tt> Identifies inline text that should be rendered as a <li><tt>\<c\></tt> Identifies inline text that should be rendered as a
piece of code. Similar to using <tt>\<tt\></tt>text<tt>\</tt\></tt>. piece of code. Similar to using <tt>\<tt\></tt>text<tt>\</tt\></tt>.
<li><tt>\<code\></tt> Set one or more lines of source code or program output. <li><tt>\<code\></tt> Set one or more lines of source code or program output.
Note that this command behaves like <tt>\\code ... \\endcode</tt> Note that this command behaves like \ref cmdcode "\\code" ... \ref cmdendcode "\\endcode"
for C# code, but it behaves like the HTML equivalent for C# code, but it behaves like the HTML equivalent
<tt>\<code\>...\</code\></tt> for other languages. <tt>\<code\>...\</code\></tt> for other languages.
<li><tt>\<description\></tt> Part of a <tt>\<list\></tt> command, describes an item. <li><tt>\<description\></tt> Part of a <tt>\<list\></tt> command, describes an item.
......
...@@ -40,8 +40,10 @@ ClangParser *ClangParser::s_instance = 0; ...@@ -40,8 +40,10 @@ ClangParser *ClangParser::s_instance = 0;
class ClangParser::Private class ClangParser::Private
{ {
public: public:
enum DetectedLang { Detected_Cpp, Detected_ObjC, Detected_ObjCpp };
Private() : tu(0), tokens(0), numTokens(0), cursors(0), Private() : tu(0), tokens(0), numTokens(0), cursors(0),
ufs(0), sources(0), numFiles(0), fileMapping(257) ufs(0), sources(0), numFiles(0), fileMapping(257),
detectedLang(Detected_Cpp)
{ fileMapping.setAutoDelete(TRUE); } { fileMapping.setAutoDelete(TRUE); }
int getCurrentTokenLine(); int getCurrentTokenLine();
CXIndex index; CXIndex index;
...@@ -56,6 +58,7 @@ class ClangParser::Private ...@@ -56,6 +58,7 @@ class ClangParser::Private
QCString *sources; QCString *sources;
uint numFiles; uint numFiles;
QDict<uint> fileMapping; QDict<uint> fileMapping;
DetectedLang detectedLang;
}; };
static QCString detab(const QCString &s) static QCString detab(const QCString &s)
...@@ -112,28 +115,6 @@ static QCString detab(const QCString &s) ...@@ -112,28 +115,6 @@ static QCString detab(const QCString &s)
return out.get(); return out.get();
} }
static QStrList getClangOptions()
{
static QCString clangOptions = Config_getString("CLANG_OPTIONS");
int p=0,i;
QStrList options;
while ((i=clangOptions.find(' ',p))!=-1)
{
QCString opt = clangOptions.mid(p,i-p).stripWhiteSpace();
if (!opt.isEmpty())
{
options.append(opt);
}
p=i+1;
}
QCString opt = clangOptions.right(clangOptions.length()-p).stripWhiteSpace();
if (!opt.isEmpty())
{
options.append(opt);
}
return options;
}
/** Callback function called for each include in a translation unit */ /** Callback function called for each include in a translation unit */
static void inclusionVisitor(CXFile includedFile, static void inclusionVisitor(CXFile includedFile,
CXSourceLocation* /*inclusionStack*/, CXSourceLocation* /*inclusionStack*/,
...@@ -177,7 +158,7 @@ void ClangParser::start(const char *fileName,QStrList &filesInTranslationUnit) ...@@ -177,7 +158,7 @@ void ClangParser::start(const char *fileName,QStrList &filesInTranslationUnit)
{ {
static bool clangAssistedParsing = Config_getBool("CLANG_ASSISTED_PARSING"); static bool clangAssistedParsing = Config_getBool("CLANG_ASSISTED_PARSING");
static QStrList &includePath = Config_getList("INCLUDE_PATH"); static QStrList &includePath = Config_getList("INCLUDE_PATH");
static QStrList clangOptions = getClangOptions(); static QStrList clangOptions = Config_getList("CLANG_OPTIONS");
if (!clangAssistedParsing) return; if (!clangAssistedParsing) return;
//printf("ClangParser::start(%s)\n",fileName); //printf("ClangParser::start(%s)\n",fileName);
p->fileName = fileName; p->fileName = fileName;
...@@ -207,8 +188,43 @@ void ClangParser::start(const char *fileName,QStrList &filesInTranslationUnit) ...@@ -207,8 +188,43 @@ void ClangParser::start(const char *fileName,QStrList &filesInTranslationUnit)
} }
// extra options // extra options
argv[argc++]=strdup("-ferror-limit=0"); argv[argc++]=strdup("-ferror-limit=0");
argv[argc++]=strdup("-x"); // force C++ argv[argc++]=strdup("-x");
// Since we can be presented with a .h file that can contain C/C++ or
// Objective C code and we need to configure the parser before knowing this,
// we use the source file to detected the language. Detection will fail if you
// pass a bunch of .h files containing ObjC code, and no sources :-(
SrcLangExt lang = getLanguageFromFileName(fileName);
if (lang==SrcLangExt_ObjC || p->detectedLang!=ClangParser::Private::Detected_Cpp)
{
QCString fn = fileName;
if (p->detectedLang==ClangParser::Private::Detected_Cpp &&
(fn.right(4).lower()==".cpp" || fn.right(4).lower()==".cxx" ||
fn.right(3).lower()==".cc" || fn.right(2).lower()==".c"))
{ // fall back to C/C++ once we see an extension that indicates this
p->detectedLang = ClangParser::Private::Detected_Cpp;
}
else if (fn.right(3).lower()==".mm") // switch to Objective C++
{
p->detectedLang = ClangParser::Private::Detected_ObjCpp;
}
else if (fn.right(2).lower()==".m") // switch to Objective C
{
p->detectedLang = ClangParser::Private::Detected_ObjC;
}
}
switch(p->detectedLang)
{
case ClangParser::Private::Detected_Cpp:
argv[argc++]=strdup("c++"); argv[argc++]=strdup("c++");
break;
case ClangParser::Private::Detected_ObjC:
argv[argc++]=strdup("objective-c");
break;
case ClangParser::Private::Detected_ObjCpp:
argv[argc++]=strdup("objective-c++");
break;
}
// provide the input and and its dependencies as unsaved files so we can // provide the input and and its dependencies as unsaved files so we can
// pass the filtered versions // pass the filtered versions
......
...@@ -871,7 +871,7 @@ DOCNL "\n"|"\\_linebr" ...@@ -871,7 +871,7 @@ DOCNL "\n"|"\\_linebr"
LC "\\"{B}*"\n" LC "\\"{B}*"\n"
NW [^a-z_A-Z0-9] NW [^a-z_A-Z0-9]
FILESCHAR [a-z_A-Z0-9\x80-\xFF\\:\\\/\-\+@&#] FILESCHAR [a-z_A-Z0-9\x80-\xFF\\:\\\/\-\+@&#]
FILEECHAR [a-z_A-Z0-9\x80-\xFF\-\+] FILEECHAR [a-z_A-Z0-9\x80-\xFF\-\+@&#]
FILE ({FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*)|("\""[^\n\"]*"\"") FILE ({FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*)|("\""[^\n\"]*"\"")
ID "$"?[a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF]* ID "$"?[a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF]*
LABELID [a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF\-]* LABELID [a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF\-]*
...@@ -2528,6 +2528,11 @@ static bool handleEndIf(const QCString &) ...@@ -2528,6 +2528,11 @@ static bool handleEndIf(const QCString &)
delete guards.pop(); delete guards.pop();
} }
enabledSectionFound=FALSE; enabledSectionFound=FALSE;
if (g_spaceBeforeCmd)
{
addOutput(' ');
g_spaceBeforeCmd=FALSE;
}
BEGIN( GuardParamEnd ); BEGIN( GuardParamEnd );
return FALSE; return FALSE;
} }
......
...@@ -1113,7 +1113,7 @@ void Config::check() ...@@ -1113,7 +1113,7 @@ void Config::check()
if (paperType!="a4" && paperType!="a4wide" && paperType!="letter" && if (paperType!="a4" && paperType!="a4wide" && paperType!="letter" &&
paperType!="legal" && paperType!="executive") paperType!="legal" && paperType!="executive")
{ {
config_err("Error: Unknown page type specified"); config_err("Error: Unknown page type specified\n");
} }
QCString &outputLanguage=Config_getEnum("OUTPUT_LANGUAGE"); QCString &outputLanguage=Config_getEnum("OUTPUT_LANGUAGE");
...@@ -1261,7 +1261,8 @@ void Config::check() ...@@ -1261,7 +1261,8 @@ void Config::check()
if (dotFontName=="FreeSans" || dotFontName=="FreeSans.ttf") if (dotFontName=="FreeSans" || dotFontName=="FreeSans.ttf")
{ {
config_err("Warning: doxygen no longer ships with the FreeSans font.\n" config_err("Warning: doxygen no longer ships with the FreeSans font.\n"
"You may want to clear DOT_FONTPATH or risk wrong fonts being used for dot generated graphs.\n"); "You may want to clear or change DOT_FONTPATH.\n"
"Otherwise you run the risk that the wrong font is being used for dot generated graphs.\n");
} }
......
...@@ -344,7 +344,7 @@ symbols. ...@@ -344,7 +344,7 @@ symbols.
If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
documentation are documented, even if no documentation was available. documentation are documented, even if no documentation was available.
Private class members and static file members will be hidden unless Private class members and static file members will be hidden unless
the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES the EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES
' defval='0'/> ' defval='0'/>
<option type='bool' id='EXTRACT_PRIVATE' docs=' <option type='bool' id='EXTRACT_PRIVATE' docs='
If the EXTRACT_PRIVATE tag is set to YES all private members of a class If the EXTRACT_PRIVATE tag is set to YES all private members of a class
...@@ -800,14 +800,14 @@ which an include is specified. Set to NO to disable this. ...@@ -800,14 +800,14 @@ which an include is specified. Set to NO to disable this.
' defval='1'/> ' defval='1'/>
<option type='bool' id='CLANG_ASSISTED_PARSING' setting='USE_LIBCLANG' docs=' <option type='bool' id='CLANG_ASSISTED_PARSING' setting='USE_LIBCLANG' docs='
If CLANG_ASSISTED_PARSING is set to YES, then doxygen will use the clang parser If CLANG_ASSISTED_PARSING is set to YES, then doxygen will use the clang parser
for better parsing at the cost of reduced performance. This can be particularly for more acurate parsing at the cost of reduced performance. This can be
helpful with template rich C++ code for which doxygen&apos;s built-in particularly helpful with template rich C++ code for which doxygen&apos;s built-in
parser lacks the necessairy type information. parser lacks the necessairy type information.
' defval='0'/> ' defval='0'/>
<option type='string' id='CLANG_OPTIONS' setting='USE_LIBCLANG' docs=' <option type='list' id='CLANG_OPTIONS' setting='USE_LIBCLANG' docs='
If clang assisted parsing is enabled you can provide the compiler with command If clang assisted parsing is enabled you can provide the compiler with command
line options that you would normally use when invoking the compiler. Note that line options that you would normally use when invoking the compiler. Note that
the include paths will be set by doxygen based on the files and directory the include paths will already be set by doxygen for the files and directories
specified at INPUT and INCLUDE_PATH. specified at INPUT and INCLUDE_PATH.
' defval='' depends='CLANG_ASSISTED_PARSING'/> ' defval='' depends='CLANG_ASSISTED_PARSING'/>
</group> </group>
...@@ -821,13 +821,13 @@ contains a lot of classes, structs, unions or interfaces. ...@@ -821,13 +821,13 @@ contains a lot of classes, structs, unions or interfaces.
If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
in which this list will be split (can be a number in the range [1..20]) in which this list will be split (can be a number in the range [1..20])
' minval='1' maxval='20' defval='5'/> ' minval='1' maxval='20' defval='5' depends='ALPHABETICAL_INDEX'/>
<option type='list' id='IGNORE_PREFIX' format='string' docs=' <option type='list' id='IGNORE_PREFIX' format='string' docs='
In case all classes in a project start with a common prefix, all In case all classes in a project start with a common prefix, all
classes will be put under the same header in the alphabetical index. classes will be put under the same header in the alphabetical index.
The IGNORE_PREFIX tag can be used to specify one or more prefixes that The IGNORE_PREFIX tag can be used to specify one or more prefixes that
should be ignored while generating the index headers. should be ignored while generating the index headers.
'> ' depends='ALPHABETICAL_INDEX'>
</option> </option>
</group> </group>
<group name='HTML' docs='configuration options related to the HTML output'> <group name='HTML' docs='configuration options related to the HTML output'>
...@@ -1112,13 +1112,13 @@ rendering instead of using prerendered bitmaps. Use this if you do not ...@@ -1112,13 +1112,13 @@ rendering instead of using prerendered bitmaps. Use this if you do not
have LaTeX installed or if you want to formulas look prettier in the HTML have LaTeX installed or if you want to formulas look prettier in the HTML
output. When enabled you may also need to install MathJax separately and output. When enabled you may also need to install MathJax separately and
configure the path to it using the MATHJAX_RELPATH option. configure the path to it using the MATHJAX_RELPATH option.
' defval='0'/> ' defval='0' depends='GENERATE_HTML'/>
<option type='enum' id='MATHJAX_FORMAT' defval='HTML-CSS' docs=' <option type='enum' id='MATHJAX_FORMAT' defval='HTML-CSS' docs='
When MathJax is enabled you can set the default output format to be used for When MathJax is enabled you can set the default output format to be used for
the MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and the MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and
SVG. The default value is HTML-CSS, which is slower, but has the best SVG. The default value is HTML-CSS, which is slower, but has the best
compatibility. compatibility.
'> ' depends='USE_MATHJAX'>
<value name="HTML-CSS"/> <value name="HTML-CSS"/>
<value name="NativeMML"/> <value name="NativeMML"/>
<value name="SVG"/> <value name="SVG"/>
...@@ -1132,7 +1132,7 @@ MATHJAX_RELPATH should be ../mathjax. The default value points to ...@@ -1132,7 +1132,7 @@ MATHJAX_RELPATH should be ../mathjax. The default value points to
the MathJax Content Delivery Network so you can quickly see the result without the MathJax Content Delivery Network so you can quickly see the result without
installing MathJax. However, it is strongly recommended to install a local installing MathJax. However, it is strongly recommended to install a local
copy of MathJax from http://www.mathjax.org before deployment. copy of MathJax from http://www.mathjax.org before deployment.
' defval='http://cdn.mathjax.org/mathjax/latest'/> ' defval='http://cdn.mathjax.org/mathjax/latest' depends='USE_MATHJAX'/>
<option type='list' id='MATHJAX_EXTENSIONS' format='string' docs=' <option type='list' id='MATHJAX_EXTENSIONS' format='string' docs='
The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
names that should be enabled during MathJax rendering. names that should be enabled during MathJax rendering.
...@@ -1187,7 +1187,7 @@ When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the ...@@ -1187,7 +1187,7 @@ When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the
EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
projects and redirect the results back to the right project. projects and redirect the results back to the right project.
' defval='' dependes='SEARCHENGINE'/> ' defval='' depends='SEARCHENGINE'/>
<option type='list' id='EXTRA_SEARCH_MAPPINGS' docs=' <option type='list' id='EXTRA_SEARCH_MAPPINGS' docs='
The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
projects other than the one defined by this configuration file, but that are projects other than the one defined by this configuration file, but that are
...@@ -1227,10 +1227,9 @@ save some trees in general. ...@@ -1227,10 +1227,9 @@ save some trees in general.
<option type='enum' id='PAPER_TYPE' defval='a4' docs=' <option type='enum' id='PAPER_TYPE' defval='a4' docs='
The PAPER_TYPE tag can be used to set the paper type that is used The PAPER_TYPE tag can be used to set the paper type that is used
by the printer. Possible values are: a4, letter, legal and by the printer. Possible values are: a4, letter, legal and
executive. If left blank a4wide will be used. executive. If left blank a4 will be used.
' depends='GENERATE_LATEX'> ' depends='GENERATE_LATEX'>
<value name='a4'/> <value name='a4'/>
<value name='a4wide'/>
<value name='letter'/> <value name='letter'/>
<value name='legal'/> <value name='legal'/>
<value name='executive'/> <value name='executive'/>
...@@ -1460,7 +1459,7 @@ pointed to by INCLUDE_PATH will be searched when a #include is found. ...@@ -1460,7 +1459,7 @@ pointed to by INCLUDE_PATH will be searched when a #include is found.
The INCLUDE_PATH tag can be used to specify one or more directories that The INCLUDE_PATH tag can be used to specify one or more directories that
contain include files that are not input files but should be processed by contain include files that are not input files but should be processed by
the preprocessor. the preprocessor.
' depends='ENABLE_PREPROCESSING'> ' depends='SEARCH_INCLUDES'>
</option> </option>
<option type='list' id='INCLUDE_FILE_PATTERNS' format='string' docs=' <option type='list' id='INCLUDE_FILE_PATTERNS' format='string' docs='
You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
...@@ -1565,7 +1564,7 @@ allowed to run in parallel. When set to 0 (the default) doxygen will ...@@ -1565,7 +1564,7 @@ allowed to run in parallel. When set to 0 (the default) doxygen will
base this on the number of processors available in the system. You can set it base this on the number of processors available in the system. You can set it
explicitly to a value larger than 0 to get control over the balance explicitly to a value larger than 0 to get control over the balance
between CPU load and processing speed. between CPU load and processing speed.
' defval='0' minval='0' maxval='32' dependes='HAVE_DOT'/> ' defval='0' minval='0' maxval='32' depends='HAVE_DOT'/>
<option type='string' id='DOT_FONTNAME' format='string' docs=' <option type='string' id='DOT_FONTNAME' format='string' docs='
By default doxygen will use the Helvetica font for all dot files that By default doxygen will use the Helvetica font for all dot files that
doxygen generates. When you want a differently looking font you can specify doxygen generates. When you want a differently looking font you can specify
......
...@@ -484,7 +484,7 @@ void addConfigOptions(Config *cfg) ...@@ -484,7 +484,7 @@ void addConfigOptions(Config *cfg)
"If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in\n" "If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in\n"
"documentation are documented, even if no documentation was available.\n" "documentation are documented, even if no documentation was available.\n"
"Private class members and static file members will be hidden unless\n" "Private class members and static file members will be hidden unless\n"
"the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES", "the EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES",
FALSE FALSE
); );
//---- //----
...@@ -1138,8 +1138,8 @@ void addConfigOptions(Config *cfg) ...@@ -1138,8 +1138,8 @@ void addConfigOptions(Config *cfg)
cb = cfg->addBool( cb = cfg->addBool(
"CLANG_ASSISTED_PARSING", "CLANG_ASSISTED_PARSING",
"If CLANG_ASSISTED_PARSING is set to YES, then doxygen will use the clang parser\n" "If CLANG_ASSISTED_PARSING is set to YES, then doxygen will use the clang parser\n"
"for better parsing at the cost of reduced performance. This can be particularly\n" "for more acurate parsing at the cost of reduced performance. This can be\n"
"helpful with template rich C++ code for which doxygen's built-in\n" "particularly helpful with template rich C++ code for which doxygen's built-in\n"
"parser lacks the necessairy type information.", "parser lacks the necessairy type information.",
FALSE FALSE
); );
...@@ -1148,14 +1148,14 @@ void addConfigOptions(Config *cfg) ...@@ -1148,14 +1148,14 @@ void addConfigOptions(Config *cfg)
#endif #endif
#if USE_LIBCLANG #if USE_LIBCLANG
//---- //----
cs = cfg->addString( cl = cfg->addList(
"CLANG_OPTIONS", "CLANG_OPTIONS",
"If clang assisted parsing is enabled you can provide the compiler with command\n" "If clang assisted parsing is enabled you can provide the compiler with command\n"
"line options that you would normally use when invoking the compiler. Note that\n" "line options that you would normally use when invoking the compiler. Note that\n"
"the include paths will be set by doxygen based on the files and directory\n" "the include paths will already be set by doxygen for the files and directories\n"
"specified at INPUT and INCLUDE_PATH." "specified at INPUT and INCLUDE_PATH."
); );
cs->addDependency("CLANG_ASSISTED_PARSING"); cl->addDependency("CLANG_ASSISTED_PARSING");
#else #else
cfg->addDisabled("CLANG_OPTIONS"); cfg->addDisabled("CLANG_OPTIONS");
#endif #endif
...@@ -1179,6 +1179,7 @@ void addConfigOptions(Config *cfg) ...@@ -1179,6 +1179,7 @@ void addConfigOptions(Config *cfg)
"in which this list will be split (can be a number in the range [1..20])", "in which this list will be split (can be a number in the range [1..20])",
1,20,5 1,20,5
); );
ci->addDependency("ALPHABETICAL_INDEX");
//---- //----
cl = cfg->addList( cl = cfg->addList(
"IGNORE_PREFIX", "IGNORE_PREFIX",
...@@ -1187,6 +1188,7 @@ void addConfigOptions(Config *cfg) ...@@ -1187,6 +1188,7 @@ void addConfigOptions(Config *cfg)
"The IGNORE_PREFIX tag can be used to specify one or more prefixes that\n" "The IGNORE_PREFIX tag can be used to specify one or more prefixes that\n"
"should be ignored while generating the index headers." "should be ignored while generating the index headers."
); );
cl->addDependency("ALPHABETICAL_INDEX");
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
cfg->addInfo("HTML","configuration options related to the HTML output"); cfg->addInfo("HTML","configuration options related to the HTML output");
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
...@@ -1644,6 +1646,7 @@ void addConfigOptions(Config *cfg) ...@@ -1644,6 +1646,7 @@ void addConfigOptions(Config *cfg)
"configure the path to it using the MATHJAX_RELPATH option.", "configure the path to it using the MATHJAX_RELPATH option.",
FALSE FALSE
); );
cb->addDependency("GENERATE_HTML");
//---- //----
ce = cfg->addEnum( ce = cfg->addEnum(
"MATHJAX_FORMAT", "MATHJAX_FORMAT",
...@@ -1656,6 +1659,7 @@ void addConfigOptions(Config *cfg) ...@@ -1656,6 +1659,7 @@ void addConfigOptions(Config *cfg)
ce->addValue("HTML-CSS"); ce->addValue("HTML-CSS");
ce->addValue("NativeMML"); ce->addValue("NativeMML");
ce->addValue("SVG"); ce->addValue("SVG");
ce->addDependency("USE_MATHJAX");
//---- //----
cs = cfg->addString( cs = cfg->addString(
"MATHJAX_RELPATH", "MATHJAX_RELPATH",
...@@ -1670,6 +1674,7 @@ void addConfigOptions(Config *cfg) ...@@ -1670,6 +1674,7 @@ void addConfigOptions(Config *cfg)
"copy of MathJax from http://www.mathjax.org before deployment." "copy of MathJax from http://www.mathjax.org before deployment."
); );
cs->setDefaultValue("http://cdn.mathjax.org/mathjax/latest"); cs->setDefaultValue("http://cdn.mathjax.org/mathjax/latest");
cs->addDependency("USE_MATHJAX");
//---- //----
cl = cfg->addList( cl = cfg->addList(
"MATHJAX_EXTENSIONS", "MATHJAX_EXTENSIONS",
...@@ -1751,6 +1756,7 @@ void addConfigOptions(Config *cfg) ...@@ -1751,6 +1756,7 @@ void addConfigOptions(Config *cfg)
"useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple\n" "useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple\n"
"projects and redirect the results back to the right project." "projects and redirect the results back to the right project."
); );
cs->addDependency("SEARCHENGINE");
//---- //----
cl = cfg->addList( cl = cfg->addList(
"EXTRA_SEARCH_MAPPINGS", "EXTRA_SEARCH_MAPPINGS",
...@@ -1819,11 +1825,10 @@ void addConfigOptions(Config *cfg) ...@@ -1819,11 +1825,10 @@ void addConfigOptions(Config *cfg)
"PAPER_TYPE", "PAPER_TYPE",
"The PAPER_TYPE tag can be used to set the paper type that is used\n" "The PAPER_TYPE tag can be used to set the paper type that is used\n"
"by the printer. Possible values are: a4, letter, legal and\n" "by the printer. Possible values are: a4, letter, legal and\n"
"executive. If left blank a4wide will be used.", "executive. If left blank a4 will be used.",
"a4" "a4"
); );
ce->addValue("a4"); ce->addValue("a4");
ce->addValue("a4wide");
ce->addValue("letter"); ce->addValue("letter");
ce->addValue("legal"); ce->addValue("legal");
ce->addValue("executive"); ce->addValue("executive");
...@@ -2196,7 +2201,7 @@ void addConfigOptions(Config *cfg) ...@@ -2196,7 +2201,7 @@ void addConfigOptions(Config *cfg)
"contain include files that are not input files but should be processed by\n" "contain include files that are not input files but should be processed by\n"
"the preprocessor." "the preprocessor."
); );
cl->addDependency("ENABLE_PREPROCESSING"); cl->addDependency("SEARCH_INCLUDES");
cl->setWidgetType(ConfigList::Dir); cl->setWidgetType(ConfigList::Dir);
//---- //----
cl = cfg->addList( cl = cfg->addList(
...@@ -2350,6 +2355,7 @@ void addConfigOptions(Config *cfg) ...@@ -2350,6 +2355,7 @@ void addConfigOptions(Config *cfg)
"between CPU load and processing speed.", "between CPU load and processing speed.",
0,32,0 0,32,0
); );
ci->addDependency("HAVE_DOT");
//---- //----
cs = cfg->addString( cs = cfg->addString(
"DOT_FONTNAME", "DOT_FONTNAME",
......
...@@ -4403,10 +4403,6 @@ int DocAutoListItem::parse() ...@@ -4403,10 +4403,6 @@ int DocAutoListItem::parse()
int retval = RetVal_OK; int retval = RetVal_OK;
g_nodeStack.push(this); g_nodeStack.push(this);
//retval=m_paragraph->parse();
//m_paragraph->markFirst();
//m_paragraph->markLast();
// first parse any number of paragraphs // first parse any number of paragraphs
bool isFirst=TRUE; bool isFirst=TRUE;
DocPara *lastPar=0; DocPara *lastPar=0;
......
...@@ -338,7 +338,7 @@ ATTRIB {ATTRNAME}{WS}*("="{WS}*(("\""[^\"]*"\"")|("'"[^\']*"'")|[^ \t\r\n'">< ...@@ -338,7 +338,7 @@ ATTRIB {ATTRNAME}{WS}*("="{WS}*(("\""[^\"]*"\"")|("'"[^\']*"'")|[^ \t\r\n'"><
URLCHAR [a-z_A-Z0-9\!\~\,\:\;\'\$\?\@\&\%\#\.\-\+\/\=] URLCHAR [a-z_A-Z0-9\!\~\,\:\;\'\$\?\@\&\%\#\.\-\+\/\=]
URLMASK ({URLCHAR}+([({]{URLCHAR}*[)}])?)+ URLMASK ({URLCHAR}+([({]{URLCHAR}*[)}])?)+
FILESCHAR [a-z_A-Z0-9\\:\\\/\-\+@&#] FILESCHAR [a-z_A-Z0-9\\:\\\/\-\+@&#]
FILEECHAR [a-z_A-Z0-9\-\+] FILEECHAR [a-z_A-Z0-9\-\+@&#]
HFILEMASK ("."{FILESCHAR}*{FILEECHAR}+)* HFILEMASK ("."{FILESCHAR}*{FILEECHAR}+)*
FILEMASK ({FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*)|{HFILEMASK} FILEMASK ({FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*)|{HFILEMASK}
LINKMASK [^ \t\n\r\\@<&${}]+("("[^\n)]*")")?({BLANK}*("const"|"volatile"){BLANK}+)? LINKMASK [^ \t\n\r\\@<&${}]+("("[^\n)]*")")?({BLANK}*("const"|"volatile"){BLANK}+)?
...@@ -690,21 +690,25 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3} ...@@ -690,21 +690,25 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3}
g_token->name = yytext; g_token->name = yytext;
return TK_COMMAND; return TK_COMMAND;
} }
<St_Para>({BLANK}*\n)+{BLANK}*\n{BLANK}* { <St_Para>({BLANK}*\n)+{BLANK}*\n/{LISTITEM} { /* skip trailing paragraph followed by new list item */
// g_insidePre was always FALSE, so the next section if (g_insidePre)
// was never executed, now g_insidePre is set properly {
// again, so the section is commented out to keep the REJECT;
// old behavior. }
//if (g_insidePre) }
//{ <St_Para>({BLANK}*\n)+{BLANK}*\n/{MLISTITEM} { /* skip trailing paragraph followed by new list item */
// /* Inside a <pre>..</pre> blank lines are treated if (!Doxygen::markdownSupport || g_insidePre)
// * as whitespace. {
// */ REJECT;
// g_token->chars=yytext; }
// return TK_WHITESPACE; }
//} <St_Para>({BLANK}*\n)+{BLANK}*\n/{OLISTITEM} { /* skip trailing paragraph followed by new list item */
//else // found end of a paragraph if (!Doxygen::markdownSupport || g_insidePre)
{ {
REJECT;
}
}
<St_Para>({BLANK}*\n)+{BLANK}*\n{BLANK}* {
g_token->indent=computeIndent(yytext,(int)yyleng); g_token->indent=computeIndent(yytext,(int)yyleng);
int i; int i;
// put back the indentation (needed for list items) // put back the indentation (needed for list items)
...@@ -718,7 +722,6 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3} ...@@ -718,7 +722,6 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3}
// start of a new paragraph // start of a new paragraph
return TK_NEWPARA; return TK_NEWPARA;
} }
}
<St_CodeOpt>{BLANK}*"{"(".")?{LABELID}"}" { <St_CodeOpt>{BLANK}*"{"(".")?{LABELID}"}" {
g_token->name = yytext; g_token->name = yytext;
int i=g_token->name.find('{'); int i=g_token->name.find('{');
......
...@@ -11249,8 +11249,9 @@ void generateOutput() ...@@ -11249,8 +11249,9 @@ void generateOutput()
if (Config_getBool("GENERATE_LEGEND")) if (Config_getBool("GENERATE_LEGEND"))
{ {
msg("Generating graph info page...\n"); g_s.begin("Generating graph info page...\n");
writeGraphInfo(*g_outputList); writeGraphInfo(*g_outputList);
g_s.end();
} }
g_s.begin("Generating directory documentation...\n"); g_s.begin("Generating directory documentation...\n");
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -47,6 +47,7 @@ HEADERS = arguments.h \ ...@@ -47,6 +47,7 @@ HEADERS = arguments.h \
doxygen.h \ doxygen.h \
doxygen_bst.h \ doxygen_bst.h \
doxygen_css.h \ doxygen_css.h \
doxygen_sty.h \
eclipsehelp.h \ eclipsehelp.h \
entry.h \ entry.h \
example.h \ example.h \
......
...@@ -144,6 +144,9 @@ extsearch_js.h: extsearch.js ...@@ -144,6 +144,9 @@ extsearch_js.h: extsearch.js
doxygen_css.h: doxygen.css doxygen_css.h: doxygen.css
cat doxygen.css | $(TO_C_CMD) >doxygen_css.h cat doxygen.css | $(TO_C_CMD) >doxygen_css.h
doxygen_sty.h: doxygen.sty
cat doxygen.sty | $(TO_C_CMD) >doxygen_sty.h
navtree_js.h: navtree.js navtree_js.h: navtree.js
cat navtree.js | $(TO_C_CMD) >navtree_js.h cat navtree.js | $(TO_C_CMD) >navtree_js.h
......
...@@ -1466,19 +1466,20 @@ int findTableColumns(const char *data,int size,int &start,int &end,int &columns) ...@@ -1466,19 +1466,20 @@ int findTableColumns(const char *data,int size,int &start,int &end,int &columns)
// count columns between start and end // count columns between start and end
columns=0; columns=0;
if (n==2) // table row has | ... |
{
columns++;
}
if (end>start) if (end>start)
{ {
i=start; i=start;
while (i<=end) // look for more column markers while (i<=end) // look for more column markers
{ {
if (data[i]=='|' && (i==0 || data[i-1]!='\\')) columns++; if (data[i]=='|' && (i==0 || data[i-1]!='\\')) columns++;
if (columns==1) columns++; // first | make a non-table into a two column table
i++; i++;
} }
} }
if (n==2 && columns==0) // table row has | ... |
{
columns++;
}
//printf("findTableColumns(start=%d,end=%d,columns=%d) eol=%d\n", //printf("findTableColumns(start=%d,end=%d,columns=%d) eol=%d\n",
// start,end,columns,eol); // start,end,columns,eol);
return eol; return eol;
......
...@@ -90,8 +90,9 @@ void PageDef::writeDocumentation(OutputList &ol) ...@@ -90,8 +90,9 @@ void PageDef::writeDocumentation(OutputList &ol)
static bool generateTreeView = Config_getBool("GENERATE_TREEVIEW"); static bool generateTreeView = Config_getBool("GENERATE_TREEVIEW");
//outputList->disable(OutputGenerator::Man); //outputList->disable(OutputGenerator::Man);
QCString pageName; QCString pageName,manPageName;
pageName=escapeCharsInString(name(),FALSE,TRUE); pageName = escapeCharsInString(name(),FALSE,TRUE);
manPageName = escapeCharsInString(name(),TRUE,TRUE);
//printf("PageDef::writeDocumentation: %s\n",getOutputFileBase().data()); //printf("PageDef::writeDocumentation: %s\n",getOutputFileBase().data());
...@@ -110,7 +111,15 @@ void PageDef::writeDocumentation(OutputList &ol) ...@@ -110,7 +111,15 @@ void PageDef::writeDocumentation(OutputList &ol)
ol.enable(OutputGenerator::Html); ol.enable(OutputGenerator::Html);
} }
ol.pushGeneratorState();
//2.{
ol.disableAllBut(OutputGenerator::Man);
startFile(ol,getOutputFileBase(),manPageName,title(),HLI_Pages,!generateTreeView);
ol.enableAll();
ol.disable(OutputGenerator::Man);
startFile(ol,getOutputFileBase(),pageName,title(),HLI_Pages,!generateTreeView); startFile(ol,getOutputFileBase(),pageName,title(),HLI_Pages,!generateTreeView);
ol.popGeneratorState();
//2.}
if (!generateTreeView) if (!generateTreeView)
{ {
...@@ -126,8 +135,8 @@ void PageDef::writeDocumentation(OutputList &ol) ...@@ -126,8 +135,8 @@ void PageDef::writeDocumentation(OutputList &ol)
ol.pushGeneratorState(); ol.pushGeneratorState();
//2.{ //2.{
ol.disableAllBut(OutputGenerator::Man); ol.disableAllBut(OutputGenerator::Man);
ol.startTitleHead(pageName); ol.startTitleHead(manPageName);
ol.endTitleHead(pageName, pageName); ol.endTitleHead(manPageName, manPageName);
if (si) if (si)
{ {
ol.generateDoc(docFile(),docLine(),this,0,si->title,TRUE,FALSE,0,TRUE,FALSE); ol.generateDoc(docFile(),docLine(),this,0,si->title,TRUE,FALSE,0,TRUE,FALSE);
......
...@@ -2522,6 +2522,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) ...@@ -2522,6 +2522,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
g_ccomment=FALSE; g_ccomment=FALSE;
} }
g_condCtx=YY_START; g_condCtx=YY_START;
startCondSection(" ");
BEGIN(SkipCond); BEGIN(SkipCond);
} }
<SkipCond>\n { g_yyLineNr++; outputChar('\n'); } <SkipCond>\n { g_yyLineNr++; outputChar('\n'); }
...@@ -2940,6 +2941,7 @@ void preprocessFile(const char *fileName,BufStr &input,BufStr &output) ...@@ -2940,6 +2941,7 @@ void preprocessFile(const char *fileName,BufStr &input,BufStr &output)
g_macroExpansion = Config_getBool("MACRO_EXPANSION"); g_macroExpansion = Config_getBool("MACRO_EXPANSION");
g_expandOnlyPredef = Config_getBool("EXPAND_ONLY_PREDEF"); g_expandOnlyPredef = Config_getBool("EXPAND_ONLY_PREDEF");
g_skip=FALSE;
g_curlyCount=0; g_curlyCount=0;
g_nospaces=FALSE; g_nospaces=FALSE;
g_inputBuf=&input; g_inputBuf=&input;
......
...@@ -1119,6 +1119,10 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\" ...@@ -1119,6 +1119,10 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\"
current->type = "id"; current->type = "id";
} }
current->name = yytext; current->name = yytext;
if (insideCpp || insideObjC)
{
current->id = ClangParser::instance()->lookup(yyLineNr,yytext);
}
} }
<ObjCMethod>":"{B}* { // start of parameter list <ObjCMethod>":"{B}* { // start of parameter list
current->name += ':'; current->name += ':';
...@@ -6074,6 +6078,10 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\" ...@@ -6074,6 +6078,10 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\"
docBlock.resize(docBlock.length() - 3); docBlock.resize(docBlock.length() - 3);
lineCount(); lineCount();
} }
<DocLine>{B}*"///"[/]+{B}*/"\n" { // ignore marker line (see bug700345)
handleCommentBlock(docBlock.data(),current->brief.isEmpty());
BEGIN( docBlockContext );
}
<DocLine>[^\n]*/"\n" { // whole line <DocLine>[^\n]*/"\n" { // whole line
docBlock+=yytext; docBlock+=yytext;
handleCommentBlock(docBlock.data(),current->brief.isEmpty()); handleCommentBlock(docBlock.data(),current->brief.isEmpty());
...@@ -6833,7 +6841,8 @@ void CLanguageScanner::parseCode(CodeOutputInterface & codeOutIntf, ...@@ -6833,7 +6841,8 @@ void CLanguageScanner::parseCode(CodeOutputInterface & codeOutIntf,
bool CLanguageScanner::needsPreprocessing(const QCString &extension) bool CLanguageScanner::needsPreprocessing(const QCString &extension)
{ {
QCString fe=extension.lower(); QCString fe=extension.lower();
return SrcLangExt lang = getLanguageFromFileName(extension);
return (SrcLangExt_Cpp == lang) ||
!( fe==".java" || fe==".as" || fe==".d" || fe==".php" || !( fe==".java" || fe==".as" || fe==".d" || fe==".php" ||
fe==".php4" || fe==".inc" || fe==".phtml" fe==".php4" || fe==".inc" || fe==".phtml"
); );
......
...@@ -71,7 +71,7 @@ class TranslatorArabic : public TranslatorAdapter_1_4_6 ...@@ -71,7 +71,7 @@ class TranslatorArabic : public TranslatorAdapter_1_4_6
/*! return the language charset. This will be used for the HTML output */ /*! return the language charset. This will be used for the HTML output */
virtual QCString idLanguageCharset() virtual QCString idLanguageCharset()
{ {
return "cp1256"; return "utf-8";
} }
// --- Language translation methods ------------------- // --- Language translation methods -------------------
......
This diff is collapsed.
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
// Updates: // Updates:
// -------- // --------
// 2013/05/14 - Updates for "new since 1.8.4".
// 2012/08/02 - Updates for "new since 1.8.2". // 2012/08/02 - Updates for "new since 1.8.2".
// 2012/04/18 - Updates for "new since 1.8.0". // 2012/04/18 - Updates for "new since 1.8.0".
// 2011/07/28 - Updates for "new since 1.7.5". // 2011/07/28 - Updates for "new since 1.7.5".
...@@ -31,7 +32,7 @@ ...@@ -31,7 +32,7 @@
#ifndef TRANSLATOR_SK_H #ifndef TRANSLATOR_SK_H
#define TRANSLATOR_SK_H #define TRANSLATOR_SK_H
class TranslatorSlovak : public TranslatorAdapter_1_8_2 class TranslatorSlovak : public Translator
{ {
public: public:
// --- Language control methods ------------------- // --- Language control methods -------------------
...@@ -1962,6 +1963,62 @@ class TranslatorSlovak : public TranslatorAdapter_1_8_2 ...@@ -1962,6 +1963,62 @@ class TranslatorSlovak : public TranslatorAdapter_1_8_2
return "Návrhová schéma"; return "Návrhová schéma";
} }
//////////////////////////////////////////////////////////////////////////
// new since 1.8.4
//////////////////////////////////////////////////////////////////////////
/** old style UNO IDL services: implemented interfaces */
virtual QCString trInterfaces()
{ return "Exportované rozhrania"; }
/** old style UNO IDL services: inherited services */
virtual QCString trServices()
{ return "Začlenené služby"; }
/** UNO IDL constant groups */
virtual QCString trConstantGroups()
{ return "Konštantné skupiny"; }
/** UNO IDL constant groups */
virtual QCString trConstantGroupReference(const char *namespaceName)
{
QCString result="Konštantné skupiny z ";
result += namespaceName;
return result;
}
/** UNO IDL service page title */
virtual QCString trServiceReference(const char *sName)
{
QCString result="Popis služby ";
result += sName;
return result;
}
/** UNO IDL singleton page title */
virtual QCString trSingletonReference(const char *sName)
{
QCString result="Popis singletonu ";
result += sName;
return result;
}
/** UNO IDL service page */
virtual QCString trServiceGeneratedFromFiles(bool single)
{
// single is true implies a single file
QCString result="Dokumentácia k tejto službe bola vygenerovaná ";
if (single) result+="z nasledujúceho súboru:";
else result+="z nasledujúcich súborov:";
return result;
}
/** UNO IDL singleton page */
virtual QCString trSingletonGeneratedFromFiles(bool single)
{
// single is true implies a single file
QCString result="Dokumentácia k tomuto singletonu bola vygenerovaná ";
if (single) result+="z nasledujúceho súboru:";
else result+="z nasledujúcich súborov:";
return result;
}
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment