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
4ccd672e
Commit
4ccd672e
authored
Sep 06, 2004
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.3.8-20040906
parent
3aaaf142
Changes
60
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
60 changed files
with
1536 additions
and
599 deletions
+1536
-599
.cvsignore
.cvsignore
+3
-0
INSTALL
INSTALL
+2
-2
README
README
+2
-2
VERSION
VERSION
+1
-1
memberhandler.cpp
addon/doxmlparser/src/memberhandler.cpp
+2
-2
paramhandler.cpp
addon/doxmlparser/src/paramhandler.cpp
+2
-2
main.cpp
addon/doxmlparser/test/main.cpp
+2
-2
.cvsignore
addon/doxywizard/.cvsignore
+7
-1
doxywizard.cpp
addon/doxywizard/doxywizard.cpp
+2
-0
configure
configure
+1
-25
commands.doc
doc/commands.doc
+13
-0
config.doc
doc/config.doc
+8
-0
index.doc
doc/index.doc
+16
-6
language.doc
doc/language.doc
+29
-29
translator_report.txt
doc/translator_report.txt
+334
-73
.cvsignore
libmd5/.cvsignore
+1
-0
.cvsignore
libpng/.cvsignore
+1
-0
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
.cvsignore
qtools/.cvsignore
+1
-0
qglobal.h
qtools/qglobal.h
+1
-3
.cvsignore
src/.cvsignore
+17
-0
compound.xsd
src/compound.xsd
+2
-0
compound_xsd.h
src/compound_xsd.h
+2
-0
config.l
src/config.l
+7
-0
dirdef.cpp
src/dirdef.cpp
+219
-14
dirdef.h
src/dirdef.h
+42
-6
doxygen.cpp
src/doxygen.cpp
+89
-56
doxygen.h
src/doxygen.h
+2
-1
entry.h
src/entry.h
+2
-1
filedef.cpp
src/filedef.cpp
+40
-9
groupdef.cpp
src/groupdef.cpp
+0
-1
htmlgen.cpp
src/htmlgen.cpp
+17
-0
index.cpp
src/index.cpp
+240
-172
index.h
src/index.h
+5
-2
index.xsd
src/index.xsd
+1
-0
index_xsd.h
src/index_xsd.h
+1
-0
latexgen.cpp
src/latexgen.cpp
+77
-0
latexgen.h
src/latexgen.h
+3
-90
outputlist.cpp
src/outputlist.cpp
+1
-1
outputlist.h
src/outputlist.h
+1
-1
rtfgen.cpp
src/rtfgen.cpp
+43
-31
scanner.l
src/scanner.l
+7
-1
translator.h
src/translator.h
+11
-0
translator_adapter.h
src/translator_adapter.h
+21
-1
translator_br.h
src/translator_br.h
+1
-1
translator_cn.h
src/translator_cn.h
+1
-1
translator_cz.h
src/translator_cz.h
+1
-1
translator_de.h
src/translator_de.h
+1
-1
translator_dk.h
src/translator_dk.h
+1
-1
translator_en.h
src/translator_en.h
+43
-21
translator_hr.h
src/translator_hr.h
+1
-1
translator_hu.h
src/translator_hu.h
+12
-4
translator_it.h
src/translator_it.h
+1
-1
translator_jp.h
src/translator_jp.h
+1
-1
translator_nl.h
src/translator_nl.h
+1
-1
translator_no.h
src/translator_no.h
+1
-1
translator_pl.h
src/translator_pl.h
+126
-25
translator_ru.h
src/translator_ru.h
+1
-1
translator_za.h
src/translator_za.h
+1
-1
xmlgen.cpp
src/xmlgen.cpp
+64
-1
No files found.
.cvsignore
View file @
4ccd672e
Makefile
.makeconfig
.tmakeconfig
bin
lib
objects
INSTALL
View file @
4ccd672e
DOXYGEN Version 1.3.8-20040
824
DOXYGEN Version 1.3.8-20040
906
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (
24 August
2004)
Dimitri van Heesch (
06 September
2004)
README
View file @
4ccd672e
DOXYGEN Version 1.3.8_20040
824
DOXYGEN Version 1.3.8_20040
906
Please read INSTALL for compilation instructions.
...
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (
24 August
2004)
Dimitri van Heesch (dimitri@stack.nl) (
06 September
2004)
VERSION
View file @
4ccd672e
1.3.8-20040
824
1.3.8-20040
906
addon/doxmlparser/src/memberhandler.cpp
View file @
4ccd672e
...
...
@@ -227,7 +227,7 @@ void MemberHandler::startMember(const QXmlAttributes& attrib)
{
m_parent
->
setDelegate
(
this
);
m_kindString
=
attrib
.
value
(
"kind"
);
printf
(
"startMember kindString=`%s'
\n
"
,
m_kindString
.
data
());
//
printf("startMember kindString=`%s'\n",m_kindString.data());
m_kind
=
s_typeMap
->
map
(
m_kindString
);
m_id
=
attrib
.
value
(
"id"
);
m_virtualness
=
attrib
.
value
(
"virt"
);
...
...
@@ -242,7 +242,7 @@ void MemberHandler::startEnumValue(const QXmlAttributes& attrib)
{
m_parent
->
setDelegate
(
this
);
m_kindString
=
"enumvalue"
;
printf
(
"startEnumValue kindString=`%s'
\n
"
,
m_kindString
.
data
());
//
printf("startEnumValue kindString=`%s'\n",m_kindString.data());
m_kind
=
s_typeMap
->
map
(
m_kindString
);
m_id
=
attrib
.
value
(
"id"
);
m_virtualness
=
"non-virtual"
;
...
...
addon/doxmlparser/src/paramhandler.cpp
View file @
4ccd672e
...
...
@@ -64,8 +64,8 @@ ParamHandler::ParamHandler(IBaseHandler *parent) : m_parent(parent)
addStartHandler
(
"array"
);
addEndHandler
(
"array"
,
this
,
&
ParamHandler
::
endArray
);
addStartHandler
(
"attrib"
);
addEndHandler
(
"attrib"
,
this
,
&
ParamHandler
::
endAttrib
);
addStartHandler
(
"attrib
ute
"
);
addEndHandler
(
"attrib
ute
"
,
this
,
&
ParamHandler
::
endAttrib
);
addStartHandler
(
"defval"
,
this
,
&
ParamHandler
::
startDefVal
);
...
...
addon/doxmlparser/test/main.cpp
View file @
4ccd672e
...
...
@@ -616,7 +616,7 @@ int main(int argc,char **argv)
{
IMember
*
memr
=
mr
->
member
();
printf
(
" References %s at line %d
\n
"
,
mr
->
memberN
ame
()
->
latin1
(),
memr
->
bodyStart
());
mr
->
n
ame
()
->
latin1
(),
memr
->
bodyStart
());
}
mri
->
release
();
...
...
@@ -625,7 +625,7 @@ int main(int argc,char **argv)
{
IMember
*
memr
=
mr
->
member
();
printf
(
" ReferencedBy %s at line %d
\n
"
,
mr
->
memberN
ame
()
->
latin1
(),
memr
->
bodyStart
());
mr
->
n
ame
()
->
latin1
(),
memr
->
bodyStart
());
}
mri
->
release
();
...
...
addon/doxywizard/.cvsignore
View file @
4ccd672e
Makefile
doxywizard.pro
\ No newline at end of file
doxywizard.pro
Makefile.doxywizard
config.cpp
config.h
config.l
moc
obj
addon/doxywizard/doxywizard.cpp
View file @
4ccd672e
...
...
@@ -20,6 +20,8 @@
#include <qmenubar.h>
#include <qtooltip.h>
#include <stdlib.h>
#if defined(Q_OS_MACX)
#include <CoreFoundation/CFBundle.h>
#include <ApplicationServices/ApplicationServices.h>
...
...
configure
View file @
4ccd672e
...
...
@@ -149,9 +149,6 @@ if test -z "$f_platform"; then
FreeBSD:
*
)
f_platform
=
freebsd-g++
;;
GNU:
*
)
f_platform
=
gnu-g++
;;
HP-UX:
*
)
f_platform
=
hpux-g++
;;
...
...
@@ -161,7 +158,7 @@ if test -z "$f_platform"; then
IRIX:
*
)
f_platform
=
irix-n32
;;
Linux:
*
)
Linux:
*
|
GNU:
*
|
GNU/
*
:
*
)
f_platform
=
linux-g++
;;
NetBSD:
*
)
...
...
@@ -239,27 +236,6 @@ if test "$f_wizard" = YES; then
QTDIR
=
$d
fi
done
# if test -d "/usr/lib/qt3/lib"; then
# if test -d "/usr/lib/qt3/include"; then
# if test -x "/usr/lib/qt3/bin/moc"; then
# QTDIR="/usr/lib/qt3"
# fi
# fi
# fi
# if test -d "/usr/lib/qt2/lib"; then
# if test -d "/usr/lib/qt2/include"; then
# if test -x "/usr/lib/qt2/bin/moc"; then
# QTDIR="/usr/lib/qt2"
# fi
# fi
# fi
# if test -d "/usr/lib/qt/lib"; then
# if test -d "/usr/lib/qt/include"; then
# if test -x "/usr/lib/qt/bin/moc"; then
# QTDIR="/usr/lib/qt"
# fi
# fi
# fi
else
echo
" Detected Qt via the QTDIR environment variable..."
echo
-n
" "
...
...
doc/commands.doc
View file @
4ccd672e
...
...
@@ -56,6 +56,7 @@ documentation:
\refitem cmddef \\def
\refitem cmddefgroup \\defgroup
\refitem cmddeprecated \\deprecated
\refitem cmddir \\dir
\refitem cmddontinclude \\dontinclude
\refitem cmddot \\dot
\refitem cmddotfile \\dotfile
...
...
@@ -273,6 +274,18 @@ doxygen. Unrecognized commands are treated as normal text.
\sa page \ref grouping "Grouping", sections \ref cmdingroup "\\ingroup", \ref cmdaddtogroup "\\addtogroup",
\ref cmdweakgroup "\\weakgroup".
<hr>
\section cmddir \dir [<path fragment>]
\addindex \\dir
Indicates that a comment block contains documentation for a directory.
The "path fragment" argument should include the directory name and
enough of the path to be unique w.r.t. the other directories in the project.
The \ref cfg_show_dirs "SHOW_DIRECTORIES" option determines whether
or not the directory information is shown and the
\ref cfg_strip_from_path "STRIP_FROM_PATH" option determines what is
stripped from the full path before it appears in the output.
<hr>
\section cmdenum \enum <name>
...
...
doc/config.doc
View file @
4ccd672e
...
...
@@ -182,6 +182,7 @@ followed by the descriptions of the tags grouped by category.
\
refitem
cfg_search_includes
SEARCH_INCLUDES
\
refitem
cfg_searchengine
SEARCHENGINE
\
refitem
cfg_short_names
SHORT_NAMES
\
refitem
cfg_show_dirs
SHOW_DIRECTORIES
\
refitem
cfg_show_include_files
SHOW_INCLUDE_FILES
\
refitem
cfg_show_used_files
SHOW_USED_FILES
\
refitem
cfg_skip_function_macros
SKIP_FUNCTION_MACROS
...
...
@@ -627,6 +628,13 @@ function's detailed documentation block.
at the bottom of the documentation of classes and structs. If set to \c YES the
list will mention the files that were used to generate the documentation.
\anchor cfg_show_dirs
<dt>\c SHOW_DIRECTORIES <dd>
\addindex SHOW_DIRECTORIES
If the sources in your project are distributed over multiple directories
then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
in the documentation.
</dl>
\section messages_input Options related to warning and progress messages
...
...
doc/index.doc
View file @
4ccd672e
...
...
@@ -49,10 +49,10 @@ It can help you in three ways:
for this manual).
</ol>
Doxygen is developed under <a href="http://www.linux.org">Linux</a>
,
but is set-up to be highly portable. As a result, it runs on mos
t
other Unix flavors as well. Furthermore, executables for
Windows
9x/NT and Mac OS X
are available.
Doxygen is developed under <a href="http://www.linux.org">Linux</a>
and Mac OS X, but is set-up to be highly portable. As a result, i
t
runs on most
other Unix flavors as well. Furthermore, executables for
Windows are available.
\n This manual is divided into three parts, each of which is divided into several
sections.
...
...
@@ -128,9 +128,19 @@ for more details.
Documents produced by doxygen are derivative works derived from the
input used in their production; they are not affected by this license.
<h2>
Projects using doxygen
</h2>
<h2>
User examples
</h2>
I have compiled a
Doxygen supports a number of \ref output "output formats" where HTML is the
most popular one. I've gathered
\htmlonly
<a href="http://www.doxygen.org/results.html">some nice examples</a>
\endhtmlonly
\latexonly
some nice examples (see {\tt http://www.doxygen.org/results.html})
\endlatexonly
of real-life projects using doxygen.
These are part of a larger
\htmlonly
<a href="http://www.doxygen.org/projects.html">list of projects</a>
that use doxygen.
...
...
doc/language.doc
View file @
4ccd672e
...
...
@@ -23,7 +23,7 @@ text fragments, generated by doxygen, can be produced in languages other
than English (the default). The output language is chosen through the
configuration file (with default name and known as Doxyfile).
Currently (version 1.3.8-200408
03
), 30 languages
Currently (version 1.3.8-200408
25
), 30 languages
are supported (sorted alphabetically):
Afrikaans, Brazilian Portuguese, Catalan, Chinese, Chinese
Traditional, Croatian, Czech, Danish, Dutch, English, Finnish, French,
...
...
@@ -54,13 +54,13 @@ when the translator was updated.
<td>Afrikaans</td>
<td>Johan Prinsloo</td>
<td>johan at zippysnoek dot com</td>
<td>
up-to-date
</td>
<td>
1.3.9
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Brazilian Portuguese</td>
<td>Fabio "FJTC" Jun Takada Chino</td>
<td>chino at icmc dot sc dot usp dot br</td>
<td>
up-to-date
</td>
<td>
1.3.9
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Catalan</td>
...
...
@@ -72,7 +72,7 @@ when the translator was updated.
<td>Chinese</td>
<td>Li Daobing<br>Wei Liu</td>
<td>lidaobing at gmail dot com<br>liuwei at asiainfo dot com</td>
<td>
up-to-date
</td>
<td>
1.3.9
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Chinese Traditional</td>
...
...
@@ -84,25 +84,25 @@ when the translator was updated.
<td>Croatian</td>
<td>Boris Bralo</td>
<td>boris.bralo at zg dot htnet dot hr</td>
<td>
up-to-date
</td>
<td>
1.3.9
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Czech</td>
<td>Petr Přikryl</td>
<td>prikrylp at skil dot cz</td>
<td>
up-to-date
</td>
<td>
1.3.9
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Danish</td>
<td>Erik Søe Sørensen</td>
<td>eriksoe+doxygen at daimi dot au dot dk</td>
<td>
up-to-date
</td>
<td>
1.3.9
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Dutch</td>
<td>Dimitri van Heesch</td>
<td>dimitri at stack dot nl</td>
<td>
up-to-date
</td>
<td>
1.3.9
</td>
</tr>
<tr bgcolor="#ffffff">
<td>English</td>
...
...
@@ -126,7 +126,7 @@ when the translator was updated.
<td>German</td>
<td>Jens Seidel</td>
<td>jensseidel at users dot sf dot net</td>
<td>
up-to-date
</td>
<td>
1.3.9
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Greek</td>
...
...
@@ -138,19 +138,19 @@ when the translator was updated.
<td>Hungarian</td>
<td>Földvári György<br>Ákos Kiss</td>
<td>foldvari lost at cyberspace<br>akiss at users dot sourceforge dot net</td>
<td>1.3.
8
</td>
<td>1.3.
9
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Italian</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>
up-to-date
</td>
<td>
1.3.9
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Japanese</td>
<td>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>
up-to-date
</td>
<td>
1.3.9
</td>
</tr>
<tr bgcolor="#ffffff">
<td>JapaneseEn</td>
...
...
@@ -180,13 +180,13 @@ when the translator was updated.
<td>Norwegian</td>
<td>Lars Erik Jordet</td>
<td>lejordet at gmail dot com</td>
<td>
up-to-date
</td>
<td>
1.3.9
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Polish</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>1.3</td>
<td>1.3
.9
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Portuguese</td>
...
...
@@ -204,7 +204,7 @@ when the translator was updated.
<td>Russian</td>
<td>Alexandr Chelpanov</td>
<td>cav at cryptopro dot ru</td>
<td>
up-to-date
</td>
<td>
1.3.9
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Serbian</td>
...
...
@@ -257,25 +257,25 @@ when the translator was updated.
\hline
\hline
Afrikaans & Johan Prinsloo & {\tt\tiny johan@zippysnoek.com} &
up-to-date
\\
Afrikaans & Johan Prinsloo & {\tt\tiny johan@zippysnoek.com} &
1.3.9
\\
\hline
Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt\tiny chino@icmc.sc.usp.br} &
up-to-date
\\
Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt\tiny chino@icmc.sc.usp.br} &
1.3.9
\\
\hline
Catalan & Albert Mora & {\tt\tiny amora@iua.upf.es} & 1.2.17 \\
\hline
Chinese & Li Daobing & {\tt\tiny lidaobing@gmail.com} &
up-to-date
\\
Chinese & Li Daobing & {\tt\tiny lidaobing@gmail.com} &
1.3.9
\\
~ & Wei Liu & {\tt\tiny liuwei@asiainfo.com} & ~ \\
\hline
Chinese Traditional & Daniel YC Lin & {\tt\tiny daniel@twpda.com} & 1.3.8 \\
~ & Gary Lee & {\tt\tiny garylee@ecosine.com.tw} & ~ \\
\hline
Croatian & Boris Bralo & {\tt\tiny boris.bralo@zg.htnet.hr} &
up-to-date
\\
Croatian & Boris Bralo & {\tt\tiny boris.bralo@zg.htnet.hr} &
1.3.9
\\
\hline
Czech & Petr P\v{r}ikryl & {\tt\tiny prikrylp@skil.cz} &
up-to-date
\\
Czech & Petr P\v{r}ikryl & {\tt\tiny prikrylp@skil.cz} &
1.3.9
\\
\hline
Danish & Erik S\o{}e S\o{}rensen & {\tt\tiny eriksoe+doxygen@daimi.au.dk} &
up-to-date
\\
Danish & Erik S\o{}e S\o{}rensen & {\tt\tiny eriksoe+doxygen@daimi.au.dk} &
1.3.9
\\
\hline
Dutch & Dimitri van Heesch & {\tt\tiny dimitri@stack.nl} &
up-to-date
\\
Dutch & Dimitri van Heesch & {\tt\tiny dimitri@stack.nl} &
1.3.9
\\
\hline
English & Dimitri van Heesch & {\tt\tiny dimitri@stack.nl} & up-to-date \\
\hline
...
...
@@ -283,17 +283,17 @@ when the translator was updated.
\hline
French & Xavier Outhier & {\tt\tiny xouthier@yahoo.fr} & 1.3.8 \\
\hline
German & Jens Seidel & {\tt\tiny jensseidel@users.sf.net} &
up-to-date
\\
German & Jens Seidel & {\tt\tiny jensseidel@users.sf.net} &
1.3.9
\\
\hline
Greek & Harry Kalogirou & {\tt\tiny harkal@rainbow.cs.unipi.gr} & 1.2.11 \\
\hline
Hungarian & F\"{o}ldv\'{a}ri Gy\"{o}rgy & {\tt\tiny foldvari lost@cyberspace} & 1.3.
8
\\
Hungarian & F\"{o}ldv\'{a}ri Gy\"{o}rgy & {\tt\tiny foldvari lost@cyberspace} & 1.3.
9
\\
~ & \'{A}kos Kiss & {\tt\tiny akiss@users.sourceforge.net} & ~ \\
\hline
Italian & Alessandro Falappa & {\tt\tiny alessandro@falappa.net} &
up-to-date
\\
Italian & Alessandro Falappa & {\tt\tiny alessandro@falappa.net} &
1.3.9
\\
~ & Ahmed Aldo Faisal & {\tt\tiny aaf23@cam.ac.uk} & ~ \\
\hline
Japanese & Ryunosuke Satoh & {\tt\tiny sun594@hotmail.com} &
up-to-date
\\
Japanese & Ryunosuke Satoh & {\tt\tiny sun594@hotmail.com} &
1.3.9
\\
~ & Kenji Nagamatsu & {\tt\tiny naga@joyful.club.ne.jp} & ~ \\
~ & Iwasa Kazmi & {\tt\tiny iwasa@cosmo-system.jp} & ~ \\
\hline
...
...
@@ -307,16 +307,16 @@ when the translator was updated.
~ & Mindaugas Radzius & {\tt\tiny mindaugasradzius@takas.lt} & ~ \\
~ & Aidas Berukstis & {\tt\tiny aidasber@takas.lt} & ~ \\
\hline
Norwegian & Lars Erik Jordet & {\tt\tiny lejordet@gmail.com} &
up-to-date
\\
Norwegian & Lars Erik Jordet & {\tt\tiny lejordet@gmail.com} &
1.3.9
\\
\hline
Polish & Piotr Kaminski & {\tt\tiny Piotr.Kaminski@ctm.gdynia.pl} & 1.3 \\
Polish & Piotr Kaminski & {\tt\tiny Piotr.Kaminski@ctm.gdynia.pl} & 1.3
.9
\\
~ & Grzegorz Kowal & {\tt\tiny g\_kowal@poczta.onet.pl} & ~ \\
\hline
Portuguese & Rui Godinho Lopes & {\tt\tiny ruiglopes@yahoo.com} & 1.3.3 \\
\hline
Romanian & Alexandru Iosup & {\tt\tiny aiosup@yahoo.com} & 1.2.16 \\
\hline
Russian & Alexandr Chelpanov & {\tt\tiny cav@cryptopro.ru} &
up-to-date
\\
Russian & Alexandr Chelpanov & {\tt\tiny cav@cryptopro.ru} &
1.3.9
\\
\hline
Serbian & Dejan Milosavljevic & {\tt\tiny dmilos@email.com} & 1.3.8 \\
\hline
...
...
doc/translator_report.txt
View file @
4ccd672e
This diff is collapsed.
Click to expand it.
libmd5/.cvsignore
View file @
4ccd672e
Makefile
libmd5.pro
Makefile.libmd5
libpng/.cvsignore
View file @
4ccd672e
Makefile
libpng.pro
Makefile.libpng
packages/rpm/doxygen.spec
View file @
4ccd672e
Summary: A documentation system for C/C++.
Name: doxygen
Version: 1.3.8_20040
824
Version: 1.3.8_20040
906
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
...
...
qtools/.cvsignore
View file @
4ccd672e
Makefile
qtools.pro
Makefile.qtools
qtools/qglobal.h
View file @
4ccd672e
...
...
@@ -96,7 +96,7 @@
#define _OS_ULTRIX_
#elif defined(reliantunix)
#define _OS_RELIANTUNIX_
#elif defined(linux) || defined(__linux) || defined(__linux__)
#elif defined(linux) || defined(__linux) || defined(__linux__)
|| defined(__GNU__) || defined(__GLIBC__)
#define _OS_LINUX_
#elif defined(__FreeBSD__)
#define _OS_FREEBSD_
...
...
@@ -116,8 +116,6 @@
#define _OS_LYNXOS_
#elif defined(_UNIXWARE)
#define _OS_UNIXWARE_
#elif defined(__GNU__)
#define _OS_GNU_
#elif defined(DGUX)
#define _OS_DGUX_
#elif defined(__QNX__)
...
...
src/.cvsignore
View file @
4ccd672e
...
...
@@ -3,3 +3,20 @@ doxygen.pro
doxytag.pro
libdoxycfg.pro
libdoxygen.pro
Makefile.doxygen
Makefile.doxytag
Makefile.libdoxycfg
Makefile.libdoxygen
ce_lex.cpp
ce_parse.cpp
ce_parse.h
code.cpp
commentcnv.cpp
config.cpp
declinfo.cpp
defargs.cpp
doctokenizer.cpp
doxytag.cpp
pre.cpp
scanner.cpp
version.cpp
src/compound.xsd
View file @
4ccd672e
...
...
@@ -21,6 +21,7 @@
<xsd:element
name=
"includedby"
type=
"incType"
minOccurs=
"0"
maxOccurs=
"unbounded"
/>
<xsd:element
name=
"incdepgraph"
type=
"graphType"
minOccurs=
"0"
/>
<xsd:element
name=
"invincdepgraph"
type=
"graphType"
minOccurs=
"0"
/>
<xsd:element
name=
"innerdir"
type=
"refType"
minOccurs=
"0"
maxOccurs=
"unbounded"
/>
<xsd:element
name=
"innerfile"
type=
"refType"
minOccurs=
"0"
maxOccurs=
"unbounded"
/>
<xsd:element
name=
"innerclass"
type=
"refType"
minOccurs=
"0"
maxOccurs=
"unbounded"
/>
<xsd:element
name=
"innernamespace"
type=
"refType"
minOccurs=
"0"
maxOccurs=
"unbounded"
/>
...
...
@@ -647,6 +648,7 @@
<xsd:enumeration
value=
"group"
/>
<xsd:enumeration
value=
"page"
/>
<xsd:enumeration
value=
"example"
/>
<xsd:enumeration
value=
"dir"
/>
</xsd:restriction>
</xsd:simpleType>
...
...
src/compound_xsd.h
View file @
4ccd672e
...
...
@@ -21,6 +21,7 @@
" <xsd:element name=
\"
includedby
\"
type=
\"
incType
\"
minOccurs=
\"
0
\"
maxOccurs=
\"
unbounded
\"
/>
\n
"
" <xsd:element name=
\"
incdepgraph
\"
type=
\"
graphType
\"
minOccurs=
\"
0
\"
/>
\n
"
" <xsd:element name=
\"
invincdepgraph
\"
type=
\"
graphType
\"
minOccurs=
\"
0
\"
/>
\n
"
" <xsd:element name=
\"
innerdir
\"
type=
\"
refType
\"
minOccurs=
\"
0
\"
maxOccurs=
\"
unbounded
\"
/>
\n
"
" <xsd:element name=
\"
innerfile
\"
type=
\"
refType
\"
minOccurs=
\"
0
\"
maxOccurs=
\"
unbounded
\"
/>
\n
"
" <xsd:element name=
\"
innerclass
\"
type=
\"
refType
\"
minOccurs=
\"
0
\"
maxOccurs=
\"
unbounded
\"
/>
\n
"
" <xsd:element name=
\"
innernamespace
\"
type=
\"
refType
\"
minOccurs=
\"
0
\"
maxOccurs=
\"
unbounded
\"
/>
\n
"
...
...
@@ -647,6 +648,7 @@
" <xsd:enumeration value=
\"
group
\"
/>
\n
"
" <xsd:enumeration value=
\"
page
\"
/>
\n
"
" <xsd:enumeration value=
\"
example
\"
/>
\n
"
" <xsd:enumeration value=
\"
dir
\"
/>
\n
"
" </xsd:restriction>
\n
"
" </xsd:simpleType>
\n
"
"
\n
"
...
...
src/config.l
View file @
4ccd672e
...
...
@@ -1814,6 +1814,13 @@ void Config::create()
"list will mention the files that were used to generate the documentation. \n",
TRUE
);
cb = addBool(
"SHOW_DIRECTORIES",
"If the sources in your project are distributed over multiple directories \n"
"then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy \n"
"in the documentation.\n",
TRUE
);
//-----------------------------------------------------------------------------------------------
addInfo( "Messages","configuration options related to warning and progress messages");
...
...
src/dirdef.cpp
View file @
4ccd672e
...
...
@@ -2,18 +2,34 @@
#include "filename.h"
#include "doxygen.h"
#include "util.h"
#include "outputlist.h"
#include "language.h"
//----------------------------------------------------------------------
// method implementation
DirDef
::
DirDef
(
const
char
*
path
)
:
Definition
(
path
,
1
,
path
),
m_parent
(
0
)
static
int
g_dirCount
=
0
;
DirDef
::
DirDef
(
const
char
*
path
)
:
Definition
(
path
,
1
,
path
)
{
// get
short
name (stipping the paths mentioned in STRIP_FROM_PATH)
// get
display
name (stipping the paths mentioned in STRIP_FROM_PATH)
m_dispName
=
stripFromPath
(
path
);
// get short name (last part of path)
m_shortName
=
path
;
if
(
m_shortName
.
at
(
m_shortName
.
length
()
-
1
)
==
'/'
)
{
// strip trailing /
m_shortName
=
m_shortName
.
left
(
m_shortName
.
length
()
-
1
);
}
int
pi
=
m_shortName
.
findRev
(
'/'
);
if
(
pi
!=-
1
)
{
// remove everything till the last /
m_shortName
=
m_shortName
.
mid
(
pi
+
1
);
}
m_subdirs
.
setAutoDelete
(
TRUE
);
m_fileList
=
new
FileList
;
m_classSDict
=
new
ClassSDict
(
17
);
m_dirCount
=
g_dirCount
++
;
}
DirDef
::~
DirDef
()
...
...
@@ -22,16 +38,193 @@ DirDef::~DirDef()
void
DirDef
::
addSubDir
(
DirDef
*
subdir
)
{
m_subdirs
.
append
(
subdir
);
subdir
->
m_parent
=
this
;
m_subdirs
.
inSort
(
subdir
);
subdir
->
setOuterScope
(
this
)
;
}
void
DirDef
::
addFile
(
FileDef
*
fd
)
{
m_fileList
->
append
(
fd
);
m_fileList
->
inSort
(
fd
);
fd
->
setDirDef
(
this
);
}
QCString
DirDef
::
getOutputFileBase
()
const
{
//return "dir_"+convertNameToFile(name());
return
QCString
().
sprintf
(
"dir_%06d"
,
m_dirCount
);
}
void
DirDef
::
writeDetailedDocumentation
(
OutputList
&
ol
)
{
if
(
!
briefDescription
().
isEmpty
()
||
!
documentation
().
isEmpty
())
{
ol
.
writeRuler
();
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
Latex
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
writeAnchor
(
0
,
"_details"
);
ol
.
popGeneratorState
();
ol
.
startGroupHeader
();
ol
.
parseText
(
theTranslator
->
trDetailedDescription
());
ol
.
endGroupHeader
();
// repeat brief description
if
(
!
briefDescription
().
isEmpty
()
&&
Config_getBool
(
"REPEAT_BRIEF"
))
{
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
this
,
0
,
briefDescription
(),
FALSE
,
FALSE
);
ol
.
newParagraph
();
}
// write documentation
if
(
!
documentation
().
isEmpty
())
{
ol
.
parseDoc
(
docFile
(),
docLine
(),
this
,
0
,
documentation
()
+
"
\n
"
,
TRUE
,
FALSE
);
}
}
}
void
DirDef
::
writeDocumentation
(
OutputList
&
ol
)
{
ol
.
pushGeneratorState
();
QCString
shortTitle
=
theTranslator
->
trDirReference
(
m_shortName
);
QCString
title
=
theTranslator
->
trDirReference
(
m_dispName
);
startFile
(
ol
,
getOutputFileBase
(),
name
(),
title
);
// write navigation path
writeNavigationPath
(
ol
);
startTitle
(
ol
,
getOutputFileBase
());
ol
.
pushGeneratorState
();
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
ol
.
parseText
(
shortTitle
);
ol
.
enableAll
();
ol
.
disable
(
OutputGenerator
::
Html
);
ol
.
parseText
(
title
);
ol
.
popGeneratorState
();
endTitle
(
ol
,
getOutputFileBase
(),
title
);
// write brief or details (if DETAILS_AT_TOP)
if
(
Config_getBool
(
"DETAILS_AT_TOP"
))
{
writeDetailedDocumentation
(
ol
);
ol
.
newParagraph
();
}
else
if
(
!
briefDescription
().
isEmpty
())
{
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
this
,
0
,
briefDescription
(),
TRUE
,
FALSE
);
ol
.
writeString
(
"
\n
"
);
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
Latex
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
startTextLink
(
0
,
"_details"
);
ol
.
parseText
(
theTranslator
->
trMore
());
ol
.
endTextLink
();
ol
.
enableAll
();
ol
.
disableAllBut
(
OutputGenerator
::
Man
);
ol
.
newParagraph
();
ol
.
popGeneratorState
();
}
ol
.
startMemberSections
();
// write subdir list
if
(
m_subdirs
.
count
()
>
0
)
{
ol
.
startMemberHeader
();
ol
.
parseText
(
theTranslator
->
trDir
(
TRUE
,
FALSE
));
ol
.
endMemberHeader
();
ol
.
startMemberList
();
DirDef
*
dd
=
m_subdirs
.
first
();
while
(
dd
)
{
ol
.
startMemberItem
(
0
);
ol
.
parseText
(
theTranslator
->
trDir
(
FALSE
,
TRUE
));
ol
.
insertMemberAlign
();
ol
.
writeObjectLink
(
dd
->
getReference
(),
dd
->
getOutputFileBase
(),
0
,
dd
->
shortName
());
ol
.
endMemberItem
();
if
(
!
dd
->
briefDescription
().
isEmpty
()
&&
Config_getBool
(
"BRIEF_MEMBER_DESC"
))
{
ol
.
startMemberDescription
();
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
dd
,
0
,
dd
->
briefDescription
(),
FALSE
,
FALSE
);
ol
.
endMemberDescription
();
ol
.
newParagraph
();
}
dd
=
m_subdirs
.
next
();
}
ol
.
endMemberList
();
}
// write file list
if
(
m_fileList
->
count
()
>
0
)
{
ol
.
startMemberHeader
();
ol
.
parseText
(
theTranslator
->
trFile
(
TRUE
,
FALSE
));
ol
.
endMemberHeader
();
ol
.
startMemberList
();
FileDef
*
fd
=
m_fileList
->
first
();
while
(
fd
)
{
ol
.
startMemberItem
(
0
);
ol
.
docify
(
"file "
);
ol
.
insertMemberAlign
();
ol
.
writeObjectLink
(
fd
->
getReference
(),
fd
->
getOutputFileBase
(),
0
,
fd
->
name
());
//if (!Config_getString("GENERATE_TAGFILE").isEmpty())
//{
// Doxygen::tagFile << " <file>" << convertToXML(fd->name()) << "</file>" << endl;
//}
ol
.
endMemberItem
();
if
(
!
fd
->
briefDescription
().
isEmpty
()
&&
Config_getBool
(
"BRIEF_MEMBER_DESC"
))
{
ol
.
startMemberDescription
();
ol
.
parseDoc
(
briefFile
(),
briefLine
(),
fd
,
0
,
fd
->
briefDescription
(),
FALSE
,
FALSE
);
ol
.
endMemberDescription
();
ol
.
newParagraph
();
}
fd
=
m_fileList
->
next
();
}
ol
.
endMemberList
();
}
ol
.
endMemberSections
();
if
(
!
Config_getBool
(
"DETAILS_AT_TOP"
))
{
writeDetailedDocumentation
(
ol
);
}
// write details (if !DETAILS_AT_TOP)
endFile
(
ol
);
ol
.
popGeneratorState
();
}
void
DirDef
::
writePathFragment
(
OutputList
&
ol
)
{
if
(
getOuterScope
()
!=
Doxygen
::
globalScope
&&
getOuterScope
()
->
definitionType
()
==
Definition
::
TypeDir
)
{
((
DirDef
*
)
getOuterScope
())
->
writePathFragment
(
ol
);
ol
.
writeString
(
" / "
);
}
ol
.
writeObjectLink
(
getReference
(),
getOutputFileBase
(),
0
,
shortName
());
}
void
DirDef
::
writeNavigationPath
(
OutputList
&
ol
)
{
ol
.
pushGeneratorState
();
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
ol
.
writeString
(
"<div class=
\"
nav
\"
>
\n
"
);
writePathFragment
(
ol
);
ol
.
writeString
(
"</div>
\n
"
);
ol
.
popGeneratorState
();
}
//----------------------------------------------------------------------
// helper functions
...
...
@@ -68,6 +261,7 @@ bool DirDef::matchPath(const QCString &path,QStrList &l)
*/
DirDef
*
DirDef
::
mergeDirectoryInTree
(
const
QCString
&
path
)
{
//printf("DirDef::mergeDirectoryInTree(%s)\n",path.data());
int
p
=
0
,
i
=
0
;
DirDef
*
dir
=
0
;
while
((
i
=
path
.
find
(
'/'
,
p
))
!=-
1
)
...
...
@@ -96,7 +290,8 @@ void buildDirectories()
FileDef
*
fd
;
for
(;(
fd
=
fni
.
current
());
++
fni
)
{
if
(
!
fd
->
getReference
().
isEmpty
())
//printf("buildDirectories %s\n",fd->name().data());
if
(
fd
->
getReference
().
isEmpty
())
{
DirDef
*
dir
;
if
((
dir
=
Doxygen
::
directories
.
find
(
fd
->
getPath
()))
==
0
)
// new directory
...
...
@@ -112,23 +307,33 @@ void buildDirectories()
}
}
DirDef
*
root
=
new
DirDef
(
"root:"
);
//
DirDef *root = new DirDef("root:");
// compute relations between directories => introduce container dirs.
DirDef
*
dir
;
SDict
<
DirDef
>
::
Iterator
sdi
(
Doxygen
::
directories
);
DirSDict
::
Iterator
sdi
(
Doxygen
::
directories
);
for
(
sdi
.
toFirst
();(
dir
=
sdi
.
current
());
++
sdi
)
{
printf
(
"New dir %s
\n
"
,
dir
->
displayName
().
data
());
//
printf("New dir %s\n",dir->displayName().data());
QCString
name
=
dir
->
name
();
int
i
=
name
.
findRev
(
'/'
,
name
.
length
()
-
2
);
if
(
i
!=-
1
)
{
DirDef
*
parent
=
Doxygen
::
directories
.
find
(
name
.
left
(
i
+
1
));
if
(
parent
==
0
)
parent
=
root
;
parent
->
addSubDir
(
dir
);
printf
(
"DirDef::addSubdir(): Adding subdir
\n
%s to
\n
%s
\n
"
,
dir
->
displayName
().
data
(),
parent
->
displayName
().
data
());
//
if (parent==0) parent=root;
if
(
parent
)
parent
->
addSubDir
(
dir
);
//
printf("DirDef::addSubdir(): Adding subdir\n%s to\n%s\n",
//
dir->displayName().data(), parent->displayName().data());
}
}
}
void
generateDirDocs
(
OutputList
&
ol
)
{
DirDef
*
dir
;
DirSDict
::
Iterator
sdi
(
Doxygen
::
directories
);
for
(
sdi
.
toFirst
();(
dir
=
sdi
.
current
());
++
sdi
)
{
dir
->
writeDocumentation
(
ol
);
}
}
src/dirdef.h
View file @
4ccd672e
...
...
@@ -22,10 +22,21 @@
#include "sortdict.h"
#include "definition.h"
#include <qlist.h>
class
FileList
;
class
ClassSDict
;
class
QStrList
;
class
FileDef
;
class
OutputList
;
class
DirDef
;
class
DirDefList
:
public
QList
<
DirDef
>
{
public
:
int
compareItems
(
GCI
item1
,
GCI
item2
);
};
class
DirDef
:
public
Definition
{
...
...
@@ -33,29 +44,54 @@ class DirDef : public Definition
DirDef
(
const
char
*
path
);
virtual
~
DirDef
();
virtual
DefType
definitionType
()
{
return
TypeDir
;
}
virtual
QCString
getOutputFileBase
()
const
{
return
""
;
}
virtual
bool
isLinkableInProject
()
const
{
return
FALSE
;
}
virtual
bool
isLinkable
()
const
{
return
FALSE
;
}
virtual
QCString
getOutputFileBase
()
const
;
virtual
bool
isLinkableInProject
()
const
{
return
!
isReference
()
&&
hasDocumentation
()
;
}
virtual
bool
isLinkable
()
const
{
return
isReference
()
||
isLinkableInProject
()
;
}
QCString
displayName
()
const
{
return
m_dispName
;
}
QCString
shortName
()
const
{
return
m_shortName
;
}
void
addSubDir
(
DirDef
*
subdir
);
FileList
*
getFiles
()
const
{
return
m_fileList
;
}
ClassSDict
*
getClasses
()
const
{
return
m_classSDict
;
}
DirDef
*
parent
()
const
{
return
m_parent
;
}
void
addFile
(
FileDef
*
fd
);
void
writeDetailedDocumentation
(
OutputList
&
ol
);
void
writeDocumentation
(
OutputList
&
ol
);
void
writeNavigationPath
(
OutputList
&
ol
);
const
QList
<
DirDef
>
&
subDirs
()
const
{
return
m_subdirs
;
}
static
DirDef
*
mergeDirectoryInTree
(
const
QCString
&
path
);
bool
visited
;
private
:
void
writePathFragment
(
OutputList
&
ol
);
static
DirDef
*
createNewDir
(
const
char
*
path
);
static
bool
matchPath
(
const
QCString
&
path
,
QStrList
&
l
);
QList
<
DirDef
>
m_subdirs
;
DirDef
*
m_parent
;
DirDefList
m_subdirs
;
QCString
m_dispName
;
QCString
m_shortName
;
FileList
*
m_fileList
;
// list of files in the group
ClassSDict
*
m_classSDict
;
// list of classes in the group
int
m_dirCount
;
};
inline
int
DirDefList
::
compareItems
(
GCI
item1
,
GCI
item2
)
{
return
stricmp
(((
DirDef
*
)
item1
)
->
shortName
(),((
DirDef
*
)
item2
)
->
shortName
());
}
class
DirSDict
:
public
SDict
<
DirDef
>
{
public
:
DirSDict
(
int
size
)
:
SDict
<
DirDef
>
(
size
)
{}
int
compareItems
(
GCI
item1
,
GCI
item2
)
{
return
stricmp
(((
DirDef
*
)
item1
)
->
shortName
(),((
DirDef
*
)
item2
)
->
shortName
());
}
};
void
buildDirectories
();
void
generateDirDocs
(
OutputList
&
ol
);
#endif
src/doxygen.cpp
View file @
4ccd672e
...
...
@@ -121,7 +121,7 @@ SDict<DefinitionList> *Doxygen::symbolMap;
bool
Doxygen
::
outputToWizard
=
FALSE
;
QDict
<
int
>
*
Doxygen
::
htmlDirMap
=
0
;
QCache
<
LookupInfo
>
Doxygen
::
lookupCache
(
20000
,
20000
);
SDict
<
DirDef
>
Doxygen
::
directories
(
17
);
DirSDict
Doxygen
::
directories
(
17
);
static
StringList
inputFiles
;
static
StringDict
excludeNameDict
(
1009
);
// sections
...
...
@@ -6450,6 +6450,61 @@ static void findDefineDocumentation(Entry *root)
}
}
//----------------------------------------------------------------------------
static
void
findDirDocumentation
(
Entry
*
root
)
{
if
(
root
->
section
==
Entry
::
DIRDOC_SEC
)
{
QCString
normalizedName
=
root
->
name
;
normalizedName
=
substitute
(
normalizedName
,
"
\\
"
,
"/"
);
if
(
normalizedName
.
at
(
normalizedName
.
length
()
-
1
)
!=
'/'
)
{
normalizedName
+=
'/'
;
}
DirDef
*
dir
,
*
matchingDir
=
0
;
SDict
<
DirDef
>::
Iterator
sdi
(
Doxygen
::
directories
);
for
(
sdi
.
toFirst
();(
dir
=
sdi
.
current
());
++
sdi
)
{
printf
(
"Dir: %s<->%s
\n
"
,
dir
->
name
().
data
(),
normalizedName
.
data
());
if
(
dir
->
name
().
right
(
normalizedName
.
length
())
==
normalizedName
)
{
if
(
matchingDir
)
{
warn
(
root
->
fileName
,
root
->
startLine
,
"Warning:
\\
dir command matches multiple directories.
\n
"
" Applying the command for directory %s
\n
"
" Ignoring the command for directory %s
\n
"
,
matchingDir
->
name
().
data
(),
dir
->
name
().
data
()
);
}
else
{
matchingDir
=
dir
;
}
}
}
if
(
matchingDir
)
{
printf
(
"Match for with dir %s
\n
"
,
matchingDir
->
name
().
data
());
matchingDir
->
setBriefDescription
(
root
->
brief
,
root
->
briefFile
,
root
->
briefLine
);
matchingDir
->
setDocumentation
(
root
->
doc
,
root
->
docFile
,
root
->
docLine
);
}
else
{
warn
(
root
->
fileName
,
root
->
startLine
,
"Warning: No matching "
"directory found for command
\\
dir %s
\n
"
,
root
->
name
.
data
());
}
}
EntryListIterator
eli
(
*
root
->
sublist
);
Entry
*
e
;
for
(;(
e
=
eli
.
current
());
++
eli
)
{
findDirDocumentation
(
e
);
}
}
//----------------------------------------------------------------------------
// create a (sorted) list of separate documentation pages
...
...
@@ -7329,41 +7384,6 @@ static int readDir(QFileInfo *fi,
return
totalSize
;
}
//----------------------------------------------------------------------------
// read the file with name `name' into a string.
//static QCString readExampleFile(const char *name)
//{
// QCString example;
// QFileInfo fi(name);
// if (fi.exists())
// {
// QFile f((const char *)fi.absFilePath());
// if (f.open(IO_ReadOnly))
// {
// example.resize(fi.size()+1);
// if ((int)fi.size()!=f.readBlock(example.data(),fi.size()))
// {
// err("Error while reading file %s\n",fi.absFilePath().data());
// //exit(1);
// return "";
// }
// example.at(fi.size())='\0';
// }
// else
// {
// err("Error opening file %s\n",fi.absFilePath().data());
// //exit(1);
// return "";
// }
// }
// else
// {
// err("Error: example file %s does not exist\n",name);
// exit(1);
// }
// return example;
//}
//----------------------------------------------------------------------------
// read a file or all files in a directory and append their contents to the
...
...
@@ -8257,8 +8277,9 @@ void parseInput()
msg
(
"Freeing input...
\n
"
);
input
.
resize
(
0
);
//msg("Building directory list...\n");
//buildDirectories();
msg
(
"Building directory list...
\n
"
);
buildDirectories
();
findDirDocumentation
(
root
);
msg
(
"Building group list...
\n
"
);
buildGroupList
(
root
);
...
...
@@ -8480,6 +8501,24 @@ void generateOutput()
if
(
Config_getBool
(
"GENERATE_LATEX"
))
writeDoxFont
(
Config_getString
(
"LATEX_OUTPUT"
));
if
(
Config_getBool
(
"GENERATE_RTF"
))
writeDoxFont
(
Config_getString
(
"RTF_OUTPUT"
));
msg
(
"Generating style sheet...
\n
"
);
//printf("writing style info\n");
outputList
->
writeStyleInfo
(
0
);
// write first part
outputList
->
disableAllBut
(
OutputGenerator
::
Latex
);
outputList
->
parseText
(
theTranslator
->
trGeneratedAt
(
dateToString
(
TRUE
),
Config_getString
(
"PROJECT_NAME"
))
);
outputList
->
writeStyleInfo
(
1
);
// write second part
//parseText(*outputList,theTranslator->trWrittenBy());
outputList
->
writeStyleInfo
(
2
);
// write third part
outputList
->
parseText
(
theTranslator
->
trGeneratedAt
(
dateToString
(
TRUE
),
Config_getString
(
"PROJECT_NAME"
))
);
outputList
->
writeStyleInfo
(
3
);
// write fourth part
//parseText(*outputList,theTranslator->trWrittenBy());
outputList
->
writeStyleInfo
(
4
);
// write last part
outputList
->
enableAll
();
//statistics();
// count the number of documented elements in the lists we have built.
...
...
@@ -8522,12 +8561,24 @@ void generateOutput()
msg
(
"Generating group documentation...
\n
"
);
generateGroupDocs
();
if
(
Config_getBool
(
"SHOW_DIRECTORIES"
))
{
msg
(
"Generating directory documentation...
\n
"
);
generateDirDocs
(
*
outputList
);
}
msg
(
"Generating namespace index...
\n
"
);
generateNamespaceDocs
();
msg
(
"Generating group index...
\n
"
);
writeGroupIndex
(
*
outputList
);
if
(
Config_getBool
(
"SHOW_DIRECTORIES"
))
{
msg
(
"Generating directory index...
\n
"
);
writeDirIndex
(
*
outputList
);
}
msg
(
"Generating example index...
\n
"
);
writeExampleIndex
(
*
outputList
);
...
...
@@ -8549,24 +8600,6 @@ void generateOutput()
//msg("Generating search index...\n");
//generateSearchIndex();
msg
(
"Generating style sheet...
\n
"
);
//printf("writing style info\n");
outputList
->
writeStyleInfo
(
0
);
// write first part
outputList
->
disableAllBut
(
OutputGenerator
::
Latex
);
outputList
->
parseText
(
theTranslator
->
trGeneratedAt
(
dateToString
(
TRUE
),
Config_getString
(
"PROJECT_NAME"
))
);
outputList
->
writeStyleInfo
(
1
);
// write second part
//parseText(*outputList,theTranslator->trWrittenBy());
outputList
->
writeStyleInfo
(
2
);
// write third part
outputList
->
parseText
(
theTranslator
->
trGeneratedAt
(
dateToString
(
TRUE
),
Config_getString
(
"PROJECT_NAME"
))
);
outputList
->
writeStyleInfo
(
3
);
// write fourth part
//parseText(*outputList,theTranslator->trWrittenBy());
outputList
->
writeStyleInfo
(
4
);
// write last part
outputList
->
enableAll
();
if
(
Config_getBool
(
"GENERATE_RTF"
))
{
msg
(
"Combining RTF output...
\n
"
);
...
...
src/doxygen.h
View file @
4ccd672e
...
...
@@ -35,6 +35,7 @@
#include "section.h"
#include "membergroup.h"
#include "reflist.h"
#include "dirdef.h"
class
PageSList
;
class
PageSDict
;
...
...
@@ -113,7 +114,7 @@ class Doxygen
static
bool
outputToWizard
;
static
QDict
<
int
>
*
htmlDirMap
;
static
QCache
<
LookupInfo
>
lookupCache
;
static
SDict
<
DirDef
>
directories
;
static
DirSDict
directories
;
};
void
initDoxygen
();
...
...
src/entry.h
View file @
4ccd672e
...
...
@@ -230,7 +230,8 @@ class Entry
USINGDECL_SEC
=
0x14000000
,
PACKAGE_SEC
=
0x15000000
,
PACKAGEDOC_SEC
=
0x16000000
,
OBJCIMPL_SEC
=
0x17000000
OBJCIMPL_SEC
=
0x17000000
,
DIRDOC_SEC
=
0x18000000
,
};
enum
MemberSpecifier
{
...
...
src/filedef.cpp
View file @
4ccd672e
...
...
@@ -84,6 +84,7 @@ FileDef::FileDef(const char *p,const char *nm,
package
=
0
;
isSource
=
FALSE
;
docname
=
nm
;
dir
=
0
;
if
(
Config_getBool
(
"FULL_PATH_NAMES"
))
{
docname
.
prepend
(
stripFromPath
(
path
.
copy
()));
...
...
@@ -213,11 +214,29 @@ void FileDef::writeDocumentation(OutputList &ol)
QCString
pageTitle
=
theTranslator
->
trFileReference
(
docname
);
startFile
(
ol
,
getOutputFileBase
(),
name
(),
pageTitle
);
startTitle
(
ol
,
getOutputFileBase
());
ol
.
parseText
(
pageTitle
);
addGroupListToTitle
(
ol
,
this
);
endTitle
(
ol
,
getOutputFileBase
(),
docName
());
//ol.newParagraph();
if
(
Config_getBool
(
"SHOW_DIRECTORIES"
)
&&
getDirDef
())
{
getDirDef
()
->
writeNavigationPath
(
ol
);
QCString
pageTitleShort
=
theTranslator
->
trFileReference
(
name
());
startTitle
(
ol
,
getOutputFileBase
());
ol
.
pushGeneratorState
();
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
ol
.
parseText
(
pageTitleShort
);
// Html only
ol
.
enableAll
();
ol
.
disable
(
OutputGenerator
::
Html
);
ol
.
parseText
(
pageTitle
);
// other output formats
ol
.
popGeneratorState
();
addGroupListToTitle
(
ol
,
this
);
endTitle
(
ol
,
getOutputFileBase
(),
docname
);
}
else
{
startTitle
(
ol
,
getOutputFileBase
());
ol
.
parseText
(
pageTitle
);
addGroupListToTitle
(
ol
,
this
);
endTitle
(
ol
,
getOutputFileBase
(),
docname
);
}
if
(
Config_getBool
(
"SEARCHENGINE"
))
{
...
...
@@ -500,11 +519,23 @@ void FileDef::writeDocumentation(OutputList &ol)
/*! Write a source listing of this file to the output */
void
FileDef
::
writeSource
(
OutputList
&
ol
)
{
QCString
pageTitle
=
theTranslator
->
trSourceFile
(
docname
);
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
startFile
(
ol
,
getSourceFileBase
(),
0
,
theTranslator
->
trSourceFile
(
docname
));
startTitle
(
ol
,
0
);
ol
.
parseText
(
docname
);
endTitle
(
ol
,
0
,
0
);
startFile
(
ol
,
getSourceFileBase
(),
0
,
pageTitle
);
if
(
Config_getBool
(
"SHOW_DIRECTORIES"
)
&&
getDirDef
())
{
getDirDef
()
->
writeNavigationPath
(
ol
);
startTitle
(
ol
,
getOutputFileBase
());
ol
.
parseText
(
name
());
endTitle
(
ol
,
getOutputFileBase
(),
docname
);
}
else
{
startTitle
(
ol
,
0
);
ol
.
parseText
(
docname
);
endTitle
(
ol
,
0
,
0
);
}
if
(
isLinkable
())
{
...
...
src/groupdef.cpp
View file @
4ccd672e
...
...
@@ -455,7 +455,6 @@ void GroupDef::writeDetailedDocumentation(OutputList &ol)
void
GroupDef
::
writeDocumentation
(
OutputList
&
ol
)
{
ol
.
pushGeneratorState
();
//ol.disable(OutputGenerator::Man);
startFile
(
ol
,
getOutputFileBase
(),
name
(),
title
);
startTitle
(
ol
,
getOutputFileBase
());
ol
.
parseText
(
title
);
...
...
src/htmlgen.cpp
View file @
4ccd672e
...
...
@@ -35,6 +35,7 @@
#include "index.h"
#include "pagedef.h"
#include "debug.h"
#include "dirdef.h"
// #define GROUP_COLOR "#ff8080"
...
...
@@ -58,6 +59,15 @@ static const char *defaultStyleSheet =
" padding: 2px;
\n
"
" line-height: 140%;
\n
"
"}
\n
"
"DIV.nav {
\n
"
" width: 100%;
\n
"
" background-color: #eeeeff;
\n
"
" border: 1px solid #b0b0b0;
\n
"
" text-align: center;
\n
"
" margin: 2px;
\n
"
" padding: 2px;
\n
"
" line-height: 140%;
\n
"
"}
\n
"
"A.qindex {
\n
"
" text-decoration: none;
\n
"
" font-weight: bold;
\n
"
...
...
@@ -1365,6 +1375,13 @@ static void writeDefaultQuickLinks(QTextStream &t,bool compact,
t
<<
fixSpaces
(
theTranslator
->
trModules
());
endQuickIndexItem
(
t
);
}
if
(
Config_getBool
(
"SHOW_DIRECTORIES"
)
&&
documentedDirs
>
0
)
{
startQuickIndexItem
(
t
,
"dirs"
+
Doxygen
::
htmlFileExtension
,
hli
==
HLI_Directories
,
compact
,
first
,
relPath
);
t
<<
fixSpaces
(
theTranslator
->
trDirectories
());
endQuickIndexItem
(
t
);
}
if
(
documentedNamespaces
>
0
)
{
startQuickIndexItem
(
t
,
"namespaces"
+
Doxygen
::
htmlFileExtension
,
...
...
src/index.cpp
View file @
4ccd672e
This diff is collapsed.
Click to expand it.
src/index.h
View file @
4ccd672e
...
...
@@ -26,15 +26,15 @@ enum IndexSections
isTitlePageStart
,
isTitlePageAuthor
,
isMainPage
,
// isPackageIndex,
isModuleIndex
,
isDirIndex
,
isNamespaceIndex
,
isClassHierarchyIndex
,
isCompoundIndex
,
isFileIndex
,
isPageIndex
,
// isPackageDocumentation,
isModuleDocumentation
,
isDirDocumentation
,
isNamespaceDocumentation
,
isClassDocumentation
,
isFileDocumentation
,
...
...
@@ -61,6 +61,7 @@ void writeExampleIndex(OutputList &ol);
void
writePageIndex
(
OutputList
&
ol
);
void
writeFileMemberIndex
(
OutputList
&
ol
);
void
writeGroupIndex
(
OutputList
&
ol
);
void
writeDirIndex
(
OutputList
&
ol
);
void
writeNamespaceIndex
(
OutputList
&
ol
);
void
writeNamespaceMemberIndex
(
OutputList
&
ol
);
void
writeGraphicalClassHierarchy
(
OutputList
&
ol
);
...
...
@@ -74,6 +75,7 @@ enum HighlightedItem
HLI_None
=
0
,
HLI_Main
,
HLI_Modules
,
HLI_Directories
,
HLI_Namespaces
,
HLI_Hierarchy
,
HLI_Classes
,
...
...
@@ -148,6 +150,7 @@ extern int documentedFileMembers[FMHL_Total];
extern
int
documentedNamespaceMembers
[
NMHL_Total
];
extern
int
documentedHtmlFiles
;
extern
int
documentedPages
;
extern
int
documentedDirs
;
void
startTitle
(
OutputList
&
ol
,
const
char
*
fileName
);
void
endTitle
(
OutputList
&
ol
,
const
char
*
fileName
,
const
char
*
name
);
...
...
src/index.xsd
View file @
4ccd672e
...
...
@@ -40,6 +40,7 @@
<xsd:enumeration
value=
"group"
/>
<xsd:enumeration
value=
"page"
/>
<xsd:enumeration
value=
"example"
/>
<xsd:enumeration
value=
"dir"
/>
</xsd:restriction>
</xsd:simpleType>
...
...
src/index_xsd.h
View file @
4ccd672e
...
...
@@ -40,6 +40,7 @@
" <xsd:enumeration value=
\"
group
\"
/>
\n
"
" <xsd:enumeration value=
\"
page
\"
/>
\n
"
" <xsd:enumeration value=
\"
example
\"
/>
\n
"
" <xsd:enumeration value=
\"
dir
\"
/>
\n
"
" </xsd:restriction>
\n
"
" </xsd:simpleType>
\n
"
"
\n
"
...
...
src/latexgen.cpp
View file @
4ccd672e
...
...
@@ -31,6 +31,7 @@
#include "pagedef.h"
#include "docparser.h"
#include "latexdocvisitor.h"
#include "dirdef.h"
//static QCString filterTitle(const char *s)
//{
...
...
@@ -102,6 +103,7 @@ LatexGenerator::LatexGenerator() : OutputGenerator()
insideTabbing
=
FALSE
;
firstDescItem
=
TRUE
;
insidePre
=
FALSE
;
m_indent
=
0
;
}
LatexGenerator
::~
LatexGenerator
()
...
...
@@ -501,6 +503,10 @@ void LatexGenerator::startIndexSection(IndexSections is)
if
(
compactLatex
)
t
<<
"
\\
section"
;
else
t
<<
"
\\
chapter"
;
t
<<
"{"
;
//Module Index}\n"
break
;
case
isDirIndex
:
if
(
compactLatex
)
t
<<
"
\\
section"
;
else
t
<<
"
\\
chapter"
;
t
<<
"{"
;
//Directory Index}\n"
break
;
case
isNamespaceIndex
:
if
(
compactLatex
)
t
<<
"
\\
section"
;
else
t
<<
"
\\
chapter"
;
t
<<
"{"
;
//Namespace Index}\"
...
...
@@ -537,6 +543,22 @@ void LatexGenerator::startIndexSection(IndexSections is)
}
}
break
;
case
isDirDocumentation
:
{
SDict
<
DirDef
>::
Iterator
dli
(
Doxygen
::
directories
);
DirDef
*
dd
;
bool
found
=
FALSE
;
for
(
dli
.
toFirst
();(
dd
=
dli
.
current
())
&&
!
found
;
++
dli
)
{
if
(
dd
->
isLinkableInProject
())
{
if
(
compactLatex
)
t
<<
"
\\
section"
;
else
t
<<
"
\\
chapter"
;
t
<<
"{"
;
//Module Documentation}\n";
found
=
TRUE
;
}
}
}
break
;
case
isNamespaceDocumentation
:
{
NamespaceSDict
::
Iterator
nli
(
Doxygen
::
namespaceSDict
);
...
...
@@ -637,6 +659,9 @@ void LatexGenerator::endIndexSection(IndexSections is)
case
isModuleIndex
:
t
<<
"}
\n\\
input{modules}
\n
"
;
break
;
case
isDirIndex
:
t
<<
"}
\n\\
input{dirs}
\n
"
;
break
;
case
isNamespaceIndex
:
t
<<
"}
\n\\
input{namespaces}
\n
"
;
break
;
...
...
@@ -675,6 +700,29 @@ void LatexGenerator::endIndexSection(IndexSections is)
}
}
break
;
case
isDirDocumentation
:
{
SDict
<
DirDef
>::
Iterator
dli
(
Doxygen
::
directories
);
DirDef
*
dd
;
bool
found
=
FALSE
;
for
(
dli
.
toFirst
();(
dd
=
dli
.
current
())
&&
!
found
;
++
dli
)
{
if
(
dd
->
isLinkableInProject
())
{
t
<<
"}
\n\\
input{"
<<
dd
->
getOutputFileBase
()
<<
"}
\n
"
;
found
=
TRUE
;
}
}
for
(;(
dd
=
dli
.
current
());
++
dli
)
{
if
(
dd
->
isLinkableInProject
())
{
if
(
compactLatex
)
t
<<
"
\\
input"
;
else
t
<<
"
\\
include"
;
t
<<
"{"
<<
dd
->
getOutputFileBase
()
<<
"}
\n
"
;
}
}
}
break
;
case
isNamespaceDocumentation
:
{
NamespaceSDict
::
Iterator
nli
(
Doxygen
::
namespaceSDict
);
...
...
@@ -1321,10 +1369,39 @@ void LatexGenerator::endMemberItem()
t
<<
endl
;
}
void
LatexGenerator
::
startMemberDescription
()
{
if
(
!
insideTabbing
)
{
t
<<
"
\\
begin{CompactList}
\\
small
\\
item
\\
em "
;
}
else
{
for
(
int
i
=
0
;
i
<
m_indent
+
1
;
i
++
)
t
<<
"
\\
>"
;
t
<<
"{
\\
em "
;
}
}
void
LatexGenerator
::
endMemberDescription
()
{
if
(
!
insideTabbing
)
{
t
<<
"
\\
item
\\
end{CompactList}"
;
}
else
{
t
<<
"}
\\\\
"
;
}
}
void
LatexGenerator
::
writeNonBreakableSpace
(
int
)
{
if
(
insideTabbing
)
{
t
<<
"
\\
>"
;
m_indent
++
;
}
else
t
<<
"
\\
"
;
}
...
...
src/latexgen.h
View file @
4ccd672e
...
...
@@ -49,7 +49,6 @@ class LatexGenerator : public OutputGenerator
void
endFile
();
void
clearBuffer
();
//void writeIndex();
void
startIndexSection
(
IndexSections
);
void
endIndexSection
(
IndexSections
);
void
startProjectNumber
();
...
...
@@ -70,11 +69,6 @@ class LatexGenerator : public OutputGenerator
void
endIndexValue
(
const
char
*
,
bool
);
void
startItemList
()
{
t
<<
"
\\
begin{CompactItemize}"
<<
endl
;
}
void
endItemList
()
{
t
<<
"
\\
end{CompactItemize}"
<<
endl
;
}
//void startEnumList() { t << "\\begin{enumerate}" << endl; }
//void endEnumList() { t << "\\end{enumerate}" << endl; }
//void startAlphabeticalIndexList() {}
//void endAlphabeticalIndexList() {}
//void writeIndexHeading(const char *) {}
void
writeIndexItem
(
const
char
*
ref
,
const
char
*
file
,
const
char
*
name
);
void
docify
(
const
char
*
text
);
void
codify
(
const
char
*
text
);
...
...
@@ -86,7 +80,6 @@ class LatexGenerator : public OutputGenerator
void
endTextLink
();
void
startHtmlLink
(
const
char
*
url
);
void
endHtmlLink
();
//void writeMailLink(const char *url);
void
startTypewriter
()
{
t
<<
"{
\\
tt "
;
}
void
endTypewriter
()
{
t
<<
"}"
;
}
void
startGroupHeader
();
...
...
@@ -119,19 +112,9 @@ class LatexGenerator : public OutputGenerator
void
writeAnchor
(
const
char
*
fileName
,
const
char
*
name
);
void
startCodeFragment
()
{
t
<<
endl
<<
endl
<<
"
\\
footnotesize
\\
begin{verbatim}"
;
}
void
endCodeFragment
()
{
t
<<
"
\\
end{verbatim}
\\
normalsize "
<<
endl
;
}
//void startPreFragment() { t << "\\small\\begin{alltt}";
// insidePre=TRUE;
// }
//void endPreFragment() { t << "\\end{alltt}\\normalsize " << endl;
// insidePre=FALSE;
// }
//void startVerbatimFragment() { t << endl << endl << "\\footnotesize\\begin{verbatim}"; }
//void endVerbatimFragment() { t << "\\end{verbatim}\\normalsize " << endl; }
void
writeLineNumber
(
const
char
*
,
const
char
*
,
const
char
*
,
int
l
)
{
t
<<
l
<<
" "
;
}
void
startCodeLine
()
{
col
=
0
;
}
void
endCodeLine
()
{
codify
(
"
\n
"
);
}
//void writeBoldString(const char *text)
// { t << "{\\bf "; docify(text); t << "}"; }
void
startEmphasis
()
{
t
<<
"{
\\
em "
;
}
void
endEmphasis
()
{
t
<<
"}"
;
}
void
startBold
()
{
t
<<
"{
\\
bf "
;
}
...
...
@@ -149,7 +132,6 @@ class LatexGenerator : public OutputGenerator
void
endCodeAnchor
()
{}
void
writeChar
(
char
c
);
void
writeLatexSpacing
()
{
t
<<
"
\\
hspace{0.3cm}"
;
}
//void writeLatexLabel(const char *scope,const char *anchor);
void
writeStartAnnoItem
(
const
char
*
type
,
const
char
*
file
,
const
char
*
path
,
const
char
*
name
);
void
writeEndAnnoItem
(
const
char
*
name
);
...
...
@@ -161,87 +143,27 @@ class LatexGenerator : public OutputGenerator
void
endCenter
()
{
t
<<
"
\\
end{center}"
<<
endl
;
}
void
startSmall
()
{
t
<<
"
\\
footnotesize "
;
}
void
endSmall
()
{
t
<<
"
\\
normalsize "
;
}
//void startSubscript() { t << "$_{\\mbox{"; }
//void endSubscript() { t << "}}$"; }
//void startSuperscript() { t << "$^{\\mbox{"; }
//void endSuperscript() { t << "}}$"; }
//void startTable(bool hasCaption,int c)
// {
// if (hasCaption) t << "\\begin{table}[h]";
// t << "\\begin{TabularC}{" << c << "}\n\\hline\n";
// }
//void endTable(bool hasCaption)
// {
// if (hasCaption)
// {
// t << "\\end{table}\n";
// }
// else
// {
// t << "\\\\\\hline\n\\end{TabularC}\n";
// }
// }
//void startCaption() { t << "\\\\\\hline\n\\end{TabularC}\n"
// "\\centering\n\\caption{";
// }
//void endCaption() { t << "}\n"; }
//void nextTableRow() {}
//void endTableRow() { t << "\\\\\\hline\n"; }
//void nextTableColumn() { t << "&"; }
//void endTableColumn() {}
//void writeCopyright() { t << "\\copyright"; }
//void writeQuote() { t << "''"; }
//void writeUmlaut(char c) { if (c=='i') t << "\\\"{\\i}"; else
// t << "\\\"{" << c << "}";
// }
//void writeAcute(char c) { if (c=='i') t << "\\'{\\i}"; else
// t << "\\'{" << c << "}";
// }
//void writeGrave(char c) { if (c=='i') t << "\\`{\\i}"; else
// t << "\\`{" << c << "}";
// }
//void writeCirc(char c) { if (c=='i') t << "\\^{\\i}"; else
// t << "\\^{" << c << "}";
// }
//void writeTilde(char c) { t << "\\~{" << c << "}"; }
//void writeRing(char c) { t << "\\" << c << c; }
//void writeSharpS() { t << "\"s"; }
//void writeCCedil(char c) { t << "\\c{" << c << "}"; }
void
startMemberDescription
()
{
t
<<
"
\\
begin{CompactList}
\\
small
\\
item
\\
em "
;
}
void
endMemberDescription
()
{
t
<<
"
\\
item
\\
end{CompactList}"
;
}
void
startMemberDescription
();
void
endMemberDescription
();
void
startDescList
(
SectionTypes
)
{
t
<<
"
\\
begin{Desc}
\n\\
item["
;
}
void
endDescList
()
{
t
<<
"
\\
end{Desc}"
<<
endl
;
}
void
startSimpleSect
(
SectionTypes
,
const
char
*
,
const
char
*
,
const
char
*
);
void
endSimpleSect
();
void
startParamList
(
ParamListTypes
,
const
char
*
title
);
void
endParamList
();
//void endDescTitle() { t << "]"; }
void
writeDescItem
()
{
t
<<
"
\\
par"
<<
endl
;
}
void
startSection
(
const
char
*
,
const
char
*
,
SectionInfo
::
SectionType
);
void
endSection
(
const
char
*
,
SectionInfo
::
SectionType
);
//void writeSectionRef(const char *,const char *,const char *,const char *);
//void writeSectionRefItem(const char *,const char *,const char *);
//void writeSectionRefAnchor(const char *,const char *,const char *);
void
addIndexItem
(
const
char
*
,
const
char
*
);
void
startIndent
()
{}
void
endIndent
()
{}
void
writeSynopsis
()
{}
//void generateExternalIndex() {}
void
startClassDiagram
();
void
endClassDiagram
(
ClassDiagram
&
,
const
char
*
,
const
char
*
);
//void startColorFont(uchar,uchar,uchar) {}
//void endColorFont() {}
void
startPageRef
();
void
endPageRef
(
const
char
*
,
const
char
*
);
//void startQuickIndexItem(const char *,const char *) {}
//void endQuickIndexItem() {}
void
writeQuickLinks
(
bool
,
HighlightedItem
)
{}
//void writeFormula(const char *,const char *);
void
writeNonBreakableSpace
(
int
);
//void startImage(const char *,const char *,bool);
//void endImage(bool);
//void startDotFile(const char *,bool);
//void endDotFile(bool);
void
startDescTable
()
{
t
<<
"
\\
begin{description}"
<<
endl
;
}
...
...
@@ -255,8 +177,6 @@ class LatexGenerator : public OutputGenerator
void
endDescTableData
()
{}
void
lastIndexPage
()
{}
//static void docifyStatic(QTextStream &t,const char *str);
void
startDotGraph
();
void
endDotGraph
(
DotClassGraph
&
);
void
startInclDepGraph
();
...
...
@@ -282,14 +202,6 @@ class LatexGenerator : public OutputGenerator
void
startFontClass
(
const
char
*
)
{}
void
endFontClass
()
{}
//void startHtmlOnly() {}
//void endHtmlOnly() {}
//void startLatexOnly() {}
//void endLatexOnly() {}
//void startSectionRefList();
//void endSectionRefList();
void
writeCodeAnchor
(
const
char
*
)
{}
private
:
...
...
@@ -300,6 +212,7 @@ class LatexGenerator : public OutputGenerator
bool
firstDescItem
;
bool
insidePre
;
QCString
relPath
;
int
m_indent
;
};
#endif
src/outputlist.cpp
View file @
4ccd672e
...
...
@@ -272,7 +272,6 @@ FORALL1(SectionTypes a1,a1)
FORALL1
(
bool
a1
,
a1
)
FORALL2
(
bool
a1
,
int
a2
,
a1
,
a2
)
FORALL2
(
bool
a1
,
bool
a2
,
a1
,
a2
)
FORALL3
(
bool
a1
,
bool
a2
,
bool
a3
,
a1
,
a2
,
a3
)
FORALL4
(
const
char
*
a1
,
const
char
*
a2
,
const
char
*
a3
,
bool
a4
,
a1
,
a2
,
a3
,
a4
)
#endif
FORALL2
(
int
a1
,
bool
a2
,
a1
,
a2
)
...
...
@@ -283,6 +282,7 @@ FORALL1(IndexSections a1,a1)
FORALL2
(
const
char
*
a1
,
const
char
*
a2
,
a1
,
a2
)
FORALL2
(
const
char
*
a1
,
bool
a2
,
a1
,
a2
)
FORALL2
(
const
char
*
a1
,
SectionInfo
::
SectionType
a2
,
a1
,
a2
)
FORALL3
(
bool
a1
,
bool
a2
,
bool
a3
,
a1
,
a2
,
a3
)
FORALL3
(
ClassDiagram
&
a1
,
const
char
*
a2
,
const
char
*
a3
,
a1
,
a2
,
a3
)
FORALL3
(
const
char
*
a1
,
const
char
*
a2
,
const
char
*
a3
,
a1
,
a2
,
a3
)
FORALL3
(
const
char
*
a1
,
const
char
*
a2
,
bool
a3
,
a1
,
a2
,
a3
)
...
...
src/outputlist.h
View file @
4ccd672e
...
...
@@ -389,7 +389,6 @@ class OutputList : public OutputDocInterface
FORALLPROTO1
(
bool
);
FORALLPROTO2
(
bool
,
int
);
FORALLPROTO2
(
bool
,
bool
);
FORALLPROTO3
(
bool
,
bool
,
bool
);
FORALLPROTO4
(
const
char
*
,
const
char
*
,
const
char
*
,
int
);
#endif
FORALLPROTO2
(
int
,
bool
);
...
...
@@ -399,6 +398,7 @@ class OutputList : public OutputDocInterface
FORALLPROTO2
(
const
char
*
,
const
char
*
);
FORALLPROTO2
(
const
char
*
,
bool
);
FORALLPROTO2
(
const
char
*
,
SectionInfo
::
SectionType
);
FORALLPROTO3
(
bool
,
bool
,
bool
);
FORALLPROTO3
(
const
char
*
,
const
char
*
,
bool
);
FORALLPROTO3
(
const
char
*
,
const
char
*
,
SectionInfo
::
SectionType
);
FORALLPROTO3
(
uchar
,
uchar
,
uchar
);
...
...
src/rtfgen.cpp
View file @
4ccd672e
...
...
@@ -36,6 +36,7 @@
#include "rtfstyle.h"
#include "rtfdocvisitor.h"
#include "docparser.h"
#include "dirdef.h"
//#define DBG_RTF(x) x;
#define DBG_RTF(x)
...
...
@@ -388,6 +389,10 @@ void RTFGenerator::startIndexSection(IndexSections is)
//Module Index
beginRTFChapter
();
break
;
case
isDirIndex
:
//Directory Index
beginRTFChapter
();
break
;
case
isNamespaceIndex
:
//Namespace Index
beginRTFChapter
();
...
...
@@ -409,21 +414,6 @@ void RTFGenerator::startIndexSection(IndexSections is)
//Related Page Index
beginRTFChapter
();
break
;
//case isPackageDocumentation:
// {
// //Package Documentation
// PackageSDict::Iterator pdi(Doxygen::packageDict);
// PackageDef *pd=pdi.toFirst();
// bool found=FALSE;
// while (pd && !found)
// {
// beginRTFChapter();
// found=TRUE;
// ++pdi;
// pd=pdi.current();
// }
// }
// break;
case
isModuleDocumentation
:
{
//Module Documentation
...
...
@@ -440,6 +430,22 @@ void RTFGenerator::startIndexSection(IndexSections is)
}
}
break
;
case
isDirDocumentation
:
{
//Directory Documentation
SDict
<
DirDef
>::
Iterator
dli
(
Doxygen
::
directories
);
DirDef
*
dd
;
bool
found
=
FALSE
;
for
(
dli
.
toFirst
();(
dd
=
dli
.
current
())
&&
!
found
;
++
dli
)
{
if
(
dd
->
isLinkableInProject
())
{
beginRTFChapter
();
found
=
TRUE
;
}
}
}
break
;
case
isNamespaceDocumentation
:
{
// Namespace Documentation
...
...
@@ -609,6 +615,11 @@ void RTFGenerator::endIndexSection(IndexSections is)
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trModuleIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
modules.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
case
isDirIndex
:
t
<<
"
\\
par "
<<
rtf_Style_Reset
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trDirIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
dirs.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
case
isNamespaceIndex
:
t
<<
"
\\
par "
<<
rtf_Style_Reset
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trNamespaceIndex
()
<<
"}"
<<
endl
;
...
...
@@ -634,22 +645,6 @@ void RTFGenerator::endIndexSection(IndexSections is)
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trPageIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
pages.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
//case isPackageDocumentation:
// {
// PackageSDict::Iterator pdi(Doxygen::packageDict);
// PackageDef *pd=pdi.toFirst();
// t << "{\\tc \\v " << theTranslator->trPackageDocumentation() << "}"<< endl;
// while (pd)
// {
// t << "\\par " << rtf_Style_Reset << endl;
// t << "{\\field\\fldedit{\\*\\fldinst INCLUDETEXT \"";
// t << pd->getOutputFileBase();
// t << ".rtf\" \\\\*MERGEFORMAT}{\\fldrslt includedstuff}}\n";
// ++pdi;
// pd=pdi.current();
// }
// }
// break;
case
isModuleDocumentation
:
{
GroupSDict
::
Iterator
gli
(
Doxygen
::
groupSDict
);
...
...
@@ -667,6 +662,23 @@ void RTFGenerator::endIndexSection(IndexSections is)
}
}
break
;
case
isDirDocumentation
:
{
SDict
<
DirDef
>::
Iterator
dli
(
Doxygen
::
directories
);
DirDef
*
dd
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trDirDocumentation
()
<<
"}"
<<
endl
;
for
(
dli
.
toFirst
();(
dd
=
dli
.
current
());
++
dli
)
{
if
(
dd
->
isLinkableInProject
())
{
t
<<
"
\\
par "
<<
rtf_Style_Reset
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
dd
->
getOutputFileBase
();
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
}
}
}
break
;
case
isNamespaceDocumentation
:
{
NamespaceSDict
::
Iterator
nli
(
Doxygen
::
namespaceSDict
);
...
...
src/scanner.l
View file @
4ccd672e
...
...
@@ -4225,6 +4225,12 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
current->startLine = yyLineNr;
BEGIN( FileDocArg1 );
}
<Doc,LineDoc,JavaDoc>{B}*{CMD}"dir"{B}* {
current->section = Entry::DIRDOC_SEC;
current->fileName = yyFileName;
current->startLine = yyLineNr;
BEGIN( FileDocArg1 );
}
<Doc,JavaDoc>{B}*{CMD}"example"{B}+ {
current->section = Entry::EXAMPLE_SEC;
current->fileName = yyFileName;
...
...
@@ -5029,7 +5035,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
current_root->addSubEntry(current);
current = new Entry ;
initEntry();
BEGIN(
FindMembers
);
BEGIN(
lastDocContext
);
}
}
<PageDoc>"<"{TITLE}">" {
...
...
src/translator.h
View file @
4ccd672e
...
...
@@ -422,6 +422,17 @@ class Translator
virtual
QCString
trSourceFile
(
QCString
&
filename
)
=
0
;
//////////////////////////////////////////////////////////////////////////
// new since 1.3.9
//////////////////////////////////////////////////////////////////////////
virtual
QCString
trDirIndex
()
=
0
;
virtual
QCString
trDirDocumentation
()
=
0
;
virtual
QCString
trDirectories
()
=
0
;
virtual
QCString
trDirDescription
()
=
0
;
virtual
QCString
trDirReference
(
const
char
*
dirName
)
=
0
;
virtual
QCString
trDir
(
bool
first_capital
,
bool
singular
)
=
0
;
};
#endif
src/translator_adapter.h
View file @
4ccd672e
...
...
@@ -40,7 +40,27 @@ class TranslatorAdapterBase : public Translator
};
class
TranslatorAdapter_1_3_8
:
public
TranslatorAdapterBase
class
TranslatorAdapter_1_3_9
:
public
TranslatorAdapterBase
{
public
:
virtual
QCString
updateNeededMessage
()
{
return
createUpdateNeededMessage
(
idLanguage
(),
"release 1.3.9"
);
}
virtual
QCString
trDirIndex
()
{
return
english
.
trDirIndex
();
}
virtual
QCString
trDirDocumentation
()
{
return
english
.
trDirDocumentation
();
}
virtual
QCString
trDirectories
()
{
return
english
.
trDirectories
();
}
virtual
QCString
trDirDescription
()
{
return
english
.
trDirDescription
();
}
virtual
QCString
trDirReference
(
const
char
*
dirName
)
{
return
english
.
trDirReference
(
dirName
);
}
virtual
QCString
trDir
(
bool
first_capital
,
bool
singular
)
{
return
english
.
trDir
(
first_capital
,
singular
);
}
};
class
TranslatorAdapter_1_3_8
:
public
TranslatorAdapter_1_3_9
{
public
:
virtual
QCString
updateNeededMessage
()
...
...
src/translator_br.h
View file @
4ccd672e
...
...
@@ -32,7 +32,7 @@
#ifndef TRANSLATOR_BR_H
#define TRANSLATOR_BR_H
class
TranslatorBrazilian
:
public
Translator
class
TranslatorBrazilian
:
public
TranslatorAdapter_1_3_9
{
public
:
...
...
src/translator_cn.h
View file @
4ccd672e
...
...
@@ -24,7 +24,7 @@
*/
#define CN_SPC
class
TranslatorChinese
:
public
Translator
class
TranslatorChinese
:
public
Translator
Adapter_1_3_9
{
public
:
/*! Used for identification of the language. The identification
...
...
src/translator_cz.h
View file @
4ccd672e
...
...
@@ -149,7 +149,7 @@
// Windows version. The version which does not call the function is
// probably slightly faster.
class
TranslatorCzech
:
public
Translator
class
TranslatorCzech
:
public
Translator
Adapter_1_3_9
{
private
:
/*! The decode() inline assumes the source written in the
...
...
src/translator_de.h
View file @
4ccd672e
...
...
@@ -93,7 +93,7 @@
#ifndef TRANSLATOR_DE_H
#define TRANSLATOR_DE_H
class
TranslatorGerman
:
public
Translator
class
TranslatorGerman
:
public
Translator
Adapter_1_3_9
{
public
:
...
...
src/translator_dk.h
View file @
4ccd672e
...
...
@@ -72,7 +72,7 @@
#ifndef TRANSLATOR_DK_H
#define TRANSLATOR_DK_H
class
TranslatorDanish
:
public
Translator
class
TranslatorDanish
:
public
Translator
Adapter_1_3_9
{
public
:
...
...
src/translator_en.h
View file @
4ccd672e
...
...
@@ -18,27 +18,28 @@
#ifndef TRANSLATOR_EN_H
#define TRANSLATOR_EN_H
// When defining a translator class for the new language, follow
// the description in the documentation. One of the steps says
// that you should copy the translator_en.h (this) file to your
// translator_xx.h new file. Your new language should use the
// Translator class as the base class. This means that you need to
// implement exactly the same (pure virtual) methods as the
// TranslatorEnglish does. Because of this, it is a good idea to
// start with the copy of TranslatorEnglish and replace the strings
// one by one.
//
// It is not necessary to include "translator.h" or
// "translator_adapter.h" here. The files are included in the
// language.cpp correctly. Not including any of the mentioned
// files frees the maintainer from thinking about whether the
// first, the second, or both files should be included or not, and
// why. This holds namely for localized translators because their
// base class is changed occasionaly to adapter classes when the
// Translator class changes the interface, or back to the
// Translator class (by the local maintainer) when the localized
// translator is made up-to-date again.
/*!
When defining a translator class for the new language, follow
the description in the documentation. One of the steps says
that you should copy the translator_en.h (this) file to your
translator_xx.h new file. Your new language should use the
Translator class as the base class. This means that you need to
implement exactly the same (pure virtual) methods as the
TranslatorEnglish does. Because of this, it is a good idea to
start with the copy of TranslatorEnglish and replace the strings
one by one.
It is not necessary to include "translator.h" or
"translator_adapter.h" here. The files are included in the
language.cpp correctly. Not including any of the mentioned
files frees the maintainer from thinking about whether the
first, the second, or both files should be included or not, and
why. This holds namely for localized translators because their
base class is changed occasionaly to adapter classes when the
Translator class changes the interface, or back to the
Translator class (by the local maintainer) when the localized
translator is made up-to-date again.
*/
class
TranslatorEnglish
:
public
Translator
{
public
:
...
...
@@ -1555,6 +1556,27 @@ class TranslatorEnglish : public Translator
return
filename
+
" Source File"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3.9
//////////////////////////////////////////////////////////////////////////
virtual
QCString
trDirIndex
()
{
return
"Directories"
;
}
virtual
QCString
trDirDocumentation
()
{
return
"Directory Documentation"
;
}
virtual
QCString
trDirectories
()
{
return
"Directories"
;
}
virtual
QCString
trDirDescription
()
{
return
"Here is a list of all directories:"
;
}
virtual
QCString
trDirReference
(
const
char
*
dirName
)
{
QCString
result
=
dirName
;
result
+=
" Directory Reference"
;
return
result
;
}
virtual
QCString
trDir
(
bool
first_capital
,
bool
singular
)
{
QCString
result
((
first_capital
?
"Director"
:
"director"
));
if
(
singular
)
result
+=
"y"
;
else
result
+=
"ies"
;
return
result
;
}
};
#endif
src/translator_hr.h
View file @
4ccd672e
...
...
@@ -59,7 +59,7 @@
#ifndef TRANSLATOR_HR_H
#define TRANSLATOR_HR_H
class
TranslatorCroatian
:
public
Translator
class
TranslatorCroatian
:
public
Translator
Adapter_1_3_9
{
private
:
/*! to avoid macro redefinition from translator_cz.h */
...
...
src/translator_hu.h
View file @
4ccd672e
...
...
@@ -29,10 +29,7 @@
#ifndef TRANSLATOR_HU_H
#define TRANSLATOR_HU_H
#include "translator.h"
#include "../qtools/qdatetime.h"
class
TranslatorHungarian
:
public
TranslatorAdapter_1_3_8
class
TranslatorHungarian
:
public
TranslatorAdapter_1_3_9
{
private
:
const
char
*
zed
(
char
c
)
...
...
@@ -1518,6 +1515,17 @@ class TranslatorHungarian : public TranslatorAdapter_1_3_8
return
"Találatok:"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3.8
//////////////////////////////////////////////////////////////////////////
/*! This is used in HTML as the title of page with source code for file filename
*/
virtual
QCString
trSourceFile
(
QCString
&
filename
)
{
return
filename
+
" Forrásfájl"
;
}
};
#endif
src/translator_it.h
View file @
4ccd672e
...
...
@@ -71,7 +71,7 @@
#ifndef TRANSLATOR_IT_H
#define TRANSLATOR_IT_H
class
TranslatorItalian
:
public
Translator
class
TranslatorItalian
:
public
Translator
Adapter_1_3_9
{
public
:
...
...
src/translator_jp.h
View file @
4ccd672e
...
...
@@ -29,7 +29,7 @@
#ifndef TRANSLATOR_JP_H
#define TRANSLATOR_JP_H
class
TranslatorJapanese
:
public
Translator
class
TranslatorJapanese
:
public
Translator
Adapter_1_3_9
{
private
:
/*! The decode() can change euc into sjis */
...
...
src/translator_nl.h
View file @
4ccd672e
...
...
@@ -18,7 +18,7 @@
#ifndef TRANSLATOR_NL_H
#define TRANSLATOR_NL_H
class
TranslatorDutch
:
public
Translator
class
TranslatorDutch
:
public
Translator
Adapter_1_3_9
{
public
:
QCString
idLanguage
()
...
...
src/translator_no.h
View file @
4ccd672e
...
...
@@ -41,7 +41,7 @@
#ifndef TRANSLATOR_NO_H
#define TRANSLATOR_NO_H
class
TranslatorNorwegian
:
public
Translator
class
TranslatorNorwegian
:
public
Translator
Adapter_1_3_9
{
public
:
...
...
src/translator_pl.h
View file @
4ccd672e
...
...
@@ -13,14 +13,14 @@
* Documents produced by Doxygen are derivative works derived from the
* input used in their production; they are not affected by this license.
*
* Polish translation was updated to version 1.3 by
* Polish translation was updated to version 1.3
.8
by
* Piotr Kaminski (Piotr.Kaminski@ctm.gdynia.pl)
*/
#ifndef TRANSLATOR_PL_H
#define TRANSLATOR_PL_H
class
TranslatorPolish
:
public
TranslatorAdapter_1_3
class
TranslatorPolish
:
public
TranslatorAdapter_1_3
_9
{
private
:
/*! to avoid macro redefinition from translator_pl.h */
...
...
@@ -57,9 +57,6 @@ class TranslatorPolish : public TranslatorAdapter_1_3
{
return
"
\\
usepackage{polski}
\\
usepackage[latin2]{inputenc}
\\
usepackage[T1]{fontenc}"
;
}
/*! returns the name of the package that is included by LaTeX */
QCString
latexBabelPackage
()
{
return
"polish"
;
}
/*! return the language charset. This will be used for the HTML output */
virtual
QCString
idLanguageCharset
()
...
...
@@ -154,12 +151,6 @@ class TranslatorPolish : public TranslatorAdapter_1_3
/*! put after an undocumented member in the list of all members */
QCString
trDefinedIn
()
{
return
"zdefiniowana w"
;
}
/*! put as in introduction in the verbatim header file of a class.
* parameter f is the name of the include file.
*/
QCString
trVerbatimText
(
const
char
*
f
)
{
return
(
QCString
)
decode
(
"Tutaj znajduje siê zawarto¶æ pliku nag³ówkowego "
)
+
f
+
"."
;
}
// quick reference sections
...
...
@@ -472,10 +463,6 @@ class TranslatorPolish : public TranslatorAdapter_1_3
QCString
trEnumerationValues
()
{
return
decode
(
"Warto¶ci wyliczeñ"
);
}
/*! This is used in man pages as the author section. */
QCString
trAuthor
()
{
return
"Autor"
;
}
/*! This is used in the documentation of a file before the list of
* documentation blocks for defines
*/
...
...
@@ -533,12 +520,6 @@ class TranslatorPolish : public TranslatorAdapter_1_3
}
}
/*! This is used in the documentation of a group before the list of
* links to documented files
*/
QCString
trFiles
()
{
return
"Pliki"
;
}
/*! This is used in the standard footer of each page and indicates when
* the page was generated
*/
...
...
@@ -586,10 +567,6 @@ class TranslatorPolish : public TranslatorAdapter_1_3
QCString
trDate
()
{
return
"Data"
;
}
/*! this text is generated when the \\author command is used. */
QCString
trAuthors
()
{
return
"Autorzy"
;
}
/*! this text is generated when the \\return command is used. */
QCString
trReturns
()
{
return
"Zwraca"
;
}
...
...
@@ -1410,6 +1387,130 @@ class TranslatorPolish : public TranslatorAdapter_1_3
return
decode
(
"Dokumentacja zdarzeñ"
);
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3
//////////////////////////////////////////////////////////////////////////
/*! Used as a heading for a list of Java class types with package scope.
*/
virtual
QCString
trPackageTypes
()
{
return
"Typy pakietu"
;
}
/*! Used as a heading for a list of Java class functions with package
* scope.
*/
virtual
QCString
trPackageMembers
()
{
return
"Funkcje pakietu"
;
}
/*! Used as a heading for a list of static Java class functions with
* package scope.
*/
virtual
QCString
trStaticPackageMembers
()
{
return
"Statyczne funkcje pakietu"
;
}
/*! Used as a heading for a list of Java class variables with package
* scope.
*/
virtual
QCString
trPackageAttribs
()
{
return
"Atrybuty pakietu"
;
}
/*! Used as a heading for a list of static Java class variables with
* package scope.
*/
virtual
QCString
trStaticPackageAttribs
()
{
return
"Statyczne atrybuty pakietu"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3.1
//////////////////////////////////////////////////////////////////////////
/*! Used in the quick index of a class/file/namespace member list page
* to link to the unfiltered list of all members.
*/
virtual
QCString
trAll
()
{
return
"All"
;
}
/*! Put in front of the call graph for a function. */
virtual
QCString
trCallGraph
()
{
return
"Oto graf wywo³añ dla tej funkcji:"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3.3
//////////////////////////////////////////////////////////////////////////
/*! When the search engine is enabled this text is put in the header
* of each page before the field where one can enter the text to search
* for.
*/
virtual
QCString
trSearchForIndex
()
{
return
"Szukaj"
;
}
/*! This string is used as the title for the page listing the search
* results.
*/
virtual
QCString
trSearchResultsTitle
()
{
return
"Wyniki szukania"
;
}
/*! This string is put just before listing the search results. The
* text can be different depending on the number of documents found.
* Inside the text you can put the special marker $num to insert
* the number representing the actual number of search results.
* The @a numDocuments parameter can be either 0, 1 or 2, where the
* value 2 represents 2 or more matches. HTML markup is allowed inside
* the returned string.
*/
virtual
QCString
trSearchResults
(
int
numDocuments
)
{
if
(
numDocuments
==
0
)
{
return
"Niestety ¿aden dokument nie pasuje do twojego zapytania."
;
}
else
if
(
numDocuments
==
1
)
{
return
"Znaleziono <b>1</b> dokument pasuj±cy do twojego zapytania."
;
}
int
count
=
numDocuments
%
10
;
if
((
count
>=
2
)
&&
(
count
<=
4
))
{
return
"Znaleziono <b>$num</b> dokumenty pasuj±ce do twojego zapytania. "
"Najlepiej pasuj±ce dokumenty wy¶wietlane s± na pocz±tku listy."
;
}
else
{
return
"Znaleziono <b>$num</b> dokumentów pasuj±cych do twojego zapytania. "
"Najlepiej pasuj±ce dokumenty wy¶wietlane s± na pocz±tku listy."
;
}
}
/*! This string is put before the list of matched words, for each search
* result. What follows is the list of words that matched the query.
*/
virtual
QCString
trSearchMatches
()
{
return
"Pasuj±ce s³owa:"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3.8
//////////////////////////////////////////////////////////////////////////
/*! This is used in HTML as the title of page with source code for file filename
*/
virtual
QCString
trSourceFile
(
QCString
&
filename
)
{
return
"Plik ¼ród³owy "
+
filename
;
}
};
...
...
src/translator_ru.h
View file @
4ccd672e
...
...
@@ -49,7 +49,7 @@
#ifndef TRANSLATOR_RU_H
#define TRANSLATOR_RU_H
class
TranslatorRussian
:
public
Translator
class
TranslatorRussian
:
public
Translator
Adapter_1_3_9
{
private
:
/*! The Decode() inline assumes the source written in the
...
...
src/translator_za.h
View file @
4ccd672e
...
...
@@ -26,7 +26,7 @@
#ifndef TRANSLATOR_ZA_H
#define TRANSLATOR_ZA_H
class
TranslatorAfrikaans
:
public
Translator
class
TranslatorAfrikaans
:
public
Translator
Adapter_1_3_9
{
public
:
...
...
src/xmlgen.cpp
View file @
4ccd672e
...
...
@@ -1467,6 +1467,61 @@ static void generateXMLForGroup(GroupDef *gd,QTextStream &ti)
ti
<<
" </compound>"
<<
endl
;
}
static
void
generateXMLForDir
(
DirDef
*
dd
,
QTextStream
&
ti
)
{
if
(
dd
->
isReference
())
return
;
// skip external references
ti
<<
" <compound refid=
\"
"
<<
dd
->
getOutputFileBase
()
<<
"
\"
kind=
\"
dir
\"
><name>"
<<
convertToXML
(
dd
->
displayName
())
<<
"</name>"
<<
endl
;
QCString
outputDirectory
=
Config_getString
(
"XML_OUTPUT"
);
QCString
fileName
=
outputDirectory
+
"/"
+
dd
->
getOutputFileBase
()
+
".xml"
;
QFile
f
(
fileName
);
if
(
!
f
.
open
(
IO_WriteOnly
))
{
err
(
"Cannot open file %s for writing!
\n
"
,
fileName
.
data
());
return
;
}
QTextStream
t
(
&
f
);
t
.
setEncoding
(
QTextStream
::
Latin1
);
writeXMLHeader
(
t
);
t
<<
" <compounddef id=
\"
"
<<
dd
->
getOutputFileBase
()
<<
"
\"
kind=
\"
dir
\"
>"
<<
endl
;
t
<<
" <compoundname>"
<<
convertToXML
(
dd
->
displayName
())
<<
"</compoundname>"
<<
endl
;
QListIterator
<
DirDef
>
subdirs
(
dd
->
subDirs
());
DirDef
*
subdir
;
for
(
subdirs
.
toFirst
();(
subdir
=
subdirs
.
current
());
++
subdirs
)
{
t
<<
" <innerdir refid=
\"
"
<<
subdir
->
getOutputFileBase
()
<<
"
\"
>"
<<
convertToXML
(
subdir
->
displayName
())
<<
"</innerdir>"
<<
endl
;
}
FileList
*
fl
=
dd
->
getFiles
();
if
(
fl
)
{
QListIterator
<
FileDef
>
fli
(
*
fl
);
FileDef
*
fd
=
fl
->
first
();
for
(
fli
.
toFirst
();(
fd
=
fli
.
current
());
++
fli
)
{
t
<<
" <innerfile refid=
\"
"
<<
fd
->
getOutputFileBase
()
<<
"
\"
>"
<<
convertToXML
(
fd
->
name
())
<<
"</innerfile>"
<<
endl
;
}
}
t
<<
" <briefdescription>"
<<
endl
;
writeXMLDocBlock
(
t
,
dd
->
briefFile
(),
dd
->
briefLine
(),
dd
,
0
,
dd
->
briefDescription
());
t
<<
" </briefdescription>"
<<
endl
;
t
<<
" <detaileddescription>"
<<
endl
;
writeXMLDocBlock
(
t
,
dd
->
docFile
(),
dd
->
docLine
(),
dd
,
0
,
dd
->
documentation
());
t
<<
" </detaileddescription>"
<<
endl
;
t
<<
" <location file=
\"
"
<<
dd
->
name
()
<<
"
\"
/>"
<<
endl
;
t
<<
" </compounddef>"
<<
endl
;
t
<<
"</doxygen>"
<<
endl
;
ti
<<
" </compound>"
<<
endl
;
}
static
void
generateXMLForPage
(
PageDef
*
pd
,
QTextStream
&
ti
,
bool
isExample
)
{
// + name
...
...
@@ -1534,7 +1589,6 @@ void generateXML()
// + classes
// + namespaces
// + files
// - packages
// + groups
// + related pages
// - examples
...
...
@@ -1668,6 +1722,15 @@ void generateXML()
generateXMLForPage
(
pd
,
t
,
FALSE
);
}
}
{
DirDef
*
dir
;
DirSDict
::
Iterator
sdi
(
Doxygen
::
directories
);
for
(
sdi
.
toFirst
();(
dir
=
sdi
.
current
());
++
sdi
)
{
msg
(
"Generate XML output for dir %s
\n
"
,
dir
->
name
().
data
());
generateXMLForDir
(
dir
,
t
);
}
}
{
PageSDict
::
Iterator
pdi
(
*
Doxygen
::
exampleSDict
);
PageDef
*
pd
=
0
;
...
...
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