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

Release-1.2.7

parent 47fa8f35
DOXYGEN Version 1.2.6-20010422
DOXYGEN Version 1.2.7
Please read the installation section of the manual for instructions.
--------
Dimitri van Heesch (22 April 2001)
Dimitri van Heesch (30 April 2001)
DOXYGEN Version 1.2.6_20010422
DOXYGEN Version 1.2.7
Please read INSTALL for compilation instructions.
......@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
Enjoy,
Dimitri van Heesch (22 April 2001)
Dimitri van Heesch (30 April 2001)
1.2.6-20010422
1.2.7
......@@ -115,7 +115,7 @@ typedef struct StructName TypeName
\par Example:
\verbinclude restypedef.cpp
\htmlonly
Click <a href="$(DOXYGEN_DOCDIR)/examples/restypedef/html/restypedef_cpp.html">here</a>
Click <a href="$(DOXYGEN_DOCDIR)/examples/restypedef/html/restypedef_8cpp.html">here</a>
for the corresponding HTML documentation that is generated by Doxygen.
\endhtmlonly
*/
......@@ -45,6 +45,7 @@ documentation:
\endlatexonly
<li> \refitem cmda \a
<li> \refitem cmdaddindex \addindex
<li> \refitem cmdaddtogroup \addtogroup
<li> \refitem cmdanchor \anchor
<li> \refitem cmdarg \arg
<li> \refitem cmdattention \attention
......@@ -148,6 +149,35 @@ Doxygen. Unrecognized commands are treated as normal text.
Structural indicators
\htmlonly --- </center>\endhtmlonly</h2>
\subsection cmdaddtogroup \addtogroup <name>
\addindex \addtogroup
Add extra documentation to a group \<name\> that was previously defined
using \\defgroup. This command can also be used to add a number of
entities to an existing group using \@{ and \@} like this:
\verbatim
/*! \addtogroup mygrp
* Additional documentation for group `mygrp'
* @{
*/
/*!
* A function
*/
void func1()
{
}
/*! Another function */
void func2()
{
}
/*! @} */
\endverbatim
See also \ref cmddefgroup "\\defgroup" and \ref cmdingroup "\\ingroup".
\subsection cmdclass \class <name> [<header-file>] [<header-name>]
\addindex \class
......@@ -180,7 +210,7 @@ Doxygen. Unrecognized commands are treated as normal text.
\par Example:
\verbinclude define.h
\htmlonly
Click <a href="$(DOXYGEN_DOCDIR)/examples/define/html/define_h.html">here</a>
Click <a href="$(DOXYGEN_DOCDIR)/examples/define/html/define_8h.html">here</a>
for the corresponding HTML documentation that is generated by Doxygen.
\endhtmlonly
......@@ -271,7 +301,7 @@ Doxygen. Unrecognized commands are treated as normal text.
\par Example:
\verbinclude file.h
\htmlonly
Click <a href="$(DOXYGEN_DOCDIR)/examples/file/html/file_h.html">here</a>
Click <a href="$(DOXYGEN_DOCDIR)/examples/file/html/file_8h.html">here</a>
for the corresponding HTML documentation that is generated by Doxygen.
\endhtmlonly
......@@ -547,7 +577,7 @@ Public/Protected/Private/... section.
\par Example:
\verbinclude author.cpp
\htmlonly
Click <a href="$(DOXYGEN_DOCDIR)/examples/author/html/class_windowsnt.html">here</a>
Click <a href="$(DOXYGEN_DOCDIR)/examples/author/html/class_windows_n_t.html">here</a>
for the corresponding HTML documentation that is generated by Doxygen.
\endhtmlonly
......
......@@ -758,10 +758,10 @@ followed by the descriptions of the tags grouped by category.
doxygen generates three additional HTML index files:
\c index.hhp, \c index.hhc, and \c index.hhk. The \c index.hhp is a
project file that can be read by
<a href="http://msdn.microsoft.com/workshop/author/htmlhelp">
<a href="http://msdn.microsoft.com/library/tools/htmlhelp/wkshp/download_main.htm">
Microsoft HTML help workshop</a>
\latexonly
(see http://msdn.microsoft.com/workshop/author/htmlhelp)
(see http://msdn.microsoft.com/library/tools/htmlhelp/wkshp/download\_main.htm)
\endlatexonly
on Windows.
......
......@@ -159,7 +159,7 @@ Here is an example of a C header named \c structcmd.h that is documented
using structural commands:
\verbinclude structcmd.h
\htmlonly
Click <a href="$(DOXYGEN_DOCDIR)/examples/structcmd/html/structcmd_h.html">here</a>
Click <a href="$(DOXYGEN_DOCDIR)/examples/structcmd/html/structcmd_8h.html">here</a>
for the corresponding HTML documentation that is generated by doxygen.
\endhtmlonly
......
......@@ -64,10 +64,8 @@ documentation. Note that all attributes of a HTML tag are ignored
<li>\c </OL> Ends a numbered item list.
<li>\c <P> Starts a new paragraph.
<li>\c </P> Does not generate any output.
<li>\c <PRE> starts a code fragment,
equivalent to the command \\code (see section \ref cmdcode).
<li>\c </PRE> ends a code fragment,
equivalent to the command \\endcode (see section \ref cmdendcode).
<li>\c <PRE> starts a preformatted fragment.
<li>\c </PRE> ends a preformatted fragment.
<li>\c <SMALL> starts a section of text displayed in a smaller font.
<li>\c </SMALL> ends a \c <SMALL> section.
<li>\c <STRONG> starts a section of bold text.
......
......@@ -159,6 +159,7 @@ Thanks go to:
<li>My brother <a href="http://www.stack.nl/~fidget/index.html">Frank</a>
for rendering the logos.
<li>Harm van der Heijden for adding HTML help support.
<li>Wouter Slegers for registering the www.doxygen.org domain.
<li>Parker Waerchter for adding the RTF output generator.
<li>Joerg Baumann, for adding conditional documentation blocks,
PDF links, and the configuration generator.
......
......@@ -425,7 +425,7 @@ Here is what is required:
(see \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP") in the
config file, then you need the Microsoft HTML help workshop.
You can download it at:
http://msdn.microsoft.com/workshop/author/htmlhelp
http://msdn.microsoft.com/library/tools/htmlhelp/wkshp/download_main.htm
<li>If you used WinZip to extract the tar archive it will (apparently) not
create empty folders, so you have to add the folders
......
......@@ -18,13 +18,12 @@
<h3>Support for multiple languages</h3>
Doxygen has support for multiple languages. This means that the text fragments that
doxygen generates can changed into languages other than English
(the default) at configuration time.
Doxygen has support for multiple languages. This means
that the text fragments that doxygen generates can changed into languages
other than English (the default) at configuration time.
<p>
Currently, supported languages are English, French, Czech, Dutch, Spannish,
Swedish, Russian, Czech, Croatian, Italian, Hungarian, Finnish, German and Japanese,
and Korean.
Currently, supported for over 20 languages is available.
Here is a list of the languages and their current maintainers:
<p>
......@@ -269,7 +268,7 @@ let them (or me) know.
If you want to add support for a language that is not yet listed
please see the next section.
<h3>Language HOWTO</h3>
<h3>Adding a new language to doxygen</h3>
This short HOWTO explains how to add support for a new language to Doxygen:
......@@ -278,7 +277,7 @@ Just follow these steps:
<li>Tell me for which language you want to add support. If no one else
is already working on support for that language, you will be
assigned as the maintainer for the language.
<li>Create a copy of translator_nl.h and name it
<li>Create a copy of translator_en.h and name it
translator_<your_2_letter_counter_code>.h
I'll use xx in the rest of this document.
<li>Edit language.cpp:
......@@ -294,35 +293,63 @@ Just follow these steps:
}
\endverbatim
after the <code>if { ... }</code>
<li>Edit doxygen.pro and add \c translator_xx.h to
<li>Edit libdoxygen.pro.in and add \c translator_xx.h to
the \c HEADERS line in the file doxygen.pro.
<li>Edit <code>translator_xx.h</code>:
<ul>
<li>Rename <code>TRANSLATOR_NL_H</code> to <code>TRANSLATOR_XX_H</code> twice.
<li>Rename TranslatorDutch to TranslatorYourLanguage
<li>In the member <code>latexBabelPackage()</code> change "dutch" into the name of the
latex package that adds support for your language.
<li>Edit all the strings that are returned by the members that start
with tr.
Look at the corresponding member in translator.h for the english text
that is returned and translate that into your language.
<li>Rename <code>TRANSLATOR_EN_H</code> to <code>TRANSLATOR_XX_H</code> twice.
<li>Rename TranslatorEnglish to TranslatorYourLanguage
<li>In the member <code>idLanguage()</code> change "english" into the
name of the your language (use lower case characters only). Depending
on the language you may also wish to change the member functions
latexLanguageSupportCommand() and idLanguageCharset().
<li>Edit all the strings that are returned by the member functions that
start with tr.
Try to match punctuation and capitals!
To enter special characters (with accents) you can:
<ul>
<li> Enter them directly if your keyboard supports that and you are
using a Latin-1 font.
Doxygen will translate the characters to proper Latex and
leave the Html and man output for what it is.
leave the Html and man output for what it is (which is fine, if
idLanguageCharset() is set correctly).
<li> Use html codes like \&auml; for an a with an umlaut (i.e. &auml;).
See the HTML specification for the codes.
</ul>
</ul>
<li>Recompile everything (do this from the root of the distribution,
because the Makefile.dox* have to be regenerated!)
<li>Run configure and make again from the root of the distribution,
in order to regenerated the Makefiles.
<li>Now you can use <code>OUTPUT_LANGUAGE = your_language_name</code>
in the config file to generate output in your language.
<li>Send <code>translator_xx.h</code> or a <code>diff -u</code> of the changes
to me so I can add it to doxygen.
<li>Send <code>translator_xx.h</code> to me so I can add it to doxygen.
</ol>
<h3>Maintaining a language</h3>
As new versions of doxygen appear, new sentences will be
added to the Translator interface class. Of course these need to be translated
as well (otherwise doxygen wouldn't even compile!).
Waiting until all language maintainers have translated these new sentences
and sent the results would not be very practical for me.
Instead, a new class TranslatorAdapter_x_y_z will be added to
translator_adapter.h (here x,y, and z correspond to the current
version of doxygen). And all translators that previous derived from
Translator will now derive from this adapter class.
The Adapter class contains the new sentences with
default translations using the English translator (which is always up to date).
Instead of deriving your TranslatorXX class directly from Translator it will
derive from the intermediate class TranslatorAdapter_x_y_z.
Thus, if a translator class inherits from a adapter class
maintenance is needed. By looking at the adapter class itself (and its base
classes) you can easily see which methods need to be updated.
To update a language simply make your translator class derive from
TranslatorAdapterBase and provide translations for the methods that
were previously provided by the adapter class (and its base classes).
*/
......@@ -72,3 +72,17 @@ namespace N1 {};
/** @} */
/** @addtogroup group1
*
* More documentation for the first group.
* @{
*/
/** another function in group 1 */
void func2() {}
/** yet another function in group 1 */
void func3() {}
/** @} */
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>Annotated Index</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>Grouping Compound List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<ul>
<li><a class="el" href="class_c1.html">C1</a> (Class C1 in group 1)
<li><a class="el" href="class_c2.html">C2</a> (Class C2 in group 1)
<li><a class="el" href="class_c3.html">C3</a> (Class C3 in group 2)
<li><a class="el" href="class_c4.html">C4</a> (Class C4 in group 2)
<li><a class="el" href="class_c5.html">C5</a> (Class C5 in <a href="group_group3.html"> the third group</a>)
<li><a class="el" href="class_c6.html">C6</a> (Class C6 in all groups)
</ul>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>C1 Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>C1 Class Reference</h1>class C1 in group 1.
<a href="#_details">More...</a>
<p>
<table border=0 cellpadding=0 cellspacing=0>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
class C1 in group 1.
<p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="group.cpp.html">group.cpp</a></ul>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>C2 Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>C2 Class Reference</h1>class C2 in group 1.
<a href="#_details">More...</a>
<p>
<table border=0 cellpadding=0 cellspacing=0>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
class C2 in group 1.
<p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="group.cpp.html">group.cpp</a></ul>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>C3 Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>C3 Class Reference</h1>class C3 in group 2.
<a href="#_details">More...</a>
<p>
<table border=0 cellpadding=0 cellspacing=0>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
class C3 in group 2.
<p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="group.cpp.html">group.cpp</a></ul>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>C4 Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>C4 Class Reference</h1>class C4 in group 2.
<a href="#_details">More...</a>
<p>
<table border=0 cellpadding=0 cellspacing=0>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
class C4 in group 2.
<p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="group.cpp.html">group.cpp</a></ul>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>C5 Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>C5 Class Reference</h1>class C5 in <a href="group_group3.html"> the third group</a>.
<a href="#_details">More...</a>
<p>
<table border=0 cellpadding=0 cellspacing=0>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
class C5 in <a href="group_group3.html"> the third group</a>.
<p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="group.cpp.html">group.cpp</a></ul>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>C6 Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>C6 Class Reference</h1>class C6 in all groups.
<a href="#_details">More...</a>
<p>
<table border=0 cellpadding=0 cellspacing=0>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
class C6 in all groups.
<p>
<dl compact><dt>
<b>See also: </b><dd>
<a href="group_group1.html"> The first group</a>, <a href="group_group2.html">The Second Group</a>, <a href="group_group3.html">The Third Group</a> </dl><hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="group.cpp.html">group.cpp</a></ul>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
H1 { text-align: center }
A.qindex {}
A.qindexRef {}
A.el { text-decoration: none; font-weight: bold }
A.elRef { font-weight: bold }
A.code { text-decoration: none; font-weight: normal; color: #4444ee }
A.codeRef { font-weight: normal; color: #4444ee }
A.gl:link { color: #ffffff }
A.gl:visited { color: #ffffff }
A.gl { text-decoration: none; font-weight: bold; background-color: #ff8080 }
DL.el { margin-left: -1cm }
DIV.fragment { width: 100%; border: none; background-color: #eeeeee }
DIV.in { margin-left: 16 }
DIV.ah { background-color: black; margin-bottom: 3; margin-top: 3 }
TD.md { background-color: #f2f2ff }
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>File Index</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>Grouping File List</h1>
<p>
Here is a list of all documented files with brief descriptions:
<p>
<ul>
<li><a class="el" href="group.cpp.html">group.cpp</a> (This file in group 3)
</ul>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>group.cpp File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>group.cpp File Reference</h1>this file in group 3.
<a href="#_details">More...</a>
<p>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=4><br><h2>Compounds</h2></td></tr>
<tr><td><img src="null.gif"></td><td><img src="null.gif"></td><td nowrap align=right valign=top>class &nbsp;</td><td valign=top><a class="el" href="class_c1.html">C1</a></td></tr>
<tr><td><img src="null.gif"></td><td><img src="null.gif"></td><td nowrap align=right valign=top>class &nbsp;</td><td valign=top><a class="el" href="class_c2.html">C2</a></td></tr>
<tr><td><img src="null.gif"></td><td><img src="null.gif"></td><td nowrap align=right valign=top>class &nbsp;</td><td valign=top><a class="el" href="class_c3.html">C3</a></td></tr>
<tr><td><img src="null.gif"></td><td><img src="null.gif"></td><td nowrap align=right valign=top>class &nbsp;</td><td valign=top><a class="el" href="class_c4.html">C4</a></td></tr>
<tr><td><img src="null.gif"></td><td><img src="null.gif"></td><td nowrap align=right valign=top>class &nbsp;</td><td valign=top><a class="el" href="class_c5.html">C5</a></td></tr>
<tr><td><img src="null.gif"></td><td><img src="null.gif"></td><td nowrap align=right valign=top>class &nbsp;</td><td valign=top><a class="el" href="class_c6.html">C6</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
this file in group 3.<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>The First Group</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>The First Group</h1><tr><td colspan=4><br><h2>Compounds</h2></td></tr>
<ul>
<li><a class="el" href="class_c1.html">C1</a>
<li><a class="el" href="class_c2.html">C2</a>
<li><a class="el" href="class_c6.html">C6</a>
</ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This is the first group <hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>The Second Group</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>The Second Group</h1><tr><td colspan=4><br><h2>Compounds</h2></td></tr>
<ul>
<li><a class="el" href="class_c3.html">C3</a>
<li><a class="el" href="class_c4.html">C4</a>
<li><a class="el" href="class_c6.html">C6</a>
</ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This is the second group <hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>The Third Group</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>The Third Group</h1><tr><td colspan=4><br><h2>Files</h2></td></tr>
<ul>
<li><a class="el" href="group.cpp.html">group.cpp</a>
</ul>
<tr><td colspan=4><br><h2>Compounds</h2></td></tr>
<ul>
<li><a class="el" href="class_c5.html">C5</a>
<li><a class="el" href="class_c6.html">C6</a>
</ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This is the third group <hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>Main Index</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>Grouping Documentation</h1>
<p>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>Module Index</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>Grouping Modules</h1>Here is a list of all modules:
<dl compact>
<dt><a href="group_group1.html">The First Group</a><dd>
<p>
<dt><a href="group_group2.html">The Second Group</a><dd>
<p>
<dt><a href="group_group3.html">The Third Group</a><dd>
<p>
</dl>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
Name: doxygen
Version: 1.2.6_20010422
Version: 1.2.7
Summary: documentation system for C, C++ and IDL
Release: 2
Source: doxygen_%{version}.src.tar.gz
......
......@@ -1842,7 +1842,14 @@ QCString ClassDef::compoundTypeString() const
QCString ClassDef::getOutputFileBase() const
{
if (isReference())
{
return fileName;
}
else
{
return convertNameToFile(fileName);
}
}
QCString ClassDef::getFileBase() const
......
......@@ -2161,7 +2161,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
insideHtmlLink=FALSE;
}
}
<DocScan>"<"{A} { BEGIN(DocHtmlLink); }
<DocScan>"<"{A}{BN}+ { BEGIN(DocHtmlLink); }
<DocScan>"<"{BOLD}{ATTR}">" { outDoc->startBold(); }
<DocScan>"</"{BOLD}{ATTR}">" { outDoc->endBold(); }
<DocScan>"<"{P}{ATTR}">" {
......
......@@ -438,6 +438,30 @@ static void organizeSubGroups(Entry *root)
}
}
static void addToGroupSections(Entry *root)
{
if (root->section==Entry::ADDGRPDOC_SEC && !root->name.isEmpty())
{
GroupDef *gd = Doxygen::groupDict[root->name];
if (gd)
{
gd->setDocumentation(gd->documentation()+"<p>"+root->brief+root->doc);
}
else
{
warn(root->fileName,root->startLine,
"Warning: ignoring addtogroup command for undefined "
"group `%s'.",root->name.data());
}
}
EntryListIterator eli(*root->sublist);
Entry *e;
for (;(e=eli.current());++eli)
{
addToGroupSections(e);
}
}
//----------------------------------------------------------------------
static void buildFileList(Entry *root)
......@@ -2564,7 +2588,10 @@ static void addTodoTestBugReferences()
ClassDef *cd=Doxygen::classList.first();
while (cd)
{
addRefItem(cd->todoId(),cd->testId(),cd->bugId(),"class",cd->getOutputFileBase(),cd->name());
addRefItem(cd->todoId(),cd->testId(),cd->bugId(),
theTranslator->trClass(TRUE,TRUE),
cd->getOutputFileBase(),cd->name()
);
cd=Doxygen::classList.next();
}
FileName *fn=Doxygen::inputNameList.first();
......@@ -2573,7 +2600,9 @@ static void addTodoTestBugReferences()
FileDef *fd=fn->first();
while (fd)
{
addRefItem(fd->todoId(),fd->testId(),fd->bugId(),"file",fd->getOutputFileBase(),fd->name());
addRefItem(fd->todoId(),fd->testId(),fd->bugId(),
theTranslator->trFile(TRUE,TRUE),
fd->getOutputFileBase(),fd->name());
fd=fn->next();
}
fn=Doxygen::inputNameList.next();
......@@ -2581,20 +2610,26 @@ static void addTodoTestBugReferences()
NamespaceDef *nd=Doxygen::namespaceList.first();
while (nd)
{
addRefItem(nd->todoId(),nd->testId(),nd->bugId(),"namespace",nd->getOutputFileBase(),nd->name());
addRefItem(nd->todoId(),nd->testId(),nd->bugId(),
theTranslator->trNamespace(TRUE,TRUE),
nd->getOutputFileBase(),nd->name());
nd=Doxygen::namespaceList.next();
}
GroupDef *gd=Doxygen::groupList.first();
while (gd)
{
addRefItem(gd->todoId(),gd->testId(),gd->bugId(),"group",gd->getOutputFileBase(),gd->groupTitle());
addRefItem(gd->todoId(),gd->testId(),gd->bugId(),
theTranslator->trGroup(TRUE,TRUE),
gd->getOutputFileBase(),gd->groupTitle());
gd=Doxygen::groupList.next();
}
PageSDictIterator pdi(*Doxygen::pageSDict);
PageInfo *pi=0;
for (pdi.toFirst();(pi=pdi.current());++pdi)
{
addRefItem(pi->todoId,pi->testId,pi->bugId,"page",pi->name,pi->title);
addRefItem(pi->todoId,pi->testId,pi->bugId,
theTranslator->trPage(TRUE,TRUE),
pi->name,pi->title);
}
MemberNameListIterator mnli(Doxygen::memberNameList);
MemberName *mn=0;
......@@ -2610,8 +2645,15 @@ static void addTodoTestBugReferences()
if (d==0) d=md->getGroupDef();
if (d==0) d=md->getFileDef();
// TODO: i18n this
QCString memLabel="member";
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) memLabel="field";
QCString memLabel;
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
memLabel=theTranslator->trField(TRUE,TRUE);
}
else
{
memLabel=theTranslator->trMember(TRUE,TRUE);
}
if (d)
{
addRefItem(md->todoId(),md->testId(),md->bugId(),memLabel,d->getOutputFileBase()+":"+md->anchor(),scopeName+"::"+md->name(),md->argsString());
......@@ -2631,8 +2673,15 @@ static void addTodoTestBugReferences()
if (d==0) d=md->getGroupDef();
if (d==0) d=md->getFileDef();
// TODO: i18n this
QCString memLabel="member";
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) memLabel="global";
QCString memLabel;
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
memLabel=theTranslator->trGlobal(TRUE,TRUE);
}
else
{
memLabel=theTranslator->trMember(TRUE,TRUE);
}
if (d)
{
addRefItem(md->todoId(),md->testId(),md->bugId(),memLabel,d->getOutputFileBase()+":"+md->anchor(),md->name(),md->argsString());
......@@ -6294,6 +6343,7 @@ void parseInput()
msg("Building group list...\n");
buildGroupList(root);
organizeSubGroups(root);
addToGroupSections(root);
msg("Building namespace list...\n");
buildNamespaceList(root);
......
......@@ -55,11 +55,12 @@
struct FileInfo
{
FileInfo() { f=0; url=0; }
FileInfo() { name[0]='\0'; f=0; url=0; }
~FileInfo() { if (f) fclose(f);
delete[] url;
}
FILE *f;
char name[MAXSTRLEN];
int index;
int refOffset;
char *url;
......@@ -396,8 +397,11 @@ void searchIndex(const char *word,SearchResults *results)
FileInfo *fi=fileList.first;
while (fi)
{
fi->f = fopen(fi->name, "rb");
fseek(fi->f,8,SEEK_SET);
searchRecursive(results,fi,word);
fclose(fi->f);
fi->f=0;
fi=fi->next;
}
......@@ -516,6 +520,10 @@ void generateResults(SearchResults *sr)
if (skipEntries == 0)
{
SearchDoc *d=docPtrArray[i];
if (d->fileInfo->f == 0)
{
d->fileInfo->f = fopen(d->fileInfo->name, "rb");
}
FILE *f=d->fileInfo->f;
fseek(f,d->fileInfo->refOffset+d->index*4,SEEK_SET);
int offset=readInt(f);
......@@ -531,6 +539,11 @@ void generateResults(SearchResults *sr)
rank*2+55, 255-rank*2, rank,
d->fileInfo->url, htmlName, linkName);
pageEntries--;
if (d->fileInfo->f != 0)
{
fclose(d->fileInfo->f);
d->fileInfo->f = 0;
}
}
else
{
......@@ -946,6 +959,7 @@ int main(int argc,char **argv)
FileInfo *fi=fileList.add();
FILE *g;
strcpy(fi->name,indexFile);
if ((fi->f=fopen(indexFile,"rb"))==NULL)
{
message("Error: could not open index file %s\n",indexFile);
......@@ -982,6 +996,8 @@ int main(int argc,char **argv)
}
// read and store the offset to the link index
fi->refOffset=readInt(fi->f);
fclose(fi->f);
fi->f = 0;
}
char *word;
......
......@@ -176,7 +176,8 @@ class Entry
MAINPAGEDOC_SEC = 0x01200000,
MEMBERGRP_SEC = 0x01300000,
USINGDECL_SEC = 0x01400000,
PACKAGE_SEC = 0x01500000
PACKAGE_SEC = 0x01500000,
ADDGRPDOC_SEC = 0x01600000
};
enum MemberSpecifier
{
......
......@@ -357,7 +357,7 @@ void GroupDef::writeDocumentation(OutputList &ol)
if (fileList->count()>0)
{
ol.startMemberHeader();
parseText(ol,theTranslator->trFiles());
parseText(ol,theTranslator->trFile(TRUE,FALSE));
ol.endMemberHeader();
ol.startMemberList();
FileDef *fd=fileList->first();
......
......@@ -2350,14 +2350,18 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,bool subLevel)
{
if(htmlHelp)
{
htmlHelp->addContentsItem(TRUE, convertToHtml(theTranslator->trFiles()), gd->getOutputFileBase(), 0);
htmlHelp->addContentsItem(TRUE,
convertToHtml(theTranslator->trFile(TRUE,FALSE)),
gd->getOutputFileBase(), 0);
htmlHelp->incContentsDepth();
}
if(ftvHelp)
{
ftvHelp->addContentsItem(TRUE, gd->getReference(), gd->getOutputFileBase(), 0, theTranslator->trFiles());
ftvHelp->addContentsItem(TRUE, gd->getReference(),
gd->getOutputFileBase(), 0,
theTranslator->trFile(TRUE,FALSE));
ftvHelp->incContentsDepth();
}
......
......@@ -17,6 +17,7 @@
#include "message.h"
#include "language.h"
#include "translator_en.h"
#if !defined(ENGLISH_ONLY)
#include "translator_nl.h"
#include "translator_se.h"
......@@ -48,7 +49,7 @@ bool setTranslator(const char *langName)
{
if (L_EQUAL("english"))
{
theTranslator=new Translator;
theTranslator=new TranslatorEnglish;
}
#if !defined(ENGLISH_ONLY)
else if (L_EQUAL("dutch"))
......@@ -134,8 +135,11 @@ bool setTranslator(const char *langName)
#endif
else // use the default language (i.e. english)
{
theTranslator=new Translator;
theTranslator=new TranslatorEnglish;
return FALSE;
}
QCString msg = theTranslator->updateNeededMessage();
if (!msg.isEmpty()) warn_cont(msg);
return TRUE;
}
......@@ -249,21 +249,10 @@ static void writeDefaultHeaderPart1(QTextStream &t)
if (!sLanguageSupportCommand.isEmpty())
{
// The command is not empty. The language does
// not want to use the babel package. Use this
// command instead.
// The command is not empty. Put it to the output.
// if the command is empty, no output is needed.
t << sLanguageSupportCommand;
}
else
{
if (!theTranslator->latexBabelPackage().isEmpty())
{
// The result of the LatexLanguageSupportCommand()
// is empty, which means that the language prefers
// the babel package, or no package is needed at all.
t << "\\usepackage[" << theTranslator->latexBabelPackage() << "]{babel}\n";
}
}
QStrList &extraPackages = Config_getList("EXTRA_PACKAGES");
const char *s=extraPackages.first();
......@@ -280,7 +269,6 @@ static void writeDefaultHeaderPart1(QTextStream &t)
"\\vspace*{7cm}\n"
"\\begin{center}\n"
"{\\Large ";
}
static void writeDefaultHeaderPart2(QTextStream &t)
......
......@@ -16,30 +16,135 @@
TEMPLATE = libdoxygen.t
CONFIG = console warn_on staticlib $extraopts
HEADERS = doxygen.h scanner.h doc.h classdef.h classlist.h memberdef.h \
membername.h index.h memberlist.h definition.h \
entry.h logos.h instdox.h message.h code.h \
filedef.h util.h cppvalue.h constexp.h \
outputgen.h outputlist.h htmlgen.h latexgen.h \
filename.h defargs.h groupdef.h gifenc.h diagram.h image.h \
namespacedef.h version.h language.h translator.h \
translator_nl.h translator_se.h translator_cz.h translator_fr.h \
translator_it.h formula.h debug.h membergroup.h htmlhelp.h \
translator_ru.h translator_pl.h dot.h rtfgen.h \
reflist.h page.h sortdict.h translator_hu.h translator_kr.h \
translator_ro.h translator_si.h translator_cn.h ftvhelp.h \
treeview.h tagreader.h packagedef.h
SOURCES = doxygen.cpp scanner.cpp doc.cpp classdef.cpp classlist.cpp \
memberdef.cpp membername.cpp index.cpp memberlist.cpp \
entry.cpp logos.cpp instdox.cpp message.cpp code.cpp \
filedef.cpp util.cpp groupdef.cpp \
outputgen.cpp outputlist.cpp htmlgen.cpp latexgen.cpp mangen.cpp \
cppvalue.cpp ce_lex.cpp ce_parse.cpp pre.cpp \
filename.cpp declinfo.cpp defargs.cpp define.cpp \
diagram.cpp gifenc.cpp image.cpp namespacedef.cpp \
version.cpp language.cpp definition.cpp formula.cpp debug.cpp \
membergroup.cpp htmlhelp.cpp dot.cpp rtfgen.cpp \
reflist.cpp ftvhelp.cpp tagreader.cpp packagedef.cpp
HEADERS = bufstr.h \
classdef.h \
classlist.h \
code.h \
config.h \
constexp.h \
cppvalue.h \
debug.h \
doxygen.h \
scanner.h \
doc.h \
dot.h \
doxygen.h \
entry.h \
example.h \
filedef.h \
filename.h \
formula.h \
ftvhelp.h \
gifenc.h \
groupdef.h \
htmlgen.h \
htmlhelp.h \
image.h \
index.h \
instdox.h \
language.h \
latexgen.h \
logos.h \
mangen.h \
memberdef.h \
membergroup.h \
memberlist.h \
membername.h \
message.h \
namespacedef.h \
outputgen.h \
outputlist.h \
packagedef.h \
page.h \
pre.h \
qtbc.h \
reflist.h \
rtfgen.h \
scanner.h \
searchindex.h \
section.h \
sortdict.h \
suffixtree.h \
tagreader.h \
translator.h \
translator_adapter.h \
translator_br.h \
translator_cn.h \
translator_cz.h \
translator_de.h \
translator_en.h \
translator_es.h \
translator_fi.h \
translator_fr.h \
translator_hr.h \
translator_hu.h \
translator_it.h \
translator_jp.h \
translator_kr.h \
translator_nl.h \
translator_no.h \
translator_pl.h \
translator_pt.h \
translator_ro.h \
translator_ru.h \
translator_se.h \
translator_si.h \
treeview.h \
unistd.h \
util.h \
version.h
SOURCES = ce_lex.cpp \
ce_parse.cpp \
classdef.cpp \
classlist.cpp \
code.cpp \
config.cpp \
cppvalue.cpp \
debug.cpp \
declinfo.cpp \
defargs.cpp \
define.cpp \
definition.cpp \
diagram.cpp \
doc.cpp \
dot.cpp \
doxygen.cpp \
entry.cpp \
filedef.cpp \
filename.cpp \
formula.cpp \
ftvhelp.cpp \
gifenc.cpp \
groupdef.cpp \
htmlgen.cpp \
htmlhelp.cpp \
image.cpp \
index.cpp \
instdox.cpp \
language.cpp \
latexgen.cpp \
logos.cpp \
main.cpp \
mangen.cpp \
memberdef.cpp \
membergroup.cpp \
memberlist.cpp \
membername.cpp \
message.cpp \
namespacedef.cpp \
outputgen.cpp \
outputlist.cpp \
packagedef.cpp \
pre.cpp \
reflist.cpp \
rtfgen.cpp \
scanner.cpp \
searchindex.cpp \
suffixtree.cpp \
tagreader.cpp \
util.cpp \
version.cpp
win32:TMAKE_CXXFLAGS += -DQT_NODLL
INCLUDEPATH += ../qtools
win32:INCLUDEPATH += .
......
......@@ -15,6 +15,9 @@
*
*/
/* http://www.cubic.org/source/archive/fileform/txt/man/ has some
nice introductions to groff and man pages. */
#include <stdlib.h>
#include "qtbc.h"
......@@ -187,14 +190,14 @@ void ManGenerator::writeMailLink(const char *url)
void ManGenerator::startGroupHeader()
{
if (!firstCol) t << endl;
t << ".SH ";
t << ".SH \"";
upperCase=TRUE;
firstCol=FALSE;
}
void ManGenerator::endGroupHeader()
{
t << "\n.PP " << endl;
t << "\"\n.PP " << endl;
firstCol=TRUE;
paragraph=TRUE;
upperCase=FALSE;
......@@ -203,12 +206,12 @@ void ManGenerator::endGroupHeader()
void ManGenerator::startMemberHeader()
{
if (!firstCol) t << endl;
t << ".SS ";
t << ".SS \"";
}
void ManGenerator::endMemberHeader()
{
t << "\n";
t << "\"\n";
firstCol=TRUE;
paragraph=FALSE;
}
......@@ -225,6 +228,7 @@ void ManGenerator::docify(const char *str)
{
case '\\': t << "\\\\"; col++; break;
case '\n': t << "\n"; col=0; break;
case '\"': c = '\''; // no break!
default: t << c; col++; break;
}
}
......@@ -254,6 +258,7 @@ void ManGenerator::codify(const char *str)
break;
case '\n': t << "\n"; firstCol=TRUE; col=0; break;
case '\\': t << "\\"; col++; break;
case '\"': c = '\''; // no break!
default: t << c; firstCol=FALSE; col++; break;
}
}
......@@ -269,6 +274,7 @@ void ManGenerator::writeChar(char c)
switch (c)
{
case '\\': t << "\\\\"; break;
case '\"': c = '\''; // no break!
default: t << c; break;
}
//printf("%c",c);fflush(stdout);
......@@ -288,11 +294,16 @@ void ManGenerator::startDescList()
void ManGenerator::startTitle()
{
if (!firstCol) t << endl;
t << ".SH ";
t << ".SH \"";
firstCol=FALSE;
paragraph=FALSE;
}
void ManGenerator::endTitle()
{
t << "\"";
}
void ManGenerator::writeListItem()
{
if (!firstCol) t << endl;
......@@ -322,27 +333,43 @@ void ManGenerator::endCodeFragment()
void ManGenerator::startMemberDoc(const char *,const char *,const char *,const char *)
{
if (!firstCol) t << endl;
t << ".SS ";
t << ".SS \"";
firstCol=FALSE;
paragraph=FALSE;
}
void ManGenerator::endMemberDoc()
{
t << "\"";
}
void ManGenerator::startSubsection()
{
if (!firstCol) t << endl;
t << ".SS ";
t << ".SS \"";
firstCol=FALSE;
paragraph=FALSE;
}
void ManGenerator::endSubsection()
{
t << "\"";
}
void ManGenerator::startSubsubsection()
{
if (!firstCol) t << endl;
t << "\n.SS ";
t << "\n.SS \"";
firstCol=FALSE;
paragraph=FALSE;
}
void ManGenerator::endSubsubsection()
{
t << "\"";
}
void ManGenerator::writeSynopsis()
{
if (!firstCol) t << endl;
......@@ -420,7 +447,7 @@ void ManGenerator::startMemberGroupHeader(bool)
void ManGenerator::endMemberGroupHeader()
{
t << "\\fR\"\n.br\n";
t << "\\fP\"\n.br\n";
firstCol=TRUE;
}
......
......@@ -54,16 +54,16 @@ class ManGenerator : public OutputGenerator
void startTitleHead(const char *) {}
void endTitleHead(const char *,const char *);
void startTitle();
void endTitle() {}
void endTitle();
void newParagraph();
void writeString(const char *text);
void startIndexList() {}
void endIndexList() {}
void endIndexList() { newParagraph(); }
void startItemList() {}
void endItemList() {}
void endItemList() { newParagraph(); }
void startEnumList() {}
void endEnumList() {}
void endEnumList() { newParagraph(); }
void startAlphabeticalIndexList() {}
void endAlphabeticalIndexList() {}
void writeIndexHeading(const char *) {}
......@@ -80,7 +80,7 @@ class ManGenerator : public OutputGenerator
void endHtmlLink();
void writeMailLink(const char *url);
void startTypewriter() { t << "\\fC"; firstCol=FALSE; }
void endTypewriter() { t << "\\fR"; firstCol=FALSE; }
void endTypewriter() { t << "\\fP"; firstCol=FALSE; }
void startGroupHeader();
void endGroupHeader();
void startMemberSections() {}
......@@ -112,11 +112,11 @@ class ManGenerator : public OutputGenerator
void startCodeLine() {}
void endCodeLine() { codify("\n"); col=0; }
//void writeBoldString(const char *text)
// { t << "\\fB"; docify(text); t << "\\fR"; firstCol=FALSE; }
// { t << "\\fB"; docify(text); t << "\\fP"; firstCol=FALSE; }
void startEmphasis() { t << "\\fI"; firstCol=FALSE; }
void endEmphasis() { t << "\\fR"; firstCol=FALSE; }
void endEmphasis() { t << "\\fP"; firstCol=FALSE; }
void startBold() { t << "\\fB"; firstCol=FALSE; }
void endBold() { t << "\\fR"; firstCol=FALSE; }
void endBold() { t << "\\fP"; firstCol=FALSE; }
void startDescription() {}
void endDescription() {}
void startDescItem();
......@@ -124,7 +124,7 @@ class ManGenerator : public OutputGenerator
void lineBreak() { t << "\n.br" << endl; }
void writeChar(char c);
void startMemberDoc(const char *,const char *,const char *,const char *);
void endMemberDoc() {}
void endMemberDoc();
void startDoxyAnchor(const char *,const char *,const char *) {}
void endDoxyAnchor(const char *,const char *) {}
void startCodeAnchor(const char *) {}
......@@ -135,9 +135,9 @@ class ManGenerator : public OutputGenerator
const char *path,const char *name);
void writeEndAnnoItem(const char *) { t << endl; firstCol=TRUE; }
void startSubsection();
void endSubsection() {}
void endSubsection();
void startSubsubsection();
void endSubsubsection() {}
void endSubsubsection();
void startCenter() {}
void endCenter() {}
void startSmall() {}
......@@ -153,7 +153,7 @@ class ManGenerator : public OutputGenerator
void nextTableColumn() {}
void endTableColumn() {}
void writeCopyright() { t << "(c)"; firstCol=FALSE; }
void writeQuote() { t << "\""; firstCol=FALSE; }
void writeQuote() { t << "`"; firstCol=FALSE; }
void writeUmlaut(char c) { t << c << "\\*'"; firstCol=FALSE; }
void writeAcute(char c) { t << c << "\\*`"; firstCol=FALSE; }
void writeGrave(char c) { t << c << "\\*:"; firstCol=FALSE; }
......@@ -168,7 +168,7 @@ class ManGenerator : public OutputGenerator
void writeCCedil(char c) { t << c; /* TODO: fix this */
firstCol=FALSE; }
void startMemberDescription() { t << "\n.RI \"\\fI"; firstCol=FALSE; }
void endMemberDescription() { t << "\\fR\""; firstCol=FALSE; }
void endMemberDescription() { t << "\\fP\""; firstCol=FALSE; }
void startDescList();
void endDescList() {}
void startParamList() { startDescList(); }
......
......@@ -474,6 +474,7 @@ TITLE [tT][iI][tT][lL][eE]
%x DocBaseClass
%x CppQuote
%x EndCppQuote
%x AddGroupDocArg1
%x GroupDocArg1
%x GroupDocArg2
%x GroupName
......@@ -2686,6 +2687,12 @@ TITLE [tT][iI][tT][lL][eE]
current->startLine = yyLineNr;
BEGIN( GroupDocArg1 );
}
<Doc,JavaDoc>{B}*{CMD}"addtogroup"{B}+ {
current->section = Entry::ADDGRPDOC_SEC;
current->fileName = yyFileName;
current->startLine = yyLineNr;
BEGIN( AddGroupDocArg1 );
}
<Doc,JavaDoc>{B}*{CMD}"namespace"{B}+ {
current->section = Entry::NAMESPACEDOC_SEC;
current->fileName = yyFileName;
......@@ -2940,6 +2947,27 @@ TITLE [tT][iI][tT][lL][eE]
yyLineNr++;
}
<AddGroupDocArg1>{ID} {
current->name = yytext;
lastDefGroup = yytext;
newDocState();
}
<AddGroupDocArg1>"\n" {
warn(yyFileName,yyLineNr,
"Warning: missing argument after "
"\\addtogroup."
);
yyLineNr++;
BEGIN( Doc );
}
<GroupDocArg2>"*/" {
unput('/');unput('*');
warn(yyFileName,yyLineNr,
"Warning: missing argument after "
"\\addtogroup."
);
BEGIN( Doc );
}
<GroupDocArg1>{ID}(".html"?) {
current->name = yytext;
lastDefGroup = yytext;
......@@ -3213,7 +3241,9 @@ TITLE [tT][iI][tT][lL][eE]
BEGIN( GroupName );
}
<ClassDoc,Doc,JavaDoc>{CMD}"{" {
if (current->section == Entry::GROUPDOC_SEC)
if (current->section==Entry::GROUPDOC_SEC ||
current->section==Entry::ADDGRPDOC_SEC
)
{
autoGroupNameStack.push(new QCString(current->name));
}
......@@ -3636,9 +3666,12 @@ TITLE [tT][iI][tT][lL][eE]
unput('/');unput('*');
BEGIN( tmpDocType );
}
<Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,ClassDocBrief,AfterDoc,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+[ \t]*"-"("#")?{B}+ {
<Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,AfterDoc>^{B}*(("//"{B}*)?)"*"+[ \t]*"-"("#")?{B}+ {
current->doc += yytext;
}
<ClassDocBrief,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+[ \t]*"-"("#")?{B}+ {
current->brief += "-";
}
<Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,ClassDocBrief,AfterDoc,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+/[^/]
<Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,ClassDocBrief,AfterDoc,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+{B}+ {
current->doc+=' ';
......
This diff is collapsed.
This diff is collapsed.
......@@ -18,9 +18,9 @@
#ifndef TRANSLATOR_BR_H
#define TRANSLATOR_BR_H
#include "translator.h"
#include "translator_adapter.h"
class TranslatorBrazilian: public Translator
class TranslatorBrazilian: public TranslatorAdapter_1_2_6
{
public:
......
......@@ -18,7 +18,7 @@
#ifndef TRANSLATOR_CN_H
#define TRANSLATOR_CN_H
#include "translator.h"
#include "translator_adapter.h"
/*!
If you want insert a space whenever Chinese meets English charactors, set
......@@ -26,7 +26,7 @@
*/
#define CN_SPC
class TranslatorChinese : public Translator
class TranslatorChinese : public TranslatorAdapter_1_2_1
{
public:
QCString idLanguage()
......@@ -388,6 +388,18 @@ class TranslatorChinese : public Translator
// the documentation of all namespaces.
{ return "命名空间文档"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990522
//////////////////////////////////////////////////////////////////////////
/*! This is used in the documentation before the list of all
* namespaces in a file.
*/
QCString trNamespaces()
{
return "Namespaces";
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990728
//////////////////////////////////////////////////////////////////////////
......
......@@ -18,7 +18,6 @@
#ifndef TRANSLATOR_CZ_H
#define TRANSLATOR_CZ_H
#include "translator.h"
// The first translation from English to Czech was started by
// Vlastimil Havran. He wrote:
......@@ -32,77 +31,84 @@
// The prototype version of Czech strings with diacritics was
// implemented by Petr Prikryl (prikrylp@skil.cz), 2000/06/20. As
// Vlastimil was quite busy at the time, he agreed that Petr be the
// second maintainer.
// maintainer for a while (from 2000/06/20).
//
// Updates:
// --------
// 2000/06/20 (Petr Prikryl)
// 2000/06/20
// - The prototype version of Czech strings with diacritics. The
// translation was based on translator.h of Doxygen version
// 1.1.4 (from scratch).
//
// 2000/07/10 (Petr Prikryl)
// 2000/07/10
// - Updated version based on 1.1.5 sources (including important updates
// of the up-to-1.1.4 strings). Czech strings in this file were written
// in windows-1250 encoding. On-line decoding into iso-8859-2 ensured
// via conditional compilation if the sources are compiled under UNIX.
//
// 2000/07/19 (Petr Prikryl)
// 2000/07/19
// - Encoding conversion tables moved to the methods that use them.
// - Updates for "new since 1.1.5".
//
// 2000/08/02 (Petr Prikryl)
// - Updated for 1.2.0
//
// 2000/08/24 (Petr Prikryl)
// 2000/08/24
// - Changed trTodo() text from "Udelat" to "Planovane upravy"
// which seems more appropriate in the document context.
// - Typo corrected in trMemberTypedefDocumentation().
//
// 2000/08/30 (Petr Prikryl)
// 2000/08/30
// - Macro DECODE replaced by the inline Decode() (proposed by
// Boris Bralo <boris.bralo@zg.tel.hr> in translator_hr.h).
//
// 2000/08/31 (Petr Prikryl)
// 2000/08/31
// - Methods ISOToWin() and WinToISO() renamed and moved to the
// base class (in translator.h) to be shared with the Croatian
// translator.
//
// 2000/09/06 (Petr Prikryl)
// 2000/09/06
// - Reimplementation of the method trInheritsList() which takes
// into account quantity of base classes.
//
// 2000/09/11 (Petr Prikryl)
// 2000/09/11
// - Update for "new since 1.2.1" version. The text of trDCOPMethods()
// was translated rather blindly (not knowing what exactly
// the DCOP means).
//
// 2000/10/17 (Petr Prikryl)
// 2000/10/17
// - Update for "new since 1.2.2" version.
//
// 2001/01/09 (Petr Prikryl)
// 2001/01/09
// - Update for "new since 1.2.4" version. As I do not use Java,
// I tried my best to guess the Czech terminology for the Java.
// Let me know if some wording should be changed/improved.
//
// 2001/02/15 (Petr Prikryl)
// 2001/02/15
// - trMore() now returns only "..." (ellipsis). The Czech replacement
// of "(more)" was too much visible. The previous "(...)" did not
// look well.
//
// 2001/02/26 (Petr Prikryl)
// 2001/02/26
// - Update for "new since 1.2.5" version (trBug(), trBugList()).
//
// 2001/03/12 (Petr Prikryl)
// 2001/03/12
// - Minor correction of comments which copied the same
// corrections in translator.h (doubled backslash) just after
// 1.2.6 release.
//
// 2001/04/10 (Petr Prikryl)
// 2001/04/10
// - Update for OPTIMIZE_OUTPUT_FOR_C (1.2.6-20010408).
// - Removed implementation of latexBabelPackage().
// - Removed implementation of trVerbatimText().
//
// 2001/04/20
// - Update for "new since 1.2.6-20010422". Experimental version
// introducing TranslatorAdapter class and the abstract base
// class Translator. The English translator is now on the same
// level as other translators.
//
//
// Notices:
// --------
// The conditional compilation ensures or the neutral functionality
......@@ -114,7 +120,9 @@
// Windows version. The version which does not call the function is
// probably slightly faster.
class TranslatorCzech : public Translator
#include "translator_adapter.h"
class TranslatorCzech : public TranslatorAdapterBase
{
private:
/*! The Decode() inline assumes the source written in the
......@@ -291,7 +299,7 @@ class TranslatorCzech : public Translator
/*! This is put above each page as a link to all related pages. */
virtual QCString trRelatedPages()
{ return Decode("Související stránky"); }
{ return Decode("Ostatní stránky"); }
/*! This is put above each page as a link to all examples. */
virtual QCString trExamples()
......@@ -416,8 +424,9 @@ class TranslatorCzech : public Translator
/*! This is an introduction to the page with the list of related pages */
virtual QCString trRelatedPagesDescription()
{ return Decode("Zde naleznete seznam všech souvisejících stránek "
"dokumentace:"); }
{ return Decode("Následující seznam odkazuje na další stránky projektu, "
"které mají charakter uspoøádaných seznamù informací, "
"posbíraných z rùzných míst ve zdrojových souborech:"); }
/*! This is an introduction to the page with the list of class/file groups */
virtual QCString trModulesDescription()
......@@ -1314,6 +1323,115 @@ class TranslatorCzech : public Translator
return Decode("Seznam chyb");
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.6-20010422
//////////////////////////////////////////////////////////////////////////
/*! Used as ansicpg for RTF file */
virtual QCString trRTFansicp()
{
return "1250";
}
/*! Used as ansicpg for RTF fcharset */
virtual QCString trRTFCharSet()
{
return "0"; //???
}
/*! Used as header RTF general index */
virtual QCString trRTFGeneralIndex()
{
return "Index"; //???
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trClass(bool first_capital, bool singular)
{
QCString result((first_capital ? "Tøíd" : "tøíd"));
result+=(singular ? "a" : "y");
return Decode(result);
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trFile(bool first_capital, bool singular)
{
QCString result((first_capital ? "Soubor" : "soubor"));
if (!singular) result+="y";
return Decode(result);
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trNamespace(bool first_capital, bool singular)
{
QCString result((first_capital ? "Prostor" : "prostor"));
if (!singular) result+="y";
result+=" jmen";
return Decode(result);
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trGroup(bool first_capital, bool singular)
{
QCString result((first_capital ? "Skupin" : "skupin"));
result+=(singular ? "a" : "y");
return Decode(result);
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trPage(bool first_capital, bool singular)
{
QCString result((first_capital ? "Stránk" : "stránk"));
result+=(singular ? "a" : "y");
return Decode(result);
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trMember(bool first_capital, bool singular)
{
QCString result((first_capital ? "Èlen" : "èlen"));
if (!singular) result+="y";
return Decode(result);
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trField(bool first_capital, bool singular)
{
QCString result((first_capital ? "Položk" : "položk"));
result+=(singular ? "a" : "y");
return Decode(result);
}
/*! ??? Jak to prelozit? Bylo by dobre, kdyby se ozval nekdo,
* kdo to pouziva.
*/
virtual QCString trGlobal(bool first_capital, bool singular)
{
QCString result((first_capital ? "Global" : "global"));
if (!singular) result+="s";
return result;
}
};
#endif // TRANSLATOR_CZ_H
......@@ -50,9 +50,9 @@
#ifndef TRANSLATOR_DE_H
#define TRANSLATOR_DE_H
#include "translator.h"
#include "translator_adapter.h"
class TranslatorGerman : public Translator
class TranslatorGerman : public TranslatorAdapter_1_2_6
{
public:
QCString idLanguage()
......
This diff is collapsed.
......@@ -25,9 +25,9 @@
#ifndef TRANSLATOR_ES_H
#define TRANSLATOR_ES_H
#include "translator.h"
#include "translator_adapter.h"
class TranslatorSpanish : public Translator
class TranslatorSpanish : public TranslatorAdapter_1_1_5
{
public:
virtual QCString idLanguage()
......@@ -413,31 +413,31 @@ class TranslatorSpanish : public Translator
return (QCString)"Diagrama de herencias de "+clName;
}
/*! this text is generated when the \internal command is used. */
/*! this text is generated when the \\internal command is used. */
virtual QCString trForInternalUseOnly()
{ return "Para uso interno exclusivamente."; }
/*! this text is generated when the \reimp command is used. */
/*! this text is generated when the \\reimp command is used. */
virtual QCString trReimplementedForInternalReasons()
{ return "Reimplementado por razones internas; el API no se ve afectado."; }
/*! this text is generated when the \warning command is used. */
/*! this text is generated when the \\warning command is used. */
virtual QCString trWarning()
{ return "Atención"; }
/*! this text is generated when the \bug command is used. */
/*! this text is generated when the \\bug command is used. */
virtual QCString trBugsAndLimitations()
{ return "Bugs y limitaciones"; }
/*! this text is generated when the \version command is used. */
/*! this text is generated when the \\version command is used. */
virtual QCString trVersion()
{ return "Versión"; }
/*! this text is generated when the \date command is used. */
/*! this text is generated when the \\date command is used. */
virtual QCString trDate()
{ return "Fecha"; }
/*! this text is generated when the \author command is used. */
/*! this text is generated when the \\author command is used. */
virtual QCString trAuthors()
{ return "Autor(es)"; }
......@@ -445,15 +445,15 @@ class TranslatorSpanish : public Translator
virtual QCString trReturns()
{ return "Devuelve"; }
/*! this text is generated when the \sa command is used. */
/*! this text is generated when the \\sa command is used. */
virtual QCString trSeeAlso()
{ return "Ver también"; }
/*! this text is generated when the \param command is used. */
/*! this text is generated when the \\param command is used. */
virtual QCString trParameters()
{ return "Parámetros"; }
/*! this text is generated when the \exception command is used. */
/*! this text is generated when the \\exception command is used. */
virtual QCString trExceptions()
{ return "Excepciones"; }
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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