Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
doxverilog
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
doxverilog
Commits
7a3de4c3
Commit
7a3de4c3
authored
May 22, 2009
by
dimitri
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.5.9-20090522
parent
c34e05f1
Changes
51
Show whitespace changes
Inline
Side-by-side
Showing
51 changed files
with
1378 additions
and
513 deletions
+1378
-513
INSTALL
INSTALL
+2
-2
README
README
+2
-2
doxywizard.cpp
addon/doxywizard/doxywizard.cpp
+2
-2
commands.doc
doc/commands.doc
+52
-19
diagrams.doc
doc/diagrams.doc
+1
-1
index.doc
doc/index.doc
+2
-6
language.doc
doc/language.doc
+38
-35
language.tpl
doc/language.tpl
+3
-1
maintainers.txt
doc/maintainers.txt
+1
-0
output.doc
doc/output.doc
+1
-1
translator.py
doc/translator.py
+12
-11
translator_report.txt
doc/translator_report.txt
+8
-60
classdef.cpp
src/classdef.cpp
+25
-16
commentcnv.l
src/commentcnv.l
+8
-1
definition.cpp
src/definition.cpp
+2
-1
diagram.cpp
src/diagram.cpp
+2
-2
dirdef.cpp
src/dirdef.cpp
+13
-8
docparser.h
src/docparser.h
+6
-0
dot.cpp
src/dot.cpp
+73
-71
doxygen.css
src/doxygen.css
+50
-0
doxygen_css.h
src/doxygen_css.h
+50
-0
filedef.cpp
src/filedef.cpp
+11
-9
formula.cpp
src/formula.cpp
+0
-1
ftvhelp.cpp
src/ftvhelp.cpp
+15
-11
ftvhelp.h
src/ftvhelp.h
+2
-2
groupdef.cpp
src/groupdef.cpp
+17
-10
htmldocvisitor.cpp
src/htmldocvisitor.cpp
+419
-54
htmldocvisitor.h
src/htmldocvisitor.h
+4
-0
htmlgen.cpp
src/htmlgen.cpp
+72
-57
htmlgen.h
src/htmlgen.h
+13
-9
index.cpp
src/index.cpp
+55
-15
latexgen.cpp
src/latexgen.cpp
+1
-0
latexgen.h
src/latexgen.h
+6
-2
mangen.cpp
src/mangen.cpp
+12
-3
mangen.h
src/mangen.h
+9
-3
memberdef.cpp
src/memberdef.cpp
+47
-24
msc.cpp
src/msc.cpp
+1
-1
namespacedef.cpp
src/namespacedef.cpp
+12
-8
outputgen.h
src/outputgen.h
+16
-6
outputlist.h
src/outputlist.h
+18
-6
pagedef.cpp
src/pagedef.cpp
+1
-1
pre.l
src/pre.l
+7
-5
rtfgen.cpp
src/rtfgen.cpp
+14
-4
rtfgen.h
src/rtfgen.h
+8
-2
scanner.l
src/scanner.l
+5
-2
translator_en.h
src/translator_en.h
+13
-10
translator_pl.h
src/translator_pl.h
+221
-13
vhdlcode.l
src/vhdlcode.l
+2
-2
vhdldocgen.cpp
src/vhdldocgen.cpp
+12
-9
vhdldocgen.h
src/vhdldocgen.h
+1
-1
vhdlscanner.l
src/vhdlscanner.l
+11
-4
No files found.
INSTALL
View file @
7a3de4c3
DOXYGEN Version 1.5.9
DOXYGEN Version 1.5.9
-20090522
Please read the installation section of the manual
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
(http://www.doxygen.org/install.html) for instructions.
--------
--------
Dimitri van Heesch (
30 April
2009)
Dimitri van Heesch (
22 May
2009)
README
View file @
7a3de4c3
DOXYGEN Version 1.5.9
DOXYGEN Version 1.5.9
_20090522
Please read INSTALL for compilation instructions.
Please read INSTALL for compilation instructions.
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (
30 April
2009)
Dimitri van Heesch (dimitri@stack.nl) (
22 May
2009)
addon/doxywizard/doxywizard.cpp
View file @
7a3de4c3
...
@@ -8,8 +8,8 @@ const int messageTimeout = 5000; //!< status bar message timeout in millisec.
...
@@ -8,8 +8,8 @@ const int messageTimeout = 5000; //!< status bar message timeout in millisec.
MainWindow
&
MainWindow
::
instance
()
MainWindow
&
MainWindow
::
instance
()
{
{
static
MainWindow
theInstance
;
static
MainWindow
*
theInstance
=
new
MainWindow
;
return
theInstance
;
return
*
theInstance
;
}
}
MainWindow
::
MainWindow
()
MainWindow
::
MainWindow
()
...
...
doc/commands.doc
View file @
7a3de4c3
...
@@ -181,9 +181,14 @@ documentation:
...
@@ -181,9 +181,14 @@ documentation:
The following subsections provide a list of all commands that are recognized by
The following subsections provide a list of all commands that are recognized by
doxygen. Unrecognized commands are treated as normal text.
doxygen. Unrecognized commands are treated as normal text.
<h2>\htmlonly <center> --- \endhtmlonly
Structural indicators
\htmlonly <center> \endhtmlonly
\htmlonly --- </center>\endhtmlonly</h2>
<h2>
\htmlonly --- \endhtmlonly
Structural indicators
\htmlonly --- \endhtmlonly
</h2>
\htmlonly </center> \endhtmlonly
\section cmdaddtogroup \\addtogroup <name> [(title)]
\section cmdaddtogroup \\addtogroup <name> [(title)]
\addindex \\addtogroup
\addindex \\addtogroup
...
@@ -383,6 +388,7 @@ doxygen. Unrecognized commands are treated as normal text.
...
@@ -383,6 +388,7 @@ doxygen. Unrecognized commands are treated as normal text.
(e.g. C).
(e.g. C).
The file \c manual.c in the example directory shows how to use this command.
The file \c manual.c in the example directory shows how to use this command.
\htmlonly
\htmlonly
Click <a href="$(DOXYGEN_DOCDIR)/examples/manual/html/index.html">here</a>
Click <a href="$(DOXYGEN_DOCDIR)/examples/manual/html/index.html">here</a>
for the corresponding HTML documentation that is generated by doxygen.
for the corresponding HTML documentation that is generated by doxygen.
...
@@ -484,6 +490,7 @@ doxygen. Unrecognized commands are treated as normal text.
...
@@ -484,6 +490,7 @@ doxygen. Unrecognized commands are treated as normal text.
(e.g. C).
(e.g. C).
The file \c manual.c in the example directory shows how to use this command.
The file \c manual.c in the example directory shows how to use this command.
\htmlonly
\htmlonly
Click <a href="$(DOXYGEN_DOCDIR)/examples/manual/html/index.html">here</a>
Click <a href="$(DOXYGEN_DOCDIR)/examples/manual/html/index.html">here</a>
for the corresponding HTML documentation that is generated by doxygen.
for the corresponding HTML documentation that is generated by doxygen.
...
@@ -581,6 +588,7 @@ doxygen. Unrecognized commands are treated as normal text.
...
@@ -581,6 +588,7 @@ doxygen. Unrecognized commands are treated as normal text.
\ref cmdprivate "\\private".
\ref cmdprivate "\\private".
The file \c manual.c in the example directory shows how to use this command.
The file \c manual.c in the example directory shows how to use this command.
\htmlonly
\htmlonly
Click <a href="$(DOXYGEN_DOCDIR)/examples/manual/html/index.html">here</a>
Click <a href="$(DOXYGEN_DOCDIR)/examples/manual/html/index.html">here</a>
for the corresponding HTML documentation that is generated by doxygen.
for the corresponding HTML documentation that is generated by doxygen.
...
@@ -856,9 +864,13 @@ doxygen. Unrecognized commands are treated as normal text.
...
@@ -856,9 +864,13 @@ doxygen. Unrecognized commands are treated as normal text.
<hr>
<hr>
<h2>\htmlonly <center> --- \endhtmlonly
\htmlonly <center> \endhtmlonly
Section indicators
<h2>
\htmlonly --- </center>\endhtmlonly</h2>
\htmlonly --- \endhtmlonly
Section indicators
\htmlonly --- \endhtmlonly
</h2>
\htmlonly </center>\endhtmlonly
<hr>
<hr>
\section cmdattention \\attention { attention text }
\section cmdattention \\attention { attention text }
...
@@ -1125,7 +1137,9 @@ class Example
...
@@ -1125,7 +1137,9 @@ class Example
{
{
};
};
\endverbatim
\endverbatim
<p>Where the following aliases are defined in the configuration file:<p>
Where the following aliases are defined in the configuration file:
\verbatim
\verbatim
ALIASES = "english=\if english" \
ALIASES = "english=\if english" \
"endenglish=\endif" \
"endenglish=\endif" \
...
@@ -1442,9 +1456,14 @@ void memcpy(void *dest, const void *src, size_t n);
...
@@ -1442,9 +1456,14 @@ void memcpy(void *dest, const void *src, size_t n);
\\xrefitem command.
\\xrefitem command.
<hr>
<hr>
<h2>\htmlonly <center> --- \endhtmlonly
Commands to create links
\htmlonly <center> \endhtmlonly
\htmlonly --- </center>\endhtmlonly</h2>
<h2>
\htmlonly --- \endhtmlonly
Commands to create links
\htmlonly --- \endhtmlonly
</h2>
\htmlonly </center>\endhtmlonly
\section cmdaddindex \\addindex (text)
\section cmdaddindex \\addindex (text)
...
@@ -1617,9 +1636,13 @@ Make sure you have first read \ref intro "the introduction".
...
@@ -1617,9 +1636,13 @@ Make sure you have first read \ref intro "the introduction".
<hr>
<hr>
<h2>\htmlonly <center> --- \endhtmlonly
\htmlonly <center> \endhtmlonly
Commands for displaying examples
<h2>
\htmlonly --- </center>\endhtmlonly</h2>
\htmlonly --- \endhtmlonly
Commands for displaying examples
\htmlonly --- \endhtmlonly
</h2>
\htmlonly </center>\endhtmlonly
\section cmddontinclude \\dontinclude <file-name>
\section cmddontinclude \\dontinclude <file-name>
...
@@ -1786,9 +1809,14 @@ Make sure you have first read \ref intro "the introduction".
...
@@ -1786,9 +1809,14 @@ Make sure you have first read \ref intro "the introduction".
\ref cfg_example_path "EXAMPLE_PATH" tag of doxygen's configuration file.
\ref cfg_example_path "EXAMPLE_PATH" tag of doxygen's configuration file.
<hr>
<hr>
<h2>\htmlonly <center> --- \endhtmlonly
Commands for visual enhancements
\htmlonly <center> \endhtmlonly
\htmlonly --- </center>\endhtmlonly</h2>
<h2>
\htmlonly --- \endhtmlonly
Commands for visual enhancements
\htmlonly --- \endhtmlonly
</h2>
\htmlonly </center>\endhtmlonly
\section cmda \\a <word>
\section cmda \\a <word>
...
@@ -2432,11 +2460,16 @@ class Receiver
...
@@ -2432,11 +2460,16 @@ class Receiver
character has to be escaped in some cases, because it is used to
character has to be escaped in some cases, because it is used to
prevent auto-linking to word that is also a documented class or struct.
prevent auto-linking to word that is also a documented class or struct.
<h2>\htmlonly <center> --- \endhtmlonly
Commands included for Qt compatibility
\htmlonly --- </center>\endhtmlonly</h2>
<hr>
<hr>
\htmlonly <center> \endhtmlonly
<h2>
\htmlonly --- \endhtmlonly
Commands included for Qt compatibility
\htmlonly --- \endhtmlonly
</h2>
\htmlonly </center>\endhtmlonly
The following commands are supported to remain compatible to the Qt class
The following commands are supported to remain compatible to the Qt class
browser generator. Do \e not use these commands in your own documentation.
browser generator. Do \e not use these commands in your own documentation.
<ul>
<ul>
...
...
doc/diagrams.doc
View file @
7a3de4c3
...
@@ -135,7 +135,7 @@ that doxygen can generate:
...
@@ -135,7 +135,7 @@ that doxygen can generate:
\htmlonly
\htmlonly
Click <a href="$(DOXYGEN_DOCDIR)/examples/diagrams/html/index.html">here</a>
Click <a href="$(DOXYGEN_DOCDIR)/examples/diagrams/html/index.html">here</a>
for the corresponding HTML documentation that is generated by doxygen<br>
for the corresponding HTML documentation that is generated by doxygen<br
/
>
(<code>EXTRACT_ALL</code> = <code>YES</code> is used here).
(<code>EXTRACT_ALL</code> = <code>YES</code> is used here).
\endhtmlonly
\endhtmlonly
...
...
doc/index.doc
View file @
7a3de4c3
...
@@ -18,8 +18,7 @@
...
@@ -18,8 +18,7 @@
\if logo_on
\if logo_on
<center>
<center>
\htmlonly
\htmlonly
<img align=center lowsrc="doxygen_logo_low.gif" src="doxygen_logo.gif"
<img src="doxygen_logo.gif" width="634" height="197" alt="doxygen"/><br/>
width=634 height=197 alt="doxygen"><br>
Version: $(VERSION)
Version: $(VERSION)
\endhtmlonly
\endhtmlonly
</center>
</center>
...
@@ -118,7 +117,7 @@ The third part provides information for developers:
...
@@ -118,7 +117,7 @@ The third part provides information for developers:
\addindex license
\addindex license
\addindex GPL
\addindex GPL
Copyright © 1997-200
8
by
Copyright © 1997-200
9
by
<a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>.<p>
<a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>.<p>
Permission to use, copy, modify, and distribute this software and its
Permission to use, copy, modify, and distribute this software and its
...
@@ -177,7 +176,6 @@ Thanks go to:
...
@@ -177,7 +176,6 @@ Thanks go to:
given me a good start in writing doxygen.
given me a good start in writing doxygen.
<li>All people at Qt Software, for creating a beautiful GUI Toolkit
<li>All people at Qt Software, for creating a beautiful GUI Toolkit
(which is very useful as a Windows/Unix platform abstraction layer :-)
(which is very useful as a Windows/Unix platform abstraction layer :-)
<li>Kevin McBride for maintaining the subversion reporsitory for doxygen.
<li>My brother Frank
<li>My brother Frank
for rendering the logos.
for rendering the logos.
<li>Harm van der Heijden for adding HTML help support.
<li>Harm van der Heijden for adding HTML help support.
...
@@ -187,8 +185,6 @@ Thanks go to:
...
@@ -187,8 +185,6 @@ Thanks go to:
<li>Parker Waechter for adding the RTF output generator.
<li>Parker Waechter for adding the RTF output generator.
<li>Joerg Baumann, for adding conditional documentation blocks,
<li>Joerg Baumann, for adding conditional documentation blocks,
PDF links, and the configuration generator.
PDF links, and the configuration generator.
<li>Matthias Andree for providing a .spec script for building rpms from the
sources.
<li>Tim Mensch for adding the todo command.
<li>Tim Mensch for adding the todo command.
<li>Christian Hammond for redesigning the web-site.
<li>Christian Hammond for redesigning the web-site.
<li>Ken Wong for providing the HTML tree view code.
<li>Ken Wong for providing the HTML tree view code.
...
...
doc/language.doc
View file @
7a3de4c3
...
@@ -23,7 +23,7 @@ text fragments, generated by doxygen, can be produced in languages other
...
@@ -23,7 +23,7 @@ text fragments, generated by doxygen, can be produced in languages other
than English (the default). The output language is chosen through the
than English (the default). The output language is chosen through the
configuration file (with default name and known as Doxyfile).
configuration file (with default name and known as Doxyfile).
Currently (version 1.5.
8
), 38 languages
Currently (version 1.5.
9
), 38 languages
are supported (sorted alphabetically):
are supported (sorted alphabetically):
Afrikaans, Arabic, Brazilian Portuguese, Catalan, Chinese, Chinese
Afrikaans, Arabic, Brazilian Portuguese, Catalan, Chinese, Chinese
Traditional, Croatian, Czech, Danish, Dutch, English, Esperanto,
Traditional, Croatian, Czech, Danish, Dutch, English, Esperanto,
...
@@ -39,16 +39,16 @@ was generated from sources and shows approximately the last version
...
@@ -39,16 +39,16 @@ was generated from sources and shows approximately the last version
when the translator was updated.
when the translator was updated.
\htmlonly
\htmlonly
<table align=
center cellspacing=0 cellpadding=0 border=0
>
<table align=
"center" cellspacing="0" cellpadding="0" border="0"
>
<tr bgcolor="#000000">
<tr bgcolor="#000000">
<td>
<td>
<table cellspacing=
1 cellpadding=2 border=0
>
<table cellspacing=
"1" cellpadding="2" border="0"
>
<tr bgcolor="#4040c0">
<tr bgcolor="#4040c0">
<td ><b><font size=
+1
color="#ffffff"> Language </font></b></td>
<td ><b><font size=
"+1"
color="#ffffff"> Language </font></b></td>
<td ><b><font size=
+1
color="#ffffff"> Maintainer </font></b></td>
<td ><b><font size=
"+1"
color="#ffffff"> Maintainer </font></b></td>
<td ><b><font size=
+1
color="#ffffff"> Contact address </font>
<td ><b><font size=
"+1"
color="#ffffff"> Contact address </font>
<font size=
-2
color="#ffffff">(replace the at and dot)</font></b></td>
<font size=
"-2"
color="#ffffff">(replace the at and dot)</font></b></td>
<td ><b><font size=
+1
color="#ffffff"> Status </font></b></td>
<td ><b><font size=
"+1"
color="#ffffff"> Status </font></b></td>
</tr>
</tr>
<!-- table content begin -->
<!-- table content begin -->
...
@@ -72,20 +72,20 @@ when the translator was updated.
...
@@ -72,20 +72,20 @@ when the translator was updated.
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
<td>Catalan</td>
<td>Catalan</td>
<td>Maximiliano Pin<br>Albert Mora</td>
<td>Maximiliano Pin<br
/
>Albert Mora</td>
<td>max.pin at bitroit dot com<br>amora at iua dot upf dot es</td>
<td>max.pin at bitroit dot com<br
/
>amora at iua dot upf dot es</td>
<td>up-to-date</td>
<td>up-to-date</td>
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
<td>Chinese</td>
<td>Chinese</td>
<td>Li Daobing<br>Wei Liu</td>
<td>Li Daobing<br
/
>Wei Liu</td>
<td>lidaobing at gmail dot com<br>liuwei at asiainfo dot com</td>
<td>lidaobing at gmail dot com<br
/
>liuwei at asiainfo dot com</td>
<td>up-to-date</td>
<td>up-to-date</td>
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
<td>Chinese Traditional</td>
<td>Chinese Traditional</td>
<td>Daniel YC Lin<br>Gary Lee</td>
<td>Daniel YC Lin<br
/
>Gary Lee</td>
<td>dlin.tw at gmail dot com<br>garywlee at gmail dot com</td>
<td>dlin.tw at gmail dot com<br
/
>garywlee at gmail dot com</td>
<td>up-to-date</td>
<td>up-to-date</td>
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
...
@@ -150,8 +150,8 @@ when the translator was updated.
...
@@ -150,8 +150,8 @@ when the translator was updated.
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
<td>Hungarian</td>
<td>Hungarian</td>
<td>Ákos Kiss<br>Földvári György</td>
<td>Ákos Kiss<br
/
>Földvári György</td>
<td>akiss at users dot sourceforge dot net<br>foldvari lost at cyberspace</td>
<td>akiss at users dot sourceforge dot net<br
/
>foldvari lost at cyberspace</td>
<td>1.4.6</td>
<td>1.4.6</td>
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
...
@@ -162,15 +162,15 @@ when the translator was updated.
...
@@ -162,15 +162,15 @@ when the translator was updated.
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
<td>Italian</td>
<td>Italian</td>
<td>Alessandro Falappa<br>Ahmed Aldo Faisal</td>
<td>Alessandro Falappa<br
/
>Ahmed Aldo Faisal</td>
<td>alessandro at falappa dot net<br>aaf23 at cam dot ac dot uk</td>
<td>alessandro at falappa dot net<br
/
>aaf23 at cam dot ac dot uk</td>
<td>up-to-date</td>
<td>up-to-date</td>
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
<td>Japanese</td>
<td>Japanese</td>
<td>
Ryunosuke Satoh<br>Kenji Nagamatsu<br
>Iwasa Kazmi</td>
<td>
Hiroki Iseri<br/>Ryunosuke Satoh<br/>Kenji Nagamatsu<br/
>Iwasa Kazmi</td>
<td>
sun594 at hotmail dot com<br>naga at joyful dot club dot ne dot jp<br
>iwasa at cosmo-system dot jp</td>
<td>
goyoki at gmail dot com<br/>sun594 at hotmail dot com<br/>naga at joyful dot club dot ne dot jp<br/
>iwasa at cosmo-system dot jp</td>
<td>
1.5.4
</td>
<td>
up-to-date
</td>
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
<td>JapaneseEn</td>
<td>JapaneseEn</td>
...
@@ -180,8 +180,8 @@ when the translator was updated.
...
@@ -180,8 +180,8 @@ when the translator was updated.
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
<td>Korean</td>
<td>Korean</td>
<td>Kim Taedong<br
>SooYoung Jung<br
>Richard Kim</td>
<td>Kim Taedong<br
/>SooYoung Jung<br/
>Richard Kim</td>
<td>fly1004 at gmail dot com<br
>jung5000 at gmail dot com<br
>ryk at dspwiz dot com</td>
<td>fly1004 at gmail dot com<br
/>jung5000 at gmail dot com<br/
>ryk at dspwiz dot com</td>
<td>up-to-date</td>
<td>up-to-date</td>
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
...
@@ -192,8 +192,8 @@ when the translator was updated.
...
@@ -192,8 +192,8 @@ when the translator was updated.
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
<td>Lithuanian</td>
<td>Lithuanian</td>
<td>Tomas Simonaitis<br
>Mindaugas Radzius<br
>Aidas Berukstis</td>
<td>Tomas Simonaitis<br
/>Mindaugas Radzius<br/
>Aidas Berukstis</td>
<td>haden at homelan dot lt<br
>mindaugasradzius at takas dot lt<br
>aidasber at takas dot lt</td>
<td>haden at homelan dot lt<br
/>mindaugasradzius at takas dot lt<br/
>aidasber at takas dot lt</td>
<td>1.4.6</td>
<td>1.4.6</td>
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
...
@@ -216,8 +216,8 @@ when the translator was updated.
...
@@ -216,8 +216,8 @@ when the translator was updated.
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
<td>Polish</td>
<td>Polish</td>
<td>Piotr Kaminski<br>Grzegorz Kowal</td>
<td>Piotr Kaminski<br
/
>Grzegorz Kowal</td>
<td>Piotr.Kaminski at ctm dot gdynia dot pl<br>g_kowal at poczta dot onet dot pl</td>
<td>Piotr.Kaminski at ctm dot gdynia dot pl<br
/
>g_kowal at poczta dot onet dot pl</td>
<td>1.4.6</td>
<td>1.4.6</td>
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
...
@@ -228,8 +228,8 @@ when the translator was updated.
...
@@ -228,8 +228,8 @@ when the translator was updated.
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
<td>Romanian</td>
<td>Romanian</td>
<td>Ionut Dumitrascu<br>Alexandru Iosup</td>
<td>Ionut Dumitrascu<br
/
>Alexandru Iosup</td>
<td>reddumy at yahoo dot com<br>aiosup at yahoo dot com</td>
<td>reddumy at yahoo dot com<br
/
>aiosup at yahoo dot com</td>
<td>up-to-date</td>
<td>up-to-date</td>
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
...
@@ -264,15 +264,15 @@ when the translator was updated.
...
@@ -264,15 +264,15 @@ when the translator was updated.
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
<td>Spanish</td>
<td>Spanish</td>
<td>Bartomeu<br
>Francisco Oltra Thennet<br
>David Vaquero</td>
<td>Bartomeu<br
/>Francisco Oltra Thennet<br/
>David Vaquero</td>
<td>bartomeu at loteria3cornella dot com<br
>foltra at puc dot cl<br
>david at grupoikusnet dot com</td>
<td>bartomeu at loteria3cornella dot com<br
/>foltra at puc dot cl<br/
>david at grupoikusnet dot com</td>
<td>up-to-date</td>
<td>up-to-date</td>
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
<td>Swedish</td>
<td>Swedish</td>
<td>Mikael Hallin</td>
<td>Mikael Hallin</td>
<td>mikaelhallin at yahoo dot se</td>
<td>mikaelhallin at yahoo dot se</td>
<td>
1.4.6
</td>
<td>
up-to-date
</td>
</tr>
</tr>
<tr bgcolor="#ffffff">
<tr bgcolor="#ffffff">
<td>Turkish</td>
<td>Turkish</td>
...
@@ -350,7 +350,8 @@ when the translator was updated.
...
@@ -350,7 +350,8 @@ when the translator was updated.
Italian & Alessandro Falappa & {\tt\tiny alessandro@falappa.net} & up-to-date \\
Italian & Alessandro Falappa & {\tt\tiny alessandro@falappa.net} & up-to-date \\
~ & Ahmed Aldo Faisal & {\tt\tiny aaf23@cam.ac.uk} & ~ \\
~ & Ahmed Aldo Faisal & {\tt\tiny aaf23@cam.ac.uk} & ~ \\
\hline
\hline
Japanese & Ryunosuke Satoh & {\tt\tiny sun594@hotmail.com} & 1.5.4 \\
Japanese & Hiroki Iseri & {\tt\tiny goyoki@gmail.com} & up-to-date \\
~ & Ryunosuke Satoh & {\tt\tiny sun594@hotmail.com} & ~ \\
~ & Kenji Nagamatsu & {\tt\tiny naga@joyful.club.ne.jp} & ~ \\
~ & Kenji Nagamatsu & {\tt\tiny naga@joyful.club.ne.jp} & ~ \\
~ & Iwasa Kazmi & {\tt\tiny iwasa@cosmo-system.jp} & ~ \\
~ & Iwasa Kazmi & {\tt\tiny iwasa@cosmo-system.jp} & ~ \\
\hline
\hline
...
@@ -394,7 +395,7 @@ when the translator was updated.
...
@@ -394,7 +395,7 @@ when the translator was updated.
~ & Francisco Oltra Thennet & {\tt\tiny foltra@puc.cl} & ~ \\
~ & Francisco Oltra Thennet & {\tt\tiny foltra@puc.cl} & ~ \\
~ & David Vaquero & {\tt\tiny david@grupoikusnet.com} & ~ \\
~ & David Vaquero & {\tt\tiny david@grupoikusnet.com} & ~ \\
\hline
\hline
Swedish & Mikael Hallin & {\tt\tiny mikaelhallin@yahoo.se} &
1.4.6
\\
Swedish & Mikael Hallin & {\tt\tiny mikaelhallin@yahoo.se} &
up-to-date
\\
\hline
\hline
Turkish & Emin Ilker Cetinbas & {\tt\tiny niw3@yahoo.com} & up-to-date \\
Turkish & Emin Ilker Cetinbas & {\tt\tiny niw3@yahoo.com} & up-to-date \\
\hline
\hline
...
@@ -623,7 +624,9 @@ script was developed (located in \c doxygen/doc directory).
...
@@ -623,7 +624,9 @@ script was developed (located in \c doxygen/doc directory).
It extracts the important information about obsolete and
It extracts the important information about obsolete and
new methods from the source files for each of the languages.
new methods from the source files for each of the languages.
The information is stored in the <em>translator report</em> ASCII file
The information is stored in the <em>translator report</em> ASCII file
(translator_report.txt). \htmlonly If you compiled this documentation
(translator_report.txt).
\htmlonly If you compiled this documentation
from sources and if you have also doxygen sources available the
from sources and if you have also doxygen sources available the
link <a href="../doc/translator_report.txt"
link <a href="../doc/translator_report.txt"
><code>doxygen/doc/translator_report.txt</code></a> should be valid.\endhtmlonly
><code>doxygen/doc/translator_report.txt</code></a> should be valid.\endhtmlonly
...
...
doc/language.tpl
View file @
7a3de4c3
...
@@ -255,7 +255,9 @@ script was developed (located in \c doxygen/doc directory).
...
@@ -255,7 +255,9 @@ script was developed (located in \c doxygen/doc directory).
It extracts the important information about obsolete and
It extracts the important information about obsolete and
new methods from the source files for each of the languages.
new methods from the source files for each of the languages.
The information is stored in the
<em>
translator report
</em>
ASCII file
The information is stored in the
<em>
translator report
</em>
ASCII file
(%(translatorReportFileName)s). \htmlonly If you compiled this documentation
(%(translatorReportFileName)s).
\htmlonly If you compiled this documentation
from sources and if you have also doxygen sources available the
from sources and if you have also doxygen sources available the
link %(translatorReportLink)s should be valid.\endhtmlonly
link %(translatorReportLink)s should be valid.\endhtmlonly
...
...
doc/maintainers.txt
View file @
7a3de4c3
...
@@ -99,6 +99,7 @@ Ali Nadalizadeh: nadalizadeh@gmail.com
...
@@ -99,6 +99,7 @@ Ali Nadalizadeh: nadalizadeh@gmail.com
TranslatorPolish
TranslatorPolish
Piotr Kaminski: Piotr.Kaminski@ctm.gdynia.pl
Piotr Kaminski: Piotr.Kaminski@ctm.gdynia.pl
Grzegorz Kowal: g_kowal@poczta.onet.pl
Grzegorz Kowal: g_kowal@poczta.onet.pl
Krzysztof Kral: krzysztof.kral@gmail.com
TranslatorPortuguese
TranslatorPortuguese
Rui Godinho Lopes: ruiglopes@yahoo.com
Rui Godinho Lopes: ruiglopes@yahoo.com
...
...
doc/output.doc
View file @
7a3de4c3
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
*/
*/
/*! \page output Output Formats
/*! \page output Output Formats
\section output Output Formats
\section output
_sec
Output Formats
\addindex output formats
\addindex output formats
...
...
doc/translator.py
View file @
7a3de4c3
...
@@ -49,6 +49,7 @@
...
@@ -49,6 +49,7 @@
2005/08/15 - Doxygen's root directory determined primarily from DOXYGEN
2005/08/15 - Doxygen's root directory determined primarily from DOXYGEN
environment variable. When not found, then relatively to the script.
environment variable. When not found, then relatively to the script.
2007/03/20 - The "translate me!" searched in comments and reported if found.
2007/03/20 - The "translate me!" searched in comments and reported if found.
2009/05/09 - Changed HTML output to make it confirm to XHTML DTD
"""
"""
from
__future__
import
generators
from
__future__
import
generators
...
@@ -1744,16 +1745,16 @@ class TrManager:
...
@@ -1744,16 +1745,16 @@ class TrManager:
# Define templates for HTML table parts of the documentation.
# Define templates for HTML table parts of the documentation.
htmlTableTpl
=
'''
\
htmlTableTpl
=
'''
\
\\
htmlonly
\\
htmlonly
<table align=
center cellspacing=0 cellpadding=0 border=0
>
<table align=
"center" cellspacing="0" cellpadding="0" border="0"
>
<tr bgcolor="#000000">
<tr bgcolor="#000000">
<td>
<td>
<table cellspacing=
1 cellpadding=2 border=0
>
<table cellspacing=
"1" cellpadding="2" border="0"
>
<tr bgcolor="#4040c0">
<tr bgcolor="#4040c0">
<td ><b><font size=
+1
color="#ffffff"> Language </font></b></td>
<td ><b><font size=
"+1"
color="#ffffff"> Language </font></b></td>
<td ><b><font size=
+1
color="#ffffff"> Maintainer </font></b></td>
<td ><b><font size=
"+1"
color="#ffffff"> Maintainer </font></b></td>
<td ><b><font size=
+1
color="#ffffff"> Contact address </font>
<td ><b><font size=
"+1"
color="#ffffff"> Contact address </font>
<font size=
-2
color="#ffffff">(replace the at and dot)</font></b></td>
<font size=
"-2"
color="#ffffff">(replace the at and dot)</font></b></td>
<td ><b><font size=
+1
color="#ffffff"> Status </font></b></td>
<td ><b><font size=
"+1"
color="#ffffff"> Status </font></b></td>
</tr>
</tr>
<!-- table content begin -->
<!-- table content begin -->
%
s
%
s
...
@@ -1792,20 +1793,20 @@ class TrManager:
...
@@ -1792,20 +1793,20 @@ class TrManager:
if
not
mm
and
self
.
__maintainersDic
.
has_key
(
obj
.
classId
):
if
not
mm
and
self
.
__maintainersDic
.
has_key
(
obj
.
classId
):
lm
=
[
m
[
0
]
for
m
in
self
.
__maintainersDic
[
obj
.
classId
]
]
lm
=
[
m
[
0
]
for
m
in
self
.
__maintainersDic
[
obj
.
classId
]
]
mm
=
'<br>'
.
join
(
lm
)
mm
=
'<br
/
>'
.
join
(
lm
)
le
=
[
m
[
1
]
for
m
in
self
.
__maintainersDic
[
obj
.
classId
]
]
le
=
[
m
[
1
]
for
m
in
self
.
__maintainersDic
[
obj
.
classId
]
]
ee
=
'<br>'
.
join
(
le
)
ee
=
'<br
/
>'
.
join
(
le
)
# Mangle the e-mail and replace the entity references.
# Mangle the e-mail and replace the entity references.
if
ee
and
ee
!=
' '
:
if
ee
and
ee
!=
' '
:
# More than one maintainer address separated by <br> can be used.
# More than one maintainer address separated by <br> can be used.
emails
=
ee
.
split
(
'<br>'
)
emails
=
ee
.
split
(
'<br
/
>'
)
mangled_list
=
[]
mangled_list
=
[]
for
email
in
emails
:
for
email
in
emails
:
name
,
domain
=
email
.
split
(
'@'
)
name
,
domain
=
email
.
split
(
'@'
)
domain
=
domain
.
replace
(
'.'
,
' dot '
)
domain
=
domain
.
replace
(
'.'
,
' dot '
)
mangled_list
.
append
(
name
+
' at '
+
domain
)
mangled_list
.
append
(
name
+
' at '
+
domain
)
ee
=
'<br>'
.
join
(
mangled_list
)
ee
=
'<br
/
>'
.
join
(
mangled_list
)
if
mm
:
if
mm
:
mm
=
mm
.
replace
(
'č'
,
'č'
)
mm
=
mm
.
replace
(
'č'
,
'č'
)
...
...
doc/translator_report.txt
View file @
7a3de4c3
(1.5.
8
)
(1.5.
9
)
Doxygen supports the following 38 languages (sorted alphabetically):
Doxygen supports the following 38 languages (sorted alphabetically):
...
@@ -10,7 +10,7 @@ Persian, Polish, Portuguese, Romanian, Russian, Serbian,
...
@@ -10,7 +10,7 @@ Persian, Polish, Portuguese, Romanian, Russian, Serbian,
SerbianCyrilic, Slovak, Slovene, Spanish, Swedish, Turkish, Ukrainian,
SerbianCyrilic, Slovak, Slovene, Spanish, Swedish, Turkish, Ukrainian,
and Vietnamese.
and Vietnamese.
Of them, 2
2 translators are up-to-date, 16
translators are based on
Of them, 2
4 translators are up-to-date, 14
translators are based on
some adapter class, and 2 are English based.
some adapter class, and 2 are English based.
----------------------------------------------------------------------
----------------------------------------------------------------------
...
@@ -31,6 +31,7 @@ still may be some details listed even for them:
...
@@ -31,6 +31,7 @@ still may be some details listed even for them:
TranslatorFinnish
TranslatorFinnish
TranslatorGerman
TranslatorGerman
TranslatorItalian
TranslatorItalian
TranslatorJapanese -- Remove the obsolete methods (never used).
TranslatorKorean
TranslatorKorean
TranslatorMacedonian
TranslatorMacedonian
TranslatorPersian
TranslatorPersian
...
@@ -39,6 +40,7 @@ still may be some details listed even for them:
...
@@ -39,6 +40,7 @@ still may be some details listed even for them:
TranslatorSerbianCyrilic
TranslatorSerbianCyrilic
TranslatorSerbian
TranslatorSerbian
TranslatorSpanish
TranslatorSpanish
TranslatorSwedish -- The "translate me!" found in a comment.
TranslatorTurkish
TranslatorTurkish
TranslatorVietnamese
TranslatorVietnamese
...
@@ -48,11 +50,9 @@ obsolete at the end). The other info shows the estimation of Doxygen
...
@@ -48,11 +50,9 @@ obsolete at the end). The other info shows the estimation of Doxygen
version when the class was last updated and number of methods that
version when the class was last updated and number of methods that
must be implemented to become up-to-date:
must be implemented to become up-to-date:
TranslatorJapanese 1.5.4 22 methods to implement
TranslatorGreek 1.5.4 22 methods to implement
TranslatorGreek 1.5.4 22 methods to implement
TranslatorFrench 1.5.4 22 methods to implement
TranslatorFrench 1.5.4 22 methods to implement
TranslatorDanish 1.5.4 22 methods to implement
TranslatorDanish 1.5.4 22 methods to implement
TranslatorSwedish 1.4.6 24 methods to implement
TranslatorSlovene 1.4.6 24 methods to implement
TranslatorSlovene 1.4.6 24 methods to implement
TranslatorPolish 1.4.6 23 methods to implement
TranslatorPolish 1.4.6 23 methods to implement
TranslatorNorwegian 1.4.6 23 methods to implement
TranslatorNorwegian 1.4.6 23 methods to implement
...
@@ -349,35 +349,10 @@ TranslatorIndonesian (TranslatorAdapter_1_4_6) 23 methods to implement
...
@@ -349,35 +349,10 @@ TranslatorIndonesian (TranslatorAdapter_1_4_6) 23 methods to implement
virtual QCString trNoDescriptionAvailable()
virtual QCString trNoDescriptionAvailable()
TranslatorJapanese (Translator
Adapter_1_5_4) 22 methods to implement
TranslatorJapanese (Translator
)
------------------
------------------
Implements 194 of the required methods.
Implements 216 of the required methods.
Missing methods (should be implemented):
virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)
virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType, bool single)
virtual QCString trSubprograms()
virtual QCString trModulesListDescription(bool extractAll)
virtual QCString trModulesList()
virtual QCString trTypeConstraints()
virtual QCString trMemberFunctionDocumentationFortran()
virtual QCString trCompoundListDescriptionFortran()
virtual QCString trTypeDocumentation()
virtual QCString trModuleReference(const char * namespaceName)
virtual QCString trModulesMemberDescription(bool extractAll)
virtual QCString trModulesMembers()
virtual QCString trModulesIndex()
virtual QCString trCompoundListFortran()
virtual QCString trDataTypes()
virtual QCString trCompoundIndexFortran()
virtual QCString trSubprogram(bool first_capital, bool singular)
virtual QCString trCompoundReferenceFortran(const char * clName, ClassDef::CompoundType compType, bool isTemplate)
virtual QCString trType(bool first_capital, bool singular)
virtual QCString trModule(bool first_capital, bool singular)
virtual QCString trCompoundMembersFortran()
virtual QCString trSubprogramDocumentation()
Obsolete methods (should be removed, never used):
Obsolete methods (should be removed, never used):
...
@@ -695,37 +670,10 @@ TranslatorSlovene (TranslatorAdapter_1_4_6) 24 methods to implement
...
@@ -695,37 +670,10 @@ TranslatorSlovene (TranslatorAdapter_1_4_6) 24 methods to implement
virtual QCString trSubprogramDocumentation()
virtual QCString trSubprogramDocumentation()
TranslatorSwedish (Translator
Adapter_1_4_6) 24 methods to implement
TranslatorSwedish (Translator
)
-----------------
-----------------
Implements 192 of the required methods.
Implements 216 of the required methods.
Missing methods (should be implemented):
virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)
virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType, bool single)
virtual QCString trSubprograms()
virtual QCString trModulesListDescription(bool extractAll)
virtual QCString trModulesList()
virtual QCString trTypeConstraints()
virtual QCString trMemberFunctionDocumentationFortran()
virtual QCString trCompoundListDescriptionFortran()
virtual QCString trTypeDocumentation()
virtual QCString trModuleReference(const char * namespaceName)
virtual QCString trModulesMemberDescription(bool extractAll)
virtual QCString trModulesMembers()
virtual QCString trModulesIndex()
virtual QCString trCompoundListFortran()
virtual QCString trDataTypes()
virtual QCString trCompoundIndexFortran()
virtual QCString trSubprogram(bool first_capital, bool singular)
virtual QCString trCallerGraph()
virtual QCString trEnumerationValueDocumentation()
virtual QCString trCompoundReferenceFortran(const char * clName, ClassDef::CompoundType compType, bool isTemplate)
virtual QCString trType(bool first_capital, bool singular)
virtual QCString trModule(bool first_capital, bool singular)
virtual QCString trCompoundMembersFortran()
virtual QCString trSubprogramDocumentation()
TranslatorUkrainian (TranslatorAdapter_1_4_1) 24 methods to implement
TranslatorUkrainian (TranslatorAdapter_1_4_1) 24 methods to implement
...
...
src/classdef.cpp
View file @
7a3de4c3
...
@@ -844,7 +844,9 @@ void ClassDef::writeBriefDescription(OutputList &ol,bool exampleFlag)
...
@@ -844,7 +844,9 @@ void ClassDef::writeBriefDescription(OutputList &ol,bool exampleFlag)
{
{
if
(
!
briefDescription
().
isEmpty
())
if
(
!
briefDescription
().
isEmpty
())
{
{
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
this
,
0
,
briefDescription
(),
TRUE
,
FALSE
);
ol
.
startParagraph
();
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
this
,
0
,
briefDescription
(),
TRUE
,
FALSE
,
0
,
TRUE
,
FALSE
);
ol
.
pushGeneratorState
();
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
writeString
(
"
\n
"
);
ol
.
writeString
(
"
\n
"
);
...
@@ -862,10 +864,11 @@ void ClassDef::writeBriefDescription(OutputList &ol,bool exampleFlag)
...
@@ -862,10 +864,11 @@ void ClassDef::writeBriefDescription(OutputList &ol,bool exampleFlag)
}
}
ol
.
popGeneratorState
();
ol
.
popGeneratorState
();
ol
.
pushGeneratorState
();
//ol.pushGeneratorState();
ol
.
disable
(
OutputGenerator
::
RTF
);
//ol.disable(OutputGenerator::RTF);
ol
.
newParagraph
();
//ol.newParagraph(); // FIXME:PARA
ol
.
popGeneratorState
();
//ol.popGeneratorState();
ol
.
endParagraph
();
}
}
ol
.
writeSynopsis
();
ol
.
writeSynopsis
();
}
}
...
@@ -903,7 +906,7 @@ void ClassDef::writeDetailedDescription(OutputList &ol, const QCString &pageType
...
@@ -903,7 +906,7 @@ void ClassDef::writeDetailedDescription(OutputList &ol, const QCString &pageType
ol
.
pushGeneratorState
();
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
newParagraph
();
//ol.newParagraph(); // FIXME:PARA
ol
.
enableAll
();
ol
.
enableAll
();
ol
.
disableAllBut
(
OutputGenerator
::
Man
);
ol
.
disableAllBut
(
OutputGenerator
::
Man
);
ol
.
writeString
(
"
\n\n
"
);
ol
.
writeString
(
"
\n\n
"
);
...
@@ -912,7 +915,6 @@ void ClassDef::writeDetailedDescription(OutputList &ol, const QCString &pageType
...
@@ -912,7 +915,6 @@ void ClassDef::writeDetailedDescription(OutputList &ol, const QCString &pageType
// write documentation
// write documentation
if
(
!
documentation
().
isEmpty
())
if
(
!
documentation
().
isEmpty
())
{
{
//ol.newParagraph();
ol
.
parseDoc
(
docFile
(),
docLine
(),
this
,
0
,
documentation
(),
TRUE
,
FALSE
);
ol
.
parseDoc
(
docFile
(),
docLine
(),
this
,
0
,
documentation
(),
TRUE
,
FALSE
);
}
}
// write type constraints
// write type constraints
...
@@ -922,9 +924,11 @@ void ClassDef::writeDetailedDescription(OutputList &ol, const QCString &pageType
...
@@ -922,9 +924,11 @@ void ClassDef::writeDetailedDescription(OutputList &ol, const QCString &pageType
if
(
exampleFlag
&&
m_impl
->
exampleSDict
)
if
(
exampleFlag
&&
m_impl
->
exampleSDict
)
{
{
ol
.
startSimpleSect
(
BaseOutputDocInterface
::
Examples
,
0
,
0
,
theTranslator
->
trExamples
()
+
": "
);
ol
.
startSimpleSect
(
BaseOutputDocInterface
::
Examples
,
0
,
0
,
theTranslator
->
trExamples
()
+
": "
);
ol
.
writeDesc
Item
();
ol
.
startDescFor
Item
();
ol
.
new
Paragraph
();
ol
.
start
Paragraph
();
writeExample
(
ol
,
m_impl
->
exampleSDict
);
writeExample
(
ol
,
m_impl
->
exampleSDict
);
ol
.
endParagraph
();
ol
.
endDescForItem
();
ol
.
endSimpleSect
();
ol
.
endSimpleSect
();
}
}
//ol.newParagraph();
//ol.newParagraph();
...
@@ -972,7 +976,7 @@ void ClassDef::showUsedFiles(OutputList &ol)
...
@@ -972,7 +976,7 @@ void ClassDef::showUsedFiles(OutputList &ol)
ol
.
startItemList
();
ol
.
startItemList
();
}
}
ol
.
write
ListItem
();
ol
.
startItem
ListItem
();
QCString
path
=
fd
->
getPath
();
QCString
path
=
fd
->
getPath
();
if
(
Config_getBool
(
"FULL_PATH_NAMES"
))
if
(
Config_getBool
(
"FULL_PATH_NAMES"
))
{
{
...
@@ -1015,8 +1019,9 @@ void ClassDef::showUsedFiles(OutputList &ol)
...
@@ -1015,8 +1019,9 @@ void ClassDef::showUsedFiles(OutputList &ol)
{
{
ol
.
docify
(
fname
);
ol
.
docify
(
fname
);
}
}
ol
.
popGeneratorState
();
ol
.
popGeneratorState
();
ol
.
endItemListItem
();
}
}
file
=
m_impl
->
files
.
next
();
file
=
m_impl
->
files
.
next
();
}
}
...
@@ -1089,6 +1094,7 @@ void ClassDef::writeInheritanceGraph(OutputList &ol)
...
@@ -1089,6 +1094,7 @@ void ClassDef::writeInheritanceGraph(OutputList &ol)
if
(
m_impl
->
inherits
&&
(
count
=
m_impl
->
inherits
->
count
())
>
0
)
if
(
m_impl
->
inherits
&&
(
count
=
m_impl
->
inherits
->
count
())
>
0
)
{
{
ol
.
startParagraph
();
//parseText(ol,theTranslator->trInherits()+" ");
//parseText(ol,theTranslator->trInherits()+" ");
QCString
inheritLine
=
theTranslator
->
trInheritsList
(
m_impl
->
inherits
->
count
());
QCString
inheritLine
=
theTranslator
->
trInheritsList
(
m_impl
->
inherits
->
count
());
...
@@ -1147,12 +1153,13 @@ void ClassDef::writeInheritanceGraph(OutputList &ol)
...
@@ -1147,12 +1153,13 @@ void ClassDef::writeInheritanceGraph(OutputList &ol)
index
=
newIndex
+
matchLen
;
index
=
newIndex
+
matchLen
;
}
}
ol
.
parseText
(
inheritLine
.
right
(
inheritLine
.
length
()
-
index
));
ol
.
parseText
(
inheritLine
.
right
(
inheritLine
.
length
()
-
index
));
ol
.
new
Paragraph
();
ol
.
end
Paragraph
();
}
}
// write subclasses
// write subclasses
if
(
m_impl
->
inheritedBy
&&
(
count
=
m_impl
->
inheritedBy
->
count
())
>
0
)
if
(
m_impl
->
inheritedBy
&&
(
count
=
m_impl
->
inheritedBy
->
count
())
>
0
)
{
{
ol
.
startParagraph
();
QCString
inheritLine
=
theTranslator
->
trInheritedByList
(
m_impl
->
inheritedBy
->
count
());
QCString
inheritLine
=
theTranslator
->
trInheritedByList
(
m_impl
->
inheritedBy
->
count
());
QRegExp
marker
(
"@[0-9]+"
);
QRegExp
marker
(
"@[0-9]+"
);
int
index
=
0
,
newIndex
,
matchLen
;
int
index
=
0
,
newIndex
,
matchLen
;
...
@@ -1179,7 +1186,7 @@ void ClassDef::writeInheritanceGraph(OutputList &ol)
...
@@ -1179,7 +1186,7 @@ void ClassDef::writeInheritanceGraph(OutputList &ol)
index
=
newIndex
+
matchLen
;
index
=
newIndex
+
matchLen
;
}
}
ol
.
parseText
(
inheritLine
.
right
(
inheritLine
.
length
()
-
index
));
ol
.
parseText
(
inheritLine
.
right
(
inheritLine
.
length
()
-
index
));
ol
.
new
Paragraph
();
ol
.
end
Paragraph
();
}
}
if
(
renderDiagram
)
if
(
renderDiagram
)
...
@@ -1216,6 +1223,7 @@ void ClassDef::writeIncludeFiles(OutputList &ol)
...
@@ -1216,6 +1223,7 @@ void ClassDef::writeIncludeFiles(OutputList &ol)
m_impl
->
incInfo
->
includeName
.
data
();
m_impl
->
incInfo
->
includeName
.
data
();
if
(
!
nm
.
isEmpty
())
if
(
!
nm
.
isEmpty
())
{
{
ol
.
startParagraph
();
ol
.
startTypewriter
();
ol
.
startTypewriter
();
bool
isIDLorJava
=
nm
.
right
(
4
)
==
".idl"
||
bool
isIDLorJava
=
nm
.
right
(
4
)
==
".idl"
||
nm
.
right
(
5
)
==
".pidl"
||
nm
.
right
(
5
)
==
".pidl"
||
...
@@ -1257,7 +1265,7 @@ void ClassDef::writeIncludeFiles(OutputList &ol)
...
@@ -1257,7 +1265,7 @@ void ClassDef::writeIncludeFiles(OutputList &ol)
if
(
isIDLorJava
)
if
(
isIDLorJava
)
ol
.
docify
(
";"
);
ol
.
docify
(
";"
);
ol
.
endTypewriter
();
ol
.
endTypewriter
();
ol
.
new
Paragraph
();
ol
.
end
Paragraph
();
}
}
}
}
}
}
...
@@ -1271,10 +1279,11 @@ void ClassDef::writeAllMembersLink(OutputList &ol)
...
@@ -1271,10 +1279,11 @@ void ClassDef::writeAllMembersLink(OutputList &ol)
{
{
ol
.
pushGeneratorState
();
ol
.
pushGeneratorState
();
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
ol
.
new
Paragraph
();
ol
.
start
Paragraph
();
ol
.
startTextLink
(
getMemberListFileName
(),
0
);
ol
.
startTextLink
(
getMemberListFileName
(),
0
);
ol
.
parseText
(
theTranslator
->
trListOfAllMembers
());
ol
.
parseText
(
theTranslator
->
trListOfAllMembers
());
ol
.
endTextLink
();
ol
.
endTextLink
();
ol
.
endParagraph
();
ol
.
enableAll
();
ol
.
enableAll
();
ol
.
popGeneratorState
();
ol
.
popGeneratorState
();
}
}
...
@@ -1663,7 +1672,7 @@ void ClassDef::writeMemberList(OutputList &ol)
...
@@ -1663,7 +1672,7 @@ void ClassDef::writeMemberList(OutputList &ol)
ol
.
parseText
(
theTranslator
->
trIncludingInheritedMembers
());
ol
.
parseText
(
theTranslator
->
trIncludingInheritedMembers
());
//ol.startItemList();
//ol.startItemList();
ol
.
writeString
(
"<
p><
table>
\n
"
);
ol
.
writeString
(
"<table>
\n
"
);
//MemberNameInfo *mni=m_impl->allMemberNameInfoList->first();
//MemberNameInfo *mni=m_impl->allMemberNameInfoList->first();
MemberNameInfoSDict
::
Iterator
mnii
(
*
m_impl
->
allMemberNameInfoSDict
);
MemberNameInfoSDict
::
Iterator
mnii
(
*
m_impl
->
allMemberNameInfoSDict
);
...
...
src/commentcnv.l
View file @
7a3de4c3
...
@@ -63,12 +63,14 @@ static int g_lastCommentContext;
...
@@ -63,12 +63,14 @@ static int g_lastCommentContext;
static bool g_inSpecialComment;
static bool g_inSpecialComment;
static bool g_inRoseComment;
static bool g_inRoseComment;
static int g_javaBlock;
static int g_javaBlock;
static bool g_specialComment;
static QCString g_aliasString;
static QCString g_aliasString;
static int g_blockCount;
static int g_blockCount;
static int g_lastBlockContext;
static int g_lastBlockContext;
static bool g_pythonDocString;
static bool g_pythonDocString;
static SrcLangExt g_lang;
static SrcLangExt g_lang;
static void replaceCommentMarker(const char *s,int len)
static void replaceCommentMarker(const char *s,int len)
...
@@ -341,7 +343,8 @@ void replaceComment(int offset);
...
@@ -341,7 +343,8 @@ void replaceComment(int offset);
g_readLineCtx=YY_START;
g_readLineCtx=YY_START;
BEGIN(ReadLine);
BEGIN(ReadLine);
}
}
<Scan>"/*" { /* start of a C comment */
<Scan>"/*"[*!]? { /* start of a C comment */
g_specialComment=yyleng==3;
copyToOutput(yytext,yyleng);
copyToOutput(yytext,yyleng);
BEGIN(CComment);
BEGIN(CComment);
}
}
...
@@ -640,6 +643,10 @@ void replaceComment(int offset);
...
@@ -640,6 +643,10 @@ void replaceComment(int offset);
{
{
ADDCHAR('/');
ADDCHAR('/');
ADDCHAR('*');
ADDCHAR('*');
if (g_specialComment)
{
ADDCHAR('*');
}
}
}
}
}
}
}
...
...
src/definition.cpp
View file @
7a3de4c3
...
@@ -819,6 +819,7 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName)
...
@@ -819,6 +819,7 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName)
//printf("Read:\n`%s'\n\n",codeFragment.data());
//printf("Read:\n`%s'\n\n",codeFragment.data());
MemberDef
*
thisMd
=
0
;
MemberDef
*
thisMd
=
0
;
if
(
definitionType
()
==
TypeMember
)
thisMd
=
(
MemberDef
*
)
this
;
if
(
definitionType
()
==
TypeMember
)
thisMd
=
(
MemberDef
*
)
this
;
ol
.
startParagraph
();
ol
.
startCodeFragment
();
ol
.
startCodeFragment
();
pIntf
->
parseCode
(
ol
,
// codeOutIntf
pIntf
->
parseCode
(
ol
,
// codeOutIntf
scopeName
,
// scope
scopeName
,
// scope
...
@@ -832,7 +833,7 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName)
...
@@ -832,7 +833,7 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName)
thisMd
// memberDef
thisMd
// memberDef
);
);
ol
.
endCodeFragment
();
ol
.
endCodeFragment
();
ol
.
new
Paragraph
();
ol
.
end
Paragraph
();
}
}
}
}
ol
.
popGeneratorState
();
ol
.
popGeneratorState
();
...
...
src/diagram.cpp
View file @
7a3de4c3
...
@@ -175,9 +175,9 @@ static void writeMapArea(QTextStream &t,ClassDef *cd,QCString relPath,
...
@@ -175,9 +175,9 @@ static void writeMapArea(QTextStream &t,ClassDef *cd,QCString relPath,
t
<<
relPath
;
t
<<
relPath
;
}
}
t
<<
cd
->
getOutputFileBase
()
<<
Doxygen
::
htmlFileExtension
<<
"
\"
"
;
t
<<
cd
->
getOutputFileBase
()
<<
Doxygen
::
htmlFileExtension
<<
"
\"
"
;
t
<<
"alt=
\"
"
<<
c
d
->
displayName
(
);
t
<<
"alt=
\"
"
<<
c
onvertToXML
(
cd
->
displayName
()
);
t
<<
"
\"
shape=
\"
rect
\"
coords=
\"
"
<<
x
<<
","
<<
y
<<
","
;
t
<<
"
\"
shape=
\"
rect
\"
coords=
\"
"
<<
x
<<
","
<<
y
<<
","
;
t
<<
(
x
+
w
)
<<
","
<<
(
y
+
h
)
<<
"
\"
>"
<<
endl
;
t
<<
(
x
+
w
)
<<
","
<<
(
y
+
h
)
<<
"
\"
/
>"
<<
endl
;
}
}
}
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
...
...
src/dirdef.cpp
View file @
7a3de4c3
...
@@ -134,7 +134,7 @@ void DirDef::writeDetailedDescription(OutputList &ol,const QCString &title)
...
@@ -134,7 +134,7 @@ void DirDef::writeDetailedDescription(OutputList &ol,const QCString &title)
ol
.
pushGeneratorState
();
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
newParagraph
();
// ol.newParagraph(); // FIXME:PARA
ol
.
enableAll
();
ol
.
enableAll
();
ol
.
disableAllBut
(
OutputGenerator
::
Man
);
ol
.
disableAllBut
(
OutputGenerator
::
Man
);
ol
.
writeString
(
"
\n\n
"
);
ol
.
writeString
(
"
\n\n
"
);
...
@@ -153,6 +153,7 @@ void DirDef::writeBriefDescription(OutputList &ol)
...
@@ -153,6 +153,7 @@ void DirDef::writeBriefDescription(OutputList &ol)
{
{
if
(
!
briefDescription
().
isEmpty
())
if
(
!
briefDescription
().
isEmpty
())
{
{
ol
.
startParagraph
();
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
this
,
0
,
briefDescription
(),
TRUE
,
FALSE
);
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
this
,
0
,
briefDescription
(),
TRUE
,
FALSE
);
ol
.
pushGeneratorState
();
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
disable
(
OutputGenerator
::
RTF
);
...
@@ -170,10 +171,11 @@ void DirDef::writeBriefDescription(OutputList &ol)
...
@@ -170,10 +171,11 @@ void DirDef::writeBriefDescription(OutputList &ol)
}
}
ol
.
popGeneratorState
();
ol
.
popGeneratorState
();
ol
.
pushGeneratorState
();
//ol.pushGeneratorState();
ol
.
disable
(
OutputGenerator
::
RTF
);
//ol.disable(OutputGenerator::RTF);
ol
.
newParagraph
();
//ol.newParagraph();
ol
.
popGeneratorState
();
//ol.popGeneratorState();
ol
.
endParagraph
();
}
}
ol
.
writeSynopsis
();
ol
.
writeSynopsis
();
}
}
...
@@ -188,10 +190,11 @@ void DirDef::writeDirectoryGraph(OutputList &ol)
...
@@ -188,10 +190,11 @@ void DirDef::writeDirectoryGraph(OutputList &ol)
{
{
msg
(
"Generating dependency graph for directory %s
\n
"
,
displayName
().
data
());
msg
(
"Generating dependency graph for directory %s
\n
"
,
displayName
().
data
());
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
new
Paragraph
();
ol
.
start
Paragraph
();
ol
.
startDirDepGraph
();
ol
.
startDirDepGraph
();
//TODO: ol.parseText(theTranslator->trDirDepGraph());
//TODO: ol.parseText(theTranslator->trDirDepGraph());
ol
.
endDirDepGraph
(
dirDep
);
ol
.
endDirDepGraph
(
dirDep
);
ol
.
endParagraph
();
ol
.
enableAll
();
ol
.
enableAll
();
}
}
}
}
...
@@ -220,6 +223,7 @@ void DirDef::writeSubDirList(OutputList &ol)
...
@@ -220,6 +223,7 @@ void DirDef::writeSubDirList(OutputList &ol)
}
}
if
(
!
dd
->
briefDescription
().
isEmpty
()
&&
Config_getBool
(
"BRIEF_MEMBER_DESC"
))
if
(
!
dd
->
briefDescription
().
isEmpty
()
&&
Config_getBool
(
"BRIEF_MEMBER_DESC"
))
{
{
ol
.
startParagraph
();
ol
.
startMemberDescription
();
ol
.
startMemberDescription
();
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
dd
,
0
,
dd
->
briefDescription
(),
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
dd
,
0
,
dd
->
briefDescription
(),
FALSE
,
// indexWords
FALSE
,
// indexWords
...
@@ -229,7 +233,7 @@ void DirDef::writeSubDirList(OutputList &ol)
...
@@ -229,7 +233,7 @@ void DirDef::writeSubDirList(OutputList &ol)
TRUE
// link from index
TRUE
// link from index
);
);
ol
.
endMemberDescription
();
ol
.
endMemberDescription
();
ol
.
new
Paragraph
();
ol
.
end
Paragraph
();
}
}
dd
=
m_subdirs
.
next
();
dd
=
m_subdirs
.
next
();
}
}
...
@@ -282,6 +286,7 @@ void DirDef::writeFileList(OutputList &ol)
...
@@ -282,6 +286,7 @@ void DirDef::writeFileList(OutputList &ol)
ol
.
endMemberItem
();
ol
.
endMemberItem
();
if
(
!
fd
->
briefDescription
().
isEmpty
()
&&
Config_getBool
(
"BRIEF_MEMBER_DESC"
))
if
(
!
fd
->
briefDescription
().
isEmpty
()
&&
Config_getBool
(
"BRIEF_MEMBER_DESC"
))
{
{
ol
.
startParagraph
();
ol
.
startMemberDescription
();
ol
.
startMemberDescription
();
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
fd
,
0
,
fd
->
briefDescription
(),
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
fd
,
0
,
fd
->
briefDescription
(),
FALSE
,
// indexWords
FALSE
,
// indexWords
...
@@ -291,7 +296,7 @@ void DirDef::writeFileList(OutputList &ol)
...
@@ -291,7 +296,7 @@ void DirDef::writeFileList(OutputList &ol)
TRUE
// link from index
TRUE
// link from index
);
);
ol
.
endMemberDescription
();
ol
.
endMemberDescription
();
ol
.
new
Paragraph
();
ol
.
end
Paragraph
();
}
}
fd
=
m_fileList
->
next
();
fd
=
m_fileList
->
next
();
}
}
...
...
src/docparser.h
View file @
7a3de4c3
...
@@ -473,6 +473,7 @@ class DocFormula : public DocNode
...
@@ -473,6 +473,7 @@ class DocFormula : public DocNode
int
id
()
const
{
return
m_id
;
}
int
id
()
const
{
return
m_id
;
}
DocNode
*
parent
()
const
{
return
m_parent
;
}
DocNode
*
parent
()
const
{
return
m_parent
;
}
void
accept
(
DocVisitor
*
v
)
{
v
->
visit
(
this
);
}
void
accept
(
DocVisitor
*
v
)
{
v
->
visit
(
this
);
}
bool
isInline
()
{
return
text
().
at
(
0
)
!=
'\\'
;
}
private
:
private
:
DocNode
*
m_parent
;
DocNode
*
m_parent
;
...
@@ -574,6 +575,7 @@ class DocXRefItem : public CompAccept<DocXRefItem>, public DocNode
...
@@ -574,6 +575,7 @@ class DocXRefItem : public CompAccept<DocXRefItem>, public DocNode
QString
key
()
const
{
return
m_key
;
}
QString
key
()
const
{
return
m_key
;
}
void
accept
(
DocVisitor
*
v
)
{
CompAccept
<
DocXRefItem
>::
accept
(
this
,
v
);
}
void
accept
(
DocVisitor
*
v
)
{
CompAccept
<
DocXRefItem
>::
accept
(
this
,
v
);
}
bool
parse
();
bool
parse
();
const
QList
<
DocNode
>
&
children
()
const
{
return
m_children
;
}
private
:
private
:
DocNode
*
m_parent
;
DocNode
*
m_parent
;
...
@@ -838,6 +840,7 @@ class DocSecRefItem : public CompAccept<DocSecRefItem>, public DocNode
...
@@ -838,6 +840,7 @@ class DocSecRefItem : public CompAccept<DocSecRefItem>, public DocNode
DocNode
*
parent
()
const
{
return
m_parent
;
}
DocNode
*
parent
()
const
{
return
m_parent
;
}
void
accept
(
DocVisitor
*
v
)
{
CompAccept
<
DocSecRefItem
>::
accept
(
this
,
v
);
}
void
accept
(
DocVisitor
*
v
)
{
CompAccept
<
DocSecRefItem
>::
accept
(
this
,
v
);
}
void
parse
();
void
parse
();
const
QList
<
DocNode
>
&
children
()
const
{
return
m_children
;
}
private
:
private
:
DocNode
*
m_parent
;
DocNode
*
m_parent
;
...
@@ -929,6 +932,7 @@ class DocSimpleSect : public CompAccept<DocSimpleSect>, public DocNode
...
@@ -929,6 +932,7 @@ class DocSimpleSect : public CompAccept<DocSimpleSect>, public DocNode
int
parseRcs
();
int
parseRcs
();
int
parseXml
();
int
parseXml
();
void
appendLinkWord
(
const
QString
&
word
);
void
appendLinkWord
(
const
QString
&
word
);
const
QList
<
DocNode
>
&
children
()
const
{
return
m_children
;
}
private
:
private
:
DocNode
*
m_parent
;
DocNode
*
m_parent
;
...
@@ -1104,6 +1108,7 @@ class DocHtmlListItem : public CompAccept<DocHtmlListItem>, public DocNode
...
@@ -1104,6 +1108,7 @@ class DocHtmlListItem : public CompAccept<DocHtmlListItem>, public DocNode
void
accept
(
DocVisitor
*
v
)
{
CompAccept
<
DocHtmlListItem
>::
accept
(
this
,
v
);
}
void
accept
(
DocVisitor
*
v
)
{
CompAccept
<
DocHtmlListItem
>::
accept
(
this
,
v
);
}
int
parse
();
int
parse
();
int
parseXml
();
int
parseXml
();
const
QList
<
DocNode
>
&
children
()
const
{
return
m_children
;
}
private
:
private
:
DocNode
*
m_parent
;
DocNode
*
m_parent
;
...
@@ -1122,6 +1127,7 @@ class DocHtmlDescData : public CompAccept<DocHtmlDescData>, public DocNode
...
@@ -1122,6 +1127,7 @@ class DocHtmlDescData : public CompAccept<DocHtmlDescData>, public DocNode
DocNode
*
parent
()
const
{
return
m_parent
;
}
DocNode
*
parent
()
const
{
return
m_parent
;
}
void
accept
(
DocVisitor
*
v
)
{
CompAccept
<
DocHtmlDescData
>::
accept
(
this
,
v
);
}
void
accept
(
DocVisitor
*
v
)
{
CompAccept
<
DocHtmlDescData
>::
accept
(
this
,
v
);
}
int
parse
();
int
parse
();
const
QList
<
DocNode
>
&
children
()
const
{
return
m_children
;
}
private
:
private
:
DocNode
*
m_parent
;
DocNode
*
m_parent
;
...
...
src/dot.cpp
View file @
7a3de4c3
...
@@ -41,7 +41,7 @@
...
@@ -41,7 +41,7 @@
#include <qtextstream.h>
#include <qtextstream.h>
#include <md5.h>
#include <md5.h>
#define MAP_CMD "cmap"
#define MAP_CMD "cmap
x
"
//#define FONTNAME "FreeSans"
//#define FONTNAME "FreeSans"
#define FONTNAME getDotFontName()
#define FONTNAME getDotFontName()
...
@@ -141,6 +141,8 @@ static bool convertMapFile(QTextStream &t,const char *mapName,
...
@@ -141,6 +141,8 @@ static bool convertMapFile(QTextStream &t,const char *mapName,
int
numBytes
=
f
.
readLine
(
buf
.
data
(),
maxLineLen
);
int
numBytes
=
f
.
readLine
(
buf
.
data
(),
maxLineLen
);
buf
[
numBytes
-
1
]
=
'\0'
;
buf
[
numBytes
-
1
]
=
'\0'
;
if
(
buf
.
left
(
5
)
==
"<area"
)
{
// search for href="...", store ... part in link
// search for href="...", store ... part in link
int
indexS
=
buf
.
find
(
"href=
\"
"
),
indexE
;
int
indexS
=
buf
.
find
(
"href=
\"
"
),
indexE
;
if
(
indexS
!=-
1
&&
(
indexE
=
buf
.
find
(
'"'
,
indexS
+
6
))
!=-
1
)
if
(
indexS
!=-
1
&&
(
indexE
=
buf
.
find
(
'"'
,
indexS
+
6
))
!=-
1
)
...
@@ -211,6 +213,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName,
...
@@ -211,6 +213,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName,
}
}
t
<<
buf
;
t
<<
buf
;
}
}
}
return
TRUE
;
return
TRUE
;
}
}
...
@@ -1128,8 +1131,8 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path) const
...
@@ -1128,8 +1131,8 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path) const
// write image and map in a table row
// write image and map in a table row
QCString
mapLabel
=
convertNameToFile
(
n
->
m_label
);
QCString
mapLabel
=
convertNameToFile
(
n
->
m_label
);
out
<<
"<tr><td><img src=
\"
"
<<
imgName
<<
"
\"
border=
\"
0
\"
alt=
\"\"
usemap=
\"
#"
out
<<
"<tr><td><img src=
\"
"
<<
imgName
<<
"
\"
border=
\"
0
\"
alt=
\"\"
usemap=
\"
#"
<<
mapLabel
<<
"_map
\"
>"
<<
endl
;
<<
mapLabel
<<
"_map
\"
/
>"
<<
endl
;
out
<<
"<map name=
\"
"
<<
mapLabel
<<
"_map
\"
>"
<<
endl
;
out
<<
"<map name=
\"
"
<<
mapLabel
<<
"_map
\"
id=
\"
"
<<
mapLabel
<<
"
\"
>"
<<
endl
;
convertMapFile
(
out
,
mapName
,
""
);
convertMapFile
(
out
,
mapName
,
""
);
out
<<
"</map></td></tr>"
<<
endl
;
out
<<
"</map></td></tr>"
<<
endl
;
//thisDir.remove(mapName);
//thisDir.remove(mapName);
...
@@ -1915,7 +1918,7 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
...
@@ -1915,7 +1918,7 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
if
(
format
==
BITMAP
&&
generateImageMap
)
// produce HTML to include the image
if
(
format
==
BITMAP
&&
generateImageMap
)
// produce HTML to include the image
{
{
QCString
mapLabel
=
convertNameToFile
(
m_startNode
->
m_label
+
"_"
+
mapName
);
QCString
mapLabel
=
convertNameToFile
(
m_startNode
->
m_label
+
"_"
+
mapName
);
out
<<
"<
p><
center><img src=
\"
"
<<
relPath
<<
baseName
<<
"."
out
<<
"<center><img src=
\"
"
<<
relPath
<<
baseName
<<
"."
<<
imgExt
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
imgExt
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
mapLabel
<<
"
\"
alt=
\"
"
;
<<
mapLabel
<<
"
\"
alt=
\"
"
;
switch
(
m_graphType
)
switch
(
m_graphType
)
...
@@ -1930,14 +1933,14 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
...
@@ -1930,14 +1933,14 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
ASSERT
(
0
);
ASSERT
(
0
);
break
;
break
;
}
}
out
<<
"
\"
></center>"
<<
endl
;
out
<<
"
\"
/
></center>"
<<
endl
;
QString
tmpstr
;
QString
tmpstr
;
QTextOStream
tmpout
(
&
tmpstr
);
QTextOStream
tmpout
(
&
tmpstr
);
tmpout
.
setEncoding
(
tmpout
.
UnicodeUTF8
);
tmpout
.
setEncoding
(
tmpout
.
UnicodeUTF8
);
convertMapFile
(
tmpout
,
baseName
+
".map"
,
relPath
);
convertMapFile
(
tmpout
,
baseName
+
".map"
,
relPath
);
if
(
!
tmpstr
.
isEmpty
())
if
(
!
tmpstr
.
isEmpty
())
{
{
out
<<
"<map name=
\"
"
<<
mapLabel
<<
"
\"
>"
<<
endl
;
out
<<
"<map name=
\"
"
<<
mapLabel
<<
"
\"
id=
\"
"
<<
mapLabel
<<
"
\"
>"
<<
endl
;
out
<<
tmpstr
;
out
<<
tmpstr
;
out
<<
"</map>"
<<
endl
;
out
<<
"</map>"
<<
endl
;
}
}
...
@@ -2245,10 +2248,9 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
...
@@ -2245,10 +2248,9 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
if
(
format
==
BITMAP
&&
generateImageMap
)
if
(
format
==
BITMAP
&&
generateImageMap
)
{
{
out
<<
"<
p><
center><img src=
\"
"
<<
relPath
<<
baseName
<<
"."
out
<<
"<center><img src=
\"
"
<<
relPath
<<
baseName
<<
"."
<<
imgExt
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
imgExt
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
mapName
<<
"_map
\"
alt=
\"
"
;
<<
mapName
<<
"_map
\"
alt=
\"\"
/>"
;
out
<<
"
\"
>"
;
out
<<
"</center>"
<<
endl
;
out
<<
"</center>"
<<
endl
;
QString
tmpstr
;
QString
tmpstr
;
QTextOStream
tmpout
(
&
tmpstr
);
QTextOStream
tmpout
(
&
tmpstr
);
...
@@ -2256,7 +2258,7 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
...
@@ -2256,7 +2258,7 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
convertMapFile
(
tmpout
,
baseName
+
".map"
,
relPath
);
convertMapFile
(
tmpout
,
baseName
+
".map"
,
relPath
);
if
(
!
tmpstr
.
isEmpty
())
if
(
!
tmpstr
.
isEmpty
())
{
{
out
<<
"<map name=
\"
"
<<
mapName
<<
"_map
\"
>"
<<
endl
;
out
<<
"<map name=
\"
"
<<
mapName
<<
"_map
\"
id=
\"
"
<<
mapName
<<
"
\"
>"
<<
endl
;
out
<<
tmpstr
;
out
<<
tmpstr
;
out
<<
"</map>"
<<
endl
;
out
<<
"</map>"
<<
endl
;
}
}
...
@@ -2539,7 +2541,7 @@ QCString DotCallGraph::writeGraph(QTextStream &out, GraphOutputFormat format,
...
@@ -2539,7 +2541,7 @@ QCString DotCallGraph::writeGraph(QTextStream &out, GraphOutputFormat format,
if
(
format
==
BITMAP
&&
generateImageMap
)
if
(
format
==
BITMAP
&&
generateImageMap
)
{
{
out
<<
"<
p><
center><img src=
\"
"
<<
relPath
<<
baseName
<<
"."
out
<<
"<center><img src=
\"
"
<<
relPath
<<
baseName
<<
"."
<<
imgExt
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
imgExt
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
mapName
<<
"_map
\"
alt=
\"
"
;
<<
mapName
<<
"_map
\"
alt=
\"
"
;
out
<<
"
\"
>"
;
out
<<
"
\"
>"
;
...
@@ -2550,7 +2552,7 @@ QCString DotCallGraph::writeGraph(QTextStream &out, GraphOutputFormat format,
...
@@ -2550,7 +2552,7 @@ QCString DotCallGraph::writeGraph(QTextStream &out, GraphOutputFormat format,
convertMapFile
(
tmpout
,
baseName
+
".map"
,
relPath
);
convertMapFile
(
tmpout
,
baseName
+
".map"
,
relPath
);
if
(
!
tmpstr
.
isEmpty
())
if
(
!
tmpstr
.
isEmpty
())
{
{
out
<<
"<map name=
\"
"
<<
mapName
<<
"_map
\"
>"
<<
endl
;
out
<<
"<map name=
\"
"
<<
mapName
<<
"_map
\"
id=
\"
"
<<
mapName
<<
"
\"
>"
<<
endl
;
out
<<
tmpstr
;
out
<<
tmpstr
;
out
<<
"</map>"
<<
endl
;
out
<<
"</map>"
<<
endl
;
}
}
...
@@ -2681,11 +2683,11 @@ QCString DotDirDeps::writeGraph(QTextStream &out,
...
@@ -2681,11 +2683,11 @@ QCString DotDirDeps::writeGraph(QTextStream &out,
if
(
format
==
BITMAP
&&
generateImageMap
)
if
(
format
==
BITMAP
&&
generateImageMap
)
{
{
out
<<
"<
p><
center><img src=
\"
"
<<
relPath
<<
baseName
<<
"."
out
<<
"<center><img src=
\"
"
<<
relPath
<<
baseName
<<
"."
<<
imgExt
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
imgExt
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
mapName
<<
"_map
\"
alt=
\"
"
;
<<
mapName
<<
"_map
\"
alt=
\"
"
;
out
<<
m_dir
->
displayName
(
);
out
<<
convertToXML
(
m_dir
->
displayName
()
);
out
<<
"
\"
>"
;
out
<<
"
\"
/
>"
;
out
<<
"</center>"
<<
endl
;
out
<<
"</center>"
<<
endl
;
QString
tmpstr
;
QString
tmpstr
;
QTextOStream
tmpout
(
&
tmpstr
);
QTextOStream
tmpout
(
&
tmpstr
);
...
@@ -2693,7 +2695,7 @@ QCString DotDirDeps::writeGraph(QTextStream &out,
...
@@ -2693,7 +2695,7 @@ QCString DotDirDeps::writeGraph(QTextStream &out,
convertMapFile
(
tmpout
,
baseName
+
".map"
,
relPath
,
TRUE
);
convertMapFile
(
tmpout
,
baseName
+
".map"
,
relPath
,
TRUE
);
if
(
!
tmpstr
.
isEmpty
())
if
(
!
tmpstr
.
isEmpty
())
{
{
out
<<
"<map name=
\"
"
<<
mapName
<<
"_map
\"
>"
<<
endl
;
out
<<
"<map name=
\"
"
<<
mapName
<<
"_map
\"
id=
\"
"
<<
mapName
<<
"
\"
>"
<<
endl
;
out
<<
tmpstr
;
out
<<
tmpstr
;
out
<<
"</map>"
<<
endl
;
out
<<
"</map>"
<<
endl
;
}
}
...
@@ -3175,8 +3177,8 @@ QCString DotGroupCollaboration::writeGraph( QTextStream &t, GraphOutputFormat fo
...
@@ -3175,8 +3177,8 @@ QCString DotGroupCollaboration::writeGraph( QTextStream &t, GraphOutputFormat fo
QCString
mapLabel
=
convertNameToFile
(
baseName
);
QCString
mapLabel
=
convertNameToFile
(
baseName
);
t
<<
"<center><table><tr><td><img src=
\"
"
<<
relPath
<<
imgName
t
<<
"<center><table><tr><td><img src=
\"
"
<<
relPath
<<
imgName
<<
"
\"
border=
\"
0
\"
alt=
\"\"
usemap=
\"
#"
<<
"
\"
border=
\"
0
\"
alt=
\"\"
usemap=
\"
#"
<<
mapLabel
<<
"_map
\"
>"
<<
endl
;
<<
mapLabel
<<
"_map
\"
/
>"
<<
endl
;
t
<<
"<map name=
\"
"
<<
mapLabel
<<
"_map
\"
>"
<<
endl
;
t
<<
"<map name=
\"
"
<<
mapLabel
<<
"_map
\"
id=
\"
"
<<
mapLabel
<<
"
\"
>"
<<
endl
;
convertMapFile
(
t
,
mapName
,
relPath
);
convertMapFile
(
t
,
mapName
,
relPath
);
t
<<
"</map></td></tr></table></center>"
<<
endl
;
t
<<
"</map></td></tr></table></center>"
<<
endl
;
thisDir
.
remove
(
mapName
);
thisDir
.
remove
(
mapName
);
...
...
src/doxygen.css
View file @
7a3de4c3
/* The standard CSS for doxygen */
body
,
table
,
div
,
p
,
dl
{
body
,
table
,
div
,
p
,
dl
{
font-family
:
Lucida
Grande
,
Verdana
,
Geneva
,
Arial
,
sans-serif
;
font-family
:
Lucida
Grande
,
Verdana
,
Geneva
,
Arial
,
sans-serif
;
font-size
:
12px
;
font-size
:
12px
;
...
@@ -18,12 +20,40 @@ h3 {
...
@@ -18,12 +20,40 @@ h3 {
font-size
:
100%
;
font-size
:
100%
;
}
}
dt
{
font-weight
:
bold
;
}
div
.multicol
{
-moz-column-gap
:
1em
;
-webkit-column-gap
:
1em
;
-moz-column-count
:
3
;
-webkit-column-count
:
3
;
}
p
.startli
,
p
.startdd
{
margin-top
:
0px
;
}
p
.endli
{
margin-bottom
:
0px
;
}
p
.enddd
{
margin-bottom
:
4px
;
}
/* @end */
/* @end */
caption
{
caption
{
font-weight
:
bold
;
font-weight
:
bold
;
}
}
span
.legend
{
font-size
:
70%
;
text-align
:
center
;
}
div
.qindex
,
div
.navtab
{
div
.qindex
,
div
.navtab
{
background-color
:
#e8eef2
;
background-color
:
#e8eef2
;
border
:
1px
solid
#84b0c7
;
border
:
1px
solid
#84b0c7
;
...
@@ -161,6 +191,15 @@ img.formulaInl {
...
@@ -161,6 +191,15 @@ img.formulaInl {
vertical-align
:
middle
;
vertical-align
:
middle
;
}
}
img
.center
{
border
:
0
;
}
img
.footer
{
border
:
0
;
vertical-align
:
middle
;
}
/* @group Code Colorization */
/* @group Code Colorization */
span
.keyword
{
span
.keyword
{
...
@@ -267,8 +306,13 @@ hr {
...
@@ -267,8 +306,13 @@ hr {
border-top
:
1px
solid
#ccc
;
border-top
:
1px
solid
#ccc
;
}
}
.memItemLeft
,
.memTemplItemLeft
{
white-space
:
nowrap
;
}
.memTemplParams
{
.memTemplParams
{
color
:
#606060
;
color
:
#606060
;
white-space
:
nowrap
;
}
}
/* @end */
/* @end */
...
@@ -295,6 +339,7 @@ hr {
...
@@ -295,6 +339,7 @@ hr {
.memitem
{
.memitem
{
padding
:
0
;
padding
:
0
;
margin-bottom
:
10px
;
}
}
.memname
{
.memname
{
...
@@ -312,8 +357,11 @@ hr {
...
@@ -312,8 +357,11 @@ hr {
font-weight
:
bold
;
font-weight
:
bold
;
-webkit-border-top-left-radius
:
8px
;
-webkit-border-top-left-radius
:
8px
;
-webkit-border-top-right-radius
:
8px
;
-webkit-border-top-right-radius
:
8px
;
-webkit-box-shadow
:
5px
5px
5px
rgba
(
0
,
0
,
0
,
0.15
);
-moz-border-radius-topleft
:
8px
;
-moz-border-radius-topleft
:
8px
;
-moz-border-radius-topright
:
8px
;
-moz-border-radius-topright
:
8px
;
-moz-box-shadow
:
rgba
(
0
,
0
,
0
,
0.15
)
5px
5px
5px
;
}
}
.memdoc
{
.memdoc
{
...
@@ -322,8 +370,10 @@ hr {
...
@@ -322,8 +370,10 @@ hr {
border-top-width
:
0
;
border-top-width
:
0
;
-webkit-border-bottom-left-radius
:
8px
;
-webkit-border-bottom-left-radius
:
8px
;
-webkit-border-bottom-right-radius
:
8px
;
-webkit-border-bottom-right-radius
:
8px
;
-webkit-box-shadow
:
5px
5px
5px
rgba
(
0
,
0
,
0
,
0.15
);
-moz-border-radius-bottomleft
:
8px
;
-moz-border-radius-bottomleft
:
8px
;
-moz-border-radius-bottomright
:
8px
;
-moz-border-radius-bottomright
:
8px
;
-moz-box-shadow
:
rgba
(
0
,
0
,
0
,
0.15
)
5px
5px
5px
;
}
}
.paramkey
{
.paramkey
{
...
...
src/doxygen_css.h
View file @
7a3de4c3
"/* The standard CSS for doxygen */
\n
"
"
\n
"
"body, table, div, p, dl {
\n
"
"body, table, div, p, dl {
\n
"
" font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
\n
"
" font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
\n
"
" font-size: 12px;
\n
"
" font-size: 12px;
\n
"
...
@@ -18,12 +20,40 @@
...
@@ -18,12 +20,40 @@
" font-size: 100%;
\n
"
" font-size: 100%;
\n
"
"}
\n
"
"}
\n
"
"
\n
"
"
\n
"
"dt {
\n
"
" font-weight: bold;
\n
"
"}
\n
"
"
\n
"
"div.multicol {
\n
"
" -moz-column-gap: 1em;
\n
"
" -webkit-column-gap: 1em;
\n
"
" -moz-column-count: 3;
\n
"
" -webkit-column-count: 3;
\n
"
"}
\n
"
"
\n
"
"p.startli, p.startdd {
\n
"
" margin-top: 0px;
\n
"
"}
\n
"
"
\n
"
"p.endli {
\n
"
" margin-bottom: 0px;
\n
"
"}
\n
"
"
\n
"
"p.enddd {
\n
"
" margin-bottom: 4px;
\n
"
"}
\n
"
"
\n
"
"/* @end */
\n
"
"/* @end */
\n
"
"
\n
"
"
\n
"
"caption {
\n
"
"caption {
\n
"
" font-weight: bold;
\n
"
" font-weight: bold;
\n
"
"}
\n
"
"}
\n
"
"
\n
"
"
\n
"
"span.legend {
\n
"
" font-size: 70%;
\n
"
" text-align: center;
\n
"
"}
\n
"
"
\n
"
"div.qindex, div.navtab{
\n
"
"div.qindex, div.navtab{
\n
"
" background-color: #e8eef2;
\n
"
" background-color: #e8eef2;
\n
"
" border: 1px solid #84b0c7;
\n
"
" border: 1px solid #84b0c7;
\n
"
...
@@ -161,6 +191,15 @@
...
@@ -161,6 +191,15 @@
" vertical-align: middle;
\n
"
" vertical-align: middle;
\n
"
"}
\n
"
"}
\n
"
"
\n
"
"
\n
"
"img.center {
\n
"
" border: 0;
\n
"
"}
\n
"
"
\n
"
"img.footer {
\n
"
" border: 0;
\n
"
" vertical-align: middle;
\n
"
"}
\n
"
"
\n
"
"/* @group Code Colorization */
\n
"
"/* @group Code Colorization */
\n
"
"
\n
"
"
\n
"
"span.keyword {
\n
"
"span.keyword {
\n
"
...
@@ -267,8 +306,13 @@
...
@@ -267,8 +306,13 @@
" border-top: 1px solid #ccc;
\n
"
" border-top: 1px solid #ccc;
\n
"
"}
\n
"
"}
\n
"
"
\n
"
"
\n
"
".memItemLeft, .memTemplItemLeft {
\n
"
" white-space: nowrap;
\n
"
"}
\n
"
"
\n
"
".memTemplParams {
\n
"
".memTemplParams {
\n
"
" color: #606060;
\n
"
" color: #606060;
\n
"
" white-space: nowrap;
\n
"
"}
\n
"
"}
\n
"
"
\n
"
"
\n
"
"/* @end */
\n
"
"/* @end */
\n
"
...
@@ -295,6 +339,7 @@
...
@@ -295,6 +339,7 @@
"
\n
"
"
\n
"
".memitem {
\n
"
".memitem {
\n
"
" padding: 0;
\n
"
" padding: 0;
\n
"
" margin-bottom: 10px;
\n
"
"}
\n
"
"}
\n
"
"
\n
"
"
\n
"
".memname {
\n
"
".memname {
\n
"
...
@@ -312,8 +357,11 @@
...
@@ -312,8 +357,11 @@
" font-weight: bold;
\n
"
" font-weight: bold;
\n
"
" -webkit-border-top-left-radius: 8px;
\n
"
" -webkit-border-top-left-radius: 8px;
\n
"
" -webkit-border-top-right-radius: 8px;
\n
"
" -webkit-border-top-right-radius: 8px;
\n
"
" -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
\n
"
" -moz-border-radius-topleft: 8px;
\n
"
" -moz-border-radius-topleft: 8px;
\n
"
" -moz-border-radius-topright: 8px;
\n
"
" -moz-border-radius-topright: 8px;
\n
"
" -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
\n
"
"
\n
"
"}
\n
"
"}
\n
"
"
\n
"
"
\n
"
".memdoc {
\n
"
".memdoc {
\n
"
...
@@ -322,8 +370,10 @@
...
@@ -322,8 +370,10 @@
" border-top-width: 0;
\n
"
" border-top-width: 0;
\n
"
" -webkit-border-bottom-left-radius: 8px;
\n
"
" -webkit-border-bottom-left-radius: 8px;
\n
"
" -webkit-border-bottom-right-radius: 8px;
\n
"
" -webkit-border-bottom-right-radius: 8px;
\n
"
" -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
\n
"
" -moz-border-radius-bottomleft: 8px;
\n
"
" -moz-border-radius-bottomleft: 8px;
\n
"
" -moz-border-radius-bottomright: 8px;
\n
"
" -moz-border-radius-bottomright: 8px;
\n
"
" -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
\n
"
"}
\n
"
"}
\n
"
"
\n
"
"
\n
"
".paramkey {
\n
"
".paramkey {
\n
"
...
...
src/filedef.cpp
View file @
7a3de4c3
...
@@ -186,7 +186,7 @@ void FileDef::writeDetailedDescription(OutputList &ol,const QCString &title)
...
@@ -186,7 +186,7 @@ void FileDef::writeDetailedDescription(OutputList &ol,const QCString &title)
ol
.
pushGeneratorState
();
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
newParagraph
();
// ol.newParagraph(); // FIXME:PARA
ol
.
enableAll
();
ol
.
enableAll
();
ol
.
disableAllBut
(
OutputGenerator
::
Man
);
ol
.
disableAllBut
(
OutputGenerator
::
Man
);
ol
.
writeString
(
"
\n\n
"
);
ol
.
writeString
(
"
\n\n
"
);
...
@@ -220,7 +220,9 @@ void FileDef::writeBriefDescription(OutputList &ol)
...
@@ -220,7 +220,9 @@ void FileDef::writeBriefDescription(OutputList &ol)
{
{
if
(
!
briefDescription
().
isEmpty
())
if
(
!
briefDescription
().
isEmpty
())
{
{
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
this
,
0
,
briefDescription
(),
TRUE
,
FALSE
);
ol
.
startParagraph
();
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
this
,
0
,
briefDescription
(),
TRUE
,
FALSE
,
0
,
TRUE
,
FALSE
);
ol
.
pushGeneratorState
();
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
writeString
(
"
\n
"
);
ol
.
writeString
(
"
\n
"
);
...
@@ -236,11 +238,12 @@ void FileDef::writeBriefDescription(OutputList &ol)
...
@@ -236,11 +238,12 @@ void FileDef::writeBriefDescription(OutputList &ol)
ol
.
endTextLink
();
ol
.
endTextLink
();
}
}
ol
.
popGeneratorState
();
ol
.
popGeneratorState
();
ol
.
endParagraph
();
ol
.
pushGeneratorState
();
//
ol.pushGeneratorState();
ol
.
disable
(
OutputGenerator
::
RTF
);
//
ol.disable(OutputGenerator::RTF);
ol
.
newParagraph
();
//
ol.newParagraph();
ol
.
popGeneratorState
();
//
ol.popGeneratorState();
}
}
ol
.
writeSynopsis
();
ol
.
writeSynopsis
();
}
}
...
@@ -337,7 +340,6 @@ void FileDef::writeIncludeGraph(OutputList &ol)
...
@@ -337,7 +340,6 @@ void FileDef::writeIncludeGraph(OutputList &ol)
{
{
ol
.
startTextBlock
();
ol
.
startTextBlock
();
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
newParagraph
();
ol
.
startInclDepGraph
();
ol
.
startInclDepGraph
();
ol
.
parseText
(
theTranslator
->
trInclDepGraph
(
name
()));
ol
.
parseText
(
theTranslator
->
trInclDepGraph
(
name
()));
ol
.
endInclDepGraph
(
incDepGraph
);
ol
.
endInclDepGraph
(
incDepGraph
);
...
@@ -358,7 +360,6 @@ void FileDef::writeIncludedByGraph(OutputList &ol)
...
@@ -358,7 +360,6 @@ void FileDef::writeIncludedByGraph(OutputList &ol)
{
{
ol
.
startTextBlock
();
ol
.
startTextBlock
();
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
newParagraph
();
ol
.
startInclDepGraph
();
ol
.
startInclDepGraph
();
ol
.
parseText
(
theTranslator
->
trInclByDepGraph
());
ol
.
parseText
(
theTranslator
->
trInclByDepGraph
());
ol
.
endInclDepGraph
(
incDepGraph
);
ol
.
endInclDepGraph
(
incDepGraph
);
...
@@ -376,10 +377,11 @@ void FileDef::writeSourceLink(OutputList &ol)
...
@@ -376,10 +377,11 @@ void FileDef::writeSourceLink(OutputList &ol)
if
(
generateSourceFile
())
if
(
generateSourceFile
())
{
{
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
ol
.
new
Paragraph
();
ol
.
start
Paragraph
();
ol
.
startTextLink
(
includeName
(),
0
);
ol
.
startTextLink
(
includeName
(),
0
);
ol
.
parseText
(
theTranslator
->
trGotoSourceCode
());
ol
.
parseText
(
theTranslator
->
trGotoSourceCode
());
ol
.
endTextLink
();
ol
.
endTextLink
();
ol
.
endParagraph
();
ol
.
enableAll
();
ol
.
enableAll
();
}
}
}
}
...
...
src/formula.cpp
View file @
7a3de4c3
/******************************************************************************
/******************************************************************************
i
*
*
*
*
* Copyright (C) 1997-2008 by Dimitri van Heesch.
* Copyright (C) 1997-2008 by Dimitri van Heesch.
...
...
src/ftvhelp.cpp
View file @
7a3de4c3
...
@@ -293,7 +293,7 @@ unsigned char ftv2vertline_png[] = {
...
@@ -293,7 +293,7 @@ unsigned char ftv2vertline_png[] = {
FTVImageInfo
image_info
[]
=
FTVImageInfo
image_info
[]
=
{
{
{
"&
nbsp
;"
,
"ftv2blank.png"
,
ftv2blank_png
,
174
,
16
,
22
},
{
"&
#160
;"
,
"ftv2blank.png"
,
ftv2blank_png
,
174
,
16
,
22
},
{
"*"
,
"ftv2doc.png"
,
ftv2doc_png
,
255
,
24
,
22
},
{
"*"
,
"ftv2doc.png"
,
ftv2doc_png
,
255
,
24
,
22
},
{
"+"
,
"ftv2folderclosed.png"
,
ftv2folderclosed_png
,
259
,
24
,
22
},
{
"+"
,
"ftv2folderclosed.png"
,
ftv2folderclosed_png
,
259
,
24
,
22
},
{
"-"
,
"ftv2folderopen.png"
,
ftv2folderopen_png
,
261
,
24
,
22
},
{
"-"
,
"ftv2folderopen.png"
,
ftv2folderopen_png
,
261
,
24
,
22
},
...
@@ -585,9 +585,10 @@ void FTVHelp::generateTreeView(QString* OutString)
...
@@ -585,9 +585,10 @@ void FTVHelp::generateTreeView(QString* OutString)
#if QT_VERSION >= 200
#if QT_VERSION >= 200
t
.
setEncoding
(
QTextStream
::
UnicodeUTF8
);
t
.
setEncoding
(
QTextStream
::
UnicodeUTF8
);
#endif
#endif
t
<<
"<!DOCTYPE HTML PUBLIC
\"
-//W3C//DTD HTML 4.01 Frameset//EN
\"
>
\n
"
;
//t << "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Frameset//EN\">\n";
t
<<
"<html><head>"
;
t
<<
"<!DOCTYPE html PUBLIC
\"
-//W3C//DTD XHTML 1.0 Frameset//EN
\"
\"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd
\"
>
\n
"
;
t
<<
"<meta http-equiv=
\"
Content-Type
\"
content=
\"
text/html;charset=UTF-8
\"
>
\n
"
;
t
<<
"<html xmlns=
\"
http://www.w3.org/1999/xhtml
\"
>
\n
<head>
\n
"
;
t
<<
"<meta http-equiv=
\"
Content-Type
\"
content=
\"
text/html;charset=UTF-8
\"
/>
\n
"
;
t
<<
"<title>"
;
t
<<
"<title>"
;
if
(
Config_getString
(
"PROJECT_NAME"
).
isEmpty
())
if
(
Config_getString
(
"PROJECT_NAME"
).
isEmpty
())
{
{
...
@@ -597,12 +598,14 @@ void FTVHelp::generateTreeView(QString* OutString)
...
@@ -597,12 +598,14 @@ void FTVHelp::generateTreeView(QString* OutString)
{
{
t
<<
Config_getString
(
"PROJECT_NAME"
);
t
<<
Config_getString
(
"PROJECT_NAME"
);
}
}
t
<<
"</title></head>"
<<
endl
;
t
<<
"</title>
\n
</head>"
<<
endl
;
t
<<
"<frameset cols=
\"
"
<<
Config_getInt
(
"TREEVIEW_WIDTH"
)
<<
",*
\"
>"
<<
endl
;
t
<<
"<frameset cols=
\"
"
<<
Config_getInt
(
"TREEVIEW_WIDTH"
)
<<
",*
\"
>"
<<
endl
;
t
<<
" <frame src=
\"
tree"
<<
Doxygen
::
htmlFileExtension
<<
"
\"
name=
\"
treefrm
\"
>"
<<
endl
;
t
<<
" <frame src=
\"
tree"
<<
Doxygen
::
htmlFileExtension
<<
"
\"
name=
\"
treefrm
\"
/
>"
<<
endl
;
t
<<
" <frame src=
\"
main"
<<
Doxygen
::
htmlFileExtension
<<
"
\"
name=
\"
basefrm
\"
>"
<<
endl
;
t
<<
" <frame src=
\"
main"
<<
Doxygen
::
htmlFileExtension
<<
"
\"
name=
\"
basefrm
\"
/
>"
<<
endl
;
t
<<
" <noframes>"
<<
endl
;
t
<<
" <noframes>"
<<
endl
;
t
<<
" <body>"
<<
endl
;
t
<<
" <a href=
\"
main"
<<
Doxygen
::
htmlFileExtension
<<
"
\"
>Frames are disabled. Click here to go to the main page.</a>"
<<
endl
;
t
<<
" <a href=
\"
main"
<<
Doxygen
::
htmlFileExtension
<<
"
\"
>Frames are disabled. Click here to go to the main page.</a>"
<<
endl
;
t
<<
" </body>"
<<
endl
;
t
<<
" </noframes>"
<<
endl
;
t
<<
" </noframes>"
<<
endl
;
t
<<
"</frameset>"
<<
endl
;
t
<<
"</frameset>"
<<
endl
;
t
<<
"</html>"
<<
endl
;
t
<<
"</html>"
<<
endl
;
...
@@ -618,9 +621,10 @@ void FTVHelp::generateTreeView(QString* OutString)
...
@@ -618,9 +621,10 @@ void FTVHelp::generateTreeView(QString* OutString)
if
(
m_topLevelIndex
)
if
(
m_topLevelIndex
)
{
{
t
<<
"<!DOCTYPE html PUBLIC
\"
-//W3C//DTD XHTML 1.0 Transitional//EN
\"
\"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
\"
>
\n
"
;
t
<<
"<html xmlns=
\"
http://www.w3.org/1999/xhtml
\"
xml:lang=
\"
en
\"
lang=
\"
en
\"
>
\n
"
;
t
<<
"<html xmlns=
\"
http://www.w3.org/1999/xhtml
\"
xml:lang=
\"
en
\"
lang=
\"
en
\"
>
\n
"
;
t
<<
" <head>
\n
"
;
t
<<
" <head>
\n
"
;
t
<<
" <meta http-equiv=
\"
Content-Type
\"
content=
\"
text/xhtml;charset=UTF-8
\"
/>
\n
"
;
t
<<
" <meta http-equiv=
\"
Content-Type
\"
content=
\"
text/xhtml;charset=UTF-8
\"
/>
\n
"
;
t
<<
" <meta http-equiv=
\"
Content-Style-Type
\"
content=
\"
text/css
\"
/>
\n
"
;
t
<<
" <meta http-equiv=
\"
Content-Style-Type
\"
content=
\"
text/css
\"
/>
\n
"
;
t
<<
" <meta http-equiv=
\"
Content-Language
\"
content=
\"
en
\"
/>
\n
"
;
t
<<
" <meta http-equiv=
\"
Content-Language
\"
content=
\"
en
\"
/>
\n
"
;
t
<<
" <link rel=
\"
stylesheet
\"
href=
\"
"
;
t
<<
" <link rel=
\"
stylesheet
\"
href=
\"
"
;
...
@@ -638,7 +642,7 @@ void FTVHelp::generateTreeView(QString* OutString)
...
@@ -638,7 +642,7 @@ void FTVHelp::generateTreeView(QString* OutString)
}
}
t
<<
cssfi
.
fileName
();
t
<<
cssfi
.
fileName
();
}
}
t
<<
"
\"
>"
<<
endl
;
t
<<
"
\"
/
>"
<<
endl
;
t
<<
" <title>TreeView</title>
\n
"
;
t
<<
" <title>TreeView</title>
\n
"
;
}
}
t
<<
" <script type=
\"
text/javascript
\"
>
\n
"
;
t
<<
" <script type=
\"
text/javascript
\"
>
\n
"
;
...
@@ -720,7 +724,7 @@ void FTVHelp::generateTreeView(QString* OutString)
...
@@ -720,7 +724,7 @@ void FTVHelp::generateTreeView(QString* OutString)
else
else
{
{
t
<<
" <div class=
\"
directory-alt
\"
>
\n
"
;
t
<<
" <div class=
\"
directory-alt
\"
>
\n
"
;
t
<<
" <br>
\n
"
;
t
<<
" <br
/
>
\n
"
;
}
}
t
<<
" <div style=
\"
display: block;
\"
>
\n
"
;
t
<<
" <div style=
\"
display: block;
\"
>
\n
"
;
...
@@ -729,7 +733,7 @@ void FTVHelp::generateTreeView(QString* OutString)
...
@@ -729,7 +733,7 @@ void FTVHelp::generateTreeView(QString* OutString)
t
<<
" </div>
\n
"
;
t
<<
" </div>
\n
"
;
t
<<
" </div>
\n
"
;
t
<<
" </div>
\n
"
;
if
(
!
m_topLevelIndex
)
if
(
m_topLevelIndex
)
{
{
t
<<
" </body>
\n
"
;
t
<<
" </body>
\n
"
;
t
<<
"</html>
\n
"
;
t
<<
"</html>
\n
"
;
...
...
src/ftvhelp.h
View file @
7a3de4c3
...
@@ -63,8 +63,8 @@ extern FTVImageInfo image_info[];
...
@@ -63,8 +63,8 @@ extern FTVImageInfo image_info[];
#define FTV_IMGATTRIBS(name) \
#define FTV_IMGATTRIBS(name) \
"src=\"" FTV_ICON_FILE(name) "\" " \
"src=\"" FTV_ICON_FILE(name) "\" " \
"alt=\"" << FTV_INFO(name).alt << "\" " \
"alt=\"" << FTV_INFO(name).alt << "\" " \
"width=
" << FTV_INFO(name).width <<
" " \
"width=
\"" << FTV_INFO(name).width << "\
" " \
"height=
" << FTV_INFO(name).height <<
" "
"height=
\"" << FTV_INFO(name).height << "\
" "
/*! A class that generates a dynamic tree view side panel.
/*! A class that generates a dynamic tree view side panel.
*/
*/
...
...
src/groupdef.cpp
View file @
7a3de4c3
...
@@ -527,7 +527,7 @@ void GroupDef::writeDetailedDescription(OutputList &ol,const QCString &title)
...
@@ -527,7 +527,7 @@ void GroupDef::writeDetailedDescription(OutputList &ol,const QCString &title)
ol
.
pushGeneratorState
();
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
newParagraph
();
// ol.newParagraph(); // FIXME:PARA
ol
.
enableAll
();
ol
.
enableAll
();
ol
.
disableAllBut
(
OutputGenerator
::
Man
);
ol
.
disableAllBut
(
OutputGenerator
::
Man
);
ol
.
writeString
(
"
\n\n
"
);
ol
.
writeString
(
"
\n\n
"
);
...
@@ -552,7 +552,9 @@ void GroupDef::writeBriefDescription(OutputList &ol)
...
@@ -552,7 +552,9 @@ void GroupDef::writeBriefDescription(OutputList &ol)
{
{
if
(
!
briefDescription
().
isEmpty
())
if
(
!
briefDescription
().
isEmpty
())
{
{
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
this
,
0
,
briefDescription
(),
TRUE
,
FALSE
);
ol
.
startParagraph
();
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
this
,
0
,
briefDescription
(),
TRUE
,
FALSE
,
0
,
TRUE
,
FALSE
);
ol
.
pushGeneratorState
();
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
writeString
(
"
\n
"
);
ol
.
writeString
(
"
\n
"
);
...
@@ -569,10 +571,11 @@ void GroupDef::writeBriefDescription(OutputList &ol)
...
@@ -569,10 +571,11 @@ void GroupDef::writeBriefDescription(OutputList &ol)
}
}
ol
.
popGeneratorState
();
ol
.
popGeneratorState
();
ol
.
pushGeneratorState
();
//ol.pushGeneratorState();
ol
.
disable
(
OutputGenerator
::
RTF
);
//ol.disable(OutputGenerator::RTF);
ol
.
newParagraph
();
//ol.newParagraph();
ol
.
popGeneratorState
();
//ol.popGeneratorState();
ol
.
endParagraph
();
}
}
}
}
...
@@ -586,10 +589,11 @@ void GroupDef::writeGroupGraph(OutputList &ol)
...
@@ -586,10 +589,11 @@ void GroupDef::writeGroupGraph(OutputList &ol)
msg
(
"Generating dependency graph for group %s
\n
"
,
qualifiedName
().
data
());
msg
(
"Generating dependency graph for group %s
\n
"
,
qualifiedName
().
data
());
ol
.
pushGeneratorState
();
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
new
Paragraph
();
ol
.
start
Paragraph
();
ol
.
startGroupCollaboration
();
ol
.
startGroupCollaboration
();
ol
.
parseText
(
theTranslator
->
trCollaborationDiagram
(
title
));
ol
.
parseText
(
theTranslator
->
trCollaborationDiagram
(
title
));
ol
.
endGroupCollaboration
(
graph
);
ol
.
endGroupCollaboration
(
graph
);
ol
.
endParagraph
();
ol
.
popGeneratorState
();
ol
.
popGeneratorState
();
}
}
}
}
...
@@ -618,10 +622,11 @@ void GroupDef::writeFiles(OutputList &ol,const QCString &title)
...
@@ -618,10 +622,11 @@ void GroupDef::writeFiles(OutputList &ol,const QCString &title)
ol
.
endMemberItem
();
ol
.
endMemberItem
();
if
(
!
fd
->
briefDescription
().
isEmpty
()
&&
Config_getBool
(
"BRIEF_MEMBER_DESC"
))
if
(
!
fd
->
briefDescription
().
isEmpty
()
&&
Config_getBool
(
"BRIEF_MEMBER_DESC"
))
{
{
ol
.
startParagraph
();
ol
.
startMemberDescription
();
ol
.
startMemberDescription
();
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
fd
,
0
,
fd
->
briefDescription
(),
FALSE
,
FALSE
);
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
fd
,
0
,
fd
->
briefDescription
(),
FALSE
,
FALSE
);
ol
.
endMemberDescription
();
ol
.
endMemberDescription
();
ol
.
new
Paragraph
();
ol
.
end
Paragraph
();
}
}
fd
=
fileList
->
next
();
fd
=
fileList
->
next
();
}
}
...
@@ -659,10 +664,11 @@ void GroupDef::writeNestedGroups(OutputList &ol,const QCString &title)
...
@@ -659,10 +664,11 @@ void GroupDef::writeNestedGroups(OutputList &ol,const QCString &title)
ol
.
endMemberItem
();
ol
.
endMemberItem
();
if
(
!
gd
->
briefDescription
().
isEmpty
()
&&
Config_getBool
(
"BRIEF_MEMBER_DESC"
))
if
(
!
gd
->
briefDescription
().
isEmpty
()
&&
Config_getBool
(
"BRIEF_MEMBER_DESC"
))
{
{
ol
.
startParagraph
();
ol
.
startMemberDescription
();
ol
.
startMemberDescription
();
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
gd
,
0
,
gd
->
briefDescription
(),
FALSE
,
FALSE
);
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
gd
,
0
,
gd
->
briefDescription
(),
FALSE
,
FALSE
);
ol
.
endMemberDescription
();
ol
.
endMemberDescription
();
ol
.
new
Paragraph
();
ol
.
end
Paragraph
();
}
}
gd
=
groupList
->
next
();
gd
=
groupList
->
next
();
}
}
...
@@ -693,10 +699,11 @@ void GroupDef::writeDirs(OutputList &ol,const QCString &title)
...
@@ -693,10 +699,11 @@ void GroupDef::writeDirs(OutputList &ol,const QCString &title)
}
}
if
(
!
dd
->
briefDescription
().
isEmpty
()
&&
Config_getBool
(
"BRIEF_MEMBER_DESC"
))
if
(
!
dd
->
briefDescription
().
isEmpty
()
&&
Config_getBool
(
"BRIEF_MEMBER_DESC"
))
{
{
ol
.
startParagraph
();
ol
.
startMemberDescription
();
ol
.
startMemberDescription
();
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
dd
,
0
,
dd
->
briefDescription
(),
FALSE
,
FALSE
);
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
dd
,
0
,
dd
->
briefDescription
(),
FALSE
,
FALSE
);
ol
.
endMemberDescription
();
ol
.
endMemberDescription
();
ol
.
new
Paragraph
();
ol
.
end
Paragraph
();
}
}
dd
=
dirList
->
next
();
dd
=
dirList
->
next
();
}
}
...
...
src/htmldocvisitor.cpp
View file @
7a3de4c3
...
@@ -34,6 +34,45 @@
...
@@ -34,6 +34,45 @@
static
const
int
NUM_HTML_LIST_TYPES
=
4
;
static
const
int
NUM_HTML_LIST_TYPES
=
4
;
static
const
char
types
[][
NUM_HTML_LIST_TYPES
]
=
{
"1"
,
"a"
,
"i"
,
"A"
};
static
const
char
types
[][
NUM_HTML_LIST_TYPES
]
=
{
"1"
,
"a"
,
"i"
,
"A"
};
static
bool
mustBeOutsideParagraph
(
DocNode
*
n
)
{
switch
(
n
->
kind
())
{
/* <ul> */
case
DocNode
:
:
Kind_HtmlList
:
case
DocNode
:
:
Kind_SimpleList
:
case
DocNode
:
:
Kind_AutoList
:
/* <dl> */
case
DocNode
:
:
Kind_SimpleSect
:
case
DocNode
:
:
Kind_ParamSect
:
case
DocNode
:
:
Kind_HtmlDescList
:
case
DocNode
:
:
Kind_XRefItem
:
/* <table> */
case
DocNode
:
:
Kind_HtmlTable
:
/* <h?> */
case
DocNode
:
:
Kind_Section
:
case
DocNode
:
:
Kind_HtmlHeader
:
/* <div> */
case
DocNode
:
:
Kind_Verbatim
:
case
DocNode
:
:
Kind_Include
:
case
DocNode
:
:
Kind_Image
:
case
DocNode
:
:
Kind_SecRefList
:
/* <hr> */
case
DocNode
:
:
Kind_HorRuler
:
return
TRUE
;
case
DocNode
:
:
Kind_StyleChange
:
return
((
DocStyleChange
*
)
n
)
->
style
()
==
DocStyleChange
::
Preformatted
||
((
DocStyleChange
*
)
n
)
->
style
()
==
DocStyleChange
::
Div
||
((
DocStyleChange
*
)
n
)
->
style
()
==
DocStyleChange
::
Center
;
case
DocNode
:
:
Kind_Formula
:
return
!
((
DocFormula
*
)
n
)
->
isInline
();
default:
break
;
}
return
FALSE
;
}
static
QString
htmlAttribsToString
(
const
HtmlAttribList
&
attribs
)
static
QString
htmlAttribsToString
(
const
HtmlAttribList
&
attribs
)
{
{
...
@@ -41,10 +80,14 @@ static QString htmlAttribsToString(const HtmlAttribList &attribs)
...
@@ -41,10 +80,14 @@ static QString htmlAttribsToString(const HtmlAttribList &attribs)
HtmlAttribListIterator
li
(
attribs
);
HtmlAttribListIterator
li
(
attribs
);
HtmlAttrib
*
att
;
HtmlAttrib
*
att
;
for
(
li
.
toFirst
();(
att
=
li
.
current
());
++
li
)
for
(
li
.
toFirst
();(
att
=
li
.
current
());
++
li
)
{
if
(
!
att
->
value
.
isEmpty
())
// ignore attribute without values as they
// are not XHTML compliant
{
{
result
+=
" "
;
result
+=
" "
;
result
+=
att
->
name
;
result
+=
att
->
name
;
if
(
!
att
->
value
.
isEmpty
())
result
+=
"=
\"
"
+
att
->
value
+
"
\"
"
;
result
+=
"=
\"
"
+
convertToXML
(
att
->
value
)
+
"
\"
"
;
}
}
}
return
result
;
return
result
;
}
}
...
@@ -143,13 +186,13 @@ void HtmlDocVisitor::visit(DocURL *u)
...
@@ -143,13 +186,13 @@ void HtmlDocVisitor::visit(DocURL *u)
void
HtmlDocVisitor
::
visit
(
DocLineBreak
*
)
void
HtmlDocVisitor
::
visit
(
DocLineBreak
*
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
m_t
<<
"<br>
\n
"
;
m_t
<<
"<br
/
>
\n
"
;
}
}
void
HtmlDocVisitor
::
visit
(
DocHorRuler
*
)
void
HtmlDocVisitor
::
visit
(
DocHorRuler
*
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
m_t
<<
"<hr>
\n
"
;
m_t
<<
"<hr
/
>
\n
"
;
}
}
void
HtmlDocVisitor
::
visit
(
DocStyleChange
*
s
)
void
HtmlDocVisitor
::
visit
(
DocStyleChange
*
s
)
...
@@ -173,7 +216,16 @@ void HtmlDocVisitor::visit(DocStyleChange *s)
...
@@ -173,7 +216,16 @@ void HtmlDocVisitor::visit(DocStyleChange *s)
if
(
s
->
enable
())
m_t
<<
"<sup"
<<
htmlAttribsToString
(
s
->
attribs
())
<<
">"
;
else
m_t
<<
"</sup>"
;
if
(
s
->
enable
())
m_t
<<
"<sup"
<<
htmlAttribsToString
(
s
->
attribs
())
<<
">"
;
else
m_t
<<
"</sup>"
;
break
;
break
;
case
DocStyleChange
:
:
Center
:
case
DocStyleChange
:
:
Center
:
if
(
s
->
enable
())
m_t
<<
"<center"
<<
htmlAttribsToString
(
s
->
attribs
())
<<
">"
;
else
m_t
<<
"</center>"
;
if
(
s
->
enable
())
{
forceEndParagraph
(
s
);
m_t
<<
"<center"
<<
htmlAttribsToString
(
s
->
attribs
())
<<
">"
;
}
else
{
m_t
<<
"</center>"
;
forceStartParagraph
(
s
);
}
break
;
break
;
case
DocStyleChange
:
:
Small
:
case
DocStyleChange
:
:
Small
:
if
(
s
->
enable
())
m_t
<<
"<small"
<<
htmlAttribsToString
(
s
->
attribs
())
<<
">"
;
else
m_t
<<
"</small>"
;
if
(
s
->
enable
())
m_t
<<
"<small"
<<
htmlAttribsToString
(
s
->
attribs
())
<<
">"
;
else
m_t
<<
"</small>"
;
...
@@ -181,6 +233,7 @@ void HtmlDocVisitor::visit(DocStyleChange *s)
...
@@ -181,6 +233,7 @@ void HtmlDocVisitor::visit(DocStyleChange *s)
case
DocStyleChange
:
:
Preformatted
:
case
DocStyleChange
:
:
Preformatted
:
if
(
s
->
enable
())
if
(
s
->
enable
())
{
{
forceEndParagraph
(
s
);
m_t
<<
"<pre"
<<
htmlAttribsToString
(
s
->
attribs
())
<<
">"
;
m_t
<<
"<pre"
<<
htmlAttribsToString
(
s
->
attribs
())
<<
">"
;
m_insidePre
=
TRUE
;
m_insidePre
=
TRUE
;
}
}
...
@@ -188,10 +241,20 @@ void HtmlDocVisitor::visit(DocStyleChange *s)
...
@@ -188,10 +241,20 @@ void HtmlDocVisitor::visit(DocStyleChange *s)
{
{
m_insidePre
=
FALSE
;
m_insidePre
=
FALSE
;
m_t
<<
"</pre>"
;
m_t
<<
"</pre>"
;
forceStartParagraph
(
s
);
}
}
break
;
break
;
case
DocStyleChange
:
:
Div
:
case
DocStyleChange
:
:
Div
:
if
(
s
->
enable
())
m_t
<<
"<div"
<<
htmlAttribsToString
(
s
->
attribs
())
<<
">"
;
else
m_t
<<
"</div>"
;
if
(
s
->
enable
())
{
forceEndParagraph
(
s
);
m_t
<<
"<div"
<<
htmlAttribsToString
(
s
->
attribs
())
<<
">"
;
}
else
{
m_t
<<
"</div>"
;
forceStartParagraph
(
s
);
}
break
;
break
;
case
DocStyleChange
:
:
Span
:
case
DocStyleChange
:
:
Span
:
if
(
s
->
enable
())
m_t
<<
"<span"
<<
htmlAttribsToString
(
s
->
attribs
())
<<
">"
;
else
m_t
<<
"</span>"
;
if
(
s
->
enable
())
m_t
<<
"<span"
<<
htmlAttribsToString
(
s
->
attribs
())
<<
">"
;
else
m_t
<<
"</span>"
;
...
@@ -207,16 +270,20 @@ void HtmlDocVisitor::visit(DocVerbatim *s)
...
@@ -207,16 +270,20 @@ void HtmlDocVisitor::visit(DocVerbatim *s)
switch
(
s
->
type
())
switch
(
s
->
type
())
{
{
case
DocVerbatim
:
:
Code
:
// fall though
case
DocVerbatim
:
:
Code
:
// fall though
forceEndParagraph
(
s
);
m_t
<<
PREFRAG_START
;
m_t
<<
PREFRAG_START
;
Doxygen
::
parserManager
->
getParser
(
m_langExt
)
Doxygen
::
parserManager
->
getParser
(
m_langExt
)
->
parseCode
(
m_ci
,
s
->
context
(),
s
->
text
().
latin1
(),
->
parseCode
(
m_ci
,
s
->
context
(),
s
->
text
().
latin1
(),
s
->
isExample
(),
s
->
exampleFile
());
s
->
isExample
(),
s
->
exampleFile
());
m_t
<<
PREFRAG_END
;
m_t
<<
PREFRAG_END
;
forceStartParagraph
(
s
);
break
;
break
;
case
DocVerbatim
:
:
Verbatim
:
case
DocVerbatim
:
:
Verbatim
:
forceEndParagraph
(
s
);
m_t
<<
PREFRAG_START
;
m_t
<<
PREFRAG_START
;
filter
(
s
->
text
());
filter
(
s
->
text
());
m_t
<<
PREFRAG_END
;
m_t
<<
PREFRAG_END
;
forceStartParagraph
(
s
);
break
;
break
;
case
DocVerbatim
:
:
HtmlOnly
:
case
DocVerbatim
:
:
HtmlOnly
:
m_t
<<
s
->
text
();
m_t
<<
s
->
text
();
...
@@ -245,9 +312,11 @@ void HtmlDocVisitor::visit(DocVerbatim *s)
...
@@ -245,9 +312,11 @@ void HtmlDocVisitor::visit(DocVerbatim *s)
file
.
writeBlock
(
s
->
text
(),
s
->
text
().
length
()
);
file
.
writeBlock
(
s
->
text
(),
s
->
text
().
length
()
);
file
.
close
();
file
.
close
();
forceEndParagraph
(
s
);
m_t
<<
"<div align=
\"
center
\"
>"
<<
endl
;
m_t
<<
"<div align=
\"
center
\"
>"
<<
endl
;
writeDotFile
(
fileName
,
s
->
relPath
(),
s
->
context
());
writeDotFile
(
fileName
,
s
->
relPath
(),
s
->
context
());
m_t
<<
"</div>"
<<
endl
;
m_t
<<
"</div>"
<<
endl
;
forceStartParagraph
(
s
);
if
(
Config_getBool
(
"DOT_CLEANUP"
))
file
.
remove
();
if
(
Config_getBool
(
"DOT_CLEANUP"
))
file
.
remove
();
}
}
...
@@ -272,9 +341,11 @@ void HtmlDocVisitor::visit(DocVerbatim *s)
...
@@ -272,9 +341,11 @@ void HtmlDocVisitor::visit(DocVerbatim *s)
file
.
writeBlock
(
text
,
text
.
length
()
);
file
.
writeBlock
(
text
,
text
.
length
()
);
file
.
close
();
file
.
close
();
forceEndParagraph
(
s
);
m_t
<<
"<div align=
\"
center
\"
>"
<<
endl
;
m_t
<<
"<div align=
\"
center
\"
>"
<<
endl
;
writeMscFile
(
baseName
,
s
->
relPath
(),
s
->
context
());
writeMscFile
(
baseName
,
s
->
relPath
(),
s
->
context
());
m_t
<<
"</div>"
<<
endl
;
m_t
<<
"</div>"
<<
endl
;
forceStartParagraph
(
s
);
if
(
Config_getBool
(
"DOT_CLEANUP"
))
file
.
remove
();
if
(
Config_getBool
(
"DOT_CLEANUP"
))
file
.
remove
();
}
}
...
@@ -285,7 +356,7 @@ void HtmlDocVisitor::visit(DocVerbatim *s)
...
@@ -285,7 +356,7 @@ void HtmlDocVisitor::visit(DocVerbatim *s)
void
HtmlDocVisitor
::
visit
(
DocAnchor
*
anc
)
void
HtmlDocVisitor
::
visit
(
DocAnchor
*
anc
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
m_t
<<
"<a class=
\"
anchor
\"
name
=
\"
"
<<
anc
->
anchor
()
<<
"
\"
></a>"
;
m_t
<<
"<a class=
\"
anchor
\"
id
=
\"
"
<<
anc
->
anchor
()
<<
"
\"
></a>"
;
}
}
void
HtmlDocVisitor
::
visit
(
DocInclude
*
inc
)
void
HtmlDocVisitor
::
visit
(
DocInclude
*
inc
)
...
@@ -294,6 +365,7 @@ void HtmlDocVisitor::visit(DocInclude *inc)
...
@@ -294,6 +365,7 @@ void HtmlDocVisitor::visit(DocInclude *inc)
switch
(
inc
->
type
())
switch
(
inc
->
type
())
{
{
case
DocInclude
:
:
Include
:
case
DocInclude
:
:
Include
:
forceEndParagraph
(
inc
);
m_t
<<
PREFRAG_START
;
m_t
<<
PREFRAG_START
;
Doxygen
::
parserManager
->
getParser
(
inc
->
extension
())
Doxygen
::
parserManager
->
getParser
(
inc
->
extension
())
->
parseCode
(
m_ci
,
->
parseCode
(
m_ci
,
...
@@ -307,9 +379,11 @@ void HtmlDocVisitor::visit(DocInclude *inc)
...
@@ -307,9 +379,11 @@ void HtmlDocVisitor::visit(DocInclude *inc)
TRUE
// inlineFragment
TRUE
// inlineFragment
);
);
m_t
<<
PREFRAG_END
;
m_t
<<
PREFRAG_END
;
forceStartParagraph
(
inc
);
break
;
break
;
case
DocInclude
:
:
IncWithLines
:
case
DocInclude
:
:
IncWithLines
:
{
{
forceEndParagraph
(
inc
);
m_t
<<
PREFRAG_START
;
m_t
<<
PREFRAG_START
;
QFileInfo
cfi
(
inc
->
file
()
);
QFileInfo
cfi
(
inc
->
file
()
);
FileDef
fd
(
cfi
.
dirPath
(),
cfi
.
fileName
()
);
FileDef
fd
(
cfi
.
dirPath
(),
cfi
.
fileName
()
);
...
@@ -320,6 +394,7 @@ void HtmlDocVisitor::visit(DocInclude *inc)
...
@@ -320,6 +394,7 @@ void HtmlDocVisitor::visit(DocInclude *inc)
inc
->
isExample
(),
inc
->
isExample
(),
inc
->
exampleFile
(),
&
fd
);
inc
->
exampleFile
(),
&
fd
);
m_t
<<
PREFRAG_END
;
m_t
<<
PREFRAG_END
;
forceStartParagraph
(
inc
);
}
}
break
;
break
;
case
DocInclude
:
:
DontInclude
:
case
DocInclude
:
:
DontInclude
:
...
@@ -328,9 +403,11 @@ void HtmlDocVisitor::visit(DocInclude *inc)
...
@@ -328,9 +403,11 @@ void HtmlDocVisitor::visit(DocInclude *inc)
m_t
<<
inc
->
text
();
m_t
<<
inc
->
text
();
break
;
break
;
case
DocInclude
:
:
VerbInclude
:
case
DocInclude
:
:
VerbInclude
:
forceEndParagraph
(
inc
);
m_t
<<
PREFRAG_START
;
m_t
<<
PREFRAG_START
;
filter
(
inc
->
text
());
filter
(
inc
->
text
());
m_t
<<
PREFRAG_END
;
m_t
<<
PREFRAG_END
;
forceStartParagraph
(
inc
);
break
;
break
;
}
}
}
}
...
@@ -372,8 +449,12 @@ void HtmlDocVisitor::visit(DocIncOperator *op)
...
@@ -372,8 +449,12 @@ void HtmlDocVisitor::visit(DocIncOperator *op)
void
HtmlDocVisitor
::
visit
(
DocFormula
*
f
)
void
HtmlDocVisitor
::
visit
(
DocFormula
*
f
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
bool
bDisplay
=
f
->
text
().
at
(
0
)
==
'\\'
;
bool
bDisplay
=
!
f
->
isInline
();
if
(
bDisplay
)
m_t
<<
"<p class=
\"
formulaDsp
\"
>"
<<
endl
;
if
(
bDisplay
)
{
forceEndParagraph
(
f
);
m_t
<<
"<p class=
\"
formulaDsp
\"
>"
<<
endl
;
}
m_t
<<
"<img class=
\"
formula"
m_t
<<
"<img class=
\"
formula"
<<
(
bDisplay
?
"Dsp"
:
"Inl"
);
<<
(
bDisplay
?
"Dsp"
:
"Inl"
);
m_t
<<
"
\"
alt=
\"
"
;
m_t
<<
"
\"
alt=
\"
"
;
...
@@ -381,9 +462,12 @@ void HtmlDocVisitor::visit(DocFormula *f)
...
@@ -381,9 +462,12 @@ void HtmlDocVisitor::visit(DocFormula *f)
m_t
<<
"
\"
"
;
m_t
<<
"
\"
"
;
/// @todo cache image dimensions on formula generation and give height/width
/// @todo cache image dimensions on formula generation and give height/width
/// for faster preloading and better rendering of the page
/// for faster preloading and better rendering of the page
m_t
<<
" src=
\"
"
<<
f
->
relPath
()
<<
f
->
name
()
<<
".png
\"
>"
;
m_t
<<
" src=
\"
"
<<
f
->
relPath
()
<<
f
->
name
()
<<
".png
\"
/
>"
;
if
(
bDisplay
)
if
(
bDisplay
)
m_t
<<
endl
<<
"<p>"
<<
endl
;
{
m_t
<<
endl
<<
"</p>"
<<
endl
;
forceStartParagraph
(
f
);
}
}
}
void
HtmlDocVisitor
::
visit
(
DocIndexEntry
*
)
void
HtmlDocVisitor
::
visit
(
DocIndexEntry
*
)
...
@@ -398,6 +482,7 @@ void HtmlDocVisitor::visit(DocIndexEntry *)
...
@@ -398,6 +482,7 @@ void HtmlDocVisitor::visit(DocIndexEntry *)
void
HtmlDocVisitor
::
visitPre
(
DocAutoList
*
l
)
void
HtmlDocVisitor
::
visitPre
(
DocAutoList
*
l
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
forceEndParagraph
(
l
);
if
(
l
->
isEnumList
())
if
(
l
->
isEnumList
())
{
{
//
//
...
@@ -408,7 +493,7 @@ void HtmlDocVisitor::visitPre(DocAutoList *l)
...
@@ -408,7 +493,7 @@ void HtmlDocVisitor::visitPre(DocAutoList *l)
// A.
// A.
// 1. (repeat)...
// 1. (repeat)...
//
//
m_t
<<
"<ol type=
"
<<
types
[
l
->
depth
()
%
NUM_HTML_LIST_TYPES
]
<<
">"
;
m_t
<<
"<ol type=
\"
"
<<
types
[
l
->
depth
()
%
NUM_HTML_LIST_TYPES
]
<<
"
\
"
>"
;
}
}
else
else
{
{
...
@@ -429,6 +514,7 @@ void HtmlDocVisitor::visitPost(DocAutoList *l)
...
@@ -429,6 +514,7 @@ void HtmlDocVisitor::visitPost(DocAutoList *l)
m_t
<<
"</ul>"
;
m_t
<<
"</ul>"
;
}
}
if
(
!
l
->
isPreformatted
())
m_t
<<
"
\n
"
;
if
(
!
l
->
isPreformatted
())
m_t
<<
"
\n
"
;
forceStartParagraph
(
l
);
}
}
void
HtmlDocVisitor
::
visitPre
(
DocAutoListItem
*
)
void
HtmlDocVisitor
::
visitPre
(
DocAutoListItem
*
)
...
@@ -437,41 +523,219 @@ void HtmlDocVisitor::visitPre(DocAutoListItem *)
...
@@ -437,41 +523,219 @@ void HtmlDocVisitor::visitPre(DocAutoListItem *)
m_t
<<
"<li>"
;
m_t
<<
"<li>"
;
}
}
void
HtmlDocVisitor
::
visitPost
(
DocAutoListItem
*
)
void
HtmlDocVisitor
::
visitPost
(
DocAutoListItem
*
li
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
m_t
<<
"</li>"
;
m_t
<<
"</li>"
;
if
(
!
li
->
isPreformatted
())
m_t
<<
"
\n
"
;
}
}
void
HtmlDocVisitor
::
visitPre
(
DocPara
*
)
template
<
class
T
>
bool
isFirstChildNode
(
T
*
parent
,
DocNode
*
node
)
{
return
parent
->
children
().
getFirst
()
==
node
;
}
template
<
class
T
>
bool
isLastChildNode
(
T
*
parent
,
DocNode
*
node
)
{
return
parent
->
children
().
getLast
()
==
node
;
}
int
getParagraphContext
(
DocPara
*
p
,
bool
&
isFirst
,
bool
&
isLast
)
{
int
t
=
0
;
isFirst
=
FALSE
;
isLast
=
FALSE
;
if
(
p
&&
p
->
parent
())
{
switch
(
p
->
parent
()
->
kind
())
{
case
DocNode
:
:
Kind_AutoListItem
:
isFirst
=
TRUE
;
isLast
=
TRUE
;
if
(
isFirst
)
t
=
1
;
if
(
isLast
)
t
=
3
;
break
;
case
DocNode
:
:
Kind_SimpleListItem
:
isFirst
=
TRUE
;
isLast
=
TRUE
;
if
(
isFirst
)
t
=
1
;
if
(
isLast
)
t
=
3
;
break
;
case
DocNode
:
:
Kind_HtmlListItem
:
isFirst
=
isFirstChildNode
((
DocHtmlListItem
*
)
p
->
parent
(),
p
);
isLast
=
isLastChildNode
((
DocHtmlListItem
*
)
p
->
parent
(),
p
);
if
(
isFirst
)
t
=
1
;
if
(
isLast
)
t
=
3
;
break
;
case
DocNode
:
:
Kind_SecRefItem
:
isFirst
=
isFirstChildNode
((
DocSecRefItem
*
)
p
->
parent
(),
p
);
isLast
=
isLastChildNode
((
DocSecRefItem
*
)
p
->
parent
(),
p
);
if
(
isFirst
)
t
=
1
;
if
(
isLast
)
t
=
3
;
break
;
case
DocNode
:
:
Kind_HtmlDescData
:
isFirst
=
isFirstChildNode
((
DocHtmlDescData
*
)
p
->
parent
(),
p
);
isLast
=
isLastChildNode
((
DocHtmlDescData
*
)
p
->
parent
(),
p
);
if
(
isFirst
)
t
=
2
;
if
(
isLast
)
t
=
4
;
break
;
case
DocNode
:
:
Kind_XRefItem
:
isFirst
=
isFirstChildNode
((
DocXRefItem
*
)
p
->
parent
(),
p
);
isLast
=
isLastChildNode
((
DocXRefItem
*
)
p
->
parent
(),
p
);
if
(
isFirst
)
t
=
2
;
if
(
isLast
)
t
=
4
;
break
;
case
DocNode
:
:
Kind_SimpleSect
:
isFirst
=
isFirstChildNode
((
DocSimpleSect
*
)
p
->
parent
(),
p
);
isLast
=
isLastChildNode
((
DocSimpleSect
*
)
p
->
parent
(),
p
);
if
(
isFirst
)
t
=
2
;
if
(
isLast
)
t
=
4
;
break
;
default
:
break
;
}
//printf("para=%p parent()->kind=%d isFirst=%d isLast=%d t=%d\n",
// p,p->parent()->kind(),isFirst,isLast,t);
}
return
t
;
}
void
HtmlDocVisitor
::
visitPre
(
DocPara
*
p
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
// TODO:
//printf("Processing docpara with parent of kind %d\n",
// Paragraph should be surrounded by <p>..</p>, but
// p->parent() ? p->parent()->kind() : -1);
//
// A list item (li), description data (dd), or table data (td) should
bool
needsTag
=
FALSE
;
// only have paragraph markers if there are multiple paragraphs (otherwise
if
(
p
&&
p
->
parent
())
// the output looks ugly).
{
//
switch
(
p
->
parent
()
->
kind
())
// A list or table should be placed outside the paragraph context,
{
// so the current paragraph should be ended and restarted. To avoid
case
DocNode
:
:
Kind_Section
:
// empty paragraphs, it has to be checked if the list or table is the
case
DocNode
:
:
Kind_HtmlListItem
:
// first or last child within the paragraph.
case
DocNode
:
:
Kind_HtmlDescData
:
case
DocNode
:
:
Kind_HtmlCell
:
case
DocNode
:
:
Kind_SimpleListItem
:
case
DocNode
:
:
Kind_AutoListItem
:
case
DocNode
:
:
Kind_SimpleSect
:
needsTag
=
TRUE
;
break
;
case
DocNode
:
:
Kind_Root
:
needsTag
=
!
((
DocRoot
*
)
p
->
parent
())
->
singleLine
();
break
;
default
:
needsTag
=
FALSE
;
}
}
// if the first element of a paragraph is something that should be outside of
// the paragraph (<ul>,<dl>,<table>,..) then that will already started the
// paragraph and we don't need to do it here
uint
nodeIndex
=
0
;
if
(
p
&&
nodeIndex
<
p
->
children
().
count
())
{
while
(
nodeIndex
<
p
->
children
().
count
()
&&
p
->
children
().
at
(
nodeIndex
)
->
kind
()
==
DocNode
::
Kind_WhiteSpace
)
{
nodeIndex
++
;
}
if
(
nodeIndex
<
p
->
children
().
count
())
{
DocNode
*
n
=
p
->
children
().
at
(
nodeIndex
);
if
(
mustBeOutsideParagraph
(
n
))
{
needsTag
=
FALSE
;
}
}
}
// check if this paragraph is the first or last child of a <li> or <dd>.
// this allows us to mark the tag with a special class so we can
// fix the otherwise ugly spacing.
int
t
;
static
const
char
*
contexts
[
5
]
=
{
""
,
" class=
\"
startli
\"
"
,
" class=
\"
startdd
\"
"
,
" class=
\"
endli
\"
"
,
" class=
\"
enddd
\"
"
};
bool
isFirst
;
bool
isLast
;
t
=
getParagraphContext
(
p
,
isFirst
,
isLast
);
//printf("startPara first=%d last=%d\n",isFirst,isLast);
if
(
isFirst
&&
isLast
)
needsTag
=
FALSE
;
// write the paragraph tag (if needed)
if
(
needsTag
)
m_t
<<
"<p"
<<
contexts
[
t
]
<<
">"
;
}
}
void
HtmlDocVisitor
::
visitPost
(
DocPara
*
p
)
void
HtmlDocVisitor
::
visitPost
(
DocPara
*
p
)
{
{
if
(
m_hide
)
return
;
// if (m_hide) return;
if
(
!
p
->
isLast
()
&&
// omit <p> for last paragraph
// if (!p->isLast() && // omit <p> for last paragraph
!
(
p
->
parent
()
&&
// and for parameter sections
// !(p->parent() && // and for parameter sections
p
->
parent
()
->
kind
()
==
DocNode
::
Kind_ParamSect
// p->parent()->kind()==DocNode::Kind_ParamSect
)
// )
)
// )
// {
// m_t << "<p>\n";
// }
bool
needsTag
=
FALSE
;
if
(
p
&&
p
->
parent
())
{
switch
(
p
->
parent
()
->
kind
())
{
{
m_t
<<
"<p>
\n
"
;
case
DocNode
:
:
Kind_Section
:
case
DocNode
:
:
Kind_HtmlListItem
:
case
DocNode
:
:
Kind_HtmlDescData
:
case
DocNode
:
:
Kind_HtmlCell
:
case
DocNode
:
:
Kind_SimpleListItem
:
case
DocNode
:
:
Kind_AutoListItem
:
case
DocNode
:
:
Kind_SimpleSect
:
needsTag
=
TRUE
;
break
;
case
DocNode
:
:
Kind_Root
:
needsTag
=
!
((
DocRoot
*
)
p
->
parent
())
->
singleLine
();
break
;
default
:
needsTag
=
FALSE
;
}
}
QCString
context
;
// if the last element of a paragraph is something that should be outside of
// the paragraph (<ul>,<dl>,<table>) then that will already have ended the
// paragraph and we don't need to do it here
int
nodeIndex
=
p
->
children
().
count
()
-
1
;
if
(
p
&&
nodeIndex
>=
0
)
{
while
(
nodeIndex
>=
0
&&
p
->
children
().
at
(
nodeIndex
)
->
kind
()
==
DocNode
::
Kind_WhiteSpace
)
{
nodeIndex
--
;
}
}
if
(
nodeIndex
>=
0
)
{
DocNode
*
n
=
p
->
children
().
at
(
nodeIndex
);
if
(
mustBeOutsideParagraph
(
n
))
{
needsTag
=
FALSE
;
}
}
}
bool
isFirst
;
bool
isLast
;
getParagraphContext
(
p
,
isFirst
,
isLast
);
//printf("endPara first=%d last=%d\n",isFirst,isLast);
if
(
isFirst
&&
isLast
)
needsTag
=
FALSE
;
if
(
needsTag
)
m_t
<<
"</p>
\n
"
;
}
}
void
HtmlDocVisitor
::
visitPre
(
DocRoot
*
)
void
HtmlDocVisitor
::
visitPre
(
DocRoot
*
)
...
@@ -485,7 +749,8 @@ void HtmlDocVisitor::visitPost(DocRoot *)
...
@@ -485,7 +749,8 @@ void HtmlDocVisitor::visitPost(DocRoot *)
void
HtmlDocVisitor
::
visitPre
(
DocSimpleSect
*
s
)
void
HtmlDocVisitor
::
visitPre
(
DocSimpleSect
*
s
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
m_t
<<
"<dl class=
\"
"
<<
s
->
typeString
()
<<
"
\"
compact><dt><b>"
;
forceEndParagraph
(
s
);
m_t
<<
"<dl class=
\"
"
<<
s
->
typeString
()
<<
"
\"
><dt><b>"
;
switch
(
s
->
type
())
switch
(
s
->
type
())
{
{
case
DocSimpleSect
:
:
See
:
case
DocSimpleSect
:
:
See
:
...
@@ -528,10 +793,11 @@ void HtmlDocVisitor::visitPre(DocSimpleSect *s)
...
@@ -528,10 +793,11 @@ void HtmlDocVisitor::visitPre(DocSimpleSect *s)
}
}
}
}
void
HtmlDocVisitor
::
visitPost
(
DocSimpleSect
*
)
void
HtmlDocVisitor
::
visitPost
(
DocSimpleSect
*
s
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
m_t
<<
"</dd></dl>
\n
"
;
m_t
<<
"</dd></dl>
\n
"
;
forceStartParagraph
(
s
);
}
}
void
HtmlDocVisitor
::
visitPre
(
DocTitle
*
)
void
HtmlDocVisitor
::
visitPre
(
DocTitle
*
)
...
@@ -547,8 +813,10 @@ void HtmlDocVisitor::visitPost(DocTitle *)
...
@@ -547,8 +813,10 @@ void HtmlDocVisitor::visitPost(DocTitle *)
void
HtmlDocVisitor
::
visitPre
(
DocSimpleList
*
sl
)
void
HtmlDocVisitor
::
visitPre
(
DocSimpleList
*
sl
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
forceEndParagraph
(
sl
);
m_t
<<
"<ul>"
;
m_t
<<
"<ul>"
;
if
(
!
sl
->
isPreformatted
())
m_t
<<
"
\n
"
;
if
(
!
sl
->
isPreformatted
())
m_t
<<
"
\n
"
;
}
}
void
HtmlDocVisitor
::
visitPost
(
DocSimpleList
*
sl
)
void
HtmlDocVisitor
::
visitPost
(
DocSimpleList
*
sl
)
...
@@ -556,6 +824,7 @@ void HtmlDocVisitor::visitPost(DocSimpleList *sl)
...
@@ -556,6 +824,7 @@ void HtmlDocVisitor::visitPost(DocSimpleList *sl)
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
m_t
<<
"</ul>"
;
m_t
<<
"</ul>"
;
if
(
!
sl
->
isPreformatted
())
m_t
<<
"
\n
"
;
if
(
!
sl
->
isPreformatted
())
m_t
<<
"
\n
"
;
forceStartParagraph
(
sl
);
}
}
void
HtmlDocVisitor
::
visitPre
(
DocSimpleListItem
*
)
void
HtmlDocVisitor
::
visitPre
(
DocSimpleListItem
*
)
...
@@ -574,20 +843,23 @@ void HtmlDocVisitor::visitPost(DocSimpleListItem *li)
...
@@ -574,20 +843,23 @@ void HtmlDocVisitor::visitPost(DocSimpleListItem *li)
void
HtmlDocVisitor
::
visitPre
(
DocSection
*
s
)
void
HtmlDocVisitor
::
visitPre
(
DocSection
*
s
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
forceEndParagraph
(
s
);
m_t
<<
"<h"
<<
s
->
level
()
+
1
<<
">"
;
m_t
<<
"<h"
<<
s
->
level
()
+
1
<<
">"
;
m_t
<<
"<a class=
\"
anchor
\"
name
=
\"
"
<<
s
->
anchor
();
m_t
<<
"<a class=
\"
anchor
\"
id
=
\"
"
<<
s
->
anchor
();
m_t
<<
"
\"
>"
<<
endl
;
m_t
<<
"
\"
>"
<<
endl
;
filter
(
convertCharEntitiesToUTF8
(
s
->
title
().
data
()));
filter
(
convertCharEntitiesToUTF8
(
s
->
title
().
data
()));
m_t
<<
"</a></h"
<<
s
->
level
()
+
1
<<
">
\n
"
;
m_t
<<
"</a></h"
<<
s
->
level
()
+
1
<<
">
\n
"
;
}
}
void
HtmlDocVisitor
::
visitPost
(
DocSection
*
)
void
HtmlDocVisitor
::
visitPost
(
DocSection
*
s
)
{
{
forceStartParagraph
(
s
);
}
}
void
HtmlDocVisitor
::
visitPre
(
DocHtmlList
*
s
)
void
HtmlDocVisitor
::
visitPre
(
DocHtmlList
*
s
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
forceEndParagraph
(
s
);
if
(
s
->
type
()
==
DocHtmlList
::
Ordered
)
if
(
s
->
type
()
==
DocHtmlList
::
Ordered
)
{
{
m_t
<<
"<ol"
<<
htmlAttribsToString
(
s
->
attribs
())
<<
">
\n
"
;
m_t
<<
"<ol"
<<
htmlAttribsToString
(
s
->
attribs
())
<<
">
\n
"
;
...
@@ -610,6 +882,7 @@ void HtmlDocVisitor::visitPost(DocHtmlList *s)
...
@@ -610,6 +882,7 @@ void HtmlDocVisitor::visitPost(DocHtmlList *s)
m_t
<<
"</ul>"
;
m_t
<<
"</ul>"
;
}
}
if
(
!
s
->
isPreformatted
())
m_t
<<
"
\n
"
;
if
(
!
s
->
isPreformatted
())
m_t
<<
"
\n
"
;
forceStartParagraph
(
s
);
}
}
void
HtmlDocVisitor
::
visitPre
(
DocHtmlListItem
*
i
)
void
HtmlDocVisitor
::
visitPre
(
DocHtmlListItem
*
i
)
...
@@ -628,13 +901,15 @@ void HtmlDocVisitor::visitPost(DocHtmlListItem *)
...
@@ -628,13 +901,15 @@ void HtmlDocVisitor::visitPost(DocHtmlListItem *)
void
HtmlDocVisitor
::
visitPre
(
DocHtmlDescList
*
dl
)
void
HtmlDocVisitor
::
visitPre
(
DocHtmlDescList
*
dl
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
forceEndParagraph
(
dl
);
m_t
<<
"<dl"
<<
htmlAttribsToString
(
dl
->
attribs
())
<<
">
\n
"
;
m_t
<<
"<dl"
<<
htmlAttribsToString
(
dl
->
attribs
())
<<
">
\n
"
;
}
}
void
HtmlDocVisitor
::
visitPost
(
DocHtmlDescList
*
)
void
HtmlDocVisitor
::
visitPost
(
DocHtmlDescList
*
dl
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
m_t
<<
"</dl>
\n
"
;
m_t
<<
"</dl>
\n
"
;
forceStartParagraph
(
dl
);
}
}
void
HtmlDocVisitor
::
visitPre
(
DocHtmlDescTitle
*
dt
)
void
HtmlDocVisitor
::
visitPre
(
DocHtmlDescTitle
*
dt
)
...
@@ -668,6 +943,8 @@ void HtmlDocVisitor::visitPre(DocHtmlTable *t)
...
@@ -668,6 +943,8 @@ void HtmlDocVisitor::visitPre(DocHtmlTable *t)
bool
hasCellSpacing
=
FALSE
;
bool
hasCellSpacing
=
FALSE
;
bool
hasCellPadding
=
FALSE
;
bool
hasCellPadding
=
FALSE
;
forceEndParagraph
(
t
);
HtmlAttribListIterator
li
(
t
->
attribs
());
HtmlAttribListIterator
li
(
t
->
attribs
());
HtmlAttrib
*
att
;
HtmlAttrib
*
att
;
for
(
li
.
toFirst
();(
att
=
li
.
current
());
++
li
)
for
(
li
.
toFirst
();(
att
=
li
.
current
());
++
li
)
...
@@ -683,10 +960,11 @@ void HtmlDocVisitor::visitPre(DocHtmlTable *t)
...
@@ -683,10 +960,11 @@ void HtmlDocVisitor::visitPre(DocHtmlTable *t)
m_t
<<
">
\n
"
;
m_t
<<
">
\n
"
;
}
}
void
HtmlDocVisitor
::
visitPost
(
DocHtmlTable
*
)
void
HtmlDocVisitor
::
visitPost
(
DocHtmlTable
*
t
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
m_t
<<
"</table>
\n
"
;
m_t
<<
"</table>
\n
"
;
forceStartParagraph
(
t
);
}
}
void
HtmlDocVisitor
::
visitPre
(
DocHtmlRow
*
tr
)
void
HtmlDocVisitor
::
visitPre
(
DocHtmlRow
*
tr
)
...
@@ -757,7 +1035,7 @@ void HtmlDocVisitor::visitPost(DocInternal *)
...
@@ -757,7 +1035,7 @@ void HtmlDocVisitor::visitPost(DocInternal *)
void
HtmlDocVisitor
::
visitPre
(
DocHRef
*
href
)
void
HtmlDocVisitor
::
visitPre
(
DocHRef
*
href
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
m_t
<<
"<a href=
\"
"
<<
href
->
url
(
)
<<
"
\"
"
m_t
<<
"<a href=
\"
"
<<
convertToXML
(
href
->
url
()
)
<<
"
\"
"
<<
htmlAttribsToString
(
href
->
attribs
())
<<
">"
;
<<
htmlAttribsToString
(
href
->
attribs
())
<<
">"
;
}
}
...
@@ -770,6 +1048,7 @@ void HtmlDocVisitor::visitPost(DocHRef *)
...
@@ -770,6 +1048,7 @@ void HtmlDocVisitor::visitPost(DocHRef *)
void
HtmlDocVisitor
::
visitPre
(
DocHtmlHeader
*
header
)
void
HtmlDocVisitor
::
visitPre
(
DocHtmlHeader
*
header
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
forceEndParagraph
(
header
);
m_t
<<
"<h"
<<
header
->
level
()
m_t
<<
"<h"
<<
header
->
level
()
<<
htmlAttribsToString
(
header
->
attribs
())
<<
">"
;
<<
htmlAttribsToString
(
header
->
attribs
())
<<
">"
;
}
}
...
@@ -778,12 +1057,14 @@ void HtmlDocVisitor::visitPost(DocHtmlHeader *header)
...
@@ -778,12 +1057,14 @@ void HtmlDocVisitor::visitPost(DocHtmlHeader *header)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
m_t
<<
"</h"
<<
header
->
level
()
<<
">
\n
"
;
m_t
<<
"</h"
<<
header
->
level
()
<<
">
\n
"
;
forceStartParagraph
(
header
);
}
}
void
HtmlDocVisitor
::
visitPre
(
DocImage
*
img
)
void
HtmlDocVisitor
::
visitPre
(
DocImage
*
img
)
{
{
if
(
img
->
type
()
==
DocImage
::
Html
)
if
(
img
->
type
()
==
DocImage
::
Html
)
{
{
forceEndParagraph
(
img
);
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
QString
baseName
=
img
->
name
();
QString
baseName
=
img
->
name
();
int
i
;
int
i
;
...
@@ -793,7 +1074,7 @@ void HtmlDocVisitor::visitPre(DocImage *img)
...
@@ -793,7 +1074,7 @@ void HtmlDocVisitor::visitPre(DocImage *img)
}
}
m_t
<<
"<div align=
\"
center
\"
>"
<<
endl
;
m_t
<<
"<div align=
\"
center
\"
>"
<<
endl
;
m_t
<<
"<img src=
\"
"
<<
img
->
relPath
()
<<
img
->
name
()
<<
"
\"
alt=
\"
"
m_t
<<
"<img src=
\"
"
<<
img
->
relPath
()
<<
img
->
name
()
<<
"
\"
alt=
\"
"
<<
baseName
<<
"
\"
"
<<
">"
<<
endl
;
<<
baseName
<<
"
\"
"
<<
"
/
>"
<<
endl
;
if
(
img
->
hasCaption
())
if
(
img
->
hasCaption
())
{
{
m_t
<<
"<p><strong>"
;
m_t
<<
"<p><strong>"
;
...
@@ -816,6 +1097,7 @@ void HtmlDocVisitor::visitPost(DocImage *img)
...
@@ -816,6 +1097,7 @@ void HtmlDocVisitor::visitPost(DocImage *img)
m_t
<<
"</strong></p>"
;
m_t
<<
"</strong></p>"
;
}
}
m_t
<<
"</div>"
<<
endl
;
m_t
<<
"</div>"
<<
endl
;
forceStartParagraph
(
img
);
}
}
else
// other format
else
// other format
{
{
...
@@ -889,21 +1171,23 @@ void HtmlDocVisitor::visitPre(DocSecRefItem *ref)
...
@@ -889,21 +1171,23 @@ void HtmlDocVisitor::visitPre(DocSecRefItem *ref)
void
HtmlDocVisitor
::
visitPost
(
DocSecRefItem
*
)
void
HtmlDocVisitor
::
visitPost
(
DocSecRefItem
*
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
m_t
<<
"</a>
"
;
m_t
<<
"</a>
</li>
\n
"
;
}
}
void
HtmlDocVisitor
::
visitPre
(
DocSecRefList
*
)
void
HtmlDocVisitor
::
visitPre
(
DocSecRefList
*
s
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
m_t
<<
"<multicol cols=3>"
<<
endl
;
forceEndParagraph
(
s
);
m_t
<<
"<div class=
\"
multicol
\"
>"
<<
endl
;
m_t
<<
"<ul>"
<<
endl
;
m_t
<<
"<ul>"
<<
endl
;
}
}
void
HtmlDocVisitor
::
visitPost
(
DocSecRefList
*
)
void
HtmlDocVisitor
::
visitPost
(
DocSecRefList
*
s
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
m_t
<<
"</ul>"
<<
endl
;
m_t
<<
"</ul>"
<<
endl
;
m_t
<<
"</multicol>"
<<
endl
;
m_t
<<
"</div>"
<<
endl
;
forceStartParagraph
(
s
);
}
}
//void HtmlDocVisitor::visitPre(DocLanguage *l)
//void HtmlDocVisitor::visitPre(DocLanguage *l)
...
@@ -928,7 +1212,8 @@ void HtmlDocVisitor::visitPost(DocSecRefList *)
...
@@ -928,7 +1212,8 @@ void HtmlDocVisitor::visitPost(DocSecRefList *)
void
HtmlDocVisitor
::
visitPre
(
DocParamSect
*
s
)
void
HtmlDocVisitor
::
visitPre
(
DocParamSect
*
s
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
m_t
<<
"<dl compact><dt><b>"
;
forceEndParagraph
(
s
);
m_t
<<
"<dl><dt><b>"
;
switch
(
s
->
type
())
switch
(
s
->
type
())
{
{
case
DocParamSect
:
:
Param
:
case
DocParamSect
:
:
Param
:
...
@@ -950,11 +1235,13 @@ void HtmlDocVisitor::visitPre(DocParamSect *s)
...
@@ -950,11 +1235,13 @@ void HtmlDocVisitor::visitPre(DocParamSect *s)
m_t
<<
" <table border=
\"
0
\"
cellspacing=
\"
2
\"
cellpadding=
\"
0
\"
>"
<<
endl
;
m_t
<<
" <table border=
\"
0
\"
cellspacing=
\"
2
\"
cellpadding=
\"
0
\"
>"
<<
endl
;
}
}
void
HtmlDocVisitor
::
visitPost
(
DocParamSect
*
)
void
HtmlDocVisitor
::
visitPost
(
DocParamSect
*
s
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
m_t
<<
" </table>"
<<
endl
;
m_t
<<
" </table>"
<<
endl
;
m_t
<<
" </dd>"
<<
endl
;
m_t
<<
"</dl>"
<<
endl
;
m_t
<<
"</dl>"
<<
endl
;
forceStartParagraph
(
s
);
}
}
void
HtmlDocVisitor
::
visitPre
(
DocParamList
*
pl
)
void
HtmlDocVisitor
::
visitPre
(
DocParamList
*
pl
)
...
@@ -1008,16 +1295,17 @@ void HtmlDocVisitor::visitPost(DocParamList *)
...
@@ -1008,16 +1295,17 @@ void HtmlDocVisitor::visitPost(DocParamList *)
void
HtmlDocVisitor
::
visitPre
(
DocXRefItem
*
x
)
void
HtmlDocVisitor
::
visitPre
(
DocXRefItem
*
x
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
forceEndParagraph
(
x
);
bool
anonymousEnum
=
x
->
file
()
==
"@"
;
bool
anonymousEnum
=
x
->
file
()
==
"@"
;
if
(
!
anonymousEnum
)
if
(
!
anonymousEnum
)
{
{
m_t
<<
"<dl class=
\"
"
<<
x
->
key
()
<<
"
\"
compact
><dt><b><a class=
\"
el
\"
href=
\"
"
m_t
<<
"<dl class=
\"
"
<<
x
->
key
()
<<
"
\"
><dt><b><a class=
\"
el
\"
href=
\"
"
<<
x
->
relPath
()
<<
x
->
file
()
<<
Doxygen
::
htmlFileExtension
<<
x
->
relPath
()
<<
x
->
file
()
<<
Doxygen
::
htmlFileExtension
<<
"#"
<<
x
->
anchor
()
<<
"
\"
>"
;
<<
"#"
<<
x
->
anchor
()
<<
"
\"
>"
;
}
}
else
else
{
{
m_t
<<
"<dl class=
\"
"
<<
x
->
key
()
<<
"
\"
compact
><dt><b>"
;
m_t
<<
"<dl class=
\"
"
<<
x
->
key
()
<<
"
\"
><dt><b>"
;
}
}
filter
(
x
->
title
());
filter
(
x
->
title
());
m_t
<<
":"
;
m_t
<<
":"
;
...
@@ -1025,10 +1313,11 @@ void HtmlDocVisitor::visitPre(DocXRefItem *x)
...
@@ -1025,10 +1313,11 @@ void HtmlDocVisitor::visitPre(DocXRefItem *x)
m_t
<<
"</b></dt><dd>"
;
m_t
<<
"</b></dt><dd>"
;
}
}
void
HtmlDocVisitor
::
visitPost
(
DocXRefItem
*
)
void
HtmlDocVisitor
::
visitPost
(
DocXRefItem
*
x
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
m_t
<<
"</dd></dl>"
<<
endl
;
m_t
<<
"</dd></dl>"
<<
endl
;
forceStartParagraph
(
x
);
}
}
void
HtmlDocVisitor
::
visitPre
(
DocInternalRef
*
ref
)
void
HtmlDocVisitor
::
visitPre
(
DocInternalRef
*
ref
)
...
@@ -1182,7 +1471,7 @@ void HtmlDocVisitor::writeDotFile(const QString &fileName,const QString &relPath
...
@@ -1182,7 +1471,7 @@ void HtmlDocVisitor::writeDotFile(const QString &fileName,const QString &relPath
<<
Config_getEnum
(
"DOT_IMAGE_FORMAT"
)
<<
"
\"
alt=
\"
"
<<
Config_getEnum
(
"DOT_IMAGE_FORMAT"
)
<<
"
\"
alt=
\"
"
<<
baseName
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
mapName
<<
"
\"
>"
<<
endl
;
<<
baseName
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
mapName
<<
"
\"
>"
<<
endl
;
QString
imap
=
getDotImageMapFromFile
(
fileName
,
outDir
,
relPath
.
data
(),
context
);
QString
imap
=
getDotImageMapFromFile
(
fileName
,
outDir
,
relPath
.
data
(),
context
);
m_t
<<
"<map name=
\"
"
<<
mapName
<<
"
\"
>"
<<
imap
<<
"</map>"
<<
endl
;
m_t
<<
"<map name=
\"
"
<<
mapName
<<
"
\"
id=
\"
"
<<
mapName
<<
"
\"
>"
<<
imap
<<
"</map>"
<<
endl
;
}
}
void
HtmlDocVisitor
::
writeMscFile
(
const
QString
&
fileName
,
const
QString
&
relPath
,
void
HtmlDocVisitor
::
writeMscFile
(
const
QString
&
fileName
,
const
QString
&
relPath
,
...
@@ -1201,6 +1490,82 @@ void HtmlDocVisitor::writeMscFile(const QString &fileName,const QString &relPath
...
@@ -1201,6 +1490,82 @@ void HtmlDocVisitor::writeMscFile(const QString &fileName,const QString &relPath
m_t
<<
"<img src=
\"
"
<<
relPath
<<
baseName
<<
".png
\"
alt=
\"
"
m_t
<<
"<img src=
\"
"
<<
relPath
<<
baseName
<<
".png
\"
alt=
\"
"
<<
baseName
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
mapName
<<
"
\"
>"
<<
endl
;
<<
baseName
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
mapName
<<
"
\"
>"
<<
endl
;
QString
imap
=
getMscImageMapFromFile
(
fileName
,
outDir
,
relPath
.
data
(),
context
);
QString
imap
=
getMscImageMapFromFile
(
fileName
,
outDir
,
relPath
.
data
(),
context
);
m_t
<<
"<map name=
\"
"
<<
mapName
<<
"
\"
>"
<<
imap
<<
"</map>"
<<
endl
;
m_t
<<
"<map name=
\"
"
<<
mapName
<<
"
\"
id=
\"
"
<<
mapName
<<
"
\"
>"
<<
imap
<<
"</map>"
<<
endl
;
}
/** Used for items found inside a paragraph, which due to XHTML restrictions
* have to be outside of the paragraph. This method will forcefully end
* the current paragraph and forceStartParagraph() will restart it.
*/
void
HtmlDocVisitor
::
forceEndParagraph
(
DocNode
*
n
)
{
//printf("forceEndParagraph(%p) %d\n",n,n->kind());
if
(
n
->
parent
()
&&
n
->
parent
()
->
kind
()
==
DocNode
::
Kind_Para
)
{
DocPara
*
para
=
(
DocPara
*
)
n
->
parent
();
int
nodeIndex
=
para
->
children
().
findRef
(
n
);
nodeIndex
--
;
if
(
nodeIndex
<
0
)
return
;
// first node
while
(
nodeIndex
>=
0
&&
para
->
children
().
at
(
nodeIndex
)
->
kind
()
==
DocNode
::
Kind_WhiteSpace
)
{
nodeIndex
--
;
}
if
(
nodeIndex
>=
0
)
{
DocNode
*
n
=
para
->
children
().
at
(
nodeIndex
);
//printf("n=%p kind=%d outside=%d\n",n,n->kind(),mustBeOutsideParagraph(n));
if
(
mustBeOutsideParagraph
(
n
))
return
;
}
bool
isFirst
;
bool
isLast
;
getParagraphContext
(
para
,
isFirst
,
isLast
);
//printf("forceEnd first=%d last=%d\n",isFirst,isLast);
if
(
isFirst
&&
isLast
)
return
;
m_t
<<
"</p>"
<<
endl
;
}
}
/** Used for items found inside a paragraph, which due to XHTML restrictions
* have to be outside of the paragraph. This method will forcefully start
* the paragraph, that was previously ended by forceEndParagraph().
*/
void
HtmlDocVisitor
::
forceStartParagraph
(
DocNode
*
n
)
{
//printf("forceStartParagraph(%p) %d\n",n,n->kind());
if
(
n
->
parent
()
&&
n
->
parent
()
->
kind
()
==
DocNode
::
Kind_Para
)
// if we are inside a paragraph
{
DocPara
*
para
=
(
DocPara
*
)
n
->
parent
();
int
nodeIndex
=
para
->
children
().
findRef
(
n
);
int
numNodes
=
para
->
children
().
count
();
nodeIndex
++
;
if
(
nodeIndex
==
numNodes
)
return
;
// last node
while
(
nodeIndex
<
numNodes
&&
para
->
children
().
at
(
nodeIndex
)
->
kind
()
==
DocNode
::
Kind_WhiteSpace
)
{
nodeIndex
++
;
}
if
(
nodeIndex
<
numNodes
)
{
DocNode
*
n
=
para
->
children
().
at
(
nodeIndex
);
if
(
mustBeOutsideParagraph
(
n
))
return
;
}
else
{
return
;
// only whitespace at the end!
}
bool
isFirst
;
bool
isLast
;
getParagraphContext
(
para
,
isFirst
,
isLast
);
//printf("forceStart first=%d last=%d\n",isFirst,isLast);
if
(
isFirst
&&
isLast
)
return
;
m_t
<<
"<p>"
;
}
}
}
src/htmldocvisitor.h
View file @
7a3de4c3
...
@@ -23,6 +23,7 @@
...
@@ -23,6 +23,7 @@
#include <qstack.h>
#include <qstack.h>
#include <qcstring.h>
#include <qcstring.h>
class
DocNode
;
class
QTextStream
;
class
QTextStream
;
class
CodeOutputInterface
;
class
CodeOutputInterface
;
class
QString
;
class
QString
;
...
@@ -141,6 +142,9 @@ class HtmlDocVisitor : public DocVisitor
...
@@ -141,6 +142,9 @@ class HtmlDocVisitor : public DocVisitor
void
pushEnabled
();
void
pushEnabled
();
void
popEnabled
();
void
popEnabled
();
void
forceEndParagraph
(
DocNode
*
n
);
void
forceStartParagraph
(
DocNode
*
n
);
//--------------------------------------
//--------------------------------------
// state variables
// state variables
//--------------------------------------
//--------------------------------------
...
...
src/htmlgen.cpp
View file @
7a3de4c3
...
@@ -568,15 +568,15 @@ static void writeDefaultHeaderFile(QTextStream &t, const char *title,
...
@@ -568,15 +568,15 @@ static void writeDefaultHeaderFile(QTextStream &t, const char *title,
else
else
relPathStr
=
relPath
;
relPathStr
=
relPath
;
t
<<
"<!DOCTYPE HTML PUBLIC
\"
-//W3C//DTD HTML 4.01 Transitional//EN
\"
>
\n
"
// t << "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
"<html><head>"
// t << "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
"<meta http-equiv=
\"
Content-Type
\"
content=
\"
text/html;charset=UTF-8"
t
<<
"<!DOCTYPE html PUBLIC
\"
-//W3C//DTD XHTML 1.0 Transitional//EN
\"
\"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
\"
>
\n
"
;
//<< theTranslator->idLanguageCharset()
t
<<
"<html xmlns=
\"
http://www.w3.org/1999/xhtml
\"
>
\n
<head>
\n
"
<<
"
\"
>
\n
"
"<meta http-equiv=
\"
Content-Type
\"
content=
\"
text/html;charset=UTF-8
\"
/
>
\n
"
"<title>"
;
"<title>"
;
t
<<
convertToHtml
(
title
);
t
<<
convertToHtml
(
title
);
t
<<
"</title>
\n
"
;
t
<<
"</title>
\n
"
;
t
<<
"<link href=
\"
"
<<
relPathStr
<<
"tabs.css
\"
rel=
\"
stylesheet
\"
type=
\"
text/css
\"
>
\n
"
;
t
<<
"<link href=
\"
"
<<
relPathStr
<<
"tabs.css
\"
rel=
\"
stylesheet
\"
type=
\"
text/css
\"
/
>
\n
"
;
t
<<
"<link "
;
t
<<
"<link "
;
t
<<
"href=
\"
"
;
t
<<
"href=
\"
"
;
if
(
Config_getString
(
"HTML_STYLESHEET"
).
isEmpty
())
if
(
Config_getString
(
"HTML_STYLESHEET"
).
isEmpty
())
...
@@ -594,8 +594,8 @@ static void writeDefaultHeaderFile(QTextStream &t, const char *title,
...
@@ -594,8 +594,8 @@ static void writeDefaultHeaderFile(QTextStream &t, const char *title,
t
<<
relPathStr
<<
cssfi
.
fileName
();
t
<<
relPathStr
<<
cssfi
.
fileName
();
}
}
t
<<
"
\"
rel=
\"
stylesheet
\"
type=
\"
text/css
\"
>
\n
"
;
t
<<
"
\"
rel=
\"
stylesheet
\"
type=
\"
text/css
\"
/
>
\n
"
;
t
<<
"</head><body>
\n
"
;
t
<<
"</head>
\n
<body>
\n
"
;
}
}
...
@@ -609,11 +609,10 @@ void HtmlGenerator::writeHeaderFile(QFile &file)
...
@@ -609,11 +609,10 @@ void HtmlGenerator::writeHeaderFile(QFile &file)
void
HtmlGenerator
::
writeFooterFile
(
QFile
&
file
)
void
HtmlGenerator
::
writeFooterFile
(
QFile
&
file
)
{
{
QTextStream
t
(
&
file
);
QTextStream
t
(
&
file
);
t
<<
"<hr size=
\"
1
\"
><address style=
\"
text-align: right;
\"
><small>
\n
"
;
t
<<
"<hr size=
\"
1
\"
/
><address style=
\"
text-align: right;
\"
><small>
\n
"
;
t
<<
theTranslator
->
trGeneratedAt
(
"$datetime"
,
"$projectname"
);
t
<<
theTranslator
->
trGeneratedAt
(
"$datetime"
,
"$projectname"
);
t
<<
" <a href=
\"
http://www.doxygen.org/index.html
\"
>"
t
<<
" <a href=
\"
http://www.doxygen.org/index.html
\"
>"
<<
"<img src=
\"
doxygen.png
\"
alt=
\"
doxygen
\"
"
<<
"<img class=
\"
footer
\"
src=
\"
doxygen.png
\"
alt=
\"
doxygen
\"
/>"
<<
"align=
\"
middle
\"
border=
\"
0
\"
>"
<<
"</a> $doxygenversion"
;
<<
"</a> $doxygenversion"
;
t
<<
"</small></address>
\n
"
t
<<
"</small></address>
\n
"
<<
"</body>
\n
"
<<
"</body>
\n
"
...
@@ -715,24 +714,24 @@ static void writePageFooter(QTextStream &t,const QCString &lastTitle,
...
@@ -715,24 +714,24 @@ static void writePageFooter(QTextStream &t,const QCString &lastTitle,
{
{
if
(
g_footer
.
isEmpty
())
if
(
g_footer
.
isEmpty
())
{
{
t
<<
"<hr size=
\"
1
\"
><address style=
\"
text-align: right;
\"
><small>"
;
t
<<
"<hr size=
\"
1
\"
/
><address style=
\"
text-align: right;
\"
><small>"
;
t
<<
theTranslator
->
trGeneratedAt
(
t
<<
theTranslator
->
trGeneratedAt
(
dateToString
(
TRUE
),
dateToString
(
TRUE
),
Config_getString
(
"PROJECT_NAME"
)
Config_getString
(
"PROJECT_NAME"
)
);
);
t
<<
" "
<<
endl
<<
"<a href=
\"
http://www.doxygen.org/index.html
\"
>"
;
t
<<
" "
<<
endl
<<
"<a href=
\"
http://www.doxygen.org/index.html
\"
>"
;
t
<<
endl
<<
"<img
src=
\"
"
<<
relPath
<<
"doxygen.png
\"
alt=
\"
doxygen
\"
"
t
<<
endl
<<
"<img
class=
\"
footer
\"
src=
\"
"
<<
relPath
<<
"doxygen.png
\"
alt=
\"
doxygen
\"
/>"
<<
"
align=
\"
middle
\"
border=
\"
0
\"
>"
<<
"
</a> "
<<
versionString
<<
" "
;
<<
"</a> "
<<
versionString
<<
" "
;
t
<<
"</small></address>"
;
t
<<
"</small></address>"
;
if
(
Debug
::
isFlagSet
(
Debug
::
Validate
))
if
(
Debug
::
isFlagSet
(
Debug
::
Validate
))
{
{
t
<<
"<p><a href=
\"
http://validator.w3.org/check/referer
\"
>"
t
<<
"<p><a href=
\"
http://validator.w3.org/check/referer
\"
>"
"<img
border=
\"
0
\"
src=
\"
http://www.w3.org/Icons/valid-html401
\"
"
"<img
class=
\"
footer
\"
src=
\"
http://www.w3.org/Icons/valid-html401
\"
"
" height=
\"
31
\"
width=
\"
88
\"
alt=
\"
This page is Valid HTML 4.01 "
" height=
\"
31
\"
width=
\"
88
\"
alt=
\"
This page is Valid HTML 4.01 "
"Transitional!
\"
></a><a href=
\"
http://jigsaw.w3.org/css-validator/
\"
>"
"Transitional!
\"
></a><a href=
\"
http://jigsaw.w3.org/css-validator/
\"
>"
"<img style=
\"
border:0;width:88px;height:31px
\"
"
"<img
class=
\"
footer
\"
style=
\"
border:0;width:88px;height:31px
\"
"
"src=
\"
http://jigsaw.w3.org/css-validator/images/vcss
\"
"
"src=
\"
http://jigsaw.w3.org/css-validator/images/vcss
\"
"
"alt=
\"
This page uses valid CSS!
\"
></a></p>"
;
"alt=
\"
This page uses valid CSS!
\"
/
></a></p>"
;
}
}
t
<<
"
\n
</body>
\n
</html>
\n
"
;
t
<<
"
\n
</body>
\n
</html>
\n
"
;
}
}
...
@@ -754,7 +753,7 @@ void HtmlGenerator::endFile()
...
@@ -754,7 +753,7 @@ void HtmlGenerator::endFile()
void
HtmlGenerator
::
startProjectNumber
()
void
HtmlGenerator
::
startProjectNumber
()
{
{
t
<<
"<h3
align=
\"
center
\"
>"
;
t
<<
"<h3>"
;
}
}
void
HtmlGenerator
::
endProjectNumber
()
void
HtmlGenerator
::
endProjectNumber
()
...
@@ -806,7 +805,7 @@ void HtmlGenerator::startDoxyAnchor(const char *,const char *,
...
@@ -806,7 +805,7 @@ void HtmlGenerator::startDoxyAnchor(const char *,const char *,
const
char
*
anchor
,
const
char
*
name
,
const
char
*
anchor
,
const
char
*
name
,
const
char
*
args
)
const
char
*
args
)
{
{
t
<<
"<a class=
\"
anchor
\"
name
=
\"
"
<<
anchor
<<
"
\"
></a>"
;
t
<<
"<a class=
\"
anchor
\"
id
=
\"
"
<<
anchor
<<
"
\"
></a>"
;
t
<<
"<!-- doxytag: member=
\"
"
;
t
<<
"<!-- doxytag: member=
\"
"
;
docify
(
name
,
TRUE
);
docify
(
name
,
TRUE
);
t
<<
"
\"
ref=
\"
"
;
t
<<
"
\"
ref=
\"
"
;
...
@@ -820,10 +819,10 @@ void HtmlGenerator::endDoxyAnchor(const char *,const char *)
...
@@ -820,10 +819,10 @@ void HtmlGenerator::endDoxyAnchor(const char *,const char *)
{
{
}
}
void
HtmlGenerator
::
newParagraph
()
//
void HtmlGenerator::newParagraph()
{
//
{
t
<<
endl
<<
"<p>"
<<
endl
;
//
t << endl << "<p>" << endl;
}
//
}
void
HtmlGenerator
::
startParagraph
()
void
HtmlGenerator
::
startParagraph
()
{
{
...
@@ -840,11 +839,20 @@ void HtmlGenerator::writeString(const char *text)
...
@@ -840,11 +839,20 @@ void HtmlGenerator::writeString(const char *text)
t
<<
text
;
t
<<
text
;
}
}
void
HtmlGenerator
::
startIndexListItem
()
{
t
<<
"<li>"
;
}
void
HtmlGenerator
::
endIndexListItem
()
{
t
<<
"</li>"
<<
endl
;
}
void
HtmlGenerator
::
startIndexItem
(
const
char
*
ref
,
const
char
*
f
)
void
HtmlGenerator
::
startIndexItem
(
const
char
*
ref
,
const
char
*
f
)
{
{
//printf("HtmlGenerator::startIndexItem(%s,%s)\n",ref,f);
//printf("HtmlGenerator::startIndexItem(%s,%s)\n",ref,f);
QCString
*
dest
;
QCString
*
dest
;
t
<<
"<li>"
;
if
(
ref
||
f
)
if
(
ref
||
f
)
{
{
if
(
ref
)
if
(
ref
)
...
@@ -880,7 +888,7 @@ void HtmlGenerator::endIndexItem(const char *ref,const char *f)
...
@@ -880,7 +888,7 @@ void HtmlGenerator::endIndexItem(const char *ref,const char *f)
//printf("HtmlGenerator::endIndexItem(%s,%s,%s)\n",ref,f,name);
//printf("HtmlGenerator::endIndexItem(%s,%s,%s)\n",ref,f,name);
if
(
ref
||
f
)
if
(
ref
||
f
)
{
{
t
<<
"</a>"
<<
endl
;
t
<<
"</a>"
;
}
}
else
else
{
{
...
@@ -1006,14 +1014,14 @@ void HtmlGenerator::startSection(const char *lab,const char *,SectionInfo::Secti
...
@@ -1006,14 +1014,14 @@ void HtmlGenerator::startSection(const char *lab,const char *,SectionInfo::Secti
{
{
switch
(
type
)
switch
(
type
)
{
{
case
SectionInfo
:
:
Page
:
t
<<
"<h1>"
;
break
;
case
SectionInfo
:
:
Page
:
t
<<
"
\n\n
<h1>"
;
break
;
case
SectionInfo
:
:
Section
:
t
<<
"<h2>"
;
break
;
case
SectionInfo
:
:
Section
:
t
<<
"
\n\n
<h2>"
;
break
;
case
SectionInfo
:
:
Subsection
:
t
<<
"<h3>"
;
break
;
case
SectionInfo
:
:
Subsection
:
t
<<
"
\n\n
<h3>"
;
break
;
case
SectionInfo
:
:
Subsubsection
:
t
<<
"<h4>"
;
break
;
case
SectionInfo
:
:
Subsubsection
:
t
<<
"
\n\n
<h4>"
;
break
;
case
SectionInfo
:
:
Paragraph
:
t
<<
"<h5>"
;
break
;
case
SectionInfo
:
:
Paragraph
:
t
<<
"
\n\n
<h5>"
;
break
;
default
:
ASSERT
(
0
);
break
;
default
:
ASSERT
(
0
);
break
;
}
}
t
<<
"<a class=
\"
anchor
\"
name
=
\"
"
<<
lab
<<
"
\"
>"
;
t
<<
"<a class=
\"
anchor
\"
id
=
\"
"
<<
lab
<<
"
\"
>"
;
}
}
void
HtmlGenerator
::
endSection
(
const
char
*
,
SectionInfo
::
SectionType
type
)
void
HtmlGenerator
::
endSection
(
const
char
*
,
SectionInfo
::
SectionType
type
)
...
@@ -1095,6 +1103,10 @@ void HtmlGenerator::codify(const char *str)
...
@@ -1095,6 +1103,10 @@ void HtmlGenerator::codify(const char *str)
break
;
break
;
case
'&'
:
t
<<
"&"
;
col
++
;
case
'&'
:
t
<<
"&"
;
col
++
;
break
;
break
;
case
'\''
:
t
<<
"'"
;
col
++
;
break
;
case
'"'
:
t
<<
"""
;
col
++
;
break
;
//case ' ': t << " "; col++;
//case ' ': t << " "; col++;
// break;
// break;
case
'\\'
:
case
'\\'
:
...
@@ -1133,10 +1145,13 @@ void HtmlGenerator::endClassDiagram(const ClassDiagram &d,
...
@@ -1133,10 +1145,13 @@ void HtmlGenerator::endClassDiagram(const ClassDiagram &d,
{
{
t
<<
"</div>"
<<
endl
;
t
<<
"</div>"
<<
endl
;
t
<<
"<div class=
\"
dynsection
\"
>"
<<
endl
;
t
<<
"<div class=
\"
dynsection
\"
>"
<<
endl
;
t
<<
"
\n
<p><center><img src=
\"
"
t
<<
"<img class=
\"
center
\"
src=
\"
"
;
<<
relPath
<<
fileName
<<
".png
\"
usemap=
\"
#"
<<
name
<<
"_map
\"
"
t
<<
relPath
<<
fileName
<<
".png
\"
usemap=
\"
#"
;
<<
" border=
\"
0
\"
alt=
\"\"
></center>"
<<
endl
docify
(
name
);
<<
"<map name=
\"
"
<<
name
<<
"_map
\"
>"
<<
endl
;
t
<<
"_map
\"
alt=
\"\"
/>"
<<
endl
;
t
<<
"<map id=
\"
"
;
docify
(
name
);
t
<<
"_map
\"
>"
<<
endl
;
d
.
writeImage
(
t
,
dir
,
relPath
,
fileName
);
d
.
writeImage
(
t
,
dir
,
relPath
,
fileName
);
t
<<
"</div>"
<<
endl
;
t
<<
"</div>"
<<
endl
;
...
@@ -1179,10 +1194,10 @@ void HtmlGenerator::startMemberItem(int annoType)
...
@@ -1179,10 +1194,10 @@ void HtmlGenerator::startMemberItem(int annoType)
t
<<
"<tr>"
;
t
<<
"<tr>"
;
switch
(
annoType
)
switch
(
annoType
)
{
{
case
0
:
t
<<
"<td class=
\"
memItemLeft
\"
nowrap
align=
\"
right
\"
valign=
\"
top
\"
>"
;
break
;
case
0
:
t
<<
"<td class=
\"
memItemLeft
\"
align=
\"
right
\"
valign=
\"
top
\"
>"
;
break
;
case
1
:
t
<<
"<td class=
\"
memItemLeft
\"
nowrap
>"
;
break
;
case
1
:
t
<<
"<td class=
\"
memItemLeft
\"
>"
;
break
;
case
2
:
t
<<
"<td class=
\"
memItemLeft
\"
nowrap
valign=
\"
top
\"
>"
;
break
;
case
2
:
t
<<
"<td class=
\"
memItemLeft
\"
valign=
\"
top
\"
>"
;
break
;
default
:
t
<<
"<td class=
\"
memTemplParams
\"
nowrap
colspan=
\"
2
\"
>"
;
break
;
default
:
t
<<
"<td class=
\"
memTemplParams
\"
colspan=
\"
2
\"
>"
;
break
;
}
}
}
}
else
else
...
@@ -1196,7 +1211,7 @@ void HtmlGenerator::endMemberItem()
...
@@ -1196,7 +1211,7 @@ void HtmlGenerator::endMemberItem()
//DBG_HTML(t << "<!-- endMemberItem(" << (int)inGroup << "," << fileName << "," << headerName << " -->" << endl)
//DBG_HTML(t << "<!-- endMemberItem(" << (int)inGroup << "," << fileName << "," << headerName << " -->" << endl)
if
(
Config_getBool
(
"HTML_ALIGN_MEMBERS"
))
if
(
Config_getBool
(
"HTML_ALIGN_MEMBERS"
))
{
{
t
<<
"</td></tr>
\n
"
;
t
<<
"</td></tr>"
;
}
}
t
<<
endl
;
t
<<
endl
;
}
}
...
@@ -1210,7 +1225,7 @@ void HtmlGenerator::endMemberTemplateParams()
...
@@ -1210,7 +1225,7 @@ void HtmlGenerator::endMemberTemplateParams()
if
(
Config_getBool
(
"HTML_ALIGN_MEMBERS"
))
if
(
Config_getBool
(
"HTML_ALIGN_MEMBERS"
))
{
{
t
<<
"</td></tr>"
<<
endl
;
t
<<
"</td></tr>"
<<
endl
;
t
<<
"<tr><td class=
\"
memTemplItemLeft
\"
nowrap
align=
\"
right
\"
valign=
\"
top
\"
>"
;
t
<<
"<tr><td class=
\"
memTemplItemLeft
\"
align=
\"
right
\"
valign=
\"
top
\"
>"
;
}
}
}
}
...
@@ -1243,11 +1258,11 @@ void HtmlGenerator::endMemberDescription()
...
@@ -1243,11 +1258,11 @@ void HtmlGenerator::endMemberDescription()
DBG_HTML
(
t
<<
"<!-- endMemberDescription -->"
<<
endl
)
DBG_HTML
(
t
<<
"<!-- endMemberDescription -->"
<<
endl
)
if
(
Config_getBool
(
"HTML_ALIGN_MEMBERS"
))
if
(
Config_getBool
(
"HTML_ALIGN_MEMBERS"
))
{
{
t
<<
"<br></td></tr>"
<<
endl
;
t
<<
"<br
/
></td></tr>"
<<
endl
;
}
}
else
else
{
{
t
<<
"<br></dl>"
;
t
<<
"<br
/
></dl>"
;
}
}
}
}
...
@@ -1276,7 +1291,7 @@ void HtmlGenerator::startMemberHeader()
...
@@ -1276,7 +1291,7 @@ void HtmlGenerator::startMemberHeader()
DBG_HTML
(
t
<<
"<!-- startMemberHeader -->"
<<
endl
)
DBG_HTML
(
t
<<
"<!-- startMemberHeader -->"
<<
endl
)
if
(
Config_getBool
(
"HTML_ALIGN_MEMBERS"
))
if
(
Config_getBool
(
"HTML_ALIGN_MEMBERS"
))
{
{
t
<<
"<tr><td colspan=
\"
2
\"
><br><h2>"
;
t
<<
"<tr><td colspan=
\"
2
\"
><br
/
><h2>"
;
}
}
else
else
{
{
...
@@ -1306,7 +1321,7 @@ void HtmlGenerator::startMemberSubtitle()
...
@@ -1306,7 +1321,7 @@ void HtmlGenerator::startMemberSubtitle()
void
HtmlGenerator
::
endMemberSubtitle
()
void
HtmlGenerator
::
endMemberSubtitle
()
{
{
DBG_HTML
(
t
<<
"<!-- endMemberSubtitle -->"
<<
endl
)
DBG_HTML
(
t
<<
"<!-- endMemberSubtitle -->"
<<
endl
)
if
(
Config_getBool
(
"HTML_ALIGN_MEMBERS"
))
t
<<
"<br
><br
></td></tr>"
<<
endl
;
if
(
Config_getBool
(
"HTML_ALIGN_MEMBERS"
))
t
<<
"<br
/><br/
></td></tr>"
<<
endl
;
}
}
void
HtmlGenerator
::
startIndexList
()
void
HtmlGenerator
::
startIndexList
()
...
@@ -1400,7 +1415,7 @@ void HtmlGenerator::startMemberDocName(bool /*align*/)
...
@@ -1400,7 +1415,7 @@ void HtmlGenerator::startMemberDocName(bool /*align*/)
void
HtmlGenerator
::
endMemberDocName
()
void
HtmlGenerator
::
endMemberDocName
()
{
{
DBG_HTML
(
t
<<
"<!-- endMemberDocName -->"
<<
endl
;)
DBG_HTML
(
t
<<
"<!-- endMemberDocName -->"
<<
endl
;)
t
<<
"
</td>"
<<
endl
;
t
<<
"</td>"
<<
endl
;
}
}
void
HtmlGenerator
::
startParameterList
(
bool
openBracket
)
void
HtmlGenerator
::
startParameterList
(
bool
openBracket
)
...
@@ -1449,7 +1464,7 @@ void HtmlGenerator::endParameterName(bool last,bool emptyList,bool closeBracket)
...
@@ -1449,7 +1464,7 @@ void HtmlGenerator::endParameterName(bool last,bool emptyList,bool closeBracket)
{
{
if
(
emptyList
)
if
(
emptyList
)
{
{
t
<<
"
</td>"
<<
endl
;
t
<<
"</td>"
<<
endl
;
t
<<
" <td>"
;
t
<<
" <td>"
;
if
(
closeBracket
)
t
<<
" )"
;
if
(
closeBracket
)
t
<<
" )"
;
t
<<
" </td>"
<<
endl
;
t
<<
" </td>"
<<
endl
;
...
@@ -1507,11 +1522,11 @@ void HtmlGenerator::endDotGraph(const DotClassGraph &g)
...
@@ -1507,11 +1522,11 @@ void HtmlGenerator::endDotGraph(const DotClassGraph &g)
g
.
writeGraph
(
t
,
BITMAP
,
dir
,
relPath
);
g
.
writeGraph
(
t
,
BITMAP
,
dir
,
relPath
);
if
(
Config_getBool
(
"GENERATE_LEGEND"
))
if
(
Config_getBool
(
"GENERATE_LEGEND"
))
{
{
t
<<
"<center><
font size=
\"
2
\"
>["
;
t
<<
"<center><
span class=
\"
legend
\"
>["
;
startHtmlLink
(
relPath
+
"graph_legend"
+
Doxygen
::
htmlFileExtension
);
startHtmlLink
(
relPath
+
"graph_legend"
+
Doxygen
::
htmlFileExtension
);
t
<<
theTranslator
->
trLegend
();
t
<<
theTranslator
->
trLegend
();
endHtmlLink
();
endHtmlLink
();
t
<<
"]</
font
></center>"
;
t
<<
"]</
span
></center>"
;
}
}
t
<<
"</div>"
<<
endl
;
t
<<
"</div>"
<<
endl
;
}
}
...
@@ -1590,7 +1605,7 @@ void HtmlGenerator::startMemberGroupDocs()
...
@@ -1590,7 +1605,7 @@ void HtmlGenerator::startMemberGroupDocs()
void
HtmlGenerator
::
endMemberGroupDocs
()
void
HtmlGenerator
::
endMemberGroupDocs
()
{
{
t
<<
"<br
><br
></div></td></tr>"
<<
endl
;
t
<<
"<br
/><br/
></div></td></tr>"
<<
endl
;
}
}
void
HtmlGenerator
::
startMemberGroup
()
void
HtmlGenerator
::
startMemberGroup
()
...
@@ -1611,7 +1626,7 @@ void HtmlGenerator::startIndent()
...
@@ -1611,7 +1626,7 @@ void HtmlGenerator::startIndent()
void
HtmlGenerator
::
endIndent
()
void
HtmlGenerator
::
endIndent
()
{
{
DBG_HTML
(
t
<<
"<!-- endIndent -->"
<<
endl
;)
DBG_HTML
(
t
<<
"<!-- endIndent -->"
<<
endl
;)
t
<<
endl
<<
"</div>"
<<
endl
<<
"</div>
<p>
"
<<
endl
;
t
<<
endl
<<
"</div>"
<<
endl
<<
"</div>"
<<
endl
;
}
}
void
HtmlGenerator
::
addIndexItem
(
const
char
*
,
const
char
*
)
void
HtmlGenerator
::
addIndexItem
(
const
char
*
,
const
char
*
)
...
@@ -1653,7 +1668,7 @@ void HtmlGenerator::startSimpleSect(SectionTypes,
...
@@ -1653,7 +1668,7 @@ void HtmlGenerator::startSimpleSect(SectionTypes,
const
char
*
filename
,
const
char
*
anchor
,
const
char
*
filename
,
const
char
*
anchor
,
const
char
*
title
)
const
char
*
title
)
{
{
t
<<
"<dl
compact
><dt><b>"
;
t
<<
"<dl><dt><b>"
;
if
(
filename
)
if
(
filename
)
{
{
writeObjectLink
(
0
,
filename
,
anchor
,
title
);
writeObjectLink
(
0
,
filename
,
anchor
,
title
);
...
@@ -1673,7 +1688,7 @@ void HtmlGenerator::endSimpleSect()
...
@@ -1673,7 +1688,7 @@ void HtmlGenerator::endSimpleSect()
void
HtmlGenerator
::
startParamList
(
ParamListTypes
,
void
HtmlGenerator
::
startParamList
(
ParamListTypes
,
const
char
*
title
)
const
char
*
title
)
{
{
t
<<
"<dl
compact
><dt><b>"
;
t
<<
"<dl><dt><b>"
;
docify
(
title
);
docify
(
title
);
t
<<
"</b></dt>"
;
t
<<
"</b></dt>"
;
}
}
...
@@ -2041,7 +2056,7 @@ void HtmlGenerator::generateSectionImages()
...
@@ -2041,7 +2056,7 @@ void HtmlGenerator::generateSectionImages()
void
HtmlGenerator
::
startConstraintList
(
const
char
*
header
)
void
HtmlGenerator
::
startConstraintList
(
const
char
*
header
)
{
{
t
<<
"<div class=
\"
typeconstraint
\"
>"
<<
endl
;
t
<<
"<div class=
\"
typeconstraint
\"
>"
<<
endl
;
t
<<
"<dl
compact
><dt><b>"
<<
header
<<
"</b><dt><dd>"
<<
endl
;
t
<<
"<dl><dt><b>"
<<
header
<<
"</b><dt><dd>"
<<
endl
;
t
<<
"<table border=
\"
0
\"
cellspacing=
\"
2
\"
cellpadding=
\"
0
\"
>"
<<
endl
;
t
<<
"<table border=
\"
0
\"
cellspacing=
\"
2
\"
cellpadding=
\"
0
\"
>"
<<
endl
;
}
}
...
@@ -2086,11 +2101,11 @@ void HtmlGenerator::lineBreak(const char *style)
...
@@ -2086,11 +2101,11 @@ void HtmlGenerator::lineBreak(const char *style)
{
{
if
(
style
)
if
(
style
)
{
{
t
<<
"<br class=
\"
"
<<
style
<<
"
\"
>"
<<
endl
;
t
<<
"<br class=
\"
"
<<
style
<<
"
\"
/
>"
<<
endl
;
}
}
else
else
{
{
t
<<
"<br>"
<<
endl
;
t
<<
"<br
/
>"
<<
endl
;
}
}
}
}
src/htmlgen.h
View file @
7a3de4c3
...
@@ -63,10 +63,11 @@ class HtmlGenerator : public OutputGenerator
...
@@ -63,10 +63,11 @@ class HtmlGenerator : public OutputGenerator
void
startTitle
()
{
t
<<
"<h1>"
;
}
void
startTitle
()
{
t
<<
"<h1>"
;
}
void
endTitle
()
{
t
<<
"</h1>"
;
}
void
endTitle
()
{
t
<<
"</h1>"
;
}
void
newParagraph
();
void
startParagraph
();
void
startParagraph
();
void
endParagraph
();
void
endParagraph
();
void
writeString
(
const
char
*
text
);
void
writeString
(
const
char
*
text
);
void
startIndexListItem
();
void
endIndexListItem
();
void
startIndexList
();
void
startIndexList
();
void
endIndexList
();
void
endIndexList
();
void
startIndexKey
();
void
startIndexKey
();
...
@@ -92,7 +93,8 @@ class HtmlGenerator : public OutputGenerator
...
@@ -92,7 +93,8 @@ class HtmlGenerator : public OutputGenerator
void
endTypewriter
()
{
t
<<
"</code>"
;
}
void
endTypewriter
()
{
t
<<
"</code>"
;
}
void
startGroupHeader
();
void
startGroupHeader
();
void
endGroupHeader
();
void
endGroupHeader
();
void
writeListItem
()
{
t
<<
"<li>"
;
}
void
startItemListItem
()
{
t
<<
"<li>"
;
}
void
endItemListItem
()
{
t
<<
"</li>
\n
"
;
}
void
startMemberSections
();
void
startMemberSections
();
void
endMemberSections
();
void
endMemberSections
();
...
@@ -122,7 +124,7 @@ class HtmlGenerator : public OutputGenerator
...
@@ -122,7 +124,7 @@ class HtmlGenerator : public OutputGenerator
void
startMemberDescription
();
void
startMemberDescription
();
void
endMemberDescription
();
void
endMemberDescription
();
void
writeRuler
()
{
t
<<
"<hr>"
;
}
void
writeRuler
()
{
t
<<
"<hr
/
>"
;
}
void
writeAnchor
(
const
char
*
,
const
char
*
name
)
void
writeAnchor
(
const
char
*
,
const
char
*
name
)
{
t
<<
"<a name=
\"
"
<<
name
<<
"
\"
></a>"
;
}
{
t
<<
"<a name=
\"
"
<<
name
<<
"
\"
></a>"
;
}
void
startCodeFragment
()
{
t
<<
PREFRAG_START
;
}
void
startCodeFragment
()
{
t
<<
PREFRAG_START
;
}
...
@@ -134,10 +136,12 @@ class HtmlGenerator : public OutputGenerator
...
@@ -134,10 +136,12 @@ class HtmlGenerator : public OutputGenerator
void
endEmphasis
()
{
t
<<
"</em>"
;
}
void
endEmphasis
()
{
t
<<
"</em>"
;
}
void
startBold
()
{
t
<<
"<b>"
;
}
void
startBold
()
{
t
<<
"<b>"
;
}
void
endBold
()
{
t
<<
"</b>"
;
}
void
endBold
()
{
t
<<
"</b>"
;
}
void
startDescription
()
{
t
<<
endl
<<
"<dl
compact
>"
<<
endl
;
}
void
startDescription
()
{
t
<<
endl
<<
"<dl>"
<<
endl
;
}
void
endDescription
()
{
t
<<
endl
<<
"</dl>"
<<
endl
;
}
void
endDescription
()
{
t
<<
endl
<<
"</dl>
\n
"
<<
endl
;
}
void
startDescItem
()
{
t
<<
"<dt>"
;
}
void
startDescItem
()
{
t
<<
"<dt>"
;
}
void
endDescItem
()
{
t
<<
"<dd>"
;
}
void
endDescItem
()
{
t
<<
"</dt>"
;
}
void
startDescForItem
()
{
t
<<
"<dd>"
;
}
void
endDescForItem
()
{
t
<<
"</dd>
\n
"
;
}
void
lineBreak
(
const
char
*
style
);
void
lineBreak
(
const
char
*
style
);
void
writeChar
(
char
c
);
void
writeChar
(
char
c
);
void
startMemberDoc
(
const
char
*
,
const
char
*
,
const
char
*
,
const
char
*
);
void
startMemberDoc
(
const
char
*
,
const
char
*
,
const
char
*
,
const
char
*
);
...
@@ -160,13 +164,13 @@ class HtmlGenerator : public OutputGenerator
...
@@ -160,13 +164,13 @@ class HtmlGenerator : public OutputGenerator
void
endCenter
()
{
t
<<
"</center>"
<<
endl
;
}
void
endCenter
()
{
t
<<
"</center>"
<<
endl
;
}
void
startSmall
()
{
t
<<
"<small>"
<<
endl
;
}
void
startSmall
()
{
t
<<
"<small>"
<<
endl
;
}
void
endSmall
()
{
t
<<
"</small>"
<<
endl
;
}
void
endSmall
()
{
t
<<
"</small>"
<<
endl
;
}
void
startDescList
(
SectionTypes
)
{
t
<<
"<dl compact><dt><b>"
<<
endl
;
}
//
void startDescList(SectionTypes) { t << "<dl compact><dt><b>" << endl; }
void
endDescList
()
{
t
<<
"</dl>"
;
}
//
void endDescList() { t << "</dl>"; }
void
startSimpleSect
(
SectionTypes
,
const
char
*
,
const
char
*
,
const
char
*
);
void
startSimpleSect
(
SectionTypes
,
const
char
*
,
const
char
*
,
const
char
*
);
void
endSimpleSect
();
void
endSimpleSect
();
void
startParamList
(
ParamListTypes
,
const
char
*
);
void
startParamList
(
ParamListTypes
,
const
char
*
);
void
endParamList
();
void
endParamList
();
void
writeDescItem
()
{
t
<<
"<dd>"
<<
endl
;
}
//
void writeDescItem() { t << "<dd>" << endl; }
void
startSection
(
const
char
*
,
const
char
*
,
SectionInfo
::
SectionType
);
void
startSection
(
const
char
*
,
const
char
*
,
SectionInfo
::
SectionType
);
void
endSection
(
const
char
*
,
SectionInfo
::
SectionType
);
void
endSection
(
const
char
*
,
SectionInfo
::
SectionType
);
void
addIndexItem
(
const
char
*
,
const
char
*
);
void
addIndexItem
(
const
char
*
,
const
char
*
);
...
...
src/index.cpp
View file @
7a3de4c3
...
@@ -336,6 +336,7 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper,int level,F
...
@@ -336,6 +336,7 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper,int level,F
ftv
->
incContentsDepth
();
ftv
->
incContentsDepth
();
started
=
TRUE
;
started
=
TRUE
;
}
}
ol
.
startIndexListItem
();
//printf("Passed...\n");
//printf("Passed...\n");
bool
hasChildren
=
!
cd
->
visited
&&
!
hideSuper
&&
classHasVisibleChildren
(
cd
);
bool
hasChildren
=
!
cd
->
visited
&&
!
hideSuper
&&
classHasVisibleChildren
(
cd
);
//printf("tree4: Has children %s: %d\n",cd->name().data(),hasChildren);
//printf("tree4: Has children %s: %d\n",cd->name().data(),hasChildren);
...
@@ -371,6 +372,7 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper,int level,F
...
@@ -371,6 +372,7 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper,int level,F
cd
->
visited
=
TRUE
;
cd
->
visited
=
TRUE
;
writeClassTree
(
ol
,
cd
->
subClasses
(),
wasVisited
,
level
+
1
,
ftv
);
writeClassTree
(
ol
,
cd
->
subClasses
(),
wasVisited
,
level
+
1
,
ftv
);
}
}
ol
.
endIndexListItem
();
}
}
}
}
if
(
started
)
if
(
started
)
...
@@ -500,6 +502,7 @@ static void writeClassTreeForList(OutputList &ol,ClassSDict *cl,bool &started,FT
...
@@ -500,6 +502,7 @@ static void writeClassTreeForList(OutputList &ol,ClassSDict *cl,bool &started,FT
Doxygen
::
indexList
.
incContentsDepth
();
Doxygen
::
indexList
.
incContentsDepth
();
started
=
TRUE
;
started
=
TRUE
;
}
}
ol
.
startIndexListItem
();
bool
hasChildren
=
!
cd
->
visited
&&
classHasVisibleChildren
(
cd
);
bool
hasChildren
=
!
cd
->
visited
&&
classHasVisibleChildren
(
cd
);
//printf("list: Has children %s: %d\n",cd->name().data(),hasChildren);
//printf("list: Has children %s: %d\n",cd->name().data(),hasChildren);
if
(
cd
->
isLinkable
())
if
(
cd
->
isLinkable
())
...
@@ -533,6 +536,7 @@ static void writeClassTreeForList(OutputList &ol,ClassSDict *cl,bool &started,FT
...
@@ -533,6 +536,7 @@ static void writeClassTreeForList(OutputList &ol,ClassSDict *cl,bool &started,FT
writeClassTree
(
ol
,
cd
->
subClasses
(),
cd
->
visited
,
1
,
ftv
);
writeClassTree
(
ol
,
cd
->
subClasses
(),
cd
->
visited
,
1
,
ftv
);
cd
->
visited
=
TRUE
;
cd
->
visited
=
TRUE
;
}
}
ol
.
endIndexListItem
();
}
}
}
}
}
}
...
@@ -617,10 +621,11 @@ void writeHierarchicalIndex(OutputList &ol)
...
@@ -617,10 +621,11 @@ void writeHierarchicalIndex(OutputList &ol)
{
{
ol
.
disable
(
OutputGenerator
::
Latex
);
ol
.
disable
(
OutputGenerator
::
Latex
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
startParagraph
();
ol
.
startTextLink
(
"inherits"
,
0
);
ol
.
startTextLink
(
"inherits"
,
0
);
ol
.
parseText
(
theTranslator
->
trGotoGraphicalHierarchy
());
ol
.
parseText
(
theTranslator
->
trGotoGraphicalHierarchy
());
ol
.
endTextLink
();
ol
.
endTextLink
();
ol
.
new
Paragraph
();
ol
.
end
Paragraph
();
ol
.
enable
(
OutputGenerator
::
Latex
);
ol
.
enable
(
OutputGenerator
::
Latex
);
ol
.
enable
(
OutputGenerator
::
RTF
);
ol
.
enable
(
OutputGenerator
::
RTF
);
}
}
...
@@ -665,10 +670,11 @@ void writeGraphicalClassHierarchy(OutputList &ol)
...
@@ -665,10 +670,11 @@ void writeGraphicalClassHierarchy(OutputList &ol)
endTitle
(
ol
,
0
,
0
);
endTitle
(
ol
,
0
,
0
);
ol
.
startTextBlock
();
ol
.
startTextBlock
();
Doxygen
::
indexList
.
addContentsItem
(
FALSE
,
theTranslator
->
trGraphicalHierarchy
(),
0
,
"inherits"
,
0
);
Doxygen
::
indexList
.
addContentsItem
(
FALSE
,
theTranslator
->
trGraphicalHierarchy
(),
0
,
"inherits"
,
0
);
ol
.
startParagraph
();
ol
.
startTextLink
(
"hierarchy"
,
0
);
ol
.
startTextLink
(
"hierarchy"
,
0
);
ol
.
parseText
(
theTranslator
->
trGotoTextualHierarchy
());
ol
.
parseText
(
theTranslator
->
trGotoTextualHierarchy
());
ol
.
endTextLink
();
ol
.
endTextLink
();
ol
.
new
Paragraph
();
ol
.
end
Paragraph
();
//parseText(ol,theTranslator->trClassHierarchyDescription());
//parseText(ol,theTranslator->trClassHierarchyDescription());
//ol.newParagraph();
//ol.newParagraph();
ol
.
endTextBlock
();
ol
.
endTextBlock
();
...
@@ -1080,6 +1086,25 @@ void writeAnnotatedClassList(OutputList &ol)
...
@@ -1080,6 +1086,25 @@ void writeAnnotatedClassList(OutputList &ol)
ol
.
endIndexList
();
ol
.
endIndexList
();
}
}
static
QCString
letterToLabel
(
char
startLetter
)
{
QCString
s
(
5
);
if
(
isId
(
startLetter
))
{
s
[
0
]
=
startLetter
;
s
[
1
]
=
0
;
}
else
{
const
char
hex
[]
=
"0123456789abcdef"
;
s
[
0
]
=
'0'
;
s
[
1
]
=
'x'
;
s
[
2
]
=
hex
[
startLetter
>>
4
];
s
[
3
]
=
hex
[
startLetter
&
0xF
];
s
[
4
]
=
0
;
}
return
s
;
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
class
PrefixIgnoreClassList
:
public
ClassList
class
PrefixIgnoreClassList
:
public
ClassList
...
@@ -1123,7 +1148,7 @@ void writeAlphabeticalClassList(OutputList &ol)
...
@@ -1123,7 +1148,7 @@ void writeAlphabeticalClassList(OutputList &ol)
}
}
}
}
QCString
alphaLinks
=
"<
p><
div class=
\"
qindex
\"
>"
;
QCString
alphaLinks
=
"<div class=
\"
qindex
\"
>"
;
int
l
;
int
l
;
for
(
l
=
0
;
l
<
256
;
l
++
)
for
(
l
=
0
;
l
<
256
;
l
++
)
{
{
...
@@ -1137,7 +1162,7 @@ void writeAlphabeticalClassList(OutputList &ol)
...
@@ -1137,7 +1162,7 @@ void writeAlphabeticalClassList(OutputList &ol)
}
}
}
}
alphaLinks
+=
"</div>
<p>
\n
"
;
alphaLinks
+=
"</div>
\n
"
;
ol
.
writeString
(
alphaLinks
);
ol
.
writeString
(
alphaLinks
);
ol
.
writeString
(
"<table align=
\"
center
\"
width=
\"
95%
\"
border=
\"
0
\"
cellspacing=
\"
0
\"
cellpadding=
\"
0
\"
>
\n
"
);
ol
.
writeString
(
"<table align=
\"
center
\"
width=
\"
95%
\"
border=
\"
0
\"
cellspacing=
\"
0
\"
cellpadding=
\"
0
\"
>
\n
"
);
...
@@ -1236,7 +1261,7 @@ void writeAlphabeticalClassList(OutputList &ol)
...
@@ -1236,7 +1261,7 @@ void writeAlphabeticalClassList(OutputList &ol)
//printf("head ClassDef=%p %s\n",cd,cd ? cd->name().data() : "<none>");
//printf("head ClassDef=%p %s\n",cd,cd ? cd->name().data() : "<none>");
int
index
=
getPrefixIndex
(
cd
->
className
());
int
index
=
getPrefixIndex
(
cd
->
className
());
startLetter
=
toupper
(
cd
->
className
().
at
(
index
));
startLetter
=
toupper
(
cd
->
className
().
at
(
index
));
char
s
[
2
];
s
[
0
]
=
startLetter
;
s
[
1
]
=
0
;
QCString
s
=
letterToLabel
(
startLetter
)
;
//ol.writeIndexHeading(s);
//ol.writeIndexHeading(s);
ol
.
writeString
(
"<a name=
\"
letter_"
);
ol
.
writeString
(
"<a name=
\"
letter_"
);
ol
.
writeString
(
s
);
ol
.
writeString
(
s
);
...
@@ -1437,6 +1462,7 @@ static void writeMemberList(OutputList &ol,bool useSections,int page,
...
@@ -1437,6 +1462,7 @@ static void writeMemberList(OutputList &ol,bool useSections,int page,
QCString
prevDefName
;
QCString
prevDefName
;
bool
first
=
TRUE
;
bool
first
=
TRUE
;
bool
firstSection
=
TRUE
;
bool
firstSection
=
TRUE
;
bool
firstItem
=
TRUE
;
for
(
pi
=
startIndex
;
pi
<=
endIndex
;
pi
++
)
// page==-1 => pi=[0..127], page!=-1 => pi=page
for
(
pi
=
startIndex
;
pi
<=
endIndex
;
pi
++
)
// page==-1 => pi=[0..127], page!=-1 => pi=page
{
{
MemberIndexList
*
ml
=
&
memberLists
[
pi
];
MemberIndexList
*
ml
=
&
memberLists
[
pi
];
...
@@ -1457,16 +1483,20 @@ static void writeMemberList(OutputList &ol,bool useSections,int page,
...
@@ -1457,16 +1483,20 @@ static void writeMemberList(OutputList &ol,bool useSections,int page,
tolower
(
name
.
at
(
startIndex
))
!=
tolower
(
prevName
.
at
(
0
)))
&&
tolower
(
name
.
at
(
startIndex
))
!=
tolower
(
prevName
.
at
(
0
)))
&&
useSections
)
// new section
useSections
)
// new section
{
{
if
(
!
firstItem
)
ol
.
endItemListItem
();
if
(
!
firstSection
)
ol
.
endItemList
();
if
(
!
firstSection
)
ol
.
endItemList
();
char
cs
[
2
];
char
cl
[
2
];
cs
[
0
]
=
tolower
(
name
.
at
(
startIndex
));
cs
[
1
]
=
'\0'
;
cl
[
0
]
=
tolower
(
name
.
at
(
startIndex
));
cl
[
1
]
=
0
;
QCString
cs
=
letterToLabel
(
cl
[
0
]);
QCString
anchor
=
(
QCString
)
"index_"
+
cs
;
QCString
anchor
=
(
QCString
)
"index_"
+
cs
;
QCString
title
=
(
QCString
)
"- "
+
c
s
+
" -"
;
QCString
title
=
(
QCString
)
"- "
+
c
l
+
" -"
;
ol
.
startSection
(
anchor
,
title
,
SectionInfo
::
Subsection
);
ol
.
startSection
(
anchor
,
title
,
SectionInfo
::
Subsection
);
ol
.
docify
(
title
);
ol
.
docify
(
title
);
ol
.
endSection
(
anchor
,
SectionInfo
::
Subsection
);
ol
.
endSection
(
anchor
,
SectionInfo
::
Subsection
);
ol
.
startItemList
();
ol
.
startItemList
();
firstSection
=
FALSE
;
firstSection
=
FALSE
;
firstItem
=
TRUE
;
}
}
else
if
(
!
useSections
&&
first
)
else
if
(
!
useSections
&&
first
)
{
{
...
@@ -1475,7 +1505,9 @@ static void writeMemberList(OutputList &ol,bool useSections,int page,
...
@@ -1475,7 +1505,9 @@ static void writeMemberList(OutputList &ol,bool useSections,int page,
}
}
// member name
// member name
ol
.
writeListItem
();
if
(
!
firstItem
)
ol
.
endItemListItem
();
ol
.
startItemListItem
();
firstItem
=
FALSE
;
ol
.
docify
(
name
);
ol
.
docify
(
name
);
if
(
isFunc
)
ol
.
docify
(
"()"
);
if
(
isFunc
)
ol
.
docify
(
"()"
);
ol
.
writeString
(
"
\n
"
);
ol
.
writeString
(
"
\n
"
);
...
@@ -1494,6 +1526,7 @@ static void writeMemberList(OutputList &ol,bool useSections,int page,
...
@@ -1494,6 +1526,7 @@ static void writeMemberList(OutputList &ol,bool useSections,int page,
writeLinkForMemberMap
[(
int
)
type
](
ol
,
md
,
sep
,
prevDefName
);
writeLinkForMemberMap
[(
int
)
type
](
ol
,
md
,
sep
,
prevDefName
);
}
}
}
}
if
(
!
firstItem
)
ol
.
endItemListItem
();
ol
.
endItemList
();
ol
.
endItemList
();
}
}
...
@@ -1848,7 +1881,7 @@ static void writeClassMemberIndexFiltered(OutputList &ol, ClassMemberHighlight h
...
@@ -1848,7 +1881,7 @@ static void writeClassMemberIndexFiltered(OutputList &ol, ClassMemberHighlight h
// normal lists otherwise
// normal lists otherwise
ol
.
writeString
(
" "
);
ol
.
writeString
(
" "
);
}
}
ol
.
newParagraph
();
//ol.newParagraph(); // FIXME:PARA
writeMemberList
(
ol
,
quickIndex
,
writeMemberList
(
ol
,
quickIndex
,
multiPageIndex
?
page
:-
1
,
multiPageIndex
?
page
:-
1
,
g_memberIndexLetterUsed
[
hl
],
g_memberIndexLetterUsed
[
hl
],
...
@@ -1979,7 +2012,7 @@ static void writeFileMemberIndexFiltered(OutputList &ol, FileMemberHighlight hl)
...
@@ -1979,7 +2012,7 @@ static void writeFileMemberIndexFiltered(OutputList &ol, FileMemberHighlight hl)
// normal lists otherwise
// normal lists otherwise
ol
.
writeString
(
" "
);
ol
.
writeString
(
" "
);
}
}
ol
.
newParagraph
();
//ol.newParagraph(); // FIXME:PARA
//writeFileMemberList(ol,quickIndex,hl,page);
//writeFileMemberList(ol,quickIndex,hl,page);
writeMemberList
(
ol
,
quickIndex
,
writeMemberList
(
ol
,
quickIndex
,
multiPageIndex
?
page
:-
1
,
multiPageIndex
?
page
:-
1
,
...
@@ -2107,7 +2140,7 @@ static void writeNamespaceMemberIndexFiltered(OutputList &ol,
...
@@ -2107,7 +2140,7 @@ static void writeNamespaceMemberIndexFiltered(OutputList &ol,
// normal lists otherwise
// normal lists otherwise
ol
.
writeString
(
" "
);
ol
.
writeString
(
" "
);
}
}
ol
.
newParagraph
();
//ol.newParagraph(); // FIXME:PARA
//writeNamespaceMemberList(ol,quickIndex,hl,page);
//writeNamespaceMemberList(ol,quickIndex,hl,page);
writeMemberList
(
ol
,
quickIndex
,
writeMemberList
(
ol
,
quickIndex
,
...
@@ -2164,7 +2197,7 @@ void writeExampleIndex(OutputList &ol)
...
@@ -2164,7 +2197,7 @@ void writeExampleIndex(OutputList &ol)
PageDef
*
pd
=
0
;
PageDef
*
pd
=
0
;
for
(
pdi
.
toFirst
();(
pd
=
pdi
.
current
());
++
pdi
)
for
(
pdi
.
toFirst
();(
pd
=
pdi
.
current
());
++
pdi
)
{
{
ol
.
write
ListItem
();
ol
.
startItem
ListItem
();
QCString
n
=
pd
->
getOutputFileBase
();
QCString
n
=
pd
->
getOutputFileBase
();
if
(
!
pd
->
title
().
isEmpty
())
if
(
!
pd
->
title
().
isEmpty
())
{
{
...
@@ -2176,6 +2209,7 @@ void writeExampleIndex(OutputList &ol)
...
@@ -2176,6 +2209,7 @@ void writeExampleIndex(OutputList &ol)
ol
.
writeObjectLink
(
0
,
n
,
0
,
pd
->
name
());
ol
.
writeObjectLink
(
0
,
n
,
0
,
pd
->
name
());
Doxygen
::
indexList
.
addContentsItem
(
FALSE
,
pd
->
name
(),
pd
->
getReference
(),
n
,
0
);
Doxygen
::
indexList
.
addContentsItem
(
FALSE
,
pd
->
name
(),
pd
->
getReference
(),
n
,
0
);
}
}
ol
.
endItemListItem
();
ol
.
writeString
(
"
\n
"
);
ol
.
writeString
(
"
\n
"
);
}
}
ol
.
endItemList
();
ol
.
endItemList
();
...
@@ -2270,6 +2304,7 @@ void writePageIndex(OutputList &ol)
...
@@ -2270,6 +2304,7 @@ void writePageIndex(OutputList &ol)
bool
hasSubPages
=
pd
->
hasSubPages
();
bool
hasSubPages
=
pd
->
hasSubPages
();
ol
.
startIndexListItem
();
ol
.
startIndexItem
(
pd
->
getReference
(),
pd
->
getOutputFileBase
());
ol
.
startIndexItem
(
pd
->
getReference
(),
pd
->
getOutputFileBase
());
ol
.
parseText
(
pageTitle
);
ol
.
parseText
(
pageTitle
);
ol
.
endIndexItem
(
pd
->
getReference
(),
pd
->
getOutputFileBase
());
ol
.
endIndexItem
(
pd
->
getReference
(),
pd
->
getOutputFileBase
());
...
@@ -2282,6 +2317,7 @@ void writePageIndex(OutputList &ol)
...
@@ -2282,6 +2317,7 @@ void writePageIndex(OutputList &ol)
ol
.
writeString
(
"
\n
"
);
ol
.
writeString
(
"
\n
"
);
Doxygen
::
indexList
.
addContentsItem
(
hasSubPages
,
pageTitle
,
pd
->
getReference
(),
pd
->
getOutputFileBase
(),
0
);
Doxygen
::
indexList
.
addContentsItem
(
hasSubPages
,
pageTitle
,
pd
->
getReference
(),
pd
->
getOutputFileBase
(),
0
);
writeSubPages
(
pd
);
writeSubPages
(
pd
);
ol
.
endIndexListItem
();
}
}
}
}
endIndexHierarchy
(
ol
,
0
);
endIndexHierarchy
(
ol
,
0
);
...
@@ -2379,7 +2415,6 @@ void writeGroupIndexItem(GroupDef *gd,MemberList *ml,const QCString &title)
...
@@ -2379,7 +2415,6 @@ void writeGroupIndexItem(GroupDef *gd,MemberList *ml,const QCString &title)
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
/*!
/*!
* write groups as hierarchical trees
* write groups as hierarchical trees
* \author KPW
*/
*/
void
writeGroupTreeNode
(
OutputList
&
ol
,
GroupDef
*
gd
,
int
level
,
FTVHelp
*
ftv
)
void
writeGroupTreeNode
(
OutputList
&
ol
,
GroupDef
*
gd
,
int
level
,
FTVHelp
*
ftv
)
{
{
...
@@ -2437,6 +2472,7 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd, int level, FTVHelp* ftv)
...
@@ -2437,6 +2472,7 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd, int level, FTVHelp* ftv)
//parseText(ol,gd->groupTitle());
//parseText(ol,gd->groupTitle());
//ol.endTextLink();
//ol.endTextLink();
ol
.
startIndexListItem
();
ol
.
startIndexItem
(
gd
->
getReference
(),
gd
->
getOutputFileBase
());
ol
.
startIndexItem
(
gd
->
getReference
(),
gd
->
getOutputFileBase
());
ol
.
parseText
(
gd
->
groupTitle
());
ol
.
parseText
(
gd
->
groupTitle
());
ol
.
endIndexItem
(
gd
->
getReference
(),
gd
->
getOutputFileBase
());
ol
.
endIndexItem
(
gd
->
getReference
(),
gd
->
getOutputFileBase
());
...
@@ -2572,6 +2608,7 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd, int level, FTVHelp* ftv)
...
@@ -2572,6 +2608,7 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd, int level, FTVHelp* ftv)
Doxygen
::
indexList
.
decContentsDepth
();
Doxygen
::
indexList
.
decContentsDepth
();
}
}
}
}
ol
.
endIndexListItem
();
Doxygen
::
indexList
.
decContentsDepth
();
Doxygen
::
indexList
.
decContentsDepth
();
if
(
ftv
)
if
(
ftv
)
...
@@ -2627,6 +2664,7 @@ void writeDirTreeNode(OutputList &ol, DirDef *dd, int level, FTVHelp* ftv)
...
@@ -2627,6 +2664,7 @@ void writeDirTreeNode(OutputList &ol, DirDef *dd, int level, FTVHelp* ftv)
ftv
->
incContentsDepth
();
ftv
->
incContentsDepth
();
}
}
ol
.
startIndexListItem
();
ol
.
startIndexItem
(
dd
->
getReference
(),
dd
->
getOutputFileBase
());
ol
.
startIndexItem
(
dd
->
getReference
(),
dd
->
getOutputFileBase
());
ol
.
parseText
(
dd
->
shortName
());
ol
.
parseText
(
dd
->
shortName
());
ol
.
endIndexItem
(
dd
->
getReference
(),
dd
->
getOutputFileBase
());
ol
.
endIndexItem
(
dd
->
getReference
(),
dd
->
getOutputFileBase
());
...
@@ -2664,6 +2702,7 @@ void writeDirTreeNode(OutputList &ol, DirDef *dd, int level, FTVHelp* ftv)
...
@@ -2664,6 +2702,7 @@ void writeDirTreeNode(OutputList &ol, DirDef *dd, int level, FTVHelp* ftv)
}
}
}
}
}
}
ol
.
endIndexListItem
();
Doxygen
::
indexList
.
decContentsDepth
();
Doxygen
::
indexList
.
decContentsDepth
();
if
(
ftv
)
if
(
ftv
)
...
@@ -2710,6 +2749,7 @@ void writeGroupIndex(OutputList &ol)
...
@@ -2710,6 +2749,7 @@ void writeGroupIndex(OutputList &ol)
Doxygen
::
indexList
.
incContentsDepth
();
Doxygen
::
indexList
.
incContentsDepth
();
ol
.
parseText
(
theTranslator
->
trModulesDescription
());
ol
.
parseText
(
theTranslator
->
trModulesDescription
());
ol
.
endTextBlock
();
ol
.
endTextBlock
();
FTVHelp
*
ftv
=
NULL
;
FTVHelp
*
ftv
=
NULL
;
QCString
&
TreeView
=
Config_getEnum
(
"GENERATE_TREEVIEW"
);
QCString
&
TreeView
=
Config_getEnum
(
"GENERATE_TREEVIEW"
);
if
(
TreeView
==
"HIERARCHIES"
||
TreeView
==
"ALL"
)
if
(
TreeView
==
"HIERARCHIES"
||
TreeView
==
"ALL"
)
...
@@ -2857,7 +2897,7 @@ void writeIndex(OutputList &ol)
...
@@ -2857,7 +2897,7 @@ void writeIndex(OutputList &ol)
}
}
}
}
ol
.
endTitleHead
(
0
,
0
);
ol
.
endTitleHead
(
0
,
0
);
ol
.
newParagraph
();
// ol.newParagraph(); // FIXME:PARA
if
(
!
Config_getString
(
"PROJECT_NUMBER"
).
isEmpty
())
if
(
!
Config_getString
(
"PROJECT_NUMBER"
).
isEmpty
())
{
{
ol
.
startProjectNumber
();
ol
.
startProjectNumber
();
...
...
src/latexgen.cpp
View file @
7a3de4c3
...
@@ -412,6 +412,7 @@ static void writeDefaultStyleSheetPart3(QTextStream &t)
...
@@ -412,6 +412,7 @@ static void writeDefaultStyleSheetPart3(QTextStream &t)
t
<<
"
\\
definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
\n
"
;
t
<<
"
\\
definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
\n
"
;
t
<<
"
\\
definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
\n
"
;
t
<<
"
\\
definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
\n
"
;
t
<<
"
\\
definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
\n
"
;
t
<<
"
\\
definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
\n
"
;
t
<<
"
\\
definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}
\n
"
;
}
}
void
LatexGenerator
::
writeHeaderFile
(
QFile
&
f
)
void
LatexGenerator
::
writeHeaderFile
(
QFile
&
f
)
...
...
src/latexgen.h
View file @
7a3de4c3
...
@@ -65,6 +65,8 @@ class LatexGenerator : public OutputGenerator
...
@@ -65,6 +65,8 @@ class LatexGenerator : public OutputGenerator
void
startParagraph
();
void
startParagraph
();
void
endParagraph
();
void
endParagraph
();
void
writeString
(
const
char
*
text
);
void
writeString
(
const
char
*
text
);
void
startIndexListItem
()
{}
void
endIndexListItem
()
{}
void
startIndexList
()
{
t
<<
"
\\
begin{CompactList}"
<<
endl
;
}
void
startIndexList
()
{
t
<<
"
\\
begin{CompactList}"
<<
endl
;
}
void
endIndexList
()
{
t
<<
"
\\
end{CompactList}"
<<
endl
;
}
void
endIndexList
()
{
t
<<
"
\\
end{CompactList}"
<<
endl
;
}
void
startIndexKey
();
void
startIndexKey
();
...
@@ -90,7 +92,8 @@ class LatexGenerator : public OutputGenerator
...
@@ -90,7 +92,8 @@ class LatexGenerator : public OutputGenerator
void
endTypewriter
()
{
t
<<
"}"
;
}
void
endTypewriter
()
{
t
<<
"}"
;
}
void
startGroupHeader
();
void
startGroupHeader
();
void
endGroupHeader
();
void
endGroupHeader
();
void
writeListItem
()
{
t
<<
"
\\
item "
<<
endl
;
}
void
startItemListItem
()
{
t
<<
"
\\
item "
<<
endl
;
}
void
endItemListItem
()
{}
void
startMemberSections
()
{}
void
startMemberSections
()
{}
void
endMemberSections
()
{}
void
endMemberSections
()
{}
...
@@ -161,7 +164,8 @@ class LatexGenerator : public OutputGenerator
...
@@ -161,7 +164,8 @@ class LatexGenerator : public OutputGenerator
void
endSimpleSect
();
void
endSimpleSect
();
void
startParamList
(
ParamListTypes
,
const
char
*
title
);
void
startParamList
(
ParamListTypes
,
const
char
*
title
);
void
endParamList
();
void
endParamList
();
void
writeDescItem
()
{
t
<<
"
\\
par"
<<
endl
;
}
void
startDescForItem
()
{
t
<<
"
\\
par"
<<
endl
;
}
void
endDescForItem
()
{}
void
startSection
(
const
char
*
,
const
char
*
,
SectionInfo
::
SectionType
);
void
startSection
(
const
char
*
,
const
char
*
,
SectionInfo
::
SectionType
);
void
endSection
(
const
char
*
,
SectionInfo
::
SectionType
);
void
endSection
(
const
char
*
,
SectionInfo
::
SectionType
);
void
addIndexItem
(
const
char
*
,
const
char
*
);
void
addIndexItem
(
const
char
*
,
const
char
*
);
...
...
src/mangen.cpp
View file @
7a3de4c3
...
@@ -356,7 +356,7 @@ void ManGenerator::endTitle()
...
@@ -356,7 +356,7 @@ void ManGenerator::endTitle()
t
<<
"
\"
"
;
t
<<
"
\"
"
;
}
}
void
ManGenerator
::
write
ListItem
()
void
ManGenerator
::
startItem
ListItem
()
{
{
if
(
!
firstCol
)
t
<<
endl
;
if
(
!
firstCol
)
t
<<
endl
;
t
<<
".TP"
<<
endl
;
t
<<
".TP"
<<
endl
;
...
@@ -365,6 +365,10 @@ void ManGenerator::writeListItem()
...
@@ -365,6 +365,10 @@ void ManGenerator::writeListItem()
col
=
0
;
col
=
0
;
}
}
void
ManGenerator
::
endItemListItem
()
{
}
void
ManGenerator
::
startCodeFragment
()
void
ManGenerator
::
startCodeFragment
()
{
{
newParagraph
();
newParagraph
();
...
@@ -476,7 +480,7 @@ void ManGenerator::startDescItem()
...
@@ -476,7 +480,7 @@ void ManGenerator::startDescItem()
// paragraph=TRUE;
// paragraph=TRUE;
//}
//}
void
ManGenerator
::
writeDesc
Item
()
void
ManGenerator
::
startDescFor
Item
()
{
{
if
(
!
firstCol
)
t
<<
endl
;
if
(
!
firstCol
)
t
<<
endl
;
if
(
!
paragraph
)
t
<<
".in -1c"
<<
endl
;
if
(
!
paragraph
)
t
<<
".in -1c"
<<
endl
;
...
@@ -486,6 +490,10 @@ void ManGenerator::writeDescItem()
...
@@ -486,6 +490,10 @@ void ManGenerator::writeDescItem()
col
=
0
;
col
=
0
;
}
}
void
ManGenerator
::
endDescForItem
()
{
}
void
ManGenerator
::
endDescItem
()
void
ManGenerator
::
endDescItem
()
{
{
t
<<
"
\"
1c"
<<
endl
;
t
<<
"
\"
1c"
<<
endl
;
...
@@ -669,13 +677,14 @@ void ManGenerator::startConstraintList(const char *header)
...
@@ -669,13 +677,14 @@ void ManGenerator::startConstraintList(const char *header)
void
ManGenerator
::
startConstraintParam
()
void
ManGenerator
::
startConstraintParam
()
{
{
write
ListItem
();
startItem
ListItem
();
startEmphasis
();
startEmphasis
();
}
}
void
ManGenerator
::
endConstraintParam
()
void
ManGenerator
::
endConstraintParam
()
{
{
endEmphasis
();
endEmphasis
();
endItemListItem
();
t
<<
" : "
;
t
<<
" : "
;
}
}
...
...
src/mangen.h
View file @
7a3de4c3
...
@@ -63,6 +63,8 @@ class ManGenerator : public OutputGenerator
...
@@ -63,6 +63,8 @@ class ManGenerator : public OutputGenerator
void
startParagraph
();
void
startParagraph
();
void
endParagraph
();
void
endParagraph
();
void
writeString
(
const
char
*
text
);
void
writeString
(
const
char
*
text
);
void
startIndexListItem
()
{}
void
endIndexListItem
()
{}
void
startIndexList
()
{}
void
startIndexList
()
{}
void
endIndexList
()
{
newParagraph
();
}
void
endIndexList
()
{
newParagraph
();
}
void
startIndexKey
()
{}
void
startIndexKey
()
{}
...
@@ -95,7 +97,9 @@ class ManGenerator : public OutputGenerator
...
@@ -95,7 +97,9 @@ class ManGenerator : public OutputGenerator
void
insertMemberAlign
(
bool
)
{}
void
insertMemberAlign
(
bool
)
{}
void
startMemberSubtitle
()
{}
void
startMemberSubtitle
()
{}
void
endMemberSubtitle
()
{}
void
endMemberSubtitle
()
{}
void
writeListItem
();
//void writeListItem();
void
startItemListItem
();
void
endItemListItem
();
void
startMemberDocList
()
{}
void
startMemberDocList
()
{}
void
endMemberDocList
()
{}
void
endMemberDocList
()
{}
void
startMemberList
();
void
startMemberList
();
...
@@ -157,7 +161,9 @@ class ManGenerator : public OutputGenerator
...
@@ -157,7 +161,9 @@ class ManGenerator : public OutputGenerator
void
endSimpleSect
();
void
endSimpleSect
();
void
startParamList
(
ParamListTypes
,
const
char
*
title
);
void
startParamList
(
ParamListTypes
,
const
char
*
title
);
void
endParamList
();
void
endParamList
();
void
writeDescItem
();
//void writeDescItem();
void
startDescForItem
();
void
endDescForItem
();
void
startSection
(
const
char
*
,
const
char
*
,
SectionInfo
::
SectionType
);
void
startSection
(
const
char
*
,
const
char
*
,
SectionInfo
::
SectionType
);
void
endSection
(
const
char
*
,
SectionInfo
::
SectionType
);
void
endSection
(
const
char
*
,
SectionInfo
::
SectionType
);
void
addIndexItem
(
const
char
*
,
const
char
*
)
{}
void
addIndexItem
(
const
char
*
,
const
char
*
)
{}
...
@@ -177,7 +183,7 @@ class ManGenerator : public OutputGenerator
...
@@ -177,7 +183,7 @@ class ManGenerator : public OutputGenerator
void
startDescTable
()
{}
void
startDescTable
()
{}
void
endDescTable
()
{}
void
endDescTable
()
{}
void
startDescTableTitle
()
{
writeListItem
();
startBold
();
startEmphasis
();
}
void
startDescTableTitle
()
{
startItemListItem
();
startBold
();
startEmphasis
();
endItemListItem
();
}
void
endDescTableTitle
()
{
endEmphasis
();
endBold
();
}
void
endDescTableTitle
()
{
endEmphasis
();
endBold
();
}
void
startDescTableData
()
{
t
<<
endl
;
firstCol
=
TRUE
;
}
void
startDescTableData
()
{
t
<<
endl
;
firstCol
=
TRUE
;
}
void
endDescTableData
()
{}
void
endDescTableData
()
{}
...
...
src/memberdef.cpp
View file @
7a3de4c3
...
@@ -140,9 +140,14 @@ static bool writeDefArgumentList(OutputList &ol,ClassDef *cd,
...
@@ -140,9 +140,14 @@ static bool writeDefArgumentList(OutputList &ol,ClassDef *cd,
//if (!md->isDefine()) ol.startParameter(TRUE); else ol.docify(" ");
//if (!md->isDefine()) ol.startParameter(TRUE); else ol.docify(" ");
bool
first
=
TRUE
;
bool
first
=
TRUE
;
bool
paramTypeStarted
=
FALSE
;
while
(
a
)
while
(
a
)
{
{
if
(
md
->
isDefine
()
||
first
)
ol
.
startParameterType
(
first
,
md
->
isObjCMethod
()
?
"dummy"
:
0
);
if
(
md
->
isDefine
()
||
first
)
{
ol
.
startParameterType
(
first
,
md
->
isObjCMethod
()
?
"dummy"
:
0
);
paramTypeStarted
=
TRUE
;
}
QRegExp
re
(
")("
),
res
(
"(.*
\\
*"
);
QRegExp
re
(
")("
),
res
(
"(.*
\\
*"
);
int
vp
=
a
->
type
.
find
(
re
);
int
vp
=
a
->
type
.
find
(
re
);
int
wp
=
a
->
type
.
find
(
res
);
int
wp
=
a
->
type
.
find
(
res
);
...
@@ -178,8 +183,12 @@ static bool writeDefArgumentList(OutputList &ol,ClassDef *cd,
...
@@ -178,8 +183,12 @@ static bool writeDefArgumentList(OutputList &ol,ClassDef *cd,
}
}
}
}
if
(
!
md
->
isDefine
())
if
(
!
md
->
isDefine
())
{
if
(
paramTypeStarted
)
{
{
ol
.
endParameterType
();
ol
.
endParameterType
();
paramTypeStarted
=
FALSE
;
}
ol
.
startParameterName
(
defArgList
->
count
()
<
2
);
ol
.
startParameterName
(
defArgList
->
count
()
<
2
);
}
}
if
(
hasFuncPtrType
)
if
(
hasFuncPtrType
)
...
@@ -236,7 +245,16 @@ static bool writeDefArgumentList(OutputList &ol,ClassDef *cd,
...
@@ -236,7 +245,16 @@ static bool writeDefArgumentList(OutputList &ol,ClassDef *cd,
if
(
key
!=
","
)
key
+=
":"
;
// for normal keywords add colon
if
(
key
!=
","
)
key
+=
":"
;
// for normal keywords add colon
}
}
ol
.
endParameterName
(
FALSE
,
FALSE
,
!
md
->
isObjCMethod
());
ol
.
endParameterName
(
FALSE
,
FALSE
,
!
md
->
isObjCMethod
());
if
(
paramTypeStarted
)
{
ol
.
endParameterType
();
}
ol
.
startParameterType
(
FALSE
,
key
);
ol
.
startParameterType
(
FALSE
,
key
);
paramTypeStarted
=
TRUE
;
}
else
{
ol
.
endParameterName
(
FALSE
,
FALSE
,
TRUE
);
}
}
}
}
first
=
FALSE
;
first
=
FALSE
;
...
@@ -1497,7 +1515,6 @@ void MemberDef::writeDeclaration(OutputList &ol,
...
@@ -1497,7 +1515,6 @@ void MemberDef::writeDeclaration(OutputList &ol,
//ol.startEmphasis();
//ol.startEmphasis();
ol
.
popGeneratorState
();
ol
.
popGeneratorState
();
}
}
//ol.newParagraph();
ol
.
endMemberDescription
();
ol
.
endMemberDescription
();
}
}
warnIfUndocumented
();
warnIfUndocumented
();
...
@@ -1926,10 +1943,11 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -1926,10 +1943,11 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
ol
.
endDoxyAnchor
(
cfname
,
memAnchor
);
ol
.
endDoxyAnchor
(
cfname
,
memAnchor
);
ol
.
startIndent
();
ol
.
startIndent
();
ol
.
pushGeneratorState
();
// FIXME:PARA
ol
.
disable
(
OutputGenerator
::
RTF
);
//ol.pushGeneratorState();
ol
.
newParagraph
();
//ol.disable(OutputGenerator::RTF);
ol
.
popGeneratorState
();
//ol.newParagraph();
//ol.popGeneratorState();
/* write multi-line initializer (if any) */
/* write multi-line initializer (if any) */
if
(
hasMultiLineInitializer
()
if
(
hasMultiLineInitializer
()
...
@@ -1969,8 +1987,11 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -1969,8 +1987,11 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
)
)
)
)
{
{
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
getOuterScope
()
?
getOuterScope
()
:
container
,
this
,
brief
,
FALSE
,
FALSE
);
ol
.
startParagraph
();
ol
.
newParagraph
();
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
getOuterScope
()
?
getOuterScope
()
:
container
,
this
,
brief
,
FALSE
,
FALSE
,
0
,
TRUE
,
FALSE
);
ol
.
endParagraph
();
}
}
/* write detailed description */
/* write detailed description */
...
@@ -1980,8 +2001,9 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -1980,8 +2001,9 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
ol
.
parseDoc
(
docFile
(),
docLine
(),
getOuterScope
()
?
getOuterScope
()
:
container
,
this
,
detailed
+
"
\n
"
,
TRUE
,
FALSE
);
ol
.
parseDoc
(
docFile
(),
docLine
(),
getOuterScope
()
?
getOuterScope
()
:
container
,
this
,
detailed
+
"
\n
"
,
TRUE
,
FALSE
);
if
(
!
inbodyDocumentation
().
isEmpty
())
if
(
!
inbodyDocumentation
().
isEmpty
())
{
{
ol
.
new
Paragraph
();
ol
.
start
Paragraph
();
ol
.
parseDoc
(
inbodyFile
(),
inbodyLine
(),
getOuterScope
()
?
getOuterScope
()
:
container
,
this
,
inbodyDocumentation
()
+
"
\n
"
,
TRUE
,
FALSE
);
ol
.
parseDoc
(
inbodyFile
(),
inbodyLine
(),
getOuterScope
()
?
getOuterScope
()
:
container
,
this
,
inbodyDocumentation
()
+
"
\n
"
,
TRUE
,
FALSE
);
ol
.
endParagraph
();
}
}
}
}
else
if
(
!
brief
.
isEmpty
()
&&
(
Config_getBool
(
"REPEAT_BRIEF"
)
||
else
if
(
!
brief
.
isEmpty
()
&&
(
Config_getBool
(
"REPEAT_BRIEF"
)
||
...
@@ -1989,7 +2011,6 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -1989,7 +2011,6 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
{
{
if
(
!
inbodyDocumentation
().
isEmpty
())
if
(
!
inbodyDocumentation
().
isEmpty
())
{
{
ol
.
newParagraph
();
ol
.
parseDoc
(
inbodyFile
(),
inbodyLine
(),
getOuterScope
()
?
getOuterScope
()
:
container
,
this
,
inbodyDocumentation
()
+
"
\n
"
,
TRUE
,
FALSE
);
ol
.
parseDoc
(
inbodyFile
(),
inbodyLine
(),
getOuterScope
()
?
getOuterScope
()
:
container
,
this
,
inbodyDocumentation
()
+
"
\n
"
,
TRUE
,
FALSE
);
}
}
}
}
...
@@ -2068,9 +2089,8 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -2068,9 +2089,8 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
{
{
if
(
first
)
if
(
first
)
{
{
//ol.newParagraph();
ol
.
startSimpleSect
(
BaseOutputDocInterface
::
EnumValues
,
0
,
0
,
theTranslator
->
trEnumerationValues
()
+
": "
);
ol
.
startSimpleSect
(
BaseOutputDocInterface
::
EnumValues
,
0
,
0
,
theTranslator
->
trEnumerationValues
()
+
": "
);
ol
.
writeDesc
Item
();
ol
.
startDescFor
Item
();
ol
.
startDescTable
();
ol
.
startDescTable
();
}
}
...
@@ -2110,13 +2130,13 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -2110,13 +2130,13 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
if
(
!
fmd
->
briefDescription
().
isEmpty
())
if
(
!
fmd
->
briefDescription
().
isEmpty
())
{
{
ol
.
parseDoc
(
fmd
->
briefFile
(),
fmd
->
briefLine
(),
getOuterScope
()
?
getOuterScope
()
:
container
,
fmd
,
fmd
->
briefDescription
(),
TRUE
,
FALSE
);
ol
.
parseDoc
(
fmd
->
briefFile
(),
fmd
->
briefLine
(),
getOuterScope
()
?
getOuterScope
()
:
container
,
fmd
,
fmd
->
briefDescription
(),
TRUE
,
FALSE
);
//ol.newParagraph();
}
if
(
!
fmd
->
briefDescription
().
isEmpty
()
&&
!
fmd
->
documentation
().
isEmpty
())
{
ol
.
newParagraph
();
}
}
// FIXME:PARA
//if (!fmd->briefDescription().isEmpty() &&
// !fmd->documentation().isEmpty())
//{
// ol.newParagraph();
//}
if
(
!
fmd
->
documentation
().
isEmpty
())
if
(
!
fmd
->
documentation
().
isEmpty
())
{
{
ol
.
parseDoc
(
fmd
->
docFile
(),
fmd
->
docLine
(),
getOuterScope
()
?
getOuterScope
()
:
container
,
fmd
,
fmd
->
documentation
()
+
"
\n
"
,
TRUE
,
FALSE
);
ol
.
parseDoc
(
fmd
->
docFile
(),
fmd
->
docLine
(),
getOuterScope
()
?
getOuterScope
()
:
container
,
fmd
,
fmd
->
documentation
()
+
"
\n
"
,
TRUE
,
FALSE
);
...
@@ -2130,6 +2150,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -2130,6 +2150,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
{
{
//ol.endItemList();
//ol.endItemList();
ol
.
endDescTable
();
ol
.
endDescTable
();
ol
.
endDescForItem
();
ol
.
endSimpleSect
();
ol
.
endSimpleSect
();
ol
.
writeChar
(
'\n'
);
ol
.
writeChar
(
'\n'
);
}
}
...
@@ -2269,9 +2290,9 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -2269,9 +2290,9 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
if
(
hasExamples
())
if
(
hasExamples
())
{
{
ol
.
startSimpleSect
(
BaseOutputDocInterface
::
Examples
,
0
,
0
,
theTranslator
->
trExamples
()
+
": "
);
ol
.
startSimpleSect
(
BaseOutputDocInterface
::
Examples
,
0
,
0
,
theTranslator
->
trExamples
()
+
": "
);
ol
.
writeDesc
Item
();
ol
.
startDescFor
Item
();
writeExample
(
ol
,
m_impl
->
exampleSDict
);
writeExample
(
ol
,
m_impl
->
exampleSDict
);
//ol.endDesc
Item();
ol
.
endDescFor
Item
();
ol
.
endSimpleSect
();
ol
.
endSimpleSect
();
}
}
...
@@ -2296,10 +2317,11 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -2296,10 +2317,11 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
{
{
msg
(
"Generating call graph for function %s
\n
"
,
qualifiedName
().
data
());
msg
(
"Generating call graph for function %s
\n
"
,
qualifiedName
().
data
());
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
new
Paragraph
();
ol
.
start
Paragraph
();
ol
.
startCallGraph
();
ol
.
startCallGraph
();
ol
.
parseText
(
theTranslator
->
trCallGraph
());
ol
.
parseText
(
theTranslator
->
trCallGraph
());
ol
.
endCallGraph
(
callGraph
);
ol
.
endCallGraph
(
callGraph
);
ol
.
endParagraph
();
ol
.
enableAll
();
ol
.
enableAll
();
}
}
}
}
...
@@ -2312,10 +2334,11 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -2312,10 +2334,11 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
{
{
msg
(
"Generating caller graph for function %s
\n
"
,
qualifiedName
().
data
());
msg
(
"Generating caller graph for function %s
\n
"
,
qualifiedName
().
data
());
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
new
Paragraph
();
ol
.
start
Paragraph
();
ol
.
startCallGraph
();
ol
.
startCallGraph
();
ol
.
parseText
(
theTranslator
->
trCallerGraph
());
ol
.
parseText
(
theTranslator
->
trCallerGraph
());
ol
.
endCallGraph
(
callerGraph
);
ol
.
endCallGraph
(
callerGraph
);
ol
.
endParagraph
();
ol
.
enableAll
();
ol
.
enableAll
();
}
}
}
}
...
@@ -2518,7 +2541,7 @@ void MemberDef::setAnchor(const char *a)
...
@@ -2518,7 +2541,7 @@ void MemberDef::setAnchor(const char *a)
QCString
sigStr
(
33
);
QCString
sigStr
(
33
);
MD5Buffer
((
const
unsigned
char
*
)
memAnchor
.
data
(),
memAnchor
.
length
(),
md5_sig
);
MD5Buffer
((
const
unsigned
char
*
)
memAnchor
.
data
(),
memAnchor
.
length
(),
md5_sig
);
MD5SigToString
(
md5_sig
,
sigStr
.
data
(),
33
);
MD5SigToString
(
md5_sig
,
sigStr
.
data
(),
33
);
m_impl
->
anc
=
sigStr
;
m_impl
->
anc
=
"a"
+
sigStr
;
}
}
void
MemberDef
::
setGroupDef
(
GroupDef
*
gd
,
Grouping
::
GroupPri_t
pri
,
void
MemberDef
::
setGroupDef
(
GroupDef
*
gd
,
Grouping
::
GroupPri_t
pri
,
...
...
src/msc.cpp
View file @
7a3de4c3
...
@@ -81,7 +81,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName,const QCString rel
...
@@ -81,7 +81,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName,const QCString rel
}
}
t
<<
"
\"
shape=
\"
rect
\"
coords=
\"
"
t
<<
"
\"
shape=
\"
rect
\"
coords=
\"
"
<<
x1
<<
","
<<
y1
<<
","
<<
x2
<<
","
<<
y2
<<
"
\"
"
<<
x1
<<
","
<<
y1
<<
","
<<
x2
<<
","
<<
y2
<<
"
\"
"
<<
" alt=
\"\"
>"
<<
endl
;
<<
" alt=
\"\"
/
>"
<<
endl
;
}
}
}
}
...
...
src/namespacedef.cpp
View file @
7a3de4c3
...
@@ -257,7 +257,7 @@ void NamespaceDef::writeDetailedDescription(OutputList &ol,const QCString &title
...
@@ -257,7 +257,7 @@ void NamespaceDef::writeDetailedDescription(OutputList &ol,const QCString &title
ol
.
pushGeneratorState
();
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
newParagraph
();
//ol.newParagraph(); // FIXME:PARA
ol
.
enableAll
();
ol
.
enableAll
();
ol
.
disableAllBut
(
OutputGenerator
::
Man
);
ol
.
disableAllBut
(
OutputGenerator
::
Man
);
ol
.
writeString
(
"
\n\n
"
);
ol
.
writeString
(
"
\n\n
"
);
...
@@ -268,7 +268,6 @@ void NamespaceDef::writeDetailedDescription(OutputList &ol,const QCString &title
...
@@ -268,7 +268,6 @@ void NamespaceDef::writeDetailedDescription(OutputList &ol,const QCString &title
ol
.
parseDoc
(
docFile
(),
docLine
(),
this
,
0
,
documentation
()
+
"
\n
"
,
TRUE
,
FALSE
);
ol
.
parseDoc
(
docFile
(),
docLine
(),
this
,
0
,
documentation
()
+
"
\n
"
,
TRUE
,
FALSE
);
}
}
ol
.
endTextBlock
();
ol
.
endTextBlock
();
ol
.
newParagraph
();
}
}
}
}
...
@@ -276,7 +275,9 @@ void NamespaceDef::writeBriefDescription(OutputList &ol)
...
@@ -276,7 +275,9 @@ void NamespaceDef::writeBriefDescription(OutputList &ol)
{
{
if
(
!
briefDescription
().
isEmpty
())
if
(
!
briefDescription
().
isEmpty
())
{
{
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
this
,
0
,
briefDescription
(),
TRUE
,
FALSE
);
ol
.
startParagraph
();
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
this
,
0
,
briefDescription
(),
TRUE
,
FALSE
,
0
,
TRUE
,
FALSE
);
ol
.
pushGeneratorState
();
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
writeString
(
"
\n
"
);
ol
.
writeString
(
"
\n
"
);
...
@@ -292,11 +293,13 @@ void NamespaceDef::writeBriefDescription(OutputList &ol)
...
@@ -292,11 +293,13 @@ void NamespaceDef::writeBriefDescription(OutputList &ol)
ol
.
endTextLink
();
ol
.
endTextLink
();
}
}
ol
.
popGeneratorState
();
ol
.
popGeneratorState
();
ol
.
endParagraph
();
ol
.
pushGeneratorState
();
// FIXME:PARA
ol
.
disable
(
OutputGenerator
::
RTF
);
//ol.pushGeneratorState();
ol
.
newParagraph
();
//ol.disable(OutputGenerator::RTF);
ol
.
popGeneratorState
();
//ol.newParagraph();
//ol.popGeneratorState();
}
}
ol
.
writeSynopsis
();
ol
.
writeSynopsis
();
}
}
...
@@ -792,10 +795,11 @@ void NamespaceSDict::writeDeclaration(OutputList &ol,const char *title,bool loca
...
@@ -792,10 +795,11 @@ void NamespaceSDict::writeDeclaration(OutputList &ol,const char *title,bool loca
ol
.
endMemberItem
();
ol
.
endMemberItem
();
if
(
!
nd
->
briefDescription
().
isEmpty
()
&&
Config_getBool
(
"BRIEF_MEMBER_DESC"
))
if
(
!
nd
->
briefDescription
().
isEmpty
()
&&
Config_getBool
(
"BRIEF_MEMBER_DESC"
))
{
{
ol
.
startParagraph
();
ol
.
startMemberDescription
();
ol
.
startMemberDescription
();
ol
.
parseDoc
(
nd
->
briefFile
(),
nd
->
briefLine
(),
nd
,
0
,
nd
->
briefDescription
(),
FALSE
,
FALSE
);
ol
.
parseDoc
(
nd
->
briefFile
(),
nd
->
briefLine
(),
nd
,
0
,
nd
->
briefDescription
(),
FALSE
,
FALSE
);
ol
.
endMemberDescription
();
ol
.
endMemberDescription
();
ol
.
new
Paragraph
();
ol
.
end
Paragraph
();
}
}
}
}
}
}
...
...
src/outputgen.h
View file @
7a3de4c3
...
@@ -101,7 +101,7 @@ class BaseOutputDocInterface : public CodeOutputInterface
...
@@ -101,7 +101,7 @@ class BaseOutputDocInterface : public CodeOutputInterface
const
QCString
&
,
bool
)
{}
const
QCString
&
,
bool
)
{}
virtual
void
parseText
(
const
QCString
&
)
{}
virtual
void
parseText
(
const
QCString
&
)
{}
/*! Start of a bullet list: e.g. \c \<ul\> in html.
write
ListItem() is
/*! Start of a bullet list: e.g. \c \<ul\> in html.
startItem
ListItem() is
* Used for the bullet items.
* Used for the bullet items.
*/
*/
virtual
void
startItemList
()
=
0
;
virtual
void
startItemList
()
=
0
;
...
@@ -109,7 +109,12 @@ class BaseOutputDocInterface : public CodeOutputInterface
...
@@ -109,7 +109,12 @@ class BaseOutputDocInterface : public CodeOutputInterface
/*! Writes a list item for a bullet or enumerated
/*! Writes a list item for a bullet or enumerated
* list: e.g. \c \<li\> in html
* list: e.g. \c \<li\> in html
*/
*/
virtual
void
writeListItem
()
=
0
;
virtual
void
startItemListItem
()
=
0
;
/*! Writes a list item for a bullet or enumerated
* list: e.g. \c \</li\> in html
*/
virtual
void
endItemListItem
()
=
0
;
/*! Ends a bullet list: e.g. \c \</ul\> in html */
/*! Ends a bullet list: e.g. \c \</ul\> in html */
virtual
void
endItemList
()
=
0
;
virtual
void
endItemList
()
=
0
;
...
@@ -130,11 +135,11 @@ class BaseOutputDocInterface : public CodeOutputInterface
...
@@ -130,11 +135,11 @@ class BaseOutputDocInterface : public CodeOutputInterface
virtual
void
writeString
(
const
char
*
text
)
=
0
;
virtual
void
writeString
(
const
char
*
text
)
=
0
;
/*! Starts a new paragraph */
/*! Starts a new paragraph */
virtual
void
newParagraph
()
=
0
;
//
virtual void newParagraph() = 0;
/*! Starts a new paragraph */
/*! Starts a new paragraph */
virtual
void
startParagraph
()
=
0
;
virtual
void
startParagraph
()
=
0
;
/*! End a paragraph */
/*! End
s
a paragraph */
virtual
void
endParagraph
()
=
0
;
virtual
void
endParagraph
()
=
0
;
/*! Writes a link to an object in the documentation.
/*! Writes a link to an object in the documentation.
...
@@ -211,8 +216,11 @@ class BaseOutputDocInterface : public CodeOutputInterface
...
@@ -211,8 +216,11 @@ class BaseOutputDocInterface : public CodeOutputInterface
/*! Starts an item of a description list: e.g. \c \<dt\> in HTML. */
/*! Starts an item of a description list: e.g. \c \<dt\> in HTML. */
virtual
void
startDescItem
()
=
0
;
virtual
void
startDescItem
()
=
0
;
virtual
void
startDescForItem
()
=
0
;
virtual
void
endDescForItem
()
=
0
;
/*! Ends an item of a description list and starts the
/*! Ends an item of a description list and starts the
* description itself: e.g. \c \<
dd
\> in HTML.
* description itself: e.g. \c \<
/dt
\> in HTML.
*/
*/
virtual
void
endDescItem
()
=
0
;
virtual
void
endDescItem
()
=
0
;
...
@@ -227,7 +235,7 @@ class BaseOutputDocInterface : public CodeOutputInterface
...
@@ -227,7 +235,7 @@ class BaseOutputDocInterface : public CodeOutputInterface
virtual
void
startParamList
(
ParamListTypes
t
,
const
char
*
title
)
=
0
;
virtual
void
startParamList
(
ParamListTypes
t
,
const
char
*
title
)
=
0
;
virtual
void
endParamList
()
=
0
;
virtual
void
endParamList
()
=
0
;
virtual
void
writeDescItem
()
=
0
;
//
virtual void writeDescItem() = 0;
virtual
void
startTitle
()
=
0
;
virtual
void
startTitle
()
=
0
;
virtual
void
endTitle
()
=
0
;
virtual
void
endTitle
()
=
0
;
...
@@ -303,6 +311,8 @@ class OutputGenerator : public BaseOutputDocInterface
...
@@ -303,6 +311,8 @@ class OutputGenerator : public BaseOutputDocInterface
virtual
void
writeStyleInfo
(
int
part
)
=
0
;
virtual
void
writeStyleInfo
(
int
part
)
=
0
;
virtual
void
startTitleHead
(
const
char
*
)
=
0
;
virtual
void
startTitleHead
(
const
char
*
)
=
0
;
virtual
void
endTitleHead
(
const
char
*
fileName
,
const
char
*
name
)
=
0
;
virtual
void
endTitleHead
(
const
char
*
fileName
,
const
char
*
name
)
=
0
;
virtual
void
startIndexListItem
()
=
0
;
virtual
void
endIndexListItem
()
=
0
;
virtual
void
startIndexList
()
=
0
;
virtual
void
startIndexList
()
=
0
;
virtual
void
endIndexList
()
=
0
;
virtual
void
endIndexList
()
=
0
;
virtual
void
startIndexKey
()
=
0
;
virtual
void
startIndexKey
()
=
0
;
...
...
src/outputlist.h
View file @
7a3de4c3
...
@@ -97,14 +97,18 @@ class OutputList : public OutputDocInterface
...
@@ -97,14 +97,18 @@ class OutputList : public OutputDocInterface
{
forall
(
&
OutputGenerator
::
startTitle
);
}
{
forall
(
&
OutputGenerator
::
startTitle
);
}
void
endTitle
()
void
endTitle
()
{
forall
(
&
OutputGenerator
::
endTitle
);
}
{
forall
(
&
OutputGenerator
::
endTitle
);
}
void
newParagraph
()
//
void newParagraph()
{
forall
(
&
OutputGenerator
::
newParagraph
);
}
//
{ forall(&OutputGenerator::newParagraph); }
void
startParagraph
()
void
startParagraph
()
{
forall
(
&
OutputGenerator
::
startParagraph
);
}
{
forall
(
&
OutputGenerator
::
startParagraph
);
}
void
endParagraph
()
void
endParagraph
()
{
forall
(
&
OutputGenerator
::
endParagraph
);
}
{
forall
(
&
OutputGenerator
::
endParagraph
);
}
void
writeString
(
const
char
*
text
)
void
writeString
(
const
char
*
text
)
{
forall
(
&
OutputGenerator
::
writeString
,
text
);
}
{
forall
(
&
OutputGenerator
::
writeString
,
text
);
}
void
startIndexListItem
()
{
forall
(
&
OutputGenerator
::
startIndexListItem
);
}
void
endIndexListItem
()
{
forall
(
&
OutputGenerator
::
endIndexListItem
);
}
void
startIndexList
()
void
startIndexList
()
{
forall
(
&
OutputGenerator
::
startIndexList
);
}
{
forall
(
&
OutputGenerator
::
startIndexList
);
}
void
endIndexList
()
void
endIndexList
()
...
@@ -157,8 +161,12 @@ class OutputList : public OutputDocInterface
...
@@ -157,8 +161,12 @@ class OutputList : public OutputDocInterface
{
forall
(
&
OutputGenerator
::
startGroupHeader
);
}
{
forall
(
&
OutputGenerator
::
startGroupHeader
);
}
void
endGroupHeader
()
void
endGroupHeader
()
{
forall
(
&
OutputGenerator
::
endGroupHeader
);
}
{
forall
(
&
OutputGenerator
::
endGroupHeader
);
}
void
writeListItem
()
//void writeListItem()
{
forall
(
&
OutputGenerator
::
writeListItem
);
}
//{ forall(&OutputGenerator::writeListItem); }
void
startItemListItem
()
{
forall
(
&
OutputGenerator
::
startItemListItem
);
}
void
endItemListItem
()
{
forall
(
&
OutputGenerator
::
endItemListItem
);
}
void
startMemberSections
()
void
startMemberSections
()
{
forall
(
&
OutputGenerator
::
startMemberSections
);
}
{
forall
(
&
OutputGenerator
::
startMemberSections
);
}
void
endMemberSections
()
void
endMemberSections
()
...
@@ -251,6 +259,10 @@ class OutputList : public OutputDocInterface
...
@@ -251,6 +259,10 @@ class OutputList : public OutputDocInterface
{
forall
(
&
OutputGenerator
::
startDescItem
);
}
{
forall
(
&
OutputGenerator
::
startDescItem
);
}
void
endDescItem
()
void
endDescItem
()
{
forall
(
&
OutputGenerator
::
endDescItem
);
}
{
forall
(
&
OutputGenerator
::
endDescItem
);
}
void
startDescForItem
()
{
forall
(
&
OutputGenerator
::
startDescForItem
);
}
void
endDescForItem
()
{
forall
(
&
OutputGenerator
::
endDescForItem
);
}
void
startSubsection
()
void
startSubsection
()
{
forall
(
&
OutputGenerator
::
startSubsection
);
}
{
forall
(
&
OutputGenerator
::
startSubsection
);
}
void
endSubsection
()
void
endSubsection
()
...
@@ -286,8 +298,8 @@ class OutputList : public OutputDocInterface
...
@@ -286,8 +298,8 @@ class OutputList : public OutputDocInterface
{
forall
(
&
OutputGenerator
::
startParamList
,
t
,
title
);
}
{
forall
(
&
OutputGenerator
::
startParamList
,
t
,
title
);
}
void
endParamList
()
void
endParamList
()
{
forall
(
&
OutputGenerator
::
endParamList
);
}
{
forall
(
&
OutputGenerator
::
endParamList
);
}
void
writeDescItem
()
//
void writeDescItem()
{
forall
(
&
OutputGenerator
::
writeDescItem
);
}
//
{ forall(&OutputGenerator::writeDescItem); }
void
startIndent
()
void
startIndent
()
{
forall
(
&
OutputGenerator
::
startIndent
);
}
{
forall
(
&
OutputGenerator
::
startIndent
);
}
void
endIndent
()
void
endIndent
()
...
...
src/pagedef.cpp
View file @
7a3de4c3
...
@@ -119,7 +119,7 @@ void PageDef::writeDocumentation(OutputList &ol)
...
@@ -119,7 +119,7 @@ void PageDef::writeDocumentation(OutputList &ol)
(
si
=
Doxygen
::
sectionDict
.
find
(
pageName
))
!=
0
)
(
si
=
Doxygen
::
sectionDict
.
find
(
pageName
))
!=
0
)
{
{
ol
.
startSection
(
si
->
label
,
si
->
title
,
si
->
type
);
ol
.
startSection
(
si
->
label
,
si
->
title
,
si
->
type
);
ol
.
parseDoc
(
docFile
(),
docLine
(),
this
,
0
,
si
->
title
,
TRUE
,
FALSE
);
ol
.
parseDoc
(
docFile
(),
docLine
(),
this
,
0
,
si
->
title
,
TRUE
,
FALSE
,
0
,
TRUE
,
FALSE
);
stringToSearchIndex
(
getOutputFileBase
(),
stringToSearchIndex
(
getOutputFileBase
(),
theTranslator
->
trPage
(
TRUE
,
TRUE
)
+
" "
+
si
->
title
,
theTranslator
->
trPage
(
TRUE
,
TRUE
)
+
" "
+
si
->
title
,
si
->
title
);
si
->
title
);
...
...
src/pre.l
View file @
7a3de4c3
...
@@ -2210,22 +2210,24 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
...
@@ -2210,22 +2210,24 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
// Deal with file changes due to
// Deal with file changes due to
// #include's within { .. } blocks
// #include's within { .. } blocks
QCString lineStr;
QCString lineStr
(15+g_yyFileName.length())
;
lineStr.sprintf("# %d \"%s\" 2",g_yyLineNr,g_yyFileName.data());
lineStr.sprintf("# %d \"%s\" 2",g_yyLineNr,g_yyFileName.data());
outputArray(lineStr.data(),lineStr.length());
outputArray(lineStr.data(),lineStr.length());
delete fs; fs=0;
delete fs; fs=0;
}
}
}
}
<*>"/*"
{
<*>"/*"
[*]?
{
output
Char('/');outputChar('*'
);
output
Array(yytext,yyleng
);
g_lastCContext=YY_START;
g_lastCContext=YY_START;
g_commentCount=1;
g_commentCount=1;
if (yyleng==3) g_lastGuardName.resize(0); // reset guard in case the #define is documented!
BEGIN(SkipCComment);
BEGIN(SkipCComment);
}
}
<*>"//"
{
<*>"//"
[/]?
{
output
Char('/');outputChar('/'
);
output
Array(yytext,yyleng
);
g_lastCPPContext=YY_START;
g_lastCPPContext=YY_START;
if (yyleng==3) g_lastGuardName.resize(0); // reset guard in case the #define is documented!
BEGIN(SkipCPPComment);
BEGIN(SkipCPPComment);
}
}
<*>\n {
<*>\n {
...
...
src/rtfgen.cpp
View file @
7a3de4c3
...
@@ -972,9 +972,9 @@ void RTFGenerator::endItemList()
...
@@ -972,9 +972,9 @@ void RTFGenerator::endItemList()
//}
//}
/*! write bullet or enum item */
/*! write bullet or enum item */
void
RTFGenerator
::
write
ListItem
()
void
RTFGenerator
::
startItem
ListItem
()
{
{
DBG_RTF
(
t
<<
"{
\\
comment (
write
ListItem)}"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment (
startItem
ListItem)}"
<<
endl
)
newParagraph
();
newParagraph
();
t
<<
rtf_Style_Reset
;
t
<<
rtf_Style_Reset
;
if
(
rtf_listItemInfo
[
m_listLevel
].
isEnum
)
if
(
rtf_listItemInfo
[
m_listLevel
].
isEnum
)
...
@@ -990,6 +990,11 @@ void RTFGenerator::writeListItem()
...
@@ -990,6 +990,11 @@ void RTFGenerator::writeListItem()
m_omitParagraph
=
TRUE
;
m_omitParagraph
=
TRUE
;
}
}
void
RTFGenerator
::
endItemListItem
()
{
DBG_RTF
(
t
<<
"{
\\
comment (endItemListItem)}"
<<
endl
)
}
void
RTFGenerator
::
startIndexItem
(
const
char
*
,
const
char
*
)
void
RTFGenerator
::
startIndexItem
(
const
char
*
,
const
char
*
)
{
{
DBG_RTF
(
t
<<
"{
\\
comment (startIndexItem)}"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment (startIndexItem)}"
<<
endl
)
...
@@ -1582,9 +1587,14 @@ void RTFGenerator::startDescList(SectionTypes)
...
@@ -1582,9 +1587,14 @@ void RTFGenerator::startDescList(SectionTypes)
// t << rtf_Style_Reset << rtf_DList_DepthStyle();
// t << rtf_Style_Reset << rtf_DList_DepthStyle();
//}
//}
void
RTFGenerator
::
writeDescItem
()
void
RTFGenerator
::
startDescForItem
()
{
DBG_RTF
(
t
<<
"{
\\
comment (startDescForItem) }"
<<
endl
)
}
void
RTFGenerator
::
endDescForItem
()
{
{
DBG_RTF
(
t
<<
"{
\\
comment (
writeDesc
Item) }"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment (
endDescFor
Item) }"
<<
endl
)
}
}
//void RTFGenerator::endDescList()
//void RTFGenerator::endDescList()
...
...
src/rtfgen.h
View file @
7a3de4c3
...
@@ -63,6 +63,8 @@ class RTFGenerator : public OutputGenerator
...
@@ -63,6 +63,8 @@ class RTFGenerator : public OutputGenerator
void
startParagraph
();
void
startParagraph
();
void
endParagraph
();
void
endParagraph
();
void
writeString
(
const
char
*
text
);
void
writeString
(
const
char
*
text
);
void
startIndexListItem
()
{}
void
endIndexListItem
()
{}
void
startIndexList
();
void
startIndexList
();
void
endIndexList
();
void
endIndexList
();
void
startIndexKey
();
void
startIndexKey
();
...
@@ -88,7 +90,9 @@ class RTFGenerator : public OutputGenerator
...
@@ -88,7 +90,9 @@ class RTFGenerator : public OutputGenerator
void
endTypewriter
()
{
t
<<
"}"
;
}
void
endTypewriter
()
{
t
<<
"}"
;
}
void
startGroupHeader
();
void
startGroupHeader
();
void
endGroupHeader
();
void
endGroupHeader
();
void
writeListItem
();
//void writeListItem();
void
startItemListItem
();
void
endItemListItem
();
void
startMemberSections
()
{}
void
startMemberSections
()
{}
void
endMemberSections
()
{}
void
endMemberSections
()
{}
...
@@ -152,7 +156,9 @@ class RTFGenerator : public OutputGenerator
...
@@ -152,7 +156,9 @@ class RTFGenerator : public OutputGenerator
void
endSimpleSect
();
void
endSimpleSect
();
void
startParamList
(
ParamListTypes
,
const
char
*
);
void
startParamList
(
ParamListTypes
,
const
char
*
);
void
endParamList
();
void
endParamList
();
void
writeDescItem
();
//void writeDescItem();
void
startDescForItem
();
void
endDescForItem
();
void
startSection
(
const
char
*
,
const
char
*
,
SectionInfo
::
SectionType
);
void
startSection
(
const
char
*
,
const
char
*
,
SectionInfo
::
SectionType
);
void
endSection
(
const
char
*
,
SectionInfo
::
SectionType
);
void
endSection
(
const
char
*
,
SectionInfo
::
SectionType
);
void
addIndexItem
(
const
char
*
,
const
char
*
);
void
addIndexItem
(
const
char
*
,
const
char
*
);
...
...
src/scanner.l
View file @
7a3de4c3
...
@@ -1000,6 +1000,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
...
@@ -1000,6 +1000,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
lineCount() ;
lineCount() ;
}
}
<FindMembers>[\-+]{BN}* {
<FindMembers>[\-+]{BN}* {
printf("Found - insideObj=%d\n",insideObjC);
if (!insideObjC)
if (!insideObjC)
{
{
REJECT;
REJECT;
...
@@ -1477,7 +1478,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
...
@@ -1477,7 +1478,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
isTypedef=((QCString)yytext).find("typedef")!=-1;
isTypedef=((QCString)yytext).find("typedef")!=-1;
current->section = Entry::CLASS_SEC ;
current->section = Entry::CLASS_SEC ;
current->spec = Entry::Struct;
current->spec = Entry::Struct;
current->objc = insideObjC = FALSE;
// bug 582676: can be a struct nested in an interface so keep insideObjC state
//current->objc = insideObjC = FALSE;
addType( current ) ;
addType( current ) ;
current->type += " struct" ;
current->type += " struct" ;
current->fileName = yyFileName;
current->fileName = yyFileName;
...
@@ -1534,7 +1536,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
...
@@ -1534,7 +1536,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
isTypedef=((QCString)yytext).find("typedef")!=-1;
isTypedef=((QCString)yytext).find("typedef")!=-1;
current->section = Entry::CLASS_SEC;
current->section = Entry::CLASS_SEC;
current->spec = Entry::Union;
current->spec = Entry::Union;
current->objc = insideObjC = FALSE;
// bug 582676: can be a struct nested in an interface so keep insideObjC state
//current->objc = insideObjC = FALSE;
addType( current ) ;
addType( current ) ;
current->type += " union" ;
current->type += " union" ;
current->fileName = yyFileName;
current->fileName = yyFileName;
...
...
src/translator_en.h
View file @
7a3de4c3
...
@@ -1042,30 +1042,33 @@ class TranslatorEnglish : public Translator
...
@@ -1042,30 +1042,33 @@ class TranslatorEnglish : public Translator
"};
\n
"
"};
\n
"
"
\\
endcode
\n
"
"
\\
endcode
\n
"
"This will result in the following graph:"
"This will result in the following graph:"
"<p><center><img alt=
\"\"
src=
\"
graph_legend."
+
Config_getEnum
(
"DOT_IMAGE_FORMAT"
)
+
"
\"
></center>
\n
"
"<p><center><img alt=
\"\"
src=
\"
graph_legend."
+
Config_getEnum
(
"DOT_IMAGE_FORMAT"
)
+
"
\"
></center>
</p>
\n
"
"<p>
\n
"
"<p>
\n
"
"The boxes in the above graph have the following meaning:
\n
"
"The boxes in the above graph have the following meaning:
\n
"
"</p>
\n
"
"<ul>
\n
"
"<ul>
\n
"
"<li>%A filled gray box represents the struct or class for which the "
"<li>%A filled gray box represents the struct or class for which the "
"graph is generated.
\n
"
"graph is generated.
</li>
\n
"
"<li>%A box with a black border denotes a documented struct or class.
\n
"
"<li>%A box with a black border denotes a documented struct or class.
</li>
\n
"
"<li>%A box with a grey border denotes an undocumented struct or class.
\n
"
"<li>%A box with a grey border denotes an undocumented struct or class.
</li>
\n
"
"<li>%A box with a red border denotes a documented struct or class for"
"<li>%A box with a red border denotes a documented struct or class for"
"which not all inheritance/containment relations are shown. %A graph is "
"which not all inheritance/containment relations are shown. %A graph is "
"truncated if it does not fit within the specified boundaries.
\n
"
"truncated if it does not fit within the specified boundaries.
</li>
\n
"
"</ul>
\n
"
"</ul>
\n
"
"<p>
\n
"
"The arrows have the following meaning:
\n
"
"The arrows have the following meaning:
\n
"
"</p>
\n
"
"<ul>
\n
"
"<ul>
\n
"
"<li>%A dark blue arrow is used to visualize a public inheritance "
"<li>%A dark blue arrow is used to visualize a public inheritance "
"relation between two classes.
\n
"
"relation between two classes.
</li>
\n
"
"<li>%A dark green arrow is used for protected inheritance.
\n
"
"<li>%A dark green arrow is used for protected inheritance.
</li>
\n
"
"<li>%A dark red arrow is used for private inheritance.
\n
"
"<li>%A dark red arrow is used for private inheritance.
</li>
\n
"
"<li>%A purple dashed arrow is used if a class is contained or used "
"<li>%A purple dashed arrow is used if a class is contained or used "
"by another class. The arrow is labeled with the variable(s) "
"by another class. The arrow is labeled with the variable(s) "
"through which the pointed class or struct is accessible.
\n
"
"through which the pointed class or struct is accessible.
</li>
\n
"
"<li>%A yellow dashed arrow denotes a relation between a template instance and "
"<li>%A yellow dashed arrow denotes a relation between a template instance and "
"the template class it was instantiated from. The arrow is labeled with "
"the template class it was instantiated from. The arrow is labeled with "
"the template parameters of the instance.
\n
"
"the template parameters of the instance.
</li>
\n
"
"</ul>
\n
"
;
"</ul>
\n
"
;
}
}
/*! text for the link to the legend page */
/*! text for the link to the legend page */
...
...
src/translator_pl.h
View file @
7a3de4c3
...
@@ -20,7 +20,7 @@
...
@@ -20,7 +20,7 @@
#ifndef TRANSLATOR_PL_H
#ifndef TRANSLATOR_PL_H
#define TRANSLATOR_PL_H
#define TRANSLATOR_PL_H
class
TranslatorPolish
:
public
Translator
Adapter_1_4_6
class
TranslatorPolish
:
public
Translator
{
{
private
:
private
:
/*! to avoid macro redefinition from translator_pl.h */
/*! to avoid macro redefinition from translator_pl.h */
...
@@ -488,12 +488,6 @@ class TranslatorPolish : public TranslatorAdapter_1_4_6
...
@@ -488,12 +488,6 @@ class TranslatorPolish : public TranslatorAdapter_1_4_6
QCString
trEnumerationTypeDocumentation
()
QCString
trEnumerationTypeDocumentation
()
{
return
decode
(
"Dokumentacja typów wyliczanych"
);
}
{
return
decode
(
"Dokumentacja typów wyliczanych"
);
}
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values
*/
QCString
trEnumerationValueDocumentation
()
{
return
decode
(
"Dokumentacja warto¶ci wyliczanych"
);
}
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for functions
* of documentation blocks for functions
*/
*/
...
@@ -636,12 +630,12 @@ class TranslatorPolish : public TranslatorAdapter_1_4_6
...
@@ -636,12 +630,12 @@ class TranslatorPolish : public TranslatorAdapter_1_4_6
case
ClassDef
:
:
Struct
:
result
+=
" struktury "
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
" struktury "
;
break
;
case
ClassDef
:
:
Union
:
result
+=
" unii "
;
break
;
case
ClassDef
:
:
Union
:
result
+=
" unii "
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
" interfejsu "
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
" interfejsu "
;
break
;
case
ClassDef
:
:
Protocol
:
result
+=
decode
(
" protocol "
);
break
;
// translate me!
case
ClassDef
:
:
Protocol
:
result
+=
" protoko³u "
;
break
;
case
ClassDef
:
:
Category
:
result
+=
decode
(
" category "
);
break
;
// translate me!
case
ClassDef
:
:
Category
:
result
+=
" kategorii "
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
decode
(
" wyj±tku "
);
break
;
case
ClassDef
:
:
Exception
:
result
+=
" wyj±tku
"
;
break
;
}
}
result
+=
(
QCString
)
clName
;
result
+=
(
QCString
)
clName
;
return
result
;
return
decode
(
result
)
;
}
}
/*! used as the title of the HTML page of a file */
/*! used as the title of the HTML page of a file */
...
@@ -795,8 +789,8 @@ class TranslatorPolish : public TranslatorAdapter_1_4_6
...
@@ -795,8 +789,8 @@ class TranslatorPolish : public TranslatorAdapter_1_4_6
case
ClassDef
:
:
Struct
:
result
+=
"j struktury"
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
"j struktury"
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"j unii"
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"j unii"
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"go interfejsu"
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"go interfejsu"
;
break
;
case
ClassDef
:
:
Protocol
:
result
+=
decode
(
"protocol"
);
break
;
// translate me!
case
ClassDef
:
:
Protocol
:
result
+=
"go protoko³u"
;
break
;
case
ClassDef
:
:
Category
:
result
+=
decode
(
"category"
);
break
;
// translate me!
case
ClassDef
:
:
Category
:
result
+=
"j kategorii"
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"go wyj±tku"
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"go wyj±tku"
;
break
;
}
}
result
+=
" zosta³a wygenerowana z plik"
;
result
+=
" zosta³a wygenerowana z plik"
;
...
@@ -1574,6 +1568,220 @@ class TranslatorPolish : public TranslatorAdapter_1_4_6
...
@@ -1574,6 +1568,220 @@ class TranslatorPolish : public TranslatorAdapter_1_4_6
return
"To jest metoda przeci±¿ona, udostêpniona dla wygody. "
return
"To jest metoda przeci±¿ona, udostêpniona dla wygody. "
"Ró¿ni siê od powy¿szej metody tylko zestawem akceptowanych argumentów."
;
"Ró¿ni siê od powy¿szej metody tylko zestawem akceptowanych argumentów."
;
}
}
//////////////////////////////////////////////////////////////////////////
// new since 1.4.6
//////////////////////////////////////////////////////////////////////////
/*! This is used to introduce a caller (or called-by) graph */
virtual
QCString
trCallerGraph
()
{
return
"Oto graf wywo³ywañ tej funkcji:"
;
}
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values
*/
virtual
QCString
trEnumerationValueDocumentation
()
{
return
"Dokumentacja wyliczeñ"
;
}
//TODO check if it is correct translation
//////////////////////////////////////////////////////////////////////////
// new since 1.5.4 (mainly for Fortran)
//////////////////////////////////////////////////////////////////////////
/*! header that is put before the list of member subprograms (Fortran). */
virtual
QCString
trMemberFunctionDocumentationFortran
()
{
return
"Dokumentacja sk³adowej funkcji/podprogramu"
;
}
/*! This is put above each page as a link to the list of annotated data types (Fortran). */
virtual
QCString
trCompoundListFortran
()
{
return
"Lista typów danych"
;
}
/*! This is put above each page as a link to all members of compounds (Fortran). */
virtual
QCString
trCompoundMembersFortran
()
{
return
"Pola danych"
;
}
/*! This is an introduction to the annotated compound list (Fortran). */
virtual
QCString
trCompoundListDescriptionFortran
()
{
return
"Tutaj znajduj± siê typy danych z ich krótkimi opisami:"
;
}
/*! This is an introduction to the page with all data types (Fortran). */
virtual
QCString
trCompoundMembersDescriptionFortran
(
bool
extractAll
)
{
QCString
result
=
"Tutaj znajduje siê lista wszystkich "
;
if
(
!
extractAll
)
{
result
+=
"udokumentowanych "
;
}
result
+=
"sk³adowych typów danych"
;
result
+=
" wraz z odno¶nikami do "
;
if
(
!
extractAll
)
{
result
+=
"dokumentacji struktury danych dla ka¿dej sk³adowej"
;
}
else
{
result
+=
"typów danych, do których dana sk³adowa nale¿y:"
;
}
return
result
;
}
/*! This is used in LaTeX as the title of the chapter with the
* annotated compound index (Fortran).
*/
virtual
QCString
trCompoundIndexFortran
()
{
return
"Indeks typów danych"
;
}
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all data types (Fortran).
*/
virtual
QCString
trTypeDocumentation
()
{
return
"Dokumentacja typów danych"
;
}
/*! This is used in the documentation of a file as a header before the
* list of (global) subprograms (Fortran).
*/
virtual
QCString
trSubprograms
()
{
return
"Funkcje/podprogramy"
;
}
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for subprograms (Fortran)
*/
virtual
QCString
trSubprogramDocumentation
()
{
return
"Dokumentacja funkcji/podprogramu"
;
}
/*! This is used in the documentation of a file/namespace/group before
* the list of links to documented compounds (Fortran)
*/
virtual
QCString
trDataTypes
()
{
return
"Typy danych"
;
}
/*! used as the title of page containing all the index of all modules (Fortran). */
virtual
QCString
trModulesList
()
{
return
"Lista modu³ów"
;
}
/*! used as an introduction to the modules list (Fortran) */
virtual
QCString
trModulesListDescription
(
bool
extractAll
)
{
QCString
result
=
"Tutaj znajduje siê lista wszystkich "
;
if
(
!
extractAll
)
result
+=
"udokumentowanych "
;
result
+=
"modu³ów z ich krótkimi opisami:"
;
return
result
;
}
/*! used as the title of the HTML page of a module/type (Fortran) */
virtual
QCString
trCompoundReferenceFortran
(
const
char
*
clName
,
ClassDef
::
CompoundType
compType
,
bool
isTemplate
)
{
QCString
result
=
"Dokumentacja"
;
if
(
isTemplate
)
result
+=
" szablonu"
;
switch
(
compType
)
{
case
ClassDef
:
:
Class
:
result
+=
" modu³u "
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
" typu "
;
break
;
case
ClassDef
:
:
Union
:
result
+=
" unii "
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
" interfejsu "
;
break
;
case
ClassDef
:
:
Protocol
:
result
+=
" protoko³u "
;
break
;
case
ClassDef
:
:
Category
:
result
+=
" kategorii "
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
" wyj±tku "
;
break
;
}
result
+=
(
QCString
)
clName
;
return
result
;
}
/*! used as the title of the HTML page of a module (Fortran) */
virtual
QCString
trModuleReference
(
const
char
*
namespaceName
)
{
QCString
result
=
"Dokumentacja modu³u "
;
result
+=
namespaceName
;
return
result
;
}
/*! This is put above each page as a link to all members of modules. (Fortran) */
virtual
QCString
trModulesMembers
()
{
return
"Sk³adowe modu³u"
;
}
/*! This is an introduction to the page with all modules members (Fortran) */
virtual
QCString
trModulesMemberDescription
(
bool
extractAll
)
{
QCString
result
=
"Tutaj znajduje siê lista wszystkich "
;
if
(
!
extractAll
)
result
+=
"udokumentowanych "
;
result
+=
"sk³adowych modu³ów wraz z odno¶nikami do "
;
if
(
extractAll
)
{
result
+=
"dokumentacji modu³u dla ka¿dej sk³adowej:"
;
}
else
{
result
+=
"modu³ów do których sk³adowe te nale¿±:"
;
}
return
result
;
}
/*! This is used in LaTeX as the title of the chapter with the
* index of all modules (Fortran).
*/
virtual
QCString
trModulesIndex
()
{
return
"Indeks modu³u"
;
}
/*! 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
trModule
(
bool
first_capital
,
bool
singular
)
{
QCString
result
((
first_capital
?
"Modu³"
:
"modu³"
));
if
(
!
singular
)
result
+=
"y"
;
return
result
;
}
/*! This is put at the bottom of a module documentation page and is
* followed by a list of files that were used to generate the page.
*/
virtual
QCString
trGeneratedFromFilesFortran
(
ClassDef
::
CompoundType
compType
,
bool
single
)
{
// single is true implies a single file
QCString
result
=
(
QCString
)
"Dokumentacja dla te"
;
switch
(
compType
)
{
case
ClassDef
:
:
Class
:
result
+=
"go modu³u"
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
"go typu"
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"j unii"
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"go interfejsu"
;
break
;
case
ClassDef
:
:
Protocol
:
result
+=
"go protoko³u"
;
break
;
case
ClassDef
:
:
Category
:
result
+=
"j kategorii"
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"go wyj±tku"
;
break
;
}
result
+=
" zosta³a wygenerowana z plik"
;
if
(
single
)
result
+=
"u:"
;
else
result
+=
"ów:"
;
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
trType
(
bool
first_capital
,
bool
singular
)
{
QCString
result
((
first_capital
?
"Typ"
:
"typ"
));
if
(
!
singular
)
result
+=
"y"
;
return
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
trSubprogram
(
bool
first_capital
,
bool
singular
)
{
QCString
result
((
first_capital
?
"Podprogram"
:
"podprogram"
));
if
(
!
singular
)
result
+=
"y"
;
return
result
;
}
/*! C# Type Constraint list */
virtual
QCString
trTypeConstraints
()
{
return
"Wiêzy typów"
;
//TODO check if it is correct translation
}
};
};
#endif
#endif
src/vhdlcode.l
View file @
7a3de4c3
...
@@ -340,7 +340,7 @@ static void codifyLines(const char *text,const char *cl=0,bool classlink=FALSE)
...
@@ -340,7 +340,7 @@ static void codifyLines(const char *text,const char *cl=0,bool classlink=FALSE)
while (!done)
while (!done)
{
{
sp=p;
sp=p;
while ((c=*p++) && c!='\n')
;
while ((c=*p++) && c!='\n')
{}
if (c=='\n')
if (c=='\n')
{
{
g_yyLineNr++;
g_yyLineNr++;
...
@@ -379,7 +379,7 @@ static void writeMultiLineCodeLink(CodeOutputInterface &ol,
...
@@ -379,7 +379,7 @@ static void writeMultiLineCodeLink(CodeOutputInterface &ol,
{
{
char *sp=p;
char *sp=p;
char c;
char c;
while ((c=*p++) && c!='\n')
;
while ((c=*p++) && c!='\n')
{}
if (c=='\n')
if (c=='\n')
{
{
g_yyLineNr++;
g_yyLineNr++;
...
...
src/vhdldocgen.cpp
View file @
7a3de4c3
...
@@ -833,12 +833,13 @@ bool VhdlDocGen::compareString(const QCString& s1,const QCString& s2)
...
@@ -833,12 +833,13 @@ bool VhdlDocGen::compareString(const QCString& s1,const QCString& s2)
bool
VhdlDocGen
::
getSigTypeName
(
QList
<
QCString
>&
ql
,
const
char
*
str
,
QCString
&
buffer
)
bool
VhdlDocGen
::
getSigTypeName
(
QList
<
QCString
>&
ql
,
const
char
*
str
,
QCString
&
buffer
)
{
{
QCString
temp
(
str
);
//QCString temp(str);
QStringList
qlist
=
QStringList
::
split
(
" is "
,
temp
,
FALSE
);
//QStringList qlist=QStringList::split(" is ",temp,FALSE);
if
(
qlist
.
count
()
!=
2
)
return
FALSE
;
//if (qlist.count()!=2) return FALSE;
temp
.
resize
(
0
);
//temp.resize(0);
temp
+=
(
QCString
)
qlist
[
0
]
+
":"
+
(
QCString
)
qlist
[
1
];
//temp+=(QCString)qlist[0]+":"+(QCString)qlist[1];
return
VhdlDocGen
::
getSigName
(
ql
,
temp
.
data
(),
buffer
);
//return VhdlDocGen::getSigName(ql,temp.data(),buffer);
return
VhdlDocGen
::
getSigName
(
ql
,
str
,
buffer
);
}
}
/*!
/*!
...
@@ -1356,7 +1357,7 @@ bool VhdlDocGen::isNumber(const QCString& s)
...
@@ -1356,7 +1357,7 @@ bool VhdlDocGen::isNumber(const QCString& s)
#endif
#endif
}
// isNumber
}
// isNumber
void
VhdlDocGen
::
startFonts
(
const
QCString
&
q
,
char
*
keyword
,
OutputList
&
ol
)
void
VhdlDocGen
::
startFonts
(
const
QCString
&
q
,
c
onst
c
har
*
keyword
,
OutputList
&
ol
)
{
{
ol
.
startFontClass
(
keyword
);
ol
.
startFontClass
(
keyword
);
ol
.
docify
(
q
.
data
());
ol
.
docify
(
q
.
data
());
...
@@ -1650,10 +1651,12 @@ bool VhdlDocGen::isFunctionProto(QCString& ss)
...
@@ -1650,10 +1651,12 @@ bool VhdlDocGen::isFunctionProto(QCString& ss)
QCString
proc
(
"procedure"
);
QCString
proc
(
"procedure"
);
QCString
func
(
"function"
);
QCString
func
(
"function"
);
name
=
name
.
stripWhiteSpace
();
name
=
name
.
stripWhiteSpace
();
QStringList
ql
=
QStringList
::
split
(
" "
,
name
,
FALSE
);
QStringList
ql
=
QStringList
::
split
(
QRegExp
(
"[
\\
s]"
)
,
name
,
FALSE
);
int
j
=
ql
.
count
();
int
j
=
ql
.
count
();
if
(
j
<
2
)
return
FALSE
;
if
(
j
<
2
)
return
FALSE
;
QCString
tt
=
(
QCString
)
ql
[
0
];
QCString
tt
=
(
QCString
)
ql
[
0
].
lower
();
if
(
tt
==
"impure"
||
tt
==
"pure"
)
tt
=
ql
[
1
];
if
(
VhdlDocGen
::
compareString
(
tt
,
proc
)
!=
0
&&
VhdlDocGen
::
compareString
(
tt
,
func
)
!=
0
)
if
(
VhdlDocGen
::
compareString
(
tt
,
proc
)
!=
0
&&
VhdlDocGen
::
compareString
(
tt
,
func
)
!=
0
)
return
FALSE
;
return
FALSE
;
...
...
src/vhdldocgen.h
View file @
7a3de4c3
...
@@ -262,7 +262,7 @@ class VhdlDocGen
...
@@ -262,7 +262,7 @@ class VhdlDocGen
static
void
writeLink
(
const
MemberDef
*
mdef
,
OutputList
&
ol
);
static
void
writeLink
(
const
MemberDef
*
mdef
,
OutputList
&
ol
);
static
void
adjustMemberName
(
QCString
&
nn
);
static
void
adjustMemberName
(
QCString
&
nn
);
static
bool
membersHaveSpecificType
(
MemberList
*
ml
,
int
type
);
static
bool
membersHaveSpecificType
(
MemberList
*
ml
,
int
type
);
static
void
startFonts
(
const
QCString
&
q
,
char
*
keyword
,
OutputList
&
ol
);
static
void
startFonts
(
const
QCString
&
q
,
c
onst
c
har
*
keyword
,
OutputList
&
ol
);
static
bool
isNumber
(
const
QCString
&
s
);
static
bool
isNumber
(
const
QCString
&
s
);
private
:
private
:
...
...
src/vhdlscanner.l
View file @
7a3de4c3
...
@@ -400,7 +400,7 @@ static void parseProcessProto()
...
@@ -400,7 +400,7 @@ static void parseProcessProto()
static void parseFunctionProto()
static void parseFunctionProto()
{
{
QCString name,ret,qcs;
QCString name,ret,qcs
,temp
;
bool sem=FALSE;
bool sem=FALSE;
QList<Argument> ql;
QList<Argument> ql;
ql.setAutoDelete(TRUE);
ql.setAutoDelete(TRUE);
...
@@ -409,11 +409,18 @@ static void parseFunctionProto()
...
@@ -409,11 +409,18 @@ static void parseFunctionProto()
return; // function without a prototype
return; // function without a prototype
if (qcs.contains("function",FALSE)==0 && qcs.contains("procedure",FALSE)==0)
if (qcs.contains("function",FALSE)==0 && qcs.contains("procedure",FALSE)==0)
return;
return;
while (qcs.stripPrefix(" "));
qcs=qcs.stripWhiteSpace();
if (qcs.stripPrefix("impure"))
temp=qcs.lower();
if (temp.stripPrefix("impure"))
{
current->exception="impure";
current->exception="impure";
else if (qcs.stripPrefix("pure"))
qcs=qcs.remove(0,6);
}
else if (temp.stripPrefix("pure"))
{
current->exception="pure";
current->exception="pure";
qcs=qcs.remove(0,4);
}
VhdlDocGen::parseFuncProto(qcs.data(),ql,name,ret);
VhdlDocGen::parseFuncProto(qcs.data(),ql,name,ret);
//printf("parseFuncProto(%s)=%s,%s\n",qcs.data(),name.data(),ret.data());
//printf("parseFuncProto(%s)=%s,%s\n",qcs.data(),name.data(),ret.data());
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment