Commit 8a48f6c3 authored by Dimitri van Heesch's avatar Dimitri van Heesch

Release-1.7.2

parent 6dbef217
DOXYGEN Version 1.7.1-20100920
DOXYGEN Version 1.7.2
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (20 September 2010)
Dimitri van Heesch (08 October 2010)
DOXYGEN Version 1.7.1_20100920
DOXYGEN Version 1.7.2
Please read INSTALL for compilation instructions.
The latest version of doxygen can be obtained at
The latest version of doxygen can be obtained from:
http://www.doxygen.org/
There are two mailing lists
doxygen-users@lists.sourceforge.net
doxygen-develop@lists.sourceforge.net
There are three mailing lists:
doxygen-users@lists.sourceforge.net For doxygen users
doxygen-develop@lists.sourceforge.net For doxygen developers
doxygen-announce@lists.sourceforge.net Announcement of new releases only
please follow the link in
......@@ -15,6 +16,14 @@ please follow the link in
to subscribe to the lists or to visit the archives.
Use the bug tracker to report bugs:
https://bugzilla.gnome.org/enter_bug.cgi?product=doxygen
Before reporting a bug, please check that it has not already been reported.
Also, please use the bug tracker for reporting bugs rather than the help
forum.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (20 September 2010)
Dimitri van Heesch (dimitri@stack.nl) (08 October 2010)
......@@ -191,7 +191,7 @@ void MainWindow::about()
t << QString::fromAscii("<qt><center>A tool to configure and run doxygen version ")+
QString::fromAscii(versionString)+
QString::fromAscii(" on your source files.</center><p><br>"
"<center>Written by<br> Dimitri van Heesch<br>&copy; 2000-2009</center><p>"
"<center>Written by<br> Dimitri van Heesch<br>&copy; 2000-2010</center><p>"
"</qt>");
QMessageBox::about(this,tr("Doxygen GUI"),msg);
}
......
......@@ -17,10 +17,10 @@
doxygen_version_major=1
doxygen_version_minor=7
doxygen_version_revision=1
doxygen_version_revision=2
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
doxygen_version_mmn=20100920
doxygen_version_mmn=NO
bin_dirs=`echo $PATH | sed -e "s/:/ /g"`
......
......@@ -43,6 +43,7 @@ documentation:
\refitem cmdarg \\arg
\refitem cmdattention \\attention
\refitem cmdauthor \\author
\refitem cmdauthors \\authors
\refitem cmdb \\b
\refitem cmdbrief \\brief
\refitem cmdbug \\bug
......@@ -80,6 +81,7 @@ documentation:
\refitem cmdendlink \\endlink
\refitem cmdendmanonly \\endmanonly
\refitem cmdendmsc \\endmsc
\refitem cmdendrtfonly \\endrtfonly
\refitem cmdendverbatim \\endverbatim
\refitem cmdendxmlonly \\endxmlonly
\refitem cmdenum \\enum
......@@ -138,14 +140,20 @@ documentation:
\refitem cmdpublic \\public
\refitem cmdpublic \\publicsection
\refitem cmdref \\ref
\refitem cmdrelated \\related
\refitem cmdrelates \\relates
\refitem cmdrelatedalso \\relatedalso
\refitem cmdrelatesalso \\relatesalso
\refitem cmdremark \\remark
\refitem cmdremarks \\remarks
\refitem cmdreturn \\return
\refitem cmdreturns \\returns
\refitem cmdretval \\retval
\refitem cmdrtfonly \\rtfonly
\refitem cmdsa \\sa
\refitem cmdsection \\section
\refitem cmdsee \\see
\refitem cmdshort \\short
\refitem cmdshowinitializer \\showinitializer
\refitem cmdsince \\since
\refitem cmdskip \\skip
......@@ -156,6 +164,7 @@ documentation:
\refitem cmdsubsubsection \\subsubsection
\refitem cmdtest \\test
\refitem cmdthrow \\throw
\refitem cmdthrows \\throws
\refitem cmdtodo \\todo
\refitem cmdtparam \\tparam
\refitem cmdtypedef \\typedef
......@@ -828,6 +837,12 @@ Structural indicators
for the corresponding HTML documentation that is generated by doxygen.
\endhtmlonly
<hr>
\section cmdrelated \\related <name>
\addindex related
Equivalent to \ref cmdrelates "\\relates"
<hr>
\section cmdrelatesalso \\relatesalso <name>
......@@ -839,6 +854,12 @@ Structural indicators
non-friend functions that are nevertheless strongly coupled to a certain
class. It only works for functions.
<hr>
\section cmdrelatedalso \\relatedalso <name>
\addindex relatedalso
Equivalent to \ref cmdrelatesalso "\\relatesalso"
<hr>
\section cmdshowinitializer \\showinitializer
......@@ -940,6 +961,11 @@ Section indicators
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
<hr>
\section cmdauthors \\authors { list of authors }
\addindex \\authors
Equivalent to \ref cmdauthor "\\author".
<hr>
\section cmdbrief \\brief {brief description}
......@@ -1337,9 +1363,9 @@ void memcpy(void *dest, const void *src, size_t n);
sectioning command is encountered.
<hr>
\section cmdremarks \\remarks { remark text }
\section cmdremark \\remark { remark text }
\addindex \\remarks
\addindex \\remark
Starts a paragraph where one or more remarks may be entered.
The paragraph will be indented.
The text of the paragraph has no special internal structure. All visual
......@@ -1350,6 +1376,12 @@ void memcpy(void *dest, const void *src, size_t n);
several remarks. The \\remark command ends when a blank line or some other
sectioning command is encountered.
<hr>
\section cmdremarks \\remarks { remark text }
\addindex \\remarks
Equivalent to \ref cmdremark "\\remark".
<hr>
\section cmdreturn \\return { description of the return value }
......@@ -1362,11 +1394,17 @@ void memcpy(void *dest, const void *src, size_t n);
sectioning command is encountered. See section \ref cmdfn "\\fn" for an
example.
<hr>
\section cmdreturns \\returns { description of the return value }
\addindex \\returns
Equivalent to \ref cmdreturn "\\return".
<hr>
\section cmdretval \\retval <return value> { description }
\addindex \\retval
Starts a return value description for a function with name
Starts a description for a function's return value with name
\<return value\>. Followed by a description of the return value.
The text of the paragraph that forms the description has no special
internal structure. All visual enhancement commands may be used inside the
......@@ -1399,6 +1437,12 @@ void memcpy(void *dest, const void *src, size_t n);
\addindex \\see
Equivalent to \ref cmdsa "\\sa". Introduced for compatibility with Javadoc.
<hr>
\section cmdshort \\short {short description}
\addindex \\short
Equivalent to \\ref cmdbrief "\\brief".
<hr>
\section cmdsince \\since { text }
......@@ -1428,6 +1472,12 @@ void memcpy(void *dest, const void *src, size_t n);
\par Note:
the tag \\throws is a synonym for this tag.
<hr>
\section cmdthrows \\throws <exception-object> { exception description }
\addindex \\throws
Equivalent to \ref cmdthrows "\\throws".
<hr>
\section cmdtodo \\todo { paragraph describing what is to be done }
......@@ -2201,13 +2251,22 @@ class Receiver
\sa section \ref cmdmanonly "\\manonly".
<hr>
\section cmdendrtfonly \\endrtfonly
\addindex \\endrtfonly
Ends a block of text that was started with a \\rtfonly command.
\sa section \ref cmdrtfonly "\\rtfonly".
<hr>
\section cmdendverbatim \\endverbatim
\addindex \\endverbatim
Ends a block of text that was started with a \\verbatim command.
\sa section \ref cmdendcode "\\endcode", section \ref cmdverbatim "\\verbatim".
\sa section \ref cmdverbatim "\\verbatim".
<hr>
\section cmdendxmlonly \\endxmlonly
......@@ -2262,7 +2321,7 @@ class Receiver
\addindex \\htmlonly
Starts a block of text that will be verbatim included in the
generated HTML documentation only. The block ends with a
endhtmlonly command.
\ref cmdhtmlonly "\\endhtmlonly" command.
This command can be used to include HTML code that is too complex
for doxygen (i.e. applets, java-scripts, and HTML tags that
......@@ -2273,8 +2332,9 @@ class Receiver
environment variables (like \$(HOME) ) are resolved inside a
HTML-only block.
\sa section \ref cmdmanonly "\\manonly" and section
\ref cmdlatexonly "\\latexonly".
\sa section \ref cmdmanonly "\\manonly", section
\ref cmdlatexonly "\\latexonly", and section
\ref cmdrtfonly "\\rtfonly".
<hr>
\section cmdimage \\image <format> <file> ["caption"] [<sizeindication>=<size>]
......@@ -2337,7 +2397,7 @@ class Receiver
\addindex \\latexonly
Starts a block of text that will be verbatim included in the
generated \f$\mbox{\LaTeX}\f$ documentation only. The block ends with a
endlatexonly command.
\ref cmdendlatexonly "\\endlatexonly" command.
This command can be used to include \f$\mbox{\LaTeX}\f$ code that is too
complex for doxygen (i.e. images, formulas, special characters). You can
......@@ -2348,8 +2408,9 @@ class Receiver
environment variables (like \$(HOME) ) are resolved inside a
\f$\mbox{\LaTeX}\f$-only block.
\sa section \ref cmdlatexonly "\\latexonly"
and section \ref cmdhtmlonly "\\htmlonly".
\sa section \ref cmdrtfonly "\\rtfonly",
section \ref cmdmanonly "\\manonly", and
section \ref cmdhtmlonly "\\htmlonly".
<hr>
\section cmdmanonly \\manonly
......@@ -2357,15 +2418,16 @@ class Receiver
\addindex \\manonly
Starts a block of text that will be verbatim included in the
generated MAN documentation only. The block ends with a
endmanonly command.
\ref cmdendmanonly "\\endmanonly" command.
This command can be used to include groff code directly into
MAN pages. You can use the \\htmlonly and \\latexonly and
\\endhtmlonly and \\endlatexonly pairs to provide proper
HTML and \f$\mbox{\LaTeX}\f$ alternatives.
\sa section \ref cmdhtmlonly "\\htmlonly" and section
\ref cmdlatexonly "\\latexonly".
\sa section \ref cmdhtmlonly "\\htmlonly",
section \ref cmdrtfonly "\\rtfonly", and
section \ref cmdlatexonly "\\latexonly".
<hr>
\section cmdli \\li { item-description }
......@@ -2423,19 +2485,39 @@ class Receiver
Equivalent to \ref cmdc "\\c"
<hr>
\section cmdrtfonly \\rtfonly
\addindex \\rtfonly
Starts a block of text that will be verbatim included in the
generated RTF documentation only. The block ends with a
\ref cmdendrtfonly "\\endrtfonly" command.
This command can be used to include RTF code that is too complex
for doxygen.
\b Note:
environment variables (like \$(HOME) ) are resolved inside a
RTF-only block.
\sa section \ref cmdmanonly "\\manonly", section
\ref cmdlatexonly "\\latexonly", and section
\ref cmdhtmlonly "\\htmlonly".
<hr>
\section cmdverbatim \\verbatim
\addindex \\verbatim
Starts a block of text that will be verbatim included in both the
HTML and the
\f$\mbox{\LaTeX}\f$ documentation. The block should end with a
\\endverbatim block. All commands are disabled in a verbatim block.
Starts a block of text that will be verbatim included in
the documentation. The block should end with a
\ref cmdendverbatim "\\endverbatim" block.
All commands are disabled in a verbatim block.
\warning Make sure you include a \\endverbatim command for each
\\verbatim command or the parser will get confused!
\sa section \ref cmdcode "\\code", and section \ref cmdverbinclude "\\verbinclude".
\sa section \ref cmdcode "\\code", and
section \ref cmdverbinclude "\\verbinclude".
<hr>
\section cmdxmlonly \\xmlonly
......@@ -2454,16 +2536,16 @@ class Receiver
\section cmdbackslash \\\\
\addindex \\\\
This command writes a backslash character (\\) to the HTML and
\f$\mbox{\LaTeX}\f$ output. The backslash has to be escaped in some
This command writes a backslash character (\\) to the
output. The backslash has to be escaped in some
cases because doxygen uses it to detect commands.
<hr>
\section cmdat \\\@
\addindex \\\@
This command writes an at-sign (\@) to the HTML and
\f$\mbox{\LaTeX}\f$ output. The at-sign has to be escaped in some cases
This command writes an at-sign (\@) to the output.
The at-sign has to be escaped in some cases
because doxygen uses it to detect JavaDoc commands.
<hr>
......
This diff is collapsed.
......@@ -75,7 +75,7 @@ doxygen -w latex header.tex doxygen.sty
\endverbatim
If you need non-default options (for instance to use pdflatex) you need
to make a config file with those options set correctly and then specify
that config file as the forth argument.
that config file as the third argument.
<li>For RTF output, you can generate the default style sheet file (see
\ref cfg_rtf_stylesheet_file "RTF_STYLESHEET_FILE") using:
\verbatim
......
......@@ -29,6 +29,11 @@ have the following tools installed
<li>\c gs: the GhostScript interpreter for converting PostScript files
to bitmaps. I have used Aladdin GhostScript 8.0 for testing.
</ul>
For the HTML output there is also an alternative solution using
<a href="http://www.mathjax.org">MathJax</a> which does not
require the above tools. If you enable \ref cfg_use_mathjax "USE_MATHJAX" in
the config then the latex formulas will be copied to the HTML "as is" and a
client side javascript will parse them and turn them into (interactive) images.
There are three ways to include formulas in the documentation.
<ol>
......
......@@ -122,7 +122,7 @@ when the translator was updated.
<td>Esperanto</td>
<td>Ander Martinez</td>
<td>dwarfnauko at gmail dot com</td>
<td>1.6.3</td>
<td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Finnish</td>
......@@ -222,8 +222,8 @@ when the translator was updated.
</tr>
<tr bgcolor="#ffffff">
<td>Portuguese</td>
<td>Rui Godinho Lopes</td>
<td><span style="color: brown">[resigned]</span></td>
<td>Rui Godinho Lopes<br/><span style="color: red; background-color: yellow">-- searching for the maintainer --</span></td>
<td><span style="color: brown">[resigned]</span><br/><span style="color: brown">[Please, try to help to find someone.]</span></td>
<td>1.3.3</td>
</tr>
<tr bgcolor="#ffffff">
......@@ -334,7 +334,7 @@ when the translator was updated.
\hline
English & Dimitri van Heesch & {\tt\tiny dimitri at stack dot nl} & up-to-date \\
\hline
Esperanto & Ander Martinez & {\tt\tiny dwarfnauko at gmail dot com} & 1.6.3 \\
Esperanto & Ander Martinez & {\tt\tiny dwarfnauko at gmail dot com} & up-to-date \\
\hline
Finnish & Antti Laine & {\tt\tiny antti dot a dot laine at tut dot fi} & 1.6.0 \\
\hline
......@@ -377,10 +377,11 @@ when the translator was updated.
Persian & Ali Nadalizadeh & {\tt\tiny nadalizadeh at gmail dot com} & up-to-date \\
\hline
Polish & Piotr Kaminski & {\tt\tiny [unreachable] Piotr dot Kaminski at ctm dot gdynia dot pl} & 1.6.3 \\
~ & Grzegorz Kowal & {\tt\tiny [unreachable] g_kowal at poczta dot onet dot pl} & ~ \\
~ & Grzegorz Kowal & {\tt\tiny [unreachable] g\_kowal at poczta dot onet dot pl} & ~ \\
~ & Krzysztof Kral & {\tt\tiny krzysztof dot kral at gmail dot com} & ~ \\
\hline
Portuguese & Rui Godinho Lopes & {\tt\tiny [resigned] rgl at ruilopes dot com} & 1.3.3 \\
~ & -- searching for the maintainer -- & {\tt\tiny [Please, try to help to find someone.]} & ~ \\
\hline
Romanian & Ionut Dumitrascu & {\tt\tiny reddumy at yahoo dot com} & 1.6.0 \\
~ & Alexandru Iosup & {\tt\tiny aiosup at yahoo dot com} & ~ \\
......
......@@ -111,6 +111,7 @@ Krzysztof Kral: krzysztof dot kral at gmail dot com
TranslatorPortuguese
Rui Godinho Lopes: [resigned] rgl at ruilopes dot com
-- searching for the maintainer --: [Please, try to help to find someone.]
TranslatorRomanian
Ionut Dumitrascu: reddumy at yahoo dot com
......
......@@ -59,7 +59,9 @@
2010/08/20 - maintainers.txt to UTF-8, related processin of unicode strings
- [any mark] introduced instead of [unreachable] only
- marks hihglighted in HTML
2010/09/30 - Highlighting in what will be the table in langhowto.html modified.
2010/08/30 - Highlighting in what will be the table in langhowto.html modified.
2010/09/27 - The underscore in \latexonly part of the generated language.doc
was prefixed by backslash (was LaTeX related error).
"""
from __future__ import generators
......@@ -1955,12 +1957,12 @@ class TrManager:
if obj.status == 'En':
# Check whether there is the coupled non-English.
classId = obj.classId[:-2]
if self.__translDic.has_key(classId):
if classId in self.__translDic:
langNE = self.__translDic[classId].langReadable
maintainer = u'see the %s language' % langNE
email = u'~'
if not maintainer and self.__maintainersDic.has_key(obj.classId):
if not maintainer and (obj.classId in self.__maintainersDic):
lm = [ m[0] for m in self.__maintainersDic[obj.classId] ]
maintainer = maintainers[0][0]
email = maintainers[0][1]
......@@ -1969,8 +1971,11 @@ class TrManager:
# Use the template to produce the line of the table and insert
# the hline plus the constructed line into the table content.
# The underscore character must be escaped.
trlst.append(u'\n \\hline')
trlst.append(latexLineTpl % (lang, maintainer, email, status))
s = latexLineTpl % (lang, maintainer, email, status)
s = s.replace(u'_', u'\\_')
trlst.append(s)
# List the other maintainers for the language. Do not set
# lang and status for them.
......@@ -1979,7 +1984,9 @@ class TrManager:
for m in maintainers[1:]:
maintainer = m[0]
email = m[1]
trlst.append(latexLineTpl % (lang, maintainer, email, status))
s = latexLineTpl % (lang, maintainer, email, status)
s = s.replace(u'_', u'\\_')
trlst.append(s)
# Join the table lines and insert into the template.
latexTable = latexTableTpl % (u''.join(trlst))
......
......@@ -10,7 +10,7 @@ Persian, Polish, Portuguese, Romanian, Russian, Serbian,
SerbianCyrilic, Slovak, Slovene, Spanish, Swedish, Turkish, Ukrainian,
and Vietnamese.
Of them, 11 translators are up-to-date, 27 translators are based on
Of them, 12 translators are up-to-date, 26 translators are based on
some adapter class, and 2 are English based.
----------------------------------------------------------------------
......@@ -24,6 +24,7 @@ still may be some details listed even for them:
TranslatorCzech
TranslatorDutch
TranslatorEnglish
TranslatorEsperanto
TranslatorGreek
TranslatorKorean -- Change the base class to Translator.
TranslatorPersian -- The MAX_DOT_GRAPH_HEIGHT found in trLegendDocs()
......@@ -42,7 +43,6 @@ must be implemented to become up-to-date:
TranslatorFrench 1.6.3 4 methods to implement (1 %)
Note: Reimplementation using UTF-8 suggested.
TranslatorEsperanto 1.6.3 4 methods to implement (1 %)
TranslatorCatalan 1.6.3 4 methods to implement (1 %)
TranslatorVietnamese 1.6.0 9 methods to implement (4 %)
TranslatorSwedish 1.6.0 9 methods to implement (4 %)
......@@ -288,19 +288,6 @@ TranslatorDanish (TranslatorAdapter_1_5_4) 31 methods to implement (13 %)
virtual QCString trSubprogramDocumentation()
TranslatorEsperanto (TranslatorAdapter_1_6_3) 4 methods to implement (1 %)
-------------------
Implements 221 of the required methods (98 %).
Missing methods (should be implemented):
virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime)
virtual QCString trFileIn(const char * name)
virtual QCString trDirDependency(const char * name)
virtual QCString trIncludesFileIn(const char * name)
TranslatorFinnish (TranslatorAdapter_1_6_0) 9 methods to implement (4 %)
-----------------
......
......@@ -211,7 +211,7 @@ static DocCmdMap docCmdMap[] =
{ "copydetails", 0, TRUE },
{ "date", 0, TRUE },
{ "dotfile", 0, TRUE },
{ "htmlinclude", 0, TRUE },
{ "htmlinclude", 0, FALSE },
{ "image", 0, TRUE },
{ "include", 0, TRUE },
{ "includelineno", 0, TRUE },
......@@ -236,7 +236,7 @@ static DocCmdMap docCmdMap[] =
{ "throw", 0, TRUE },
{ "throws", 0, TRUE },
{ "until", 0, TRUE },
{ "verbinclude", 0, TRUE },
{ "verbinclude", 0, FALSE },
{ "version", 0, TRUE },
{ "warning", 0, TRUE },
{ 0, 0, FALSE }
......@@ -720,6 +720,7 @@ static inline void setOutput(OutputContext ctx)
else
{
pOutputString = &current->doc;
inContext = OutputDoc; // need to switch to detailed docs, see bug 631380
}
break;
case OutputXRef:
......@@ -2556,7 +2557,7 @@ bool parseCommentBlock(/* in */ ParserInterface *parser,
newEntryNeeded = needNewEntry;
// if we did not proceed during this call, it does not make
// sence to continue, since we get stuck. See bug 567346 for situations
// sense to continue, since we get stuck. See bug 567346 for situations
// were this happens
if (parseMore && position==inputPosition) parseMore=FALSE;
......
......@@ -555,8 +555,9 @@ If the value of the INPUT tag contains directories, you can use the
FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
and *.h) to filter out the source-files in the directories. If left
blank the following patterns are tested:
*.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
*.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
*.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
*.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
*.f90 *.f *.vhd *.vhdl
'>
<value name='*.c'/>
<value name='*.cc'/>
......@@ -984,6 +985,24 @@ not supported properly for IE 6.0, but are supported on all modern browsers.
Note that when changing this option you need to delete any form_*.png files
in the HTML output before the changes have effect.
' defval='1' depends='GENERATE_HTML'/>
<option type='bool' id='USE_MATHJAX' docs='
Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
(see http://www.mathjax.org) which uses client side Javascript for the
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
output. When enabled you also need to install MathJax separately and
configure the path to it using the MATHJAX_RELPATH option.
' defval='0'/>
<option type='string' id='MATHJAX_RELPATH' docs='
When MathJax is enabled you need to specify the location relative to the
HTML output directory using the MATHJAX_RELPATH option. The destination
directory should contain the MathJax.js script. For instance, if the mathjax
directory is located at the same level as the HTML output directory, then
MATHJAX_RELPATH should be ../mathjax. The default value points to the
mathjax.org site, so you can quickly see the result without installing
MathJax, but it is strongly recommended to install a local copy of MathJax
before deployment.
' defval='http://www.mathjax.org/mathjax'/>
<option type='bool' id='SEARCHENGINE' docs='
When the SEARCHENGINE tag is enabled doxygen will generate a search box
for the HTML output. The underlying search engine uses javascript
......
......@@ -402,7 +402,7 @@ void addConfigOptions(Config *cfg)
"causing a significant performance penality.\n"
"If the system has enough physical memory increasing the cache will improve the\n"
"performance by keeping more symbols in memory. Note that the value works on\n"
"a logarithmic scale so increasing the size by one will rougly double the\n"
"a logarithmic scale so increasing the size by one will roughly double the\n"
"memory usage. The cache size is given by this formula:\n"
"2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,\n"
"corresponding to a cache size of 2^16 = 65536 symbols",
......@@ -801,8 +801,9 @@ void addConfigOptions(Config *cfg)
"FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp\n"
"and *.h) to filter out the source-files in the directories. If left\n"
"blank the following patterns are tested:\n"
"*.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx\n"
"*.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90"
"*.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh\n"
"*.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py\n"
"*.f90 *.f *.vhd *.vhdl"
);
cl->addValue("*.c");
cl->addValue("*.cc");
......@@ -1460,6 +1461,29 @@ void addConfigOptions(Config *cfg)
);
cb->addDependency("GENERATE_HTML");
//----
cb = cfg->addBool(
"USE_MATHJAX",
"Enable the USE_MATHJAX option to render LaTeX formulas using MathJax\n"
"(see http://www.mathjax.org) which uses client side Javascript for the\n"
"rendering instead of using prerendered bitmaps. Use this if you do not\n"
"have LaTeX installed or if you want to formulas look prettier in the HTML\n"
"output. When enabled you also need to install MathJax separately and\n"
"configure the path to it using the MATHJAX_RELPATH option.",
FALSE
);
//----
cs = cfg->addString(
"MATHJAX_RELPATH",
"When MathJax is enabled you need to specify the location relative to the\n"
"HTML output directory using the MATHJAX_RELPATH option. The destination\n"
"directory should contain the MathJax.js script. For instance, if the mathjax\n"
"directory is located at the same level as the HTML output directory, then\n"
"MATHJAX_RELPATH should be ../mathjax. The default value points to the mathjax.org site, so you can quickly see the result without installing\n"
"MathJax, but it is strongly recommended to install a local copy of MathJax\n"
"before deployment."
);
cs->setDefaultValue("http://www.mathjax.org/mathjax");
//----
cb = cfg->addBool(
"SEARCHENGINE",
"When the SEARCHENGINE tag is enabled doxygen will generate a search box\n"
......@@ -1480,7 +1504,7 @@ void addConfigOptions(Config *cfg)
"using Javascript. Doxygen will generate the search PHP script and index\n"
"file to put on the web server. The advantage of the server\n"
"based approach is that it scales better to large projects and allows\n"
"full text search. The disadvances is that it is more difficult to setup\n"
"full text search. The disadvantages are that it is more difficult to setup\n"
"and does not have live searching capabilities.",
FALSE
);
......
......@@ -8628,6 +8628,7 @@ static void parseFiles(Entry *root,EntryNav *rootNav)
static QCString resolveSymlink(QCString path)
{
int sepPos=0;
int oldPos=0;
QFileInfo fi;
QDict<void> nonSymlinks;
QDict<void> known;
......@@ -8651,7 +8652,8 @@ static QCString resolveSymlink(QCString path)
if (fi.isSymLink())
{
QString target = fi.readLink();
if (QFileInfo(target).isRelative())
bool isRelative = QFileInfo(target).isRelative();
if (isRelative)
{
target = QDir::cleanDirPath(oldPrefix+"/"+target.data());
}
......@@ -8667,13 +8669,23 @@ static QCString resolveSymlink(QCString path)
sepPos = 0;
if (known.find(result)) return QCString(); // recursive symlink!
known.insert(result,(void*)0x8);
if (isRelative)
{
sepPos = oldPos;
}
else // link to absolute path
{
sepPos = 0;
oldPrefix = "/";
}
}
else
{
nonSymlinks.insert(prefix,(void*)0x8);
}
oldPrefix = prefix;
}
oldPos = sepPos;
}
}
while (sepPos!=-1);
return QDir::cleanDirPath(result).data();
......@@ -10473,7 +10485,8 @@ void generateOutput()
//writeDirDependencyGraph(Config_getString("HTML_OUTPUT"));
if (Doxygen::formulaList.count()>0 && Config_getBool("GENERATE_HTML"))
if (Doxygen::formulaList.count()>0 && Config_getBool("GENERATE_HTML")
&& !Config_getBool("USE_MATHJAX"))
{
msg("Generating bitmaps for formulas in HTML...\n");
Doxygen::formulaList.generateBitmaps(Config_getString("HTML_OUTPUT"));
......
......@@ -490,6 +490,26 @@ void HtmlDocVisitor::visit(DocFormula *f)
forceEndParagraph(f);
m_t << "<p class=\"formulaDsp\">" << endl;
}
if (Config_getBool("USE_MATHJAX"))
{
QCString text = f->text();
bool closeInline = FALSE;
if (!bDisplay && !text.isEmpty() && text.at(0)=='$' &&
text.at(text.length()-1)=='$')
{
closeInline=TRUE;
text = text.mid(1,text.length()-2);
m_t << "\\(";
}
m_t << convertToHtml(text);
if (closeInline)
{
m_t << "\\)";
}
}
else
{
m_t << "<img class=\"formula"
<< (bDisplay ? "Dsp" : "Inl");
m_t << "\" alt=\"";
......@@ -498,6 +518,8 @@ void HtmlDocVisitor::visit(DocFormula *f)
/// @todo cache image dimensions on formula generation and give height/width
/// for faster preloading and better rendering of the page
m_t << " src=\"" << f->relPath() << f->name() << ".png\"/>";
}
if (bDisplay)
{
m_t << endl << "</p>" << endl;
......
......@@ -902,6 +902,24 @@ static void writeDefaultHeaderFile(FTextStream &t, const char *title,
t << "<link href=\"" << relPathStr << "search/search.css\" rel=\"stylesheet\" type=\"text/css\"/>\n";
t << "<script type=\"text/javaScript\" src=\"" << relPathStr << "search/search.js\"></script>\n";
}
if (Config_getBool("USE_MATHJAX"))
{
QCString path = Config_getString("MATHJAX_RELPATH");
if (!path.isEmpty() && path.at(path.length()-1)!='/')
{
path+="/";
}
if (path.isEmpty() || path.left(2)=="..") // relative path
{
path.prepend(relPathStr);
}
t << "<script src=\"" << path << "MathJax.js\">\n";
t << " MathJax.Hub.Config({\n";
t << " extensions: [\"tex2jax.js\"],\n";
t << " jax: [\"input/TeX\",\"output/HTML-CSS\"],\n";
t << "});\n";
t << "</script>\n";
}
t << "<link ";
t << "href=\"";
if (Config_getString("HTML_STYLESHEET").isEmpty())
......
......@@ -483,6 +483,7 @@ void HtmlHelp::createProjectFile()
t << s << endl;
s = indexFiles.next();
}
// items not found by the html help compiler scan.
t << "tabs.css" << endl;
t << "tab_a.png" << endl;
t << "tab_b.png" << endl;
......@@ -490,10 +491,11 @@ void HtmlHelp::createProjectFile()
t << "tab_s.png" << endl;
t << "nav_h.png" << endl;
t << "nav_f.png" << endl;
t << "bc_s.png" << endl;
if (Config_getBool("HTML_DYNAMIC_SECTIONS"))
{
t << "open.gif" << endl;
t << "closed.gif" << endl;
t << "open.png" << endl;
t << "closed.png" << endl;
}
f.close();
}
......
......@@ -1411,6 +1411,10 @@ void LatexDocVisitor::startDotFile(const QCString &fileName,
{
m_t << "[height=" << height << "]";
}
else
{
m_t << "[width=\\textwidth]";
}
m_t << "{" << baseName << "}";
if (hasCaption)
......@@ -1474,6 +1478,10 @@ void LatexDocVisitor::startMscFile(const QCString &fileName,
{
m_t << "[height=" << height << "]";
}
else
{
m_t << "[width=\\textwidth]";
}
m_t << "{" << baseName << "}";
if (hasCaption)
......
......@@ -1863,6 +1863,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
}
}
<SkipCommand>"endif" {
g_expectGuard = FALSE;
decrLevel();
if (--g_ifcount<0)
{
......@@ -2629,7 +2630,7 @@ void preprocessFile(const char *fileName,BufStr &input,BufStr &output)
BEGIN( Start );
g_expectGuard = TRUE;
g_expectGuard = guessSection(fileName)==Entry::HEADER_SEC;
g_lastGuardName.resize(0);
g_guardExpr.resize(0);
......
......@@ -15,6 +15,8 @@
*
*/
/* Tradukita kaj ĝisdatigata de Ander Martinez. */
#ifndef TRANSLATOR_EO_H
#define TRANSLATOR_EO_H
......@@ -40,7 +42,7 @@
Translator class (by the local maintainer) when the localized
translator is made up-to-date again.
*/
class TranslatorEsperanto : public TranslatorAdapter_1_6_3
class TranslatorEsperanto : public Translator
{
public:
......@@ -1809,6 +1811,70 @@ class TranslatorEsperanto : public TranslatorAdapter_1_6_3
return "Nenia kongruo";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.6.3 (missing items for the directory pages)
//////////////////////////////////////////////////////////////////////////
/*! introduction text for the directory dependency graph */
virtual QCString trDirDependency(const char *name)
{
return (QCString)"Diagramo de dependecoj dosierujaj por "+name;
}
/*! when clicking a directory dependency label, a page with a
* table is shown. The heading for the first column mentions the
* source file that has a relation to another file.
*/
virtual QCString trFileIn(const char *name)
{
return (QCString)"Dosiero en "+name;
}
/*! when clicking a directory dependency label, a page with a
* table is shown. The heading for the second column mentions the
* destination file that is included.
*/
virtual QCString trIncludesFileIn(const char *name)
{
return (QCString)"Inkluzivas dosieron en "+name;
}
/** Compiles a date string.
* @param year Year in 4 digits
* @param month Month of the year: 1=January
* @param day Day of the Month: 1..31
* @param dayOfWeek Day of the week: 1=Monday..7=Sunday
* @param hour Hour of the day: 0..23
* @param minutes Minutes in the hour: 0..59
* @param seconds Seconds within the minute: 0..59
* @param includeTime Include time in the result string?
*/
virtual QCString trDateTime(int year,int month,int day,int dayOfWeek,
int hour,int minutes,int seconds,
bool includeTime)
{
static const char *days[] = { "lundo","mardo","merkredo",
"ĵaŭdo","vendredo","sabato",
"dimanĉo" };
static const char *months[] = { "Januaro", "Februaro", "Marto",
"Aprilo", "Majo", "Junio",
"Julio", "Aŭgusto", "Septembro",
"Oktobro", "Novembro",
"Decembro"
};
QCString sdate;
sdate.sprintf("%s, %d-a de %s %d",days[dayOfWeek-1],day,months[month-1],year);
if (includeTime)
{
QCString stime;
stime.sprintf(" %.2d:%.2d:%.2d",hour,minutes,seconds);
sdate+=stime;
}
return sdate;
}
};
#endif
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