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
ba755dd4
Commit
ba755dd4
authored
Feb 25, 2001
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.2.5-20010225
parent
d2707001
Changes
48
Show whitespace changes
Inline
Side-by-side
Showing
48 changed files
with
1656 additions
and
615 deletions
+1656
-615
Doxyfile
Doxyfile
+1
-1
INSTALL
INSTALL
+2
-2
Makefile.in
Makefile.in
+16
-14
README
README
+2
-2
VERSION
VERSION
+1
-1
config_templ.h
addon/configgen/config_templ.h
+5
-0
configgen.cpp
addon/configgen/configgen.cpp
+34
-1
commands.doc
doc/commands.doc
+6
-2
config.doc
doc/config.doc
+42
-0
faq.doc
doc/faq.doc
+28
-10
index.doc
doc/index.doc
+3
-0
language.doc
doc/language.doc
+4
-4
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
classdef.cpp
src/classdef.cpp
+62
-53
code.h
src/code.h
+2
-0
code.l
src/code.l
+27
-3
config.h
src/config.h
+122
-113
config.l
src/config.l
+60
-1
definition.cpp
src/definition.cpp
+2
-0
definition.h
src/definition.h
+6
-3
doc.l
src/doc.l
+24
-0
doxygen.cpp
src/doxygen.cpp
+107
-53
doxygen.pro.in
src/doxygen.pro.in
+1
-1
entry.cpp
src/entry.cpp
+2
-0
entry.h
src/entry.h
+36
-7
ftvhelp.cpp
src/ftvhelp.cpp
+5
-1
groupdef.cpp
src/groupdef.cpp
+3
-3
htmlgen.cpp
src/htmlgen.cpp
+10
-3
htmlhelp.cpp
src/htmlhelp.cpp
+9
-2
index.cpp
src/index.cpp
+176
-71
language.cpp
src/language.cpp
+4
-0
libdoxygen.pro.in
src/libdoxygen.pro.in
+1
-1
mangen.cpp
src/mangen.cpp
+7
-1
mangen.h
src/mangen.h
+1
-1
memberdef.cpp
src/memberdef.cpp
+11
-1
membername.h
src/membername.h
+7
-6
page.h
src/page.h
+1
-0
reflist.cpp
src/reflist.cpp
+5
-4
reflist.h
src/reflist.h
+1
-0
scanner.l
src/scanner.l
+96
-28
translator.h
src/translator.h
+16
-0
translator_it.h
src/translator_it.h
+45
-0
translator_jp.h
src/translator_jp.h
+253
-9
translator_nl.h
src/translator_nl.h
+70
-9
translator_ru.h
src/translator_ru.h
+274
-178
treeview.h
src/treeview.h
+27
-8
treeview.js
src/treeview.js
+27
-8
util.cpp
src/util.cpp
+11
-9
No files found.
Doxyfile
View file @
ba755dd4
...
...
@@ -100,7 +100,7 @@ HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW =
YES
GENERATE_TREEVIEW =
NO
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
...
...
INSTALL
View file @
ba755dd4
DOXYGEN Version 1.2.5-200102
11
DOXYGEN Version 1.2.5-200102
25
Please read the installation section of the manual for instructions.
--------
Dimitri van Heesch (
11
February 2001)
Dimitri van Heesch (
25
February 2001)
Makefile.in
View file @
ba755dd4
DOCDIR
=
$(INSTALL)
/share/doc/packages/doxygen
#all: src/version.cpp configgen doxywizard
# cd qtools ; $(MAKE)
...
...
@@ -45,25 +46,26 @@ distclean: clean
-
rm
-f
addon/xmlgen/Makefile addon/xmlgen/Makefile.xmlgen
-
rm
-f
addon/xmlgen/
*
.o
install
:
doxywizard_install
$(INSTTOOL)
-d
$(INSTALL)
/bin
$(INSTTOOL)
-d
$(
INSTALL)
/doc/doxygen
$(INSTTOOL)
-d
$(
DOCDIR)
$(INSTTOOL)
-m
755 bin/doxygen
$(INSTALL)
/bin
$(INSTTOOL)
-m
755 bin/doxytag
$(INSTALL)
/bin
$(INSTTOOL)
-m
755 bin/doxysearch
$(INSTALL)
/bin
cp
-r
doc
$(
INSTALL)
/doc/doxygen
cp
-r
examples
$(
INSTALL)
/doc/doxygen
echo
"DOXYGEN =
$(INSTALL)
"
>
$(
INSTALL)
/doc/doxygen
/doc/Makefile
echo
"DOXYDOCS = .."
>>
$(
INSTALL)
/doc/doxygen
/doc/Makefile
echo
"VERSION =
$(VERSION)
"
>>
$(
INSTALL)
/doc/doxygen
/doc/Makefile
cat
doc/Makefile.in
>>
$(
INSTALL)
/doc/doxygen
/doc/Makefile
cd
$(
INSTALL)
/doc/doxygen
/examples
;
$(MAKE)
cd
$(
INSTALL)
/doc/doxygen
/doc
;
$(MAKE)
rm
-rf
$(
INSTALL)
/doc/doxygen
/doc
cd
$(
INSTALL)
/doc/doxygen
/latex
;
$(MAKE)
cp
$(
INSTALL)
/doc/doxygen
/latex/doxygen_manual.pdf
$(INSTALL)
/doc/doxygen
cp
$(
INSTALL)
/doc/doxygen
/latex/doxygen_manual.ps
$(INSTALL)
/doc/doxygen
rm
-rf
$(
INSTALL)
/doc/doxygen
/latex
cp
-r
doc
$(
DOCDIR)
cp
-r
examples
$(
DOCDIR)
echo
"DOXYGEN =
$(INSTALL)
"
>
$(
DOCDIR)
/doc/Makefile
echo
"DOXYDOCS = .."
>>
$(
DOCDIR)
/doc/Makefile
echo
"VERSION =
$(VERSION)
"
>>
$(
DOCDIR)
/doc/Makefile
cat
doc/Makefile.in
>>
$(
DOCDIR)
/doc/Makefile
cd
$(
DOCDIR)
/examples
;
$(MAKE)
cd
$(
DOCDIR)
/doc
;
$(MAKE)
rm
-rf
$(
DOCDIR)
/doc
cd
$(
DOCDIR)
/latex
;
$(MAKE)
cp
$(
DOCDIR)
/latex/doxygen_manual.pdf
$(INSTALL)
/doc/doxygen
cp
$(
DOCDIR)
/latex/doxygen_manual.ps
$(INSTALL)
/doc/doxygen
rm
-rf
$(
DOCDIR)
/latex
docs
:
FORCE
cd
examples
;
$(MAKE)
...
...
README
View file @
ba755dd4
DOXYGEN Version 1.2.5-200102
11
DOXYGEN Version 1.2.5-200102
25
Please read INSTALL for compilation instructions.
...
...
@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
Enjoy,
Dimitri van Heesch (
11
February 2001)
Dimitri van Heesch (
25
February 2001)
VERSION
View file @
ba755dd4
1.2.5-200102
11
1.2.5-200102
25
addon/configgen/config_templ.h
View file @
ba755dd4
...
...
@@ -27,6 +27,11 @@ extern void checkConfig();
extern
void
configStrToVal
();
extern
void
substituteEnvironmentVars
();
/*! \brief Namespace for configuration variables
*
* This struct acts as a namespace that holds the global static variables
* read from a user-supplied configuration file.
*/
struct
Config
{
static
void
init
();
...
...
addon/configgen/configgen.cpp
View file @
ba755dd4
...
...
@@ -93,7 +93,7 @@ class ConfigOption
virtual
void
printHeader
(
QTextStream
&
t
)
{
t
<<
" static "
<<
type
<<
" "
<<
varName
<<
"; /
/ "
<<
shortDesc
<<
endl
;
<<
"; /
*!< "
<<
shortDesc
<<
" */"
<<
endl
;
}
virtual
void
printStatic
(
QTextStream
&
)
{}
virtual
void
printConfig
(
QTextStream
&
t
)
...
...
@@ -1035,6 +1035,14 @@ void init()
"disable (NO) the test list. This list is created by putting
\\
test
\n
"
"commands in the documentation.
\n
"
);
ConfigBool
::
add
(
"generateBugList"
,
"GENERATE_BUGLIST"
,
"TRUE"
,
"do we want a bug list?"
,
"The GENERATE_BUGLIST tag can be used to enable (YES) or
\n
"
"disable (NO) the bug list. This list is created by putting
\\
bug
\n
"
"commands in the documentation.
\n
"
);
ConfigList
::
add
(
"aliasList"
,
"ALIASES"
,
""
,
...
...
@@ -1068,6 +1076,14 @@ void init()
"For instance some of the names that are used will be different. The list
\n
"
"of all members will be omitted, etc.
\n
"
);
ConfigBool
::
add
(
"showUsedFilesFlag"
,
"SHOW_USED_FILES"
,
"TRUE"
,
"do we show the list of used files for classes and structs?"
,
"Set the SHOW_USED_FILES tag to NO to disable the list of files generated
\n
"
"at the bottom of the documentation of classes and structs. If set to YES the
\n
"
"list will mention the files that were used to generate the documentation.
\n
"
);
//-----------------------------------------------------------------------------------------------
ConfigInfo
::
add
(
"Messages"
,
"configuration options related to warning and progress messages"
);
//-----------------------------------------------------------------------------------------------
...
...
@@ -1315,6 +1331,23 @@ void init()
"it should be included in the master .chm file (NO).
\n
"
);
addDependency
(
"htmlHelpChiFlag"
,
"generateHtml"
);
ConfigBool
::
add
(
"htmlHelpTocFlag"
,
"BINARY_TOC"
,
"FALSE"
,
"should a binary table of contents be generated?"
,
"If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
\n
"
"controls whether a binary table of contents is generated (YES) or a
\n
"
"normal table of contents (NO) in the .chm file.
\n
"
);
addDependency
(
"htmlHelpTocFlag"
,
"generateHtml"
);
ConfigBool
::
add
(
"htmlHelpTocExpandFlag"
,
"TOC_EXPAND"
,
"FALSE"
,
"should module elements be displayed in the table of contents?"
,
"The TOC_EXPAND flag can be set YES to add extra items for group members
\n
"
"to the contents of the Html help documentation and to the tree view.
\n
"
);
addDependency
(
"htmlHelpTocExpandFlag"
,
"generateHtml"
);
ConfigBool
::
add
(
"noIndexFlag"
,
"DISABLE_INDEX"
,
"FALSE"
,
...
...
doc/commands.doc
View file @
ba755dd4
...
...
@@ -280,8 +280,12 @@ Doxygen. Unrecognized commands are treated as normal text.
\addindex \fn
Indicates that a comment block contains documentation for a function
(either global or as a member of a class). This command is needed if a
comment block is \e not located before the function declaration
or definition. A full function declaration should be specified after the
comment block is \e not placed in front of the function declaration
or definition. If your comment block \e is in front of the function
declaration or definition this command can (and to avoid redundancy
should) be ommitted.
A full function declaration should be specified after the
\\fn command. The argument ends at the end of the line.
\par Example:
...
...
doc/config.doc
View file @
ba755dd4
...
...
@@ -71,6 +71,7 @@ followed by the descriptions of the tags grouped by category.
<
li
>
\
refitem
cfg_alphabetical_index
ALPHABETICAL_INDEX
<
li
>
\
refitem
cfg_always_detailed_sec
ALWAYS_DETAILED_SEC
<
li
>
\
refitem
cfg_bin_abspath
BIN_ABSPATH
<
li
>
\
refitem
cfg_binary_toc
BINARY_TOC
<
li
>
\
refitem
cfg_brief_member_desc
BRIEF_MEMBER_DESC
<
li
>
\
refitem
cfg_case_sense_names
CASE_SENSE_NAMES
<
li
>
\
refitem
cfg_cgi_name
CGI_NAME
...
...
@@ -93,6 +94,7 @@ followed by the descriptions of the tags grouped by category.
<
li
>
\
refitem
cfg_example_patterns
EXAMPLE_PATTERNS
<
li
>
\
refitem
cfg_exclude
EXCLUDE
<
li
>
\
refitem
cfg_exclude_patterns
EXCLUDE_PATTERNS
<
li
>
\
refitem
cfg_expand_as_defined
EXPAND_AS_PREDEFINED
<
li
>
\
refitem
cfg_expand_only_predef
EXPAND_ONLY_PREDEF
<
li
>
\
refitem
cfg_ext_doc_paths
EXT_DOC_PATHS
<
li
>
\
refitem
cfg_extra_packages
EXTRA_PACKAGES
...
...
@@ -100,7 +102,10 @@ followed by the descriptions of the tags grouped by category.
<
li
>
\
refitem
cfg_extract_private
EXTRACT_PRIVATE
<
li
>
\
refitem
cfg_extract_static
EXTRACT_STATIC
<
li
>
\
refitem
cfg_file_patterns
FILE_PATTERNS
<
li
>
\
refitem
cfg_filter_source_files
FILTER_SOURCE_FILES
<
li
>
\
refitem
cfg_full_path_names
FULL_PATH_NAMES
<
li
>
\
refitem
cfg_generate_buglist
GENERATE_BUGLIST
<
li
>
\
refitem
cfg_generate_chi
GENERATE_CHI
<
li
>
\
refitem
cfg_generate_html
GENERATE_HTML
<
li
>
\
refitem
cfg_generate_htmlhelp
GENERATE_HTMLHELP
<
li
>
\
refitem
cfg_generate_latex
GENERATE_LATEX
...
...
@@ -159,12 +164,14 @@ followed by the descriptions of the tags grouped by category.
<
li
>
\
refitem
cfg_search_includes
SEARCH_INCLUDES
<
li
>
\
refitem
cfg_searchengine
SEARCHENGINE
<
li
>
\
refitem
cfg_show_include_files
SHOW_INCLUDE_FILES
<
li
>
\
refitem
cfg_show_used_files
SHOW_USED_FILES
<
li
>
\
refitem
cfg_sort_member_docs
SORT_MEMBER_DOCS
<
li
>
\
refitem
cfg_source_browser
SOURCE_BROWSER
<
li
>
\
refitem
cfg_strip_code_comments
STRIP_CODE_COMMENTS
<
li
>
\
refitem
cfg_strip_from_path
STRIP_FROM_PATH
<
li
>
\
refitem
cfg_tab_size
TAB_SIZE
<
li
>
\
refitem
cfg_tagfiles
TAGFILES
<
li
>
\
refitem
cfg_toc_expand
TOC_EXPAND
<
li
>
\
refitem
cfg_treeview_width
TREEVIEW_WIDTH
<
li
>
\
refitem
cfg_verbatim_headers
VERBATIM_HEADERS
<
li
>
\
refitem
cfg_warn_format
WARN_FORMAT
...
...
@@ -430,6 +437,13 @@ followed by the descriptions of the tags grouped by category.
disable
(
NO
)
the
test
list
.
This
list
is
created
by
putting
\
ref
cmdtest
"
\\
test"
commands
in
the
documentation
.
\
anchor
cfg_generate_buglist
<
dt
>\
c
GENERATE_BUGLIST
<
dd
>
\
addindex
GENERATE_BUGLIST
The
GENERATE_BUGLIST
tag
can
be
used
to
enable
(
YES
)
or
disable
(
NO
)
the
bug
list
.
This
list
is
created
by
putting
\
ref
cmdbug
"
\\
bug"
commands
in
the
documentation
.
\
anchor
cfg_aliases
<
dt
>\
c
ALIASES
<
dd
>
\
addindex
ALIASES
...
...
@@ -465,6 +479,13 @@ followed by the descriptions of the tags grouped by category.
for C. For instance some of the names that are used will be different.
The list of all members will be omitted, etc.
\anchor cfg_show_used_files
<dt>\c SHOW_USED_FILES <dd>
\addindex SHOW_USED_FILES
Set the \c SHOW_USED_FILES tag to \c NO to disable the list of files generated
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.
</dl>
\subsection messages_input Options related to warning and progress messages
...
...
@@ -744,6 +765,27 @@ followed by the descriptions of the tags grouped by category.
(
which
basically
renders
\
c
doxysearch
obsolete
on
Windows
).
The
HTML
workshop
also
contains
a
viewer
for
compressed
HTML
files
.
\
anchor
cfg_generate_chi
<
dt
>\
c
GENERATE_CHI
<
dd
>
\
addindex
GENERATE_CHI
If
the
\
c
GENERATE_HTMLHELP
tag
is
set
to
\
c
YES
,
the
\
c
GENERATE_CHI
flag
controls
if
a
separate
.
chi
index
file
is
generated
(<
code
>
YES
</
code
>)
or
that
it
should
be
included
in
the
master
.
chm
file
(<
code
>
NO
</
code
>).
\
anchor
cfg_binary_toc
<
dt
>\
c
BINARY_TOC
<
dd
>
\
addindex
BINARY_TOC
If
the
\
c
GENERATE_HTMLHELP
tag
is
set
to
\
c
YES
,
the
\
c
BINARY_TOC
flag
controls
whether
a
binary
table
of
contents
is
generated
(<
code
>
YES
</
code
>)
or
a
normal
table
of
contents
(<
code
>
NO
</
code
>)
in
the
.
chm
file
.
\
anchor
cfg_toc_expand
<
dt
>\
c
TOC_EXPAND
<
dd
>
\
addindex
TOC_EXPAND
The
\
c
TOC_EXPAND
flag
can
be
set
YES
to
add
extra
items
for
group
members
to
the
table
of
contents
of
the
Html
help
documentation
and
to
the
tree
view
.
\
anchor
cfg_disable_index
<
dt
>\
c
DISABLE_INDEX
<
dd
>
\
addindex
DISABLE_INDEX
...
...
doc/faq.doc
View file @
ba755dd4
...
...
@@ -35,6 +35,33 @@ You should use the \\mainpage command inside a comment block like this:
*/
\endverbatim
<li><b>Help, some/all of the members of my class / file / namespace
are not documented?</b>
Check the following:
<ol>
<li>Is your class / file / namespace documented? If not, it will not
be extracted from the sources unless \c EXTRACT_ALL is set to \c YES
in the config file.
<li>Are the members private? If so, you must set \c EXTRACT_PRIVATE to \c YES
to make them appear in the documentation.
<li>Is there a function macro in your class that does not end with a
semicolon (e.g. MY_MACRO())? If so then you have to instruct
doxygen's preprocessor to remove it.
This typically boils down to the following settings in the config file:
\verbatim
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
PREDEFINED = MY_MACRO()=
\endverbatim
Please read the \ref preprocessing "preprocessing" section of the
manual for more information.
</ol>
<li><b>When I set EXTRACT_ALL to NO non of my functions are shown in the documentation.</b></li>
In order for global functions, variables, enums, typedefs, and defines
...
...
@@ -64,10 +91,6 @@ around the blocks that should be hidden and put:
in the config file then all blocks should be skipped by Doxygen as long
as <code>PREPROCESSING = YES</code>.
<li><b>How can I make doxygen ignore nasty macro's? </b>
Look at section \ref preprocessing for the answer.
<li><b>How can I change what's after the <code>\#include</code> in the class documentation?</b>
You can document your class like
...
...
@@ -145,15 +168,10 @@ The most important reason is too have a platform abstraction for most
Unices and Windows by means of the QFile, QFileInfo, QDir, QDate,
QTime and QIODevice classes.
Another reason is for the nice and bug free utility classes, like QList,
QDict, QString, QArray, QTextStream, QRegExp etc.
QDict, QString, QArray, QTextStream, QRegExp
, QXML
etc.
The GUI front-end doxywizard uses Qt for... well... the GUI!
<li><b>Can I use doxygen on my Java code?</b>
No, at the moment there is no support for Java. I suggest to
use Sun's JavaDoc instead.
<li><b>How can I exclude all test directories from my directory tree?</b>
Simply put an exclude pattern like this in the configuration file:
...
...
doc/index.doc
View file @
ba755dd4
...
...
@@ -172,6 +172,9 @@ Thanks go to:
Boris Bralo, Nickolay Semyonov, Richard Kim, Földvári György,
Grzegorz Kowal, and Wang Weihan
for providing translations into various languages.
<li>The Comms group of <a href="http://www.symbian.com">Symbian</a> for donating
me an ultra cool <a href="http://www.psion.com/revoplus>Revo plus</a>
organizer!
<li>many, many others for suggestions, patches and bug reports.
</ul>
*/
...
...
doc/language.doc
View file @
ba755dd4
...
...
@@ -148,11 +148,11 @@ Here is a list of the languages and their current maintainers:
Russian
</TD>
<TD>
Nickolay Semyon
ov
Andrey V. Stolyar
ov
</TD>
<TD>
<a href="mailto:
snob@NOSPAM.int.spb.ru
">
snob@NOSPAM.int.spb.ru
</a>
<a href="mailto:
crocodil@NOSPAM.croco.net
">
crocodil@NOSPAM.croco.net
</a>
</TD>
</TR>
<TR BGCOLOR="#ffffff">
...
...
@@ -246,7 +246,7 @@ Here is a list of the languages and their current maintainers:
\hline
Finnish & Olli Korhonen & {\tt Olli.Korhonen@ccc.fi} \\
\hline
Russian &
Nickolay Semyonov & {\tt snob@int.spb.ru
} \\
Russian &
Andrey V. Stolyarov & {\tt crocodil@croco.net
} \\
\hline
Korean & Richard Kim & {\tt ryk@dspwiz.com} \\
\hline
...
...
packages/rpm/doxygen.spec
View file @
ba755dd4
Name: doxygen
Version: 1.2.5-200102
11
Version: 1.2.5-200102
25
Summary: documentation system for C, C++ and IDL
Release: 1
Source0: doxygen-%{version}.src.tar.gz
...
...
src/classdef.cpp
View file @
ba755dd4
...
...
@@ -472,7 +472,8 @@ void ClassDef::insertMember(MemberDef *md)
}
MemberInfo
*
mi
=
new
MemberInfo
((
MemberDef
*
)
md
,
Public
,
Normal
);
MemberInfo
*
mi
=
new
MemberInfo
((
MemberDef
*
)
md
,
md
->
protection
(),
md
->
virtualness
(),
FALSE
);
MemberNameInfo
*
mni
=
0
;
if
((
mni
=
(
*
allMemberNameInfoDict
)[
md
->
name
()]))
{
...
...
@@ -1112,6 +1113,9 @@ void ClassDef::writeDocumentation(OutputList &ol)
// write the list of used files (not for man pages)
ol
.
pushGeneratorState
();
if
(
Config
::
showUsedFilesFlag
)
{
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
writeRuler
();
parseText
(
ol
,
theTranslator
->
trGeneratedFromFiles
(
compType
,
files
.
count
()
==
1
));
...
...
@@ -1154,6 +1158,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
file
=
files
.
next
();
}
if
(
!
first
)
ol
.
endItemList
();
}
// write Author section (Man only)
ol
.
enable
(
OutputGenerator
::
Man
);
...
...
@@ -1204,14 +1209,18 @@ void ClassDef::writeMemberList(OutputList &ol)
ClassDef
*
cd
=
md
->
getClassDef
();
// compute the protection level for this member
Protection
prot
ect
=
md
->
protection
();
if
(
mi
->
prot
==
Protected
)
// inherited protection
Protection
prot
=
md
->
protection
();
if
(
mi
->
prot
==
Protected
)
// inherited protection
: Protected
{
if
(
protect
==
Public
)
protect
=
Protected
;
if
(
prot
==
Public
)
prot
=
Protected
;
}
else
if
(
mi
->
prot
==
Private
)
// inherited protection: Private
{
prot
=
Private
;
}
//printf("
Member %s of class %s mi->prot=%d prot
=%d\n",
//
md->name().data(),cd->name().data(),mi->prot,protect
);
//printf("
%s: Member %s of class %s md->protection()=%d mi->prot=%d prot=%d inherited
=%d\n",
//
name().data(),md->name().data(),cd->name().data(),md->protection(),mi->prot,prot,mi->inherited
);
Specifier
virt
=
md
->
virtualness
();
MemberDef
*
rmd
=
md
->
reimplements
();
...
...
@@ -1224,7 +1233,9 @@ void ClassDef::writeMemberList(OutputList &ol)
if
(
cd
&&
!
md
->
name
().
isEmpty
()
&&
md
->
name
()[
0
]
!=
'@'
&&
(
md
->
isFriend
()
||
(
mi
->
prot
!=
Private
&&
(
protect
!=
Private
||
Config
::
extractPrivateFlag
))
(
/*mi->prot!=Private &&*/
(
prot
!=
Private
||
Config
::
extractPrivateFlag
)
)
)
)
{
...
...
@@ -1280,7 +1291,7 @@ void ClassDef::writeMemberList(OutputList &ol)
ol
.
writeString
(
")"
);
memberWritten
=
TRUE
;
}
if
((
prot
ect
!=
Public
||
virt
!=
Normal
||
if
((
prot
!=
Public
||
virt
!=
Normal
||
md
->
isFriend
()
||
md
->
isRelated
()
||
md
->
isExplicit
()
||
md
->
isMutable
()
||
(
md
->
isInline
()
&&
Config
::
inlineInfoFlag
)
||
md
->
isSignal
()
||
md
->
isSlot
()
||
...
...
@@ -1299,8 +1310,8 @@ void ClassDef::writeMemberList(OutputList &ol)
sl
.
append
(
"inline"
);
if
(
md
->
isExplicit
())
sl
.
append
(
"explicit"
);
if
(
md
->
isMutable
())
sl
.
append
(
"mutable"
);
if
(
prot
ect
==
Protected
)
sl
.
append
(
"protected"
);
else
if
(
prot
ect
==
Private
)
sl
.
append
(
"private"
);
if
(
prot
==
Protected
)
sl
.
append
(
"protected"
);
else
if
(
prot
==
Private
)
sl
.
append
(
"private"
);
if
(
virt
==
Virtual
)
sl
.
append
(
"virtual"
);
else
if
(
virt
==
Pure
)
sl
.
append
(
"pure virtual"
);
if
(
md
->
isStatic
())
sl
.
append
(
"static"
);
...
...
@@ -1500,11 +1511,9 @@ void ClassDef::mergeMembers()
for
(
;
(
bcd
=
bcli
.
current
())
;
++
bcli
)
{
ClassDef
*
bClass
=
bcd
->
classDef
;
// merge the members of bClass with the onces from cd
// merge the members in the base class of this inheritance branch first
bClass
->
mergeMembers
();
// the all member list of the branch until bClass is now complete
// so we can merge it with cd
MemberNameInfoList
*
srcMnl
=
bClass
->
memberNameInfoList
();
MemberNameInfoDict
*
dstMnd
=
memberNameInfoDict
();
...
...
@@ -1602,7 +1611,7 @@ void ClassDef::mergeMembers()
{
Specifier
virt
=
srcMi
->
virt
;
if
(
srcMi
->
virt
==
Normal
&&
bcd
->
virt
!=
Normal
)
virt
=
bcd
->
virt
;
MemberInfo
*
newMi
=
new
MemberInfo
(
srcMd
,
bcd
->
prot
,
virt
);
MemberInfo
*
newMi
=
new
MemberInfo
(
srcMd
,
bcd
->
prot
,
virt
,
TRUE
);
newMi
->
scopePath
=
bClass
->
name
()
+
"::"
+
srcMi
->
scopePath
;
if
(
ambigue
)
{
...
...
@@ -1645,7 +1654,7 @@ void ClassDef::mergeMembers()
MemberInfo
*
mi
;
for
(;(
mi
=
mnii
.
current
());
++
mnii
)
{
Protection
prot
=
mi
->
memberDef
->
protection
()
;
Protection
prot
=
mi
->
prot
;
if
(
bcd
->
prot
==
Protected
)
{
if
(
prot
==
Public
)
prot
=
Protected
;
...
...
@@ -1655,15 +1664,15 @@ void ClassDef::mergeMembers()
prot
=
Private
;
}
//printf("%s::%s: prot=%d bcd->prot=%d result=%d\n",
// name().data(),mi->memberDef->name().data(),mi->
memberDef->protection()
,
// name().data(),mi->memberDef->name().data(),mi->
prot
,
// bcd->prot,prot);
if
(
prot
!=
Private
)
if
(
mi
->
prot
!=
Private
)
{
Specifier
virt
=
mi
->
virt
;
if
(
mi
->
virt
==
Normal
&&
bcd
->
virt
!=
Normal
)
virt
=
bcd
->
virt
;
MemberInfo
*
newMi
=
new
MemberInfo
(
mi
->
memberDef
,
prot
,
virt
);
MemberInfo
*
newMi
=
new
MemberInfo
(
mi
->
memberDef
,
prot
,
virt
,
TRUE
);
newMi
->
scopePath
=
bClass
->
name
()
+
"::"
+
mi
->
scopePath
;
newMi
->
ambigClass
=
mi
->
ambigClass
;
newMi
->
ambiguityResolutionScope
=
mi
->
ambiguityResolutionScope
.
copy
();
...
...
src/code.h
View file @
ba755dd4
...
...
@@ -23,9 +23,11 @@
class
OutputDocInterface
;
class
FileDef
;
class
MemberDef
;
extern
void
parseCode
(
OutputDocInterface
&
,
const
char
*
,
const
QCString
&
,
bool
,
const
char
*
,
FileDef
*
fd
=
0
,
int
startLine
=-
1
,
int
endLine
=-
1
,
bool
inlineFragment
=
FALSE
);
extern
void
initParseCodeContext
();
extern
void
setParameterList
(
MemberDef
*
md
);
#endif
src/code.l
View file @
ba755dd4
...
...
@@ -379,6 +379,30 @@ static void addParameter()
}
}
void setParameterList(MemberDef *md)
{
g_classScope = md->getClassDef() ? md->getClassDef()->name().data() : "";
ArgumentList *al = md->argumentList();
if (al==0) return;
Argument *a = al->first();
while (a)
{
g_parmName = a->name.copy();
g_parmType = a->type.copy();
int i = g_parmType.find('*');
if (i!=-1)
g_parmType = g_parmType.left(i);
i = g_parmType.find('&');
if (i!=-1)
g_parmType = g_parmType.left(i);
if (g_parmType.left(6)=="const ")
g_parmType = g_parmType.right(g_parmType.length()-6);
g_parmType=g_parmType.stripWhiteSpace();
addParameter();
a = al->next();
}
}
static void generateClassLink(OutputDocInterface &ol,char *clName,int *clNameLen=0)
{
int i=0;
...
...
@@ -1032,9 +1056,9 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
while (e>=0 && (text.at(e)==')' || isspace(yytext[e]))) e--;
QCString varname = text.mid(s+1,e-s);
QCString tmp=varname.copy();
g_code->
doc
ify(text.left(s+1));
g_code->
cod
ify(text.left(s+1));
generateClassLink(*g_code,tmp.data());
g_code->
doc
ify(text.right(yyleng-e-1));
g_code->
cod
ify(text.right(yyleng-e-1));
addType();
g_name+=varname;
}
...
...
@@ -1046,7 +1070,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
g_name+=yytext;
BEGIN( FuncCall );
}
<FuncCall,Body,MemberCall
>\"
{
<FuncCall,Body,MemberCall
,MemberCall2>\"
{
startFontClass("stringliteral");
g_code->codify(yytext);
g_lastStringContext=YY_START;
...
...
src/config.h
View file @
ba755dd4
/* This file was generated by configgen on
Thu Feb 8 22:26:39
2001
/* This file was generated by configgen on
Sun Feb 25 14:30:18
2001
* from config_templ.h
*
* DO NOT EDIT!
...
...
@@ -33,122 +33,131 @@ extern void checkConfig();
extern
void
configStrToVal
();
extern
void
substituteEnvironmentVars
();
/*! \brief Namespace for configuration variables
*
* This struct acts as a namespace that holds the global static variables
* read from a user-supplied configuration file.
*/
struct
Config
{
static
void
init
();
static
QCString
projectName
;
// the name of the project
static
QCString
projectNumber
;
// the number of the project
static
QCString
outputDir
;
// the global output directory
static
QCString
outputLanguage
;
// the output language
static
bool
extractAllFlag
;
// generate docs for all classes flag
static
bool
extractPrivateFlag
;
// generate docs for private members flag
static
bool
extractStaticFlag
;
// generate docs for static members flag
static
bool
hideMemberFlag
;
// hide undocumented members.
static
bool
hideClassFlag
;
// hide undocumented members.
static
bool
briefMemDescFlag
;
// enable `inline' brief member descr.
static
bool
repeatBriefFlag
;
// repeat brief descriptions.
static
bool
alwaysDetailsFlag
;
// show details description even if there is only a brief description?
static
bool
fullPathNameFlag
;
// using full path name in output
static
QStrList
stripFromPath
;
// list of candidates to strip from the file path
static
bool
internalDocsFlag
;
// determines what happens to internal docs.
static
bool
classDiagramFlag
;
// enable the generation of class diagrams.
static
bool
sourceBrowseFlag
;
// include source code in documentation.
static
bool
inlineSourceFlag
;
// inline the definition bodies in the docs?
static
bool
stripCommentsFlag
;
// strip special comments from code fragments?
static
bool
caseSensitiveNames
;
// determines if output can be mixed case.
static
bool
hideScopeNames
;
// hide the name of the scope.
static
bool
verbatimHeaderFlag
;
// enable/disable generation of verb headers.
static
bool
showIncFileFlag
;
// show include file in file documentation?
static
bool
autoBriefFlag
;
// should javadoc comments behaves as Qt comments.
static
bool
inheritDocsFlag
;
// inheritance of documentation enabled?
static
bool
inlineInfoFlag
;
// show info about inline members?
static
bool
sortMembersFlag
;
// sort members alphabetically?
static
bool
distributeDocFlag
;
// distribute docs over member group?
static
int
tabSize
;
// number of spaces in a tab
static
QStrList
sectionFilterList
;
// list of section filters that are enabled
static
bool
generateTodoList
;
// do we want a todo list?
static
bool
generateTestList
;
// do we want a test list?
static
QStrList
aliasList
;
// list of aliases
static
int
maxInitLines
;
// when do we hide values of variable and defines?
static
bool
optimizeForCFlag
;
// do we parse C code?
static
bool
quietFlag
;
// generate progress messages flag
static
bool
warningFlag
;
// generate warnings flag
static
bool
warningUndocFlag
;
// generate undocumented warnings
static
QCString
warnFormat
;
// format of the warning messages
static
QCString
warnLogFile
;
// log file to write warning to
static
QStrList
inputSources
;
// list of input files
static
QStrList
filePatternList
;
// list of file patterns
static
bool
recursiveFlag
;
// scan directories recursively
static
QStrList
excludeSources
;
// list of files to exclude from the input
static
QStrList
excludePatternList
;
// list of patterns to exclude from input
static
QStrList
examplePath
;
// list of example paths
static
QStrList
examplePatternList
;
// list of example patterns
static
QStrList
imagePath
;
// list of image paths
static
QCString
inputFilter
;
// a filter command that is applied to input files
static
bool
filterForSourceFlag
;
// do we filter source files?
static
bool
alphaIndexFlag
;
// should an alphabetical index be generated?
static
int
colsInAlphaIndex
;
// number of columns in the alphabetical index
static
QStrList
ignorePrefixList
;
// list of prefixes to ignore for the alphabetical index
static
bool
generateHtml
;
// generate HTML output
static
QCString
htmlOutputDir
;
// the directory to put the HTML files
static
QCString
headerFile
;
// the name of the personal HTML header
static
QCString
footerFile
;
// the name of the personal HTML footer
static
QCString
htmlStyleSheet
;
// user defined cascading style sheet
static
bool
htmlAlignMemberFlag
;
// align members in HTML using tables.
static
bool
htmlHelpFlag
;
// should html help files be generated?
static
bool
htmlHelpChiFlag
;
// should chi file be generated?
static
bool
noIndexFlag
;
// generate condensed index flag
static
int
enumValuesPerLine
;
// number of enum values that are put on one line
static
bool
ftvHelpFlag
;
// should a folder tree view be generated?
static
int
treeViewWidth
;
// What is the width of the treeview panel?
static
bool
generateLatex
;
// generate Latex output
static
QCString
latexOutputDir
;
// the directory to put the Latex files
static
bool
compactLatexFlag
;
// generate compact LaTeX documentation.
static
QCString
paperType
;
// the page type to generate docs for
static
QStrList
extraPackageList
;
// list of extra LaTeX packages.
static
QCString
latexHeaderFile
;
// the name of the personal LaTeX header
static
bool
pdfHyperFlag
;
// generate latex prepared creating hyperlinked pdfs.
static
bool
usePDFLatexFlag
;
// use pdflatex instead of plain latex
static
bool
latexBatchModeFlag
;
// continue after latex errors?
static
bool
generateRTF
;
// generate RTF flag
static
QCString
rtfOutputDir
;
// the directory to put the RTF files
static
bool
compactRTFFlag
;
// generate more compact RTF
static
bool
rtfHyperFlag
;
// generate hyper links in RTF
static
QCString
rtfStylesheetFile
;
// file to load stylesheet definitions from
static
bool
generateMan
;
// generate Man pages
static
QCString
manOutputDir
;
// the directory to put the man pages
static
QCString
manExtension
;
// extension the man page files
static
bool
preprocessingFlag
;
// enable preprocessing
static
bool
macroExpansionFlag
;
// expand macros in the source.
static
bool
onlyPredefinedFlag
;
// expand only predefined macros
static
bool
searchIncludeFlag
;
// search for included files
static
QStrList
includePath
;
// list of include paths
static
QStrList
includeFilePatternList
;
// list of include file patterns
static
QStrList
predefined
;
// list of predefined macro names.
static
QStrList
expandAsDefinedList
;
// list of defines to expand
static
QStrList
tagFileList
;
// list of tag files
static
QCString
genTagFile
;
// the tag file to generate
static
bool
allExtFlag
;
// include all external classes flag
static
QCString
perlPath
;
// the absolute path to perl
static
bool
haveDotFlag
;
// indicates wether or not dot is present
static
bool
classGraphFlag
;
// class graph
static
bool
collGraphFlag
;
// collaboration graph
static
bool
includeGraphFlag
;
// include graph
static
bool
includedByGraphFlag
;
// depends on include graph
static
bool
gfxHierarchyFlag
;
// flag to enable graphical hierarchy
static
QCString
dotPath
;
// path to the dot tool
static
int
maxDotGraphWidth
;
// max dot graph width
static
int
maxDotGraphHeight
;
// max dot graph height
static
bool
generateLegend
;
// generate legend page
static
bool
dotCleanUp
;
// remove intermedia dot files?
static
bool
searchEngineFlag
;
// generate search engine flag
static
QCString
cgiName
;
// the name of the CGI binary
static
QCString
cgiURL
;
// the absolute URL to the CGI binary
static
QCString
docURL
;
// the absolute URL to the documentation
static
QCString
docAbsPath
;
// the absolute path to the documentation
static
QCString
binAbsPath
;
// the absolute path to the doxysearch
static
QStrList
extDocPathList
;
// list of external doc. directories.
static
QCString
projectName
;
/*!< the name of the project */
static
QCString
projectNumber
;
/*!< the number of the project */
static
QCString
outputDir
;
/*!< the global output directory */
static
QCString
outputLanguage
;
/*!< the output language */
static
bool
extractAllFlag
;
/*!< generate docs for all classes flag */
static
bool
extractPrivateFlag
;
/*!< generate docs for private members flag */
static
bool
extractStaticFlag
;
/*!< generate docs for static members flag */
static
bool
hideMemberFlag
;
/*!< hide undocumented members. */
static
bool
hideClassFlag
;
/*!< hide undocumented members. */
static
bool
briefMemDescFlag
;
/*!< enable `inline' brief member descr. */
static
bool
repeatBriefFlag
;
/*!< repeat brief descriptions. */
static
bool
alwaysDetailsFlag
;
/*!< show details description even if there is only a brief description? */
static
bool
fullPathNameFlag
;
/*!< using full path name in output */
static
QStrList
stripFromPath
;
/*!< list of candidates to strip from the file path */
static
bool
internalDocsFlag
;
/*!< determines what happens to internal docs. */
static
bool
classDiagramFlag
;
/*!< enable the generation of class diagrams. */
static
bool
sourceBrowseFlag
;
/*!< include source code in documentation. */
static
bool
inlineSourceFlag
;
/*!< inline the definition bodies in the docs? */
static
bool
stripCommentsFlag
;
/*!< strip special comments from code fragments? */
static
bool
caseSensitiveNames
;
/*!< determines if output can be mixed case. */
static
bool
hideScopeNames
;
/*!< hide the name of the scope. */
static
bool
verbatimHeaderFlag
;
/*!< enable/disable generation of verb headers. */
static
bool
showIncFileFlag
;
/*!< show include file in file documentation? */
static
bool
autoBriefFlag
;
/*!< should javadoc comments behaves as Qt comments. */
static
bool
inheritDocsFlag
;
/*!< inheritance of documentation enabled? */
static
bool
inlineInfoFlag
;
/*!< show info about inline members? */
static
bool
sortMembersFlag
;
/*!< sort members alphabetically? */
static
bool
distributeDocFlag
;
/*!< distribute docs over member group? */
static
int
tabSize
;
/*!< number of spaces in a tab */
static
QStrList
sectionFilterList
;
/*!< list of section filters that are enabled */
static
bool
generateTodoList
;
/*!< do we want a todo list? */
static
bool
generateTestList
;
/*!< do we want a test list? */
static
bool
generateBugList
;
/*!< do we want a bug list? */
static
QStrList
aliasList
;
/*!< list of aliases */
static
int
maxInitLines
;
/*!< when do we hide values of variable and defines? */
static
bool
optimizeForCFlag
;
/*!< do we parse C code? */
static
bool
showUsedFilesFlag
;
/*!< do we show the list of used files for classes and structs? */
static
bool
quietFlag
;
/*!< generate progress messages flag */
static
bool
warningFlag
;
/*!< generate warnings flag */
static
bool
warningUndocFlag
;
/*!< generate undocumented warnings */
static
QCString
warnFormat
;
/*!< format of the warning messages */
static
QCString
warnLogFile
;
/*!< log file to write warning to */
static
QStrList
inputSources
;
/*!< list of input files */
static
QStrList
filePatternList
;
/*!< list of file patterns */
static
bool
recursiveFlag
;
/*!< scan directories recursively */
static
QStrList
excludeSources
;
/*!< list of files to exclude from the input */
static
QStrList
excludePatternList
;
/*!< list of patterns to exclude from input */
static
QStrList
examplePath
;
/*!< list of example paths */
static
QStrList
examplePatternList
;
/*!< list of example patterns */
static
QStrList
imagePath
;
/*!< list of image paths */
static
QCString
inputFilter
;
/*!< a filter command that is applied to input files */
static
bool
filterForSourceFlag
;
/*!< do we filter source files? */
static
bool
alphaIndexFlag
;
/*!< should an alphabetical index be generated? */
static
int
colsInAlphaIndex
;
/*!< number of columns in the alphabetical index */
static
QStrList
ignorePrefixList
;
/*!< list of prefixes to ignore for the alphabetical index */
static
bool
generateHtml
;
/*!< generate HTML output */
static
QCString
htmlOutputDir
;
/*!< the directory to put the HTML files */
static
QCString
headerFile
;
/*!< the name of the personal HTML header */
static
QCString
footerFile
;
/*!< the name of the personal HTML footer */
static
QCString
htmlStyleSheet
;
/*!< user defined cascading style sheet */
static
bool
htmlAlignMemberFlag
;
/*!< align members in HTML using tables. */
static
bool
htmlHelpFlag
;
/*!< should html help files be generated? */
static
bool
htmlHelpChiFlag
;
/*!< should chi file be generated? */
static
bool
htmlHelpTocFlag
;
/*!< should a binary table of contents be generated? */
static
bool
htmlHelpTocExpandFlag
;
/*!< should module elements be displayed in the table of contents? */
static
bool
noIndexFlag
;
/*!< generate condensed index flag */
static
int
enumValuesPerLine
;
/*!< number of enum values that are put on one line */
static
bool
ftvHelpFlag
;
/*!< should a folder tree view be generated? */
static
int
treeViewWidth
;
/*!< What is the width of the treeview panel? */
static
bool
generateLatex
;
/*!< generate Latex output */
static
QCString
latexOutputDir
;
/*!< the directory to put the Latex files */
static
bool
compactLatexFlag
;
/*!< generate compact LaTeX documentation. */
static
QCString
paperType
;
/*!< the page type to generate docs for */
static
QStrList
extraPackageList
;
/*!< list of extra LaTeX packages. */
static
QCString
latexHeaderFile
;
/*!< the name of the personal LaTeX header */
static
bool
pdfHyperFlag
;
/*!< generate latex prepared creating hyperlinked pdfs. */
static
bool
usePDFLatexFlag
;
/*!< use pdflatex instead of plain latex */
static
bool
latexBatchModeFlag
;
/*!< continue after latex errors? */
static
bool
generateRTF
;
/*!< generate RTF flag */
static
QCString
rtfOutputDir
;
/*!< the directory to put the RTF files */
static
bool
compactRTFFlag
;
/*!< generate more compact RTF */
static
bool
rtfHyperFlag
;
/*!< generate hyper links in RTF */
static
QCString
rtfStylesheetFile
;
/*!< file to load stylesheet definitions from */
static
bool
generateMan
;
/*!< generate Man pages */
static
QCString
manOutputDir
;
/*!< the directory to put the man pages */
static
QCString
manExtension
;
/*!< extension the man page files */
static
bool
preprocessingFlag
;
/*!< enable preprocessing */
static
bool
macroExpansionFlag
;
/*!< expand macros in the source. */
static
bool
onlyPredefinedFlag
;
/*!< expand only predefined macros */
static
bool
searchIncludeFlag
;
/*!< search for included files */
static
QStrList
includePath
;
/*!< list of include paths */
static
QStrList
includeFilePatternList
;
/*!< list of include file patterns */
static
QStrList
predefined
;
/*!< list of predefined macro names. */
static
QStrList
expandAsDefinedList
;
/*!< list of defines to expand */
static
QStrList
tagFileList
;
/*!< list of tag files */
static
QCString
genTagFile
;
/*!< the tag file to generate */
static
bool
allExtFlag
;
/*!< include all external classes flag */
static
QCString
perlPath
;
/*!< the absolute path to perl */
static
bool
haveDotFlag
;
/*!< indicates wether or not dot is present */
static
bool
classGraphFlag
;
/*!< class graph */
static
bool
collGraphFlag
;
/*!< collaboration graph */
static
bool
includeGraphFlag
;
/*!< include graph */
static
bool
includedByGraphFlag
;
/*!< depends on include graph */
static
bool
gfxHierarchyFlag
;
/*!< flag to enable graphical hierarchy */
static
QCString
dotPath
;
/*!< path to the dot tool */
static
int
maxDotGraphWidth
;
/*!< max dot graph width */
static
int
maxDotGraphHeight
;
/*!< max dot graph height */
static
bool
generateLegend
;
/*!< generate legend page */
static
bool
dotCleanUp
;
/*!< remove intermedia dot files? */
static
bool
searchEngineFlag
;
/*!< generate search engine flag */
static
QCString
cgiName
;
/*!< the name of the CGI binary */
static
QCString
cgiURL
;
/*!< the absolute URL to the CGI binary */
static
QCString
docURL
;
/*!< the absolute URL to the documentation */
static
QCString
docAbsPath
;
/*!< the absolute path to the documentation */
static
QCString
binAbsPath
;
/*!< the absolute path to the doxysearch */
static
QStrList
extDocPathList
;
/*!< list of external doc. directories. */
};
#endif
src/config.l
View file @
ba755dd4
/* This file was generated by configgen on
Thu Feb 8 22:26:39
2001
/* This file was generated by configgen on
Sun Feb 25 14:30:18
2001
* from config_templ.l
*
* DO NOT EDIT!
...
...
@@ -106,9 +106,11 @@ int Config::tabSize = 8;
QStrList Config::sectionFilterList;
bool Config::generateTodoList = TRUE;
bool Config::generateTestList = TRUE;
bool Config::generateBugList = TRUE;
QStrList Config::aliasList;
int Config::maxInitLines = 30;
bool Config::optimizeForCFlag = FALSE;
bool Config::showUsedFilesFlag = TRUE;
bool Config::quietFlag = FALSE;
bool Config::warningFlag = TRUE;
bool Config::warningUndocFlag = TRUE;
...
...
@@ -135,6 +137,8 @@ QCString Config::htmlStyleSheet;
bool Config::htmlAlignMemberFlag = TRUE;
bool Config::htmlHelpFlag = FALSE;
bool Config::htmlHelpChiFlag = FALSE;
bool Config::htmlHelpTocFlag = FALSE;
bool Config::htmlHelpTocExpandFlag = FALSE;
bool Config::noIndexFlag = FALSE;
int Config::enumValuesPerLine = 4;
bool Config::ftvHelpFlag = FALSE;
...
...
@@ -381,10 +385,12 @@ static void readIncludeFile(const char *incName)
<Start>"ENABLED_SECTIONS"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::sectionFilterList; elemStr=""; }
<Start>"GENERATE_TODOLIST"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateTodoList; }
<Start>"GENERATE_TESTLIST"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateTestList; }
<Start>"GENERATE_BUGLIST"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateBugList; }
<Start>"ALIASES"[ \t]*"=" { BEGIN(GetStrList); l=&Config::aliasList; l->clear(); elemStr=""; }
<Start>"ALIASES"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::aliasList; elemStr=""; }
<Start>"MAX_INITIALIZER_LINES"[ \t]*"=" { BEGIN(GetString); s=&maxInitLinesString; s->resize(0); }
<Start>"OPTIMIZE_OUTPUT_FOR_C"[ \t]*"=" { BEGIN(GetBool); b=&Config::optimizeForCFlag; }
<Start>"SHOW_USED_FILES"[ \t]*"=" { BEGIN(GetBool); b=&Config::showUsedFilesFlag; }
<Start>"QUIET"[ \t]*"=" { BEGIN(GetBool); b=&Config::quietFlag; }
<Start>"WARNINGS"[ \t]*"=" { BEGIN(GetBool); b=&Config::warningFlag; }
<Start>"WARN_IF_UNDOCUMENTED"[ \t]*"=" { BEGIN(GetBool); b=&Config::warningUndocFlag; }
...
...
@@ -419,6 +425,8 @@ static void readIncludeFile(const char *incName)
<Start>"HTML_ALIGN_MEMBERS"[ \t]*"=" { BEGIN(GetBool); b=&Config::htmlAlignMemberFlag; }
<Start>"GENERATE_HTMLHELP"[ \t]*"=" { BEGIN(GetBool); b=&Config::htmlHelpFlag; }
<Start>"GENERATE_CHI"[ \t]*"=" { BEGIN(GetBool); b=&Config::htmlHelpChiFlag; }
<Start>"BINARY_TOC"[ \t]*"=" { BEGIN(GetBool); b=&Config::htmlHelpTocFlag; }
<Start>"TOC_EXPAND"[ \t]*"=" { BEGIN(GetBool); b=&Config::htmlHelpTocExpandFlag; }
<Start>"DISABLE_INDEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::noIndexFlag; }
<Start>"ENUM_VALUES_PER_LINE"[ \t]*"=" { BEGIN(GetString); s=&enumValuesPerLineString; s->resize(0); }
<Start>"GENERATE_TREEVIEW"[ \t]*"=" { BEGIN(GetBool); b=&Config::ftvHelpFlag; }
...
...
@@ -627,6 +635,7 @@ void dumpConfig()
}
printf("generateTodoList=`%d'\n",Config::generateTodoList);
printf("generateTestList=`%d'\n",Config::generateTestList);
printf("generateBugList=`%d'\n",Config::generateBugList);
{
char *is=Config::aliasList.first();
while (is)
...
...
@@ -637,6 +646,7 @@ void dumpConfig()
}
printf("maxInitLines=`%d'\n",Config::maxInitLines);
printf("optimizeForCFlag=`%d'\n",Config::optimizeForCFlag);
printf("showUsedFilesFlag=`%d'\n",Config::showUsedFilesFlag);
printf("# configuration options related to warning and progress messages\n");
printf("quietFlag=`%d'\n",Config::quietFlag);
printf("warningFlag=`%d'\n",Config::warningFlag);
...
...
@@ -723,6 +733,8 @@ void dumpConfig()
printf("htmlAlignMemberFlag=`%d'\n",Config::htmlAlignMemberFlag);
printf("htmlHelpFlag=`%d'\n",Config::htmlHelpFlag);
printf("htmlHelpChiFlag=`%d'\n",Config::htmlHelpChiFlag);
printf("htmlHelpTocFlag=`%d'\n",Config::htmlHelpTocFlag);
printf("htmlHelpTocExpandFlag=`%d'\n",Config::htmlHelpTocExpandFlag);
printf("noIndexFlag=`%d'\n",Config::noIndexFlag);
printf("enumValuesPerLine=`%d'\n",Config::enumValuesPerLine);
printf("ftvHelpFlag=`%d'\n",Config::ftvHelpFlag);
...
...
@@ -866,9 +878,11 @@ void Config::init()
Config::sectionFilterList.clear();
Config::generateTodoList = TRUE;
Config::generateTestList = TRUE;
Config::generateBugList = TRUE;
Config::aliasList.clear();
Config::maxInitLines = 30;
Config::optimizeForCFlag = FALSE;
Config::showUsedFilesFlag = TRUE;
Config::quietFlag = FALSE;
Config::warningFlag = TRUE;
Config::warningUndocFlag = TRUE;
...
...
@@ -895,6 +909,8 @@ void Config::init()
Config::htmlAlignMemberFlag = TRUE;
Config::htmlHelpFlag = FALSE;
Config::htmlHelpChiFlag = FALSE;
Config::htmlHelpTocFlag = FALSE;
Config::htmlHelpTocExpandFlag = FALSE;
Config::noIndexFlag = FALSE;
Config::enumValuesPerLine = 4;
Config::ftvHelpFlag = FALSE;
...
...
@@ -1381,6 +1397,17 @@ void writeTemplateConfig(QFile *f,bool sl)
writeBoolValue(t,Config::generateTestList);
t << "\n";
if (!sl)
{
t << "\n";
t << "# The GENERATE_BUGLIST tag can be used to enable (YES) or \n";
t << "# disable (NO) the bug list. This list is created by putting \\bug \n";
t << "# commands in the documentation.\n";
t << "\n";
}
t << "GENERATE_BUGLIST = ";
writeBoolValue(t,Config::generateBugList);
t << "\n";
if (!sl)
{
t << "\n";
t << "# This tag can be used to specify a number of aliases that acts \n";
...
...
@@ -1422,6 +1449,17 @@ void writeTemplateConfig(QFile *f,bool sl)
writeBoolValue(t,Config::optimizeForCFlag);
t << "\n";
if (!sl)
{
t << "\n";
t << "# Set the SHOW_USED_FILES tag to NO to disable the list of files generated \n";
t << "# at the bottom of the documentation of classes and structs. If set to YES the \n";
t << "# list will mention the files that were used to generate the documentation. \n";
t << "\n";
}
t << "SHOW_USED_FILES = ";
writeBoolValue(t,Config::showUsedFilesFlag);
t << "\n";
if (!sl)
{
t << "\n";
}
...
...
@@ -1744,6 +1782,27 @@ void writeTemplateConfig(QFile *f,bool sl)
writeBoolValue(t,Config::htmlHelpChiFlag);
t << "\n";
if (!sl)
{
t << "\n";
t << "# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag \n";
t << "# controls whether a binary table of contents is generated (YES) or a \n";
t << "# normal table of contents (NO) in the .chm file.\n";
t << "\n";
}
t << "BINARY_TOC = ";
writeBoolValue(t,Config::htmlHelpTocFlag);
t << "\n";
if (!sl)
{
t << "\n";
t << "# The TOC_EXPAND flag can be set YES to add extra items for group members \n";
t << "# to the contents of the Html help documentation and to the tree view. \n";
t << "\n";
}
t << "TOC_EXPAND = ";
writeBoolValue(t,Config::htmlHelpTocExpandFlag);
t << "\n";
if (!sl)
{
t << "\n";
t << "# The DISABLE_INDEX tag can be used to turn on/off the condensed index at \n";
...
...
src/definition.cpp
View file @
ba755dd4
...
...
@@ -42,6 +42,7 @@ Definition::Definition(const char *df,int dl,
sourceRefDict
=
0
;
m_todoId
=
0
;
m_testId
=
0
;
m_bugId
=
0
;
}
Definition
::~
Definition
()
...
...
@@ -356,6 +357,7 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName)
{
initParseCodeContext
();
//printf("Read:\n`%s'\n\n",codeFragment.data());
if
(
definitionType
()
==
TypeMember
)
setParameterList
((
MemberDef
*
)
this
);
ol
.
startCodeFragment
();
parseCode
(
ol
,
scopeName
,
codeFragment
,
FALSE
,
0
,
bodyDef
,
actualStart
,
actualEnd
,
TRUE
);
...
...
src/definition.h
View file @
ba755dd4
...
...
@@ -110,13 +110,15 @@ class Definition
void
writeSourceRefs
(
OutputList
&
ol
,
const
char
*
scopeName
);
void
addSourceReference
(
MemberDef
*
d
);
void
setRefItems
(
int
todoId
,
int
testId
)
void
setRefItems
(
int
todoId
,
int
testId
,
int
bugId
)
{
if
(
todoId
!=
0
)
m_todoId
=
todoId
;
if
(
testId
!=
0
)
m_testId
=
testId
;
if
(
bugId
!=
0
)
m_bugId
=
bugId
;
}
int
todoId
()
const
{
return
m_todoId
;
}
int
testId
()
const
{
return
m_testId
;
}
int
bugId
()
const
{
return
m_bugId
;
}
/*! returns the file in which this definition was found */
QCString
getDefFileName
()
const
{
return
defFileName
;
}
...
...
@@ -141,8 +143,9 @@ class Definition
MemberList
*
sourceRefList
;
// list of entities that refer to this
// entity in their definition
MemberDict
*
sourceRefDict
;
int
m_testId
;
// id for test case
int
m_todoId
;
// id for todo case
int
m_testId
;
// id for test list item
int
m_todoId
;
// id for todo list item
int
m_bugId
;
// id for bug list item
};
...
...
src/doc.l
View file @
ba755dd4
...
...
@@ -1120,6 +1120,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
outDoc->writeDescItem();
}
}
/*
<DocScan>{CMD}"bug"[s]?{BN}+ {
endArgumentList();
if (!inBugBlock)
...
...
@@ -1139,6 +1140,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
outDoc->writeDescItem();
}
}
*/
<DocScan>{CMD}"note"[s]?{BN}+ {
endArgumentList();
if (!inNoteBlock)
...
...
@@ -1316,6 +1318,28 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
currentListIndent.pop();
}
}
<DocScan>"\\bug "[0-9]+ { // this tag is generated in an earlier pass
if (Config::generateBugList)
{
QCString numStr=yytext;
numStr=numStr.right(numStr.length()-5);
bool ok; int num = numStr.toUInt(&ok);
RefItem *item = bugList.getRefItem(num);
ASSERT(item!=0);
endArgumentList();
if (inBlock()) endBlock();
currentListIndent.push("D");
outDoc->startDescList();
outDoc->startBold();
outDoc->writeObjectLink(0,"bug",item->listAnchor,theTranslator->trBug()+": ");
outDoc->endBold();
outDoc->endDescTitle();
outDoc->writeDescItem();
internalParseDocument(item->text);
outDoc->endDescList();
currentListIndent.pop();
}
}
<DocScan>{CMD}"deprecated"{BN}+ {
endArgumentList();
if (!inDeprecatedBlock)
...
...
src/doxygen.cpp
View file @
ba755dd4
...
...
@@ -202,7 +202,7 @@ QCString spaces;
static
void
addRelatedPage
(
const
char
*
name
,
const
QCString
&
ptitle
,
const
QCString
&
doc
,
QList
<
QCString
>
*
anchors
,
const
char
*
fileName
,
int
startLine
,
int
todoId
,
int
testId
,
GroupDef
*
gd
=
0
,
int
todoId
,
int
testId
,
int
bugId
,
GroupDef
*
gd
=
0
,
TagInfo
*
tagInfo
=
0
)
{
...
...
@@ -224,6 +224,7 @@ static void addRelatedPage(const char *name,const QCString &ptitle,
pi
=
new
PageInfo
(
fileName
,
startLine
,
baseName
,
doc
,
title
);
pi
->
todoId
=
todoId
;
pi
->
testId
=
testId
;
pi
->
bugId
=
bugId
;
if
(
tagInfo
)
{
pi
->
reference
=
tagInfo
->
tagName
;
...
...
@@ -274,13 +275,14 @@ static void addRelatedPage(Entry *root)
if
(
!
s
->
isEmpty
()
&&
(
gd
=
Doxygen
::
groupDict
[
*
s
]))
break
;
}
addRelatedPage
(
root
->
name
,
root
->
args
,
root
->
doc
,
root
->
anchors
,
root
->
fileName
,
root
->
startLine
,
root
->
todoId
,
root
->
testId
,
gd
,
root
->
tagInfo
root
->
fileName
,
root
->
startLine
,
root
->
todoId
,
root
->
testId
,
root
->
bugId
,
gd
,
root
->
tagInfo
);
}
//----------------------------------------------------------------------------
static
void
addRefItem
(
int
todoId
,
int
testId
,
const
char
*
prefix
,
static
void
addRefItem
(
int
todoId
,
int
testId
,
int
bugId
,
const
char
*
prefix
,
const
char
*
name
,
const
char
*
title
,
const
char
*
args
=
0
)
{
...
...
@@ -311,7 +313,7 @@ static void addRefItem(int todoId,int testId,const char *prefix,
doc
+=
item
->
text
;
doc
+=
"</dd></dl>
\n
"
;
//printf("Todo page: %s\n",doc.data());
addRelatedPage
(
"todo"
,
theTranslator
->
trTodoList
(),
doc
,
0
,
"generated"
,
1
,
0
,
0
);
addRelatedPage
(
"todo"
,
theTranslator
->
trTodoList
(),
doc
,
0
,
"generated"
,
1
,
0
,
0
,
0
);
item
->
written
=
TRUE
;
}
...
...
@@ -340,7 +342,36 @@ static void addRefItem(int todoId,int testId,const char *prefix,
doc
+=
"</dt>
\n
<dd>"
;
doc
+=
item
->
text
;
doc
+=
"</dd></dl>
\n
"
;
addRelatedPage
(
"test"
,
theTranslator
->
trTestList
(),
doc
,
0
,
"generated"
,
1
,
0
,
0
);
addRelatedPage
(
"test"
,
theTranslator
->
trTestList
(),
doc
,
0
,
"generated"
,
1
,
0
,
0
,
0
);
item
->
written
=
TRUE
;
}
////////////////////////////////////////////////////////////
// add item to the bug list
////////////////////////////////////////////////////////////
if
(
bugId
>
0
&&
Config
::
generateBugList
)
{
RefItem
*
item
=
bugList
.
getRefItem
(
bugId
);
ASSERT
(
item
!=
0
);
if
(
item
->
written
)
return
;
QCString
doc
;
doc
+=
"<dl><dt>
\\
anchor "
;
doc
+=
item
->
listAnchor
;
doc
+=
"
\n
"
;
doc
+=
prefix
;
doc
+=
"
\\
_internalref "
;
doc
+=
name
;
doc
+=
"
\"
"
;
doc
+=
title
;
doc
+=
"
\"
"
;
if
(
args
)
doc
+=
args
;
doc
+=
"</dt>
\n
<dd>"
;
doc
+=
item
->
text
;
doc
+=
"</dd></dl>
\n
"
;
addRelatedPage
(
"bug"
,
theTranslator
->
trBugList
(),
doc
,
0
,
"generated"
,
1
,
0
,
0
,
0
);
item
->
written
=
TRUE
;
}
...
...
@@ -377,7 +408,7 @@ static void buildGroupList(Entry *root)
Doxygen
::
groupList
.
append
(
gd
);
Doxygen
::
groupDict
.
insert
(
root
->
name
,
gd
);
addGroupToGroups
(
root
,
gd
);
gd
->
setRefItems
(
root
->
todoId
,
root
->
testId
);
gd
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
}
}
EntryListIterator
eli
(
*
root
->
sublist
);
...
...
@@ -419,7 +450,7 @@ static void buildFileList(Entry *root)
fd
->
setDocumentation
(
root
->
doc
,
FALSE
);
fd
->
setBriefDescription
(
root
->
brief
);
fd
->
addSectionsToDefinition
(
root
->
anchors
);
fd
->
setRefItems
(
root
->
todoId
,
root
->
testId
);
fd
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
QListIterator
<
QCString
>
sli
(
*
root
->
groups
);
QCString
*
s
;
for
(;(
s
=
sli
.
current
());
++
sli
)
...
...
@@ -658,7 +689,7 @@ static void buildClassList(Entry *root)
fd
->
insertClass
(
cd
);
}
addClassToGroups
(
root
,
cd
);
cd
->
setRefItems
(
root
->
todoId
,
root
->
testId
);
cd
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
if
(
!
root
->
subGrouping
)
cd
->
setSubGrouping
(
FALSE
);
}
else
// new class
...
...
@@ -707,7 +738,7 @@ static void buildClassList(Entry *root)
if
(
!
root
->
subGrouping
)
cd
->
setSubGrouping
(
FALSE
);
addClassToGroups
(
root
,
cd
);
cd
->
setRefItems
(
root
->
todoId
,
root
->
testId
);
cd
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
// see if the class is found inside a namespace
bool
found
=
addNamespace
(
root
,
cd
);
...
...
@@ -819,7 +850,7 @@ static void buildNamespaceList(Entry *root)
// insert the namespace in the file definition
if
(
fd
)
fd
->
insertNamespace
(
nd
);
addNamespaceToGroups
(
root
,
nd
);
nd
->
setRefItems
(
root
->
todoId
,
root
->
testId
);
nd
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
}
else
/* if (!root->doc.isEmpty() ||
!root->brief.isEmpty() ||
...
...
@@ -839,7 +870,7 @@ static void buildNamespaceList(Entry *root)
//printf("Adding namespace to group\n");
addNamespaceToGroups
(
root
,
nd
);
nd
->
setRefItems
(
root
->
todoId
,
root
->
testId
);
nd
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
bool
ambig
;
// file definition containing the namespace nd
...
...
@@ -964,7 +995,7 @@ static void findUsingDirectives(Entry *root)
// add class to the list
Doxygen
::
namespaceList
.
inSort
(
nd
);
Doxygen
::
namespaceDict
.
insert
(
root
->
name
,
nd
);
nd
->
setRefItems
(
root
->
todoId
,
root
->
testId
);
nd
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
}
}
}
...
...
@@ -1182,7 +1213,7 @@ static MemberDef *addVariableToClass(
// add the member to the class
}
cd
->
insertMember
(
md
);
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
);
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
//TODO: insert FileDef instead of filename strings.
cd
->
insertUsedFile
(
root
->
fileName
);
...
...
@@ -1274,7 +1305,7 @@ static MemberDef *addVariableToFile(
// variable already in the scope
{
addMemberDocs
(
root
,
md
,
def
,
0
,
FALSE
);
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
);
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
return
md
;
}
...
...
@@ -1324,7 +1355,7 @@ static MemberDef *addVariableToFile(
// md->setMemberGroup(memberGroupDict[root->mGrpId]);
//}
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
);
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
if
(
nd
&&
!
nd
->
name
().
isEmpty
()
&&
nd
->
name
().
at
(
0
)
!=
'@'
)
{
nd
->
insertMember
(
md
);
...
...
@@ -1355,25 +1386,46 @@ static MemberDef *addVariableToFile(
return
md
;
}
/*! See if the return type string \a type is that of a function pointer
* \returns -1 if this is not a function pointer variable or
* the index at which the brace of (...*name) was found.
*/
static
int
findFunctionPtr
(
const
QCString
&
type
)
{
static
const
QRegExp
re
(
"([^)]*)"
);
int
i
=-
1
;
if
(
!
type
.
isEmpty
()
&&
// return type is non-empty
(
i
=
type
.
find
(
re
,
0
))
!=-
1
&&
// contains a (*
type
.
find
(
"operator"
)
==-
1
&&
// not an operator
type
.
find
(
")("
)
==-
1
// not a function pointer return type
)
{
return
i
;
}
else
{
return
-
1
;
}
}
//----------------------------------------------------------------------
// Searches the Entry tree for Variable documentation sections.
// If found they are stored in their class or in the global list.
void
buildVarList
(
Entry
*
root
)
{
static
const
QRegExp
re
(
"([^)]*)"
);
int
i
=-
1
;
if
(
!
root
->
name
.
isEmpty
()
&&
//root->type!="class" && root->type!="interface" &&
//root->type!="struct" && root->type!="union" &&
(
root
->
type
.
isEmpty
()
||
compoundKeywordDict
.
find
(
root
->
type
)
==
0
)
&&
(
(
root
->
section
==
Entry
::
VARIABLE_SEC
(
root
->
section
==
Entry
::
VARIABLE_SEC
// it's a variable
)
||
(
root
->
section
==
Entry
::
FUNCTION_SEC
&&
// function variable
!
root
->
type
.
isEmpty
()
&&
root
->
type
.
find
(
re
,
0
)
!=-
1
&&
// special case to catch function pointers
root
->
type
.
find
(
"operator"
)
==-
1
&&
root
->
type
.
find
(
")("
)
==-
1
(
root
->
section
==
Entry
::
FUNCTION_SEC
&&
// or maybe a function pointer variable
(
i
=
findFunctionPtr
(
root
->
type
))
!=-
1
//!root->type.isEmpty() && // return type is non-empty
// root->type.find(re,0)!=-1 && // contains a (*
// /root->type.find("operator")==-1 && // not an operator
// root->type.find(")(")==-1 // not a function pointer return type
)
)
)
// documented variable
...
...
@@ -1404,7 +1456,6 @@ void buildVarList(Entry *root)
}
else
{
i
=
root
->
type
.
find
(
re
,
0
);
if
(
i
!=-
1
)
// function pointer
{
int
ai
=
root
->
type
.
find
(
'['
,
i
);
...
...
@@ -1915,14 +1966,14 @@ static void buildMemberList(Entry *root)
// add member to namespace
nd
->
insertMember
(
md
);
md
->
setNamespace
(
nd
);
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
);
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
}
else
if
(
fd
)
{
// add member to the file
fd
->
insertMember
(
md
);
md
->
setFileDef
(
fd
);
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
);
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
}
// add member to the list of file members
...
...
@@ -2497,12 +2548,12 @@ static void computeMemberReferences()
//----------------------------------------------------------------------
static
void
addTodoTestReferences
()
static
void
addTodoTest
Bug
References
()
{
ClassDef
*
cd
=
Doxygen
::
classList
.
first
();
while
(
cd
)
{
addRefItem
(
cd
->
todoId
(),
cd
->
testId
(),
"class"
,
cd
->
getOutputFileBase
(),
cd
->
name
());
addRefItem
(
cd
->
todoId
(),
cd
->
testId
(),
cd
->
bugId
(),
"class"
,
cd
->
getOutputFileBase
(),
cd
->
name
());
cd
=
Doxygen
::
classList
.
next
();
}
FileName
*
fn
=
Doxygen
::
inputNameList
.
first
();
...
...
@@ -2511,7 +2562,7 @@ static void addTodoTestReferences()
FileDef
*
fd
=
fn
->
first
();
while
(
fd
)
{
addRefItem
(
fd
->
todoId
(),
fd
->
testId
(),
"file"
,
fd
->
getOutputFileBase
(),
fd
->
name
());
addRefItem
(
fd
->
todoId
(),
fd
->
testId
(),
fd
->
bugId
(),
"file"
,
fd
->
getOutputFileBase
(),
fd
->
name
());
fd
=
fn
->
next
();
}
fn
=
Doxygen
::
inputNameList
.
next
();
...
...
@@ -2519,20 +2570,20 @@ static void addTodoTestReferences()
NamespaceDef
*
nd
=
Doxygen
::
namespaceList
.
first
();
while
(
nd
)
{
addRefItem
(
nd
->
todoId
(),
nd
->
testId
(),
"namespace"
,
nd
->
getOutputFileBase
(),
nd
->
name
());
addRefItem
(
nd
->
todoId
(),
nd
->
testId
(),
nd
->
bugId
(),
"namespace"
,
nd
->
getOutputFileBase
(),
nd
->
name
());
nd
=
Doxygen
::
namespaceList
.
next
();
}
GroupDef
*
gd
=
Doxygen
::
groupList
.
first
();
while
(
gd
)
{
addRefItem
(
gd
->
todoId
(),
gd
->
testId
(),
"group"
,
gd
->
getOutputFileBase
(),
gd
->
groupTitle
());
addRefItem
(
gd
->
todoId
(),
gd
->
testId
(),
gd
->
bugId
(),
"group"
,
gd
->
getOutputFileBase
(),
gd
->
groupTitle
());
gd
=
Doxygen
::
groupList
.
next
();
}
PageSDictIterator
pdi
(
*
Doxygen
::
pageSDict
);
PageInfo
*
pi
=
0
;
for
(
pdi
.
toFirst
();(
pi
=
pdi
.
current
());
++
pdi
)
{
addRefItem
(
pi
->
todoId
,
pi
->
testId
,
"page"
,
pi
->
name
,
pi
->
title
);
addRefItem
(
pi
->
todoId
,
pi
->
testId
,
pi
->
bugId
,
"page"
,
pi
->
name
,
pi
->
title
);
}
MemberNameListIterator
mnli
(
Doxygen
::
memberNameList
);
MemberName
*
mn
=
0
;
...
...
@@ -2552,7 +2603,7 @@ static void addTodoTestReferences()
if
(
Config
::
optimizeForCFlag
)
memLabel
=
"field"
;
if
(
d
)
{
addRefItem
(
md
->
todoId
(),
md
->
testId
(),
memLabel
,
d
->
getOutputFileBase
()
+
":"
+
md
->
anchor
(),
scopeName
+
"::"
+
md
->
name
(),
md
->
argsString
());
addRefItem
(
md
->
todoId
(),
md
->
testId
(),
m
d
->
bugId
(),
m
emLabel
,
d
->
getOutputFileBase
()
+
":"
+
md
->
anchor
(),
scopeName
+
"::"
+
md
->
name
(),
md
->
argsString
());
}
}
}
...
...
@@ -2573,7 +2624,7 @@ static void addTodoTestReferences()
if
(
Config
::
optimizeForCFlag
)
memLabel
=
"global"
;
if
(
d
)
{
addRefItem
(
md
->
todoId
(),
md
->
testId
(),
memLabel
,
d
->
getOutputFileBase
()
+
":"
+
md
->
anchor
(),
md
->
name
(),
md
->
argsString
());
addRefItem
(
md
->
todoId
(),
md
->
testId
(),
m
d
->
bugId
(),
m
emLabel
,
d
->
getOutputFileBase
()
+
":"
+
md
->
anchor
(),
md
->
name
(),
md
->
argsString
());
}
}
}
...
...
@@ -2684,7 +2735,7 @@ static void addMemberDocs(Entry *root,
md
->
setBodyDef
(
fd
);
}
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
);
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
}
}
...
...
@@ -3554,7 +3605,7 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
mn
->
append
(
md
);
cd
->
insertMember
(
md
);
cd
->
insertUsedFile
(
root
->
fileName
);
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
);
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
}
}
else
// unrelated function with the same name as a member
...
...
@@ -3678,7 +3729,7 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
mn
->
append
(
md
);
cd
->
insertMember
(
md
);
cd
->
insertUsedFile
(
root
->
fileName
);
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
);
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
if
(
newMemberName
)
{
//printf("Adding memberName=%s\n",mn->memberName());
...
...
@@ -3730,23 +3781,26 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
static
void
findMemberDocumentation
(
Entry
*
root
)
{
int
i
=-
1
,
l
;
QRegExp
re
(
"([a-z_A-Z0-9: ]*
\\
*+[
\\
*]*"
);
//
QRegExp re("([a-z_A-Z0-9: ]*\\*+[ \\*]*");
Debug
::
print
(
Debug
::
FindMembers
,
0
,
"root->type=`%s' root->inside=`%s' root->name=`%s' root->args=`%s' section=%x root->memSpec=%d root->mGrpId=%d
\n
"
,
root
->
type
.
data
(),
root
->
inside
.
data
(),
root
->
name
.
data
(),
root
->
args
.
data
(),
root
->
section
,
root
->
memSpec
,
root
->
mGrpId
);
bool
isFunc
=
TRUE
;
if
(
!
root
->
type
.
isEmpty
()
&&
(
i
=
re
.
match
(
root
->
type
,
0
,
&
l
))
!=-
1
)
// func variable/typedef to func ptr
if
(
findFunctionPtr
(
root
->
type
)
!=-
1
// func variable/typedef to func ptr
//!root->type.isEmpty() && (i=re.match(root->type,0,&l))!=-1
)
{
root
->
args
+=
root
->
type
.
right
(
root
->
type
.
length
()
-
i
-
l
);
root
->
type
=
root
->
type
.
left
(
i
+
l
);
isFunc
=
FALSE
;
}
else
if
(
root
->
name
.
find
(
re
)
!=-
1
&&
root
->
name
.
find
(
"operator"
)
==-
1
)
// func ptr entered with \fn, \var or \typedef
{
isFunc
=
FALSE
;
}
//
else if (root->name.find(re)!=-1 && root->name.find("operator")==-1)
//
// func ptr entered with \fn, \var or \typedef
//
{
//
isFunc=FALSE;
//
}
else
if
((
root
->
type
.
isEmpty
()
&&
root
->
name
.
left
(
8
)
==
"typedef "
)
||
root
->
args
.
find
(
'('
)
==-
1
)
{
...
...
@@ -3772,8 +3826,8 @@ static void findMemberDocumentation(Entry *root)
!
root
->
type
.
isEmpty
()
&&
/*root->type.left(8)!="typedef " &&*/
compoundKeywordDict
.
find
(
root
->
type
)
==
0
)
)
&&
(
!
root
->
doc
.
isEmpty
()
||
!
root
->
brief
.
isEmpty
()
||
root
->
bodyLine
!=-
1
||
)
&&
!
root
->
stat
&&
(
!
root
->
doc
.
isEmpty
()
||
!
root
->
brief
.
isEmpty
()
||
/*root->bodyLine!=-1 ||*/
(
root
->
memSpec
&
Entry
::
Inline
)
||
root
->
mGrpId
!=-
1
)
)
...
...
@@ -3907,7 +3961,7 @@ static void findEnums(Entry *root)
//{
// md->setMemberGroup(memberGroupDict[root->mGrpId]);
//}
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
);
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
if
(
nd
&&
!
nd
->
name
().
isEmpty
()
&&
nd
->
name
().
at
(
0
)
!=
'@'
)
{
if
(
Config
::
hideScopeNames
)
...
...
@@ -4615,7 +4669,7 @@ static void findDefineDocumentation(Entry *root)
md
->
setBodyDef
(
findFileDef
(
Doxygen
::
inputNameDict
,
root
->
fileName
,
ambig
));
md
->
addSectionsToDefinition
(
root
->
anchors
);
md
->
setMaxInitLines
(
root
->
initLines
);
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
);
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
if
(
root
->
mGrpId
!=-
1
)
md
->
setMemberGroupId
(
root
->
mGrpId
);
addMemberToGroups
(
root
,
md
);
}
...
...
@@ -4648,7 +4702,7 @@ static void findDefineDocumentation(Entry *root)
bool
ambig
;
md
->
setBodyDef
(
findFileDef
(
Doxygen
::
inputNameDict
,
root
->
fileName
,
ambig
));
md
->
addSectionsToDefinition
(
root
->
anchors
);
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
);
md
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
if
(
root
->
mGrpId
!=-
1
)
md
->
setMemberGroupId
(
root
->
mGrpId
);
addMemberToGroups
(
root
,
md
);
}
...
...
@@ -4693,7 +4747,7 @@ static void buildPageList(Entry *root)
{
QCString
title
=
root
->
args
.
stripWhiteSpace
();
if
(
title
.
isEmpty
())
title
=
theTranslator
->
trMainPage
();
addRefItem
(
root
->
todoId
,
root
->
testId
,
"page"
,
"index"
,
title
);
addRefItem
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
,
"page"
,
"index"
,
title
);
}
EntryListIterator
eli
(
*
root
->
sublist
);
Entry
*
e
;
...
...
@@ -6154,8 +6208,8 @@ void parseInput()
msg
(
"Adding source references...
\n
"
);
addSourceReferences
();
msg
(
"Adding todo/test
references
...
\n
"
);
addTodoTestReferences
();
msg
(
"Adding todo/test
/bug list item
...
\n
"
);
addTodoTest
Bug
References
();
}
...
...
src/doxygen.pro.in
View file @
ba755dd4
...
...
@@ -15,7 +15,7 @@
# TMake project file for doxygen
TEMPLATE = app.t
CONFIG = console warn_on $extraopt
CONFIG = console warn_on $extraopt
s
HEADERS = doxygen.h
SOURCES = main.cpp
unix:LIBS += -L../lib -ldoxygen -lqtools
...
...
src/entry.cpp
View file @
ba755dd4
...
...
@@ -76,6 +76,7 @@ Entry::Entry(const Entry &e)
initLines
=
e
.
initLines
;
todoId
=
e
.
todoId
;
testId
=
e
.
testId
;
bugId
=
e
.
bugId
;
tagInfo
=
e
.
tagInfo
;
sublist
=
new
QList
<
Entry
>
;
sublist
->
setAutoDelete
(
TRUE
);
...
...
@@ -223,6 +224,7 @@ void Entry::reset()
mGrpId
=
-
1
;
todoId
=
0
;
testId
=
0
;
bugId
=
0
;
section
=
EMPTY_SEC
;
mtype
=
Method
;
virt
=
Normal
;
...
...
src/entry.h
View file @
ba755dd4
...
...
@@ -25,14 +25,21 @@ enum Protection { Public, Protected, Private } ;
enum
Specifier
{
Normal
,
Virtual
,
Pure
}
;
enum
MethodTypes
{
Method
,
Signal
,
Slot
,
DCOP
,
Property
};
/*! \brief This class stores information about an inheritance relation
*/
struct
BaseInfo
{
/*! Creates an object representing an inheritance relation */
BaseInfo
(
const
char
*
n
,
Protection
p
,
Specifier
v
)
:
name
(
n
),
prot
(
p
),
virt
(
v
)
{}
QCString
name
;
// the name of the base class
Protection
prot
;
// inheritance type
Specifier
virt
;
// virtualness
QCString
name
;
//
!<
the name of the base class
Protection
prot
;
//
!<
inheritance type
Specifier
virt
;
//
!<
virtualness
};
/*! \brief This class contains the information about the argument of a
* function or template
*
*/
struct
Argument
{
/*! Construct a new argument. */
...
...
@@ -77,22 +84,36 @@ struct Argument
QCString
docs
;
/*!< Argument's documentation (may be empty) */
};
/*! \brief This class represents an function or template argument list.
*
* This class also stores some information about member that is typically
* put after the argument list, such as wether the member is const,
* volatile or pure virtual.
*/
class
ArgumentList
:
public
QList
<
Argument
>
{
public
:
~
ArgumentList
()
{}
/*! Creates an empty argument list */
ArgumentList
()
:
QList
<
Argument
>
(),
constSpecifier
(
FALSE
),
volatileSpecifier
(
FALSE
),
pureSpecifier
(
FALSE
)
{}
/*! Destroys the argument list */
~
ArgumentList
()
{}
bool
hasDocumentation
()
const
;
/*! Does the member modify the state of the class? default: FALSE. */
bool
constSpecifier
;
/*! Is the member volatile? default: FALSE. */
bool
volatileSpecifier
;
/*! Is this a pure virtual member? default: FALSE */
bool
pureSpecifier
;
};
typedef
QListIterator
<
Argument
>
ArgumentListIterator
;
/*! \brief This struct is used to capture the tag file information
* for an Entry.
*/
struct
TagInfo
{
QCString
tagName
;
...
...
@@ -100,7 +121,10 @@ struct TagInfo
QCString
anchor
;
};
/*! Raw entry. parseMain() in scanner.l will generate a tree of these
/*! \brief Represents an unstructured piece of information, about an
* entity found in the sources.
*
* parseMain() in scanner.l will generate a tree of these
* entries.
*/
class
Entry
...
...
@@ -166,7 +190,11 @@ class Entry
~
Entry
();
int
getSize
();
/*! Adds entry \e as a child to this entry */
void
addSubEntry
(
Entry
*
e
)
;
/*! Restore the state of this Entry to the default value it has
* at construction time.
*/
void
reset
();
int
section
;
//!< entry type (see Sections);
...
...
@@ -207,8 +235,9 @@ class Entry
QList
<
QCString
>
*
anchors
;
//!< list of anchors defined in this entry
QCString
fileName
;
//!< file this entry was extracted from
int
startLine
;
//!< start line of entry in the source
int
todoId
;
//!< id of the todo item of this entry
int
testId
;
//!< id of the test item of this entry
int
todoId
;
//!< id of the todo list item of this entry
int
testId
;
//!< id of the test list item of this entry
int
bugId
;
//!< id of the bug list item of this entry
TagInfo
*
tagInfo
;
//!< tag file info
static
int
num
;
//!< counts the total number of entries
private
:
...
...
src/ftvhelp.cpp
View file @
ba755dd4
...
...
@@ -18,6 +18,7 @@
#include "config.h"
#include "message.h"
#include "doxygen.h"
#include "language.h"
const
char
treeview_data
[]
=
...
...
@@ -273,7 +274,10 @@ static void generateFolderTreeViewData()
else
{
QTextStream
t
(
&
f
);
t
<<
"<html><head><title>"
;
t
<<
"<html><head>"
;
t
<<
"<meta http-equiv=
\"
Content-Type
\"
content=
\"
text/html;charset="
<<
theTranslator
->
idLanguageCharset
()
<<
"
\"
>
\n
"
;
t
<<
"<title>"
;
if
(
Config
::
projectName
.
isEmpty
())
{
t
<<
"Doxygen Documentation"
;
...
...
src/groupdef.cpp
View file @
ba755dd4
...
...
@@ -175,12 +175,12 @@ void GroupDef::insertMember(MemberDef *md)
return
;
// member already added
}
}
mni
->
append
(
new
MemberInfo
(
md
,
Public
,
Normal
));
mni
->
append
(
new
MemberInfo
(
md
,
md
->
protection
(),
md
->
virtualness
(),
FALSE
));
}
else
{
mni
=
new
MemberNameInfo
(
md
->
name
());
mni
->
append
(
new
MemberInfo
(
md
,
Public
,
Normal
));
mni
->
append
(
new
MemberInfo
(
md
,
md
->
protection
(),
md
->
virtualness
(),
FALSE
));
allMemberNameInfoDict
->
insert
(
mni
->
memberName
(),
mni
);
}
allMemberList
->
append
(
md
);
...
...
@@ -262,7 +262,7 @@ void GroupDef::computeAnchors()
void
GroupDef
::
writeDocumentation
(
OutputList
&
ol
)
{
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
Man
);
//
ol.disable(OutputGenerator::Man);
startFile
(
ol
,
fileName
,
title
);
startTitle
(
ol
,
getOutputFileBase
());
ol
.
docify
(
title
);
...
...
src/htmlgen.cpp
View file @
ba755dd4
...
...
@@ -275,11 +275,18 @@ void HtmlGenerator::writeStyleInfo(int part)
else
// write user defined style sheet
{
QFileInfo
cssfi
(
Config
::
htmlStyleSheet
);
if
(
!
cssfi
.
exists
()
||
!
cssfi
.
isFile
()
||
!
cssfi
.
isReadable
())
{
err
(
"Error: style sheet %s does not exist or is not readable!"
,
Config
::
htmlStyleSheet
.
data
());
}
else
{
startPlainFile
(
cssfi
.
fileName
());
t
<<
fileToString
(
Config
::
htmlStyleSheet
);
endPlainFile
();
}
}
}
}
void
HtmlGenerator
::
startDoxyAnchor
(
const
char
*
,
...
...
src/htmlhelp.cpp
View file @
ba755dd4
...
...
@@ -305,8 +305,8 @@ void HtmlHelp::createProjectFile()
"Contents file=index.hhc
\n
"
"Default Window=main
\n
"
"Default topic="
<<
indexName
<<
"
\n
"
"Index file=index.hhk
\n
"
"Binary TOC=YES
\n
"
;
"Index file=index.hhk
\n
"
;
if
(
Config
::
htmlHelpTocFlag
)
t
<<
"Binary TOC=YES
\n
"
;
if
(
Config
::
htmlHelpChiFlag
)
t
<<
"Create CHI file=YES
\n
"
;
t
<<
"Title="
<<
Config
::
projectName
<<
endl
<<
endl
;
...
...
@@ -388,6 +388,13 @@ void HtmlHelp::addContentsItem(bool isDir,
const
char
*
name
,
const
char
*
ref
,
const
char
*
anchor
)
{
// If we're using a binary toc then folders cannot have links.
if
(
Config
::
htmlHelpTocFlag
&&
isDir
)
{
ref
=
0
;
anchor
=
0
;
}
int
i
;
for
(
i
=
0
;
i
<
dc
;
i
++
)
cts
<<
" "
;
cts
<<
"<LI><OBJECT type=
\"
text/sitemap
\"
>"
;
cts
<<
"<param name=
\"
Name
\"
value=
\"
"
<<
name
<<
"
\"
>"
;
...
...
src/index.cpp
View file @
ba755dd4
...
...
@@ -408,7 +408,6 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper)
}
#if 0
//----------------------------------------------------------------------------
/*! Generates HTML Help tree of classes */
...
...
@@ -416,8 +415,8 @@ void writeClassTree(BaseClassList *cl)
{
HtmlHelp
*
htmlHelp
=
0
;
FTVHelp
*
ftvHelp
=
0
;
bool hasHtmlHelp = Config::generateHtml && Config::htmlHelpFlag
&& Config::htmlHelpGroupsOnly
;
bool hasFtvHelp = Config::generateHtml && Config::ftvHelpFlag
&& Config::htmlHelpGroupsOnly
;
bool
hasHtmlHelp
=
Config
::
generateHtml
&&
Config
::
htmlHelpFlag
;
bool
hasFtvHelp
=
Config
::
generateHtml
&&
Config
::
ftvHelpFlag
;
if
(
hasHtmlHelp
)
{
htmlHelp
=
HtmlHelp
::
getInstance
();
...
...
@@ -448,7 +447,7 @@ void writeClassTree(BaseClassList *cl)
}
if
(
hasFtvHelp
)
{
ftvHelp->addContentsItem(hasChildren,cd->
name(),cd->getOutputFileBas
e());
ftvHelp
->
addContentsItem
(
hasChildren
,
cd
->
getReference
(),
cd
->
getOutputFileBase
(),
0
,
cd
->
nam
e
());
}
}
if
(
hasChildren
)
...
...
@@ -472,8 +471,8 @@ void writeClassTree(ClassList *cl)
{
HtmlHelp
*
htmlHelp
=
0
;
FTVHelp
*
ftvHelp
=
0
;
bool hasHtmlHelp = Config::generateHtml && Config::htmlHelpFlag
&& Config::htmlHelpGroupsOnly
;
bool hasFtvHelp = Config::generateHtml && Config::ftvHelpFlag
&& Config::htmlHelpGroupsOnly
;
bool
hasHtmlHelp
=
Config
::
generateHtml
&&
Config
::
htmlHelpFlag
;
bool
hasFtvHelp
=
Config
::
generateHtml
&&
Config
::
ftvHelpFlag
;
if
(
hasHtmlHelp
)
{
htmlHelp
=
HtmlHelp
::
getInstance
();
...
...
@@ -513,7 +512,6 @@ void writeClassTree(ClassList *cl)
}
}
}
#endif
//----------------------------------------------------------------------------
...
...
@@ -1937,13 +1935,13 @@ void writeExampleIndex(OutputList &ol)
{
ol
.
writeObjectLink
(
0
,
n
,
0
,
pi
->
title
);
if
(
hasHtmlHelp
)
htmlHelp
->
addContentsItem
(
FALSE
,
pi
->
title
,
n
);
if
(
hasFtvHelp
)
ftvHelp
->
addContentsItem
(
FALSE
,
0
,
n
,
0
,
pi
->
title
);
if
(
hasFtvHelp
)
ftvHelp
->
addContentsItem
(
FALSE
,
pi
->
getReference
()
,
n
,
0
,
pi
->
title
);
}
else
{
ol
.
writeObjectLink
(
0
,
n
,
0
,
pi
->
name
);
if
(
hasHtmlHelp
)
htmlHelp
->
addContentsItem
(
FALSE
,
pi
->
name
,
n
);
if
(
hasFtvHelp
)
ftvHelp
->
addContentsItem
(
FALSE
,
0
,
n
,
0
,
pi
->
name
);
if
(
hasFtvHelp
)
ftvHelp
->
addContentsItem
(
FALSE
,
pi
->
getReference
()
,
n
,
0
,
pi
->
name
);
}
ol
.
writeString
(
"
\n
"
);
}
...
...
@@ -2207,85 +2205,192 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd)
ol
.
endIndexList
();
}
#if 0
if
(
Config
::
htmlHelpTocExpandFlag
)
{
// write members
struct
MemInfo
{
MemberList
*
list
;
QCString
name
;
};
MemInfo
memberLists
[]
=
{
{
&
gd
->
defineMembers
,
theTranslator
->
trDefines
()
},
{
&
gd
->
typedefMembers
,
theTranslator
->
trTypedefs
()
},
{
&
gd
->
enumMembers
,
theTranslator
->
trEnumerations
()
},
{
&
gd
->
enumValMembers
,
theTranslator
->
trEnumerationValues
()
},
{
&
gd
->
funcMembers
,
theTranslator
->
trFunctions
()
},
{
&
gd
->
varMembers
,
theTranslator
->
trVariables
()
},
{
&
gd
->
protoMembers
,
theTranslator
->
trFuncProtos
()
},
{
0
,
0
}
};
MemberList
*
members
;
MemInfo
*
pMemInfo
;
for
(
pMemInfo
=&
memberLists
[
0
];
(
members
=
pMemInfo
->
list
)
;
pMemInfo
++
)
{
if
(
members
->
count
()
>
0
)
{
if
(
htmlHelp
)
{
htmlHelp
->
addContentsItem
(
TRUE
,
convertToHtml
(
pMemInfo
->
name
),
gd
->
getOutputFileBase
(),
0
);
htmlHelp
->
incContentsDepth
();
}
if
(
ftvHelp
)
{
ftvHelp
->
addContentsItem
(
TRUE
,
gd
->
getReference
(),
gd
->
getOutputFileBase
(),
0
,
pMemInfo
->
name
);
ftvHelp
->
incContentsDepth
();
}
MemberDef
*
md
=
members
->
first
();
while
(
md
)
{
GroupDef
*
gd
=
md
->
getGroupDef
();
if
(
htmlHelp
)
{
htmlHelp
->
addContentsItem
(
FALSE
,
md
->
name
(),
gd
->
getOutputFileBase
(),
md
->
anchor
());
}
if
(
ftvHelp
)
{
ftvHelp
->
addContentsItem
(
FALSE
,
gd
->
getReference
(),
gd
->
getOutputFileBase
(),
md
->
anchor
(),
md
->
name
());
}
md
=
members
->
next
();
}
if
(
htmlHelp
)
htmlHelp
->
decContentsDepth
();
if
(
ftvHelp
)
ftvHelp
->
decContentsDepth
();
}
}
// write namespaces
NamespaceList
*
namespaceList
=
gd
->
namespaceList
;
if
(
namespaceList
->
count
()
>
0
)
{
if
(
htmlHelp
)
{
htmlHelp
->
addContentsItem
(
TRUE
,
convertToHtml
(
theTranslator
->
trNamespaces
()),
gd
->
getOutputFileBase
(),
0
);
htmlHelp
->
incContentsDepth
();
}
if
(
ftvHelp
)
{
ftvHelp
->
addContentsItem
(
TRUE
,
gd
->
getReference
(),
gd
->
getOutputFileBase
(),
0
,
theTranslator
->
trNamespaces
());
ftvHelp
->
incContentsDepth
();
}
NamespaceDef
*
nsd
=
namespaceList
->
first
();
while
(
nsd
)
{
if
(
htmlHelp
)
htmlHelp->addContentsItem(FALSE,convertToHtml(nsd->name()).data(),nsd->getOutputFileBase());
{
htmlHelp
->
addContentsItem
(
FALSE
,
convertToHtml
(
nsd
->
name
()),
nsd
->
getOutputFileBase
());
}
if
(
ftvHelp
)
ftvHelp->addContentsItem(FALSE,convertToHtml(nsd->name()).data(),nsd->getOutputFileBase());
{
ftvHelp
->
addContentsItem
(
FALSE
,
nsd
->
getReference
(),
nsd
->
getOutputFileBase
(),
0
,
convertToHtml
(
nsd
->
name
()));
}
nsd
=
namespaceList
->
next
();
}
if
(
htmlHelp
)
htmlHelp
->
decContentsDepth
();
if
(
ftvHelp
)
ftvHelp
->
decContentsDepth
();
}
// write classes
writeClassTree(gd->classList);
// write members
MemberList memberLists[7] = {
gd->defineMembers,
gd->typedefMembers,
gd->enumMembers,
gd->enumValMembers,
gd->funcMembers,
gd->varMembers,
gd->protoMembers
};
MemberList members;
for (int i=0;i<7;i++)
{
members=memberLists[i];
if (members.count()>0)
{
MemberDef *md=members.first();
while (md)
if
(
gd
->
classList
->
count
()
>
0
)
{
if
(
htmlHelp
)
htmlHelp->addContentsItem(FALSE,md->name(),md->getGroupDef()->getOutputFileBase().data(),md->anchor());
if(ftvHelp)
ftvHelp->addContentsItem(FALSE,md->name(),md->getGroupDef()->getOutputFileBase().data(),md->anchor());
md=members.next();
{
htmlHelp
->
addContentsItem
(
TRUE
,
convertToHtml
(
theTranslator
->
trClasses
()),
gd
->
getOutputFileBase
(),
0
);
htmlHelp
->
incContentsDepth
();
}
if
(
ftvHelp
)
{
ftvHelp
->
addContentsItem
(
TRUE
,
gd
->
getReference
(),
gd
->
getOutputFileBase
(),
0
,
theTranslator
->
trClasses
());
ftvHelp
->
incContentsDepth
();
}
writeClassTree
(
gd
->
classList
);
if
(
htmlHelp
)
htmlHelp
->
decContentsDepth
();
if
(
ftvHelp
)
ftvHelp
->
decContentsDepth
();
}
// write file list
FileList
*
fileList
=
gd
->
fileList
;
if
(
fileList
->
count
()
>
0
)
{
if
(
htmlHelp
)
{
htmlHelp
->
addContentsItem
(
TRUE
,
convertToHtml
(
theTranslator
->
trFiles
()),
gd
->
getOutputFileBase
(),
0
);
htmlHelp
->
incContentsDepth
();
}
if
(
ftvHelp
)
{
ftvHelp
->
addContentsItem
(
TRUE
,
gd
->
getReference
(),
gd
->
getOutputFileBase
(),
0
,
theTranslator
->
trFiles
());
ftvHelp
->
incContentsDepth
();
}
FileDef
*
fd
=
fileList
->
first
();
while
(
fd
)
{
if
(
htmlHelp
)
htmlHelp->addContentsItem(FALSE,convertToHtml(fd->name()),fd->getOutputFileBase().data());
htmlHelp
->
addContentsItem
(
FALSE
,
convertToHtml
(
fd
->
name
()),
fd
->
getOutputFileBase
());
if
(
ftvHelp
)
ftvHelp->addContentsItem(FALSE,convertToHtml(fd->name()),fd->getOutputFileBase().data());
ftvHelp
->
addContentsItem
(
FALSE
,
fd
->
getReference
(),
fd
->
getOutputFileBase
(),
0
,
convertToHtml
(
fd
->
name
()));
fd
=
fileList
->
next
();
}
if
(
htmlHelp
)
htmlHelp
->
decContentsDepth
();
if
(
ftvHelp
)
ftvHelp
->
decContentsDepth
();
}
// write examples
PageSDictIterator eli(*(gd->exampleDict));
if
(
gd
->
exampleDict
->
count
()
>
0
)
{
if
(
htmlHelp
)
{
htmlHelp
->
addContentsItem
(
TRUE
,
convertToHtml
(
theTranslator
->
trExamples
()),
gd
->
getOutputFileBase
(),
0
);
htmlHelp
->
incContentsDepth
();
}
if
(
ftvHelp
)
{
ftvHelp
->
addContentsItem
(
TRUE
,
gd
->
getReference
(),
gd
->
getOutputFileBase
(),
0
,
theTranslator
->
trExamples
());
ftvHelp
->
incContentsDepth
();
}
PageSDictIterator
eli
(
*
(
gd
->
exampleDict
));
PageInfo
*
pi
=
eli
.
toFirst
();
while
(
pi
)
{
if
(
htmlHelp
)
{
htmlHelp
->
addContentsItem
(
FALSE
,
convertToHtml
(
pi
->
name
),
convertNameToFile
(
pi
->
name
)
+
"-example"
);
}
if
(
ftvHelp
)
ftvHelp->addContentsItem(FALSE,convertToHtml(pi->name),convertNameToFile(pi->name)+"-example");
{
ftvHelp
->
addContentsItem
(
FALSE
,
pi
->
getReference
(),
convertToHtml
(
pi
->
name
)
+
"-example"
,
0
,
convertNameToFile
(
pi
->
name
));
}
pi
=++
eli
;
}
if
(
htmlHelp
)
htmlHelp
->
decContentsDepth
();
if
(
ftvHelp
)
ftvHelp
->
decContentsDepth
();
}
}
#endif
if
(
htmlHelp
)
htmlHelp
->
decContentsDepth
();
if
(
ftvHelp
)
ftvHelp
->
decContentsDepth
();
if
(
htmlHelp
)
htmlHelp
->
decContentsDepth
();
if
(
ftvHelp
)
ftvHelp
->
decContentsDepth
();
gd
->
visited
=
TRUE
;
}
}
...
...
src/language.cpp
View file @
ba755dd4
...
...
@@ -126,6 +126,10 @@ bool setTranslator(const char *langName)
{
theTranslator
=
new
TranslatorChinese
;
}
else
if
(
L_EQUAL
(
"norwegian"
))
{
theTranslator
=
new
TranslatorNorwegian
;
}
#endif
else
// use the default language (i.e. english)
{
...
...
src/libdoxygen.pro.in
View file @
ba755dd4
...
...
@@ -15,7 +15,7 @@
# TMake project file for doxygen
TEMPLATE = libdoxygen.t
CONFIG = console warn_on staticlib
CONFIG = console warn_on staticlib
$extraopts
HEADERS = doxygen.h scanner.h doc.h classdef.h classlist.h memberdef.h \
membername.h index.h memberlist.h definition.h \
entry.h logos.h instdox.h message.h code.h \
...
...
src/mangen.cpp
View file @
ba755dd4
...
...
@@ -95,6 +95,10 @@ void ManGenerator::startFile(const char *name,const char *,bool)
{
fileName
=
fileName
.
right
(
fileName
.
length
()
-
10
);
}
else
if
(
fileName
.
left
(
6
)
==
"group_"
)
{
fileName
=
fileName
.
right
(
fileName
.
length
()
-
6
);
}
int
i
;
if
((
i
=
fileName
.
findRev
(
'.'
))
!=-
1
)
...
...
@@ -102,7 +106,9 @@ void ManGenerator::startFile(const char *name,const char *,bool)
fileName
=
fileName
.
left
(
i
);
}
if
(
convertToQCString
(
fileName
.
right
(
2
))
!=
Config
::
manExtension
)
{
fileName
+=
Config
::
manExtension
;
}
startPlainFile
(
fileName
);
firstCol
=
TRUE
;
}
...
...
@@ -114,7 +120,7 @@ void ManGenerator::endFile()
void
ManGenerator
::
endTitleHead
(
const
char
*
,
const
char
*
name
)
{
t
<<
".TH
"
<<
name
<<
" 3
\"
"
<<
dateToString
(
FALSE
)
<<
"
\"
\"
"
;
t
<<
".TH
\"
"
<<
name
<<
"
\
"
3
\"
"
<<
dateToString
(
FALSE
)
<<
"
\"
\"
"
;
if
(
Config
::
projectName
.
isEmpty
())
t
<<
"Doxygen"
;
else
...
...
src/mangen.h
View file @
ba755dd4
...
...
@@ -199,7 +199,7 @@ class ManGenerator : public OutputGenerator
void
endDescTable
()
{}
void
startDescTableTitle
()
{
writeListItem
();
startBold
();
}
void
endDescTableTitle
()
{
endBold
();
}
void
startDescTableData
()
{
}
void
startDescTableData
()
{
t
<<
endl
;
firstCol
=
TRUE
;
}
void
endDescTableData
()
{}
void
startDotGraph
()
{}
...
...
src/memberdef.cpp
View file @
ba755dd4
...
...
@@ -853,7 +853,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
* all active output formats.
*/
void
MemberDef
::
writeDocumentation
(
MemberList
*
ml
,
OutputList
&
ol
,
const
char
*
sc
ope
Name
,
const
char
*
scName
,
Definition
*
container
)
{
...
...
@@ -862,6 +862,15 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
// hide member that are documented in their own group
if
(
group
!=
0
&&
container
->
definitionType
()
!=
TypeGroup
)
return
;
// if this member is in a group find the real scope name.
QCString
scopeName
=
scName
;
if
(
container
->
definitionType
()
==
TypeGroup
)
{
if
(
getClassDef
())
scopeName
=
getClassDef
()
->
name
();
else
if
(
getNamespaceDef
())
scopeName
=
getClassDef
()
->
name
();
else
if
(
getFileDef
())
scopeName
=
getClassDef
()
->
name
();
}
bool
hasDocs
=
detailsAreVisible
();
//printf("MemberDef::writeDocumentation(): type=`%s' def=`%s'\n",type.data(),definition());
if
(
...
...
@@ -876,6 +885,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
QCString
cname
=
container
->
name
();
QCString
cfname
=
container
->
getOutputFileBase
();
// get member name
QCString
doxyName
=
name
().
copy
();
// prepend scope if there is any. TODO: make this optional for C only docs
...
...
src/membername.h
View file @
ba755dd4
...
...
@@ -58,12 +58,13 @@ typedef QDict<MemberName> MemberNameDict;
struct
MemberInfo
{
MemberInfo
(
MemberDef
*
md
,
Protection
p
,
Specifier
v
)
:
memberDef
(
md
),
prot
(
p
),
virt
(
v
),
ambigClass
(
0
)
{}
MemberInfo
(
MemberDef
*
md
,
Protection
p
,
Specifier
v
,
bool
inh
)
:
memberDef
(
md
),
prot
(
p
),
virt
(
v
),
inherited
(
inh
),
ambigClass
(
0
)
{}
~
MemberInfo
()
{}
MemberDef
*
memberDef
;
Protection
prot
;
Specifier
virt
;
bool
inherited
;
QCString
scopePath
;
QCString
ambiguityResolutionScope
;
ClassDef
*
ambigClass
;
...
...
src/page.h
View file @
ba755dd4
...
...
@@ -90,6 +90,7 @@ class PageInfo
// ids
int
todoId
;
int
testId
;
int
bugId
;
// is this page part of a group
GroupDef
*
inGroup
;
...
...
src/reflist.cpp
View file @
ba755dd4
...
...
@@ -22,7 +22,8 @@
RefList
todoList
;
/*! The test criteria list */
RefList
testList
;
/*! The bug list */
RefList
bugList
;
/*! Create a todo list */
RefList
::
RefList
()
...
...
@@ -63,7 +64,7 @@ int RefList::addRefItem()
*/
RefItem
*
RefList
::
getRefItem
(
int
itemId
)
{
return
m_dict
->
find
(
itemId
)
;
return
m_dict
?
m_dict
->
find
(
itemId
)
:
0
;
}
/*! Returns the first item in the dictionary or 0 if
...
...
@@ -72,7 +73,7 @@ RefItem *RefList::getRefItem(int itemId)
*/
RefItem
*
RefList
::
getFirstRefItem
()
{
return
m_dictIterator
->
toFirst
()
;
return
m_dictIterator
?
m_dictIterator
->
toFirst
()
:
0
;
}
/*! Returns the next item in the dictionary or 0 if
...
...
@@ -81,6 +82,6 @@ RefItem *RefList::getFirstRefItem()
*/
RefItem
*
RefList
::
getNextRefItem
()
{
return
m_dictIterator
->
operator
++
()
;
return
m_dictIterator
?
m_dictIterator
->
operator
++
()
:
0
;
}
src/reflist.h
View file @
ba755dd4
...
...
@@ -51,5 +51,6 @@ class RefList
extern
RefList
todoList
;
extern
RefList
testList
;
extern
RefList
bugList
;
#endif
src/scanner.l
View file @
ba755dd4
...
...
@@ -87,9 +87,11 @@ static int squareCount = 0 ;
static int ifCount = 0 ;
static int padCount = 0 ;
static int todoStartContext = 0;
static QCString todoString
= 0
;
static QCString todoString;
static int testStartContext = 0;
static QCString testString = 0;
static QCString testString;
static int bugStartContext = 0;
static QCString bugString;
static Entry* current_root = 0 ;
static Entry* global_root = 0 ;
static Entry* current = 0 ;
...
...
@@ -474,6 +476,7 @@ TITLE [tT][iI][tT][lL][eE]
%x SkipVerbatim
%x TodoParam
%x TestParam
%x BugParam
%x SectionLabel
%x SectionTitle
%x SkipTemplate
...
...
@@ -1202,7 +1205,7 @@ TITLE [tT][iI][tT][lL][eE]
BEGIN(AfterDoc);
}
}
<FindMembers,FindFields>"//"([!*]?){B}*
"@{"|"/*"([!*]?){B}*"@
{" {
<FindMembers,FindFields>"//"([!*]?){B}*
{CMD}"{"|"/*"([!*]?){B}*{CMD}"
{" {
startGroup();
tmpDocType=-1;
if (current_root->section & Entry::SCOPE_MASK)
...
...
@@ -1221,7 +1224,7 @@ TITLE [tT][iI][tT][lL][eE]
BEGIN( Doc );
}
}
<FindMembers,FindFields,ReadInitializer>"//"([!*]?){B}*
"@}"|"/*"([!*]?){B}*"@
}"{B}*"*/" {
<FindMembers,FindFields,ReadInitializer>"//"([!*]?){B}*
{CMD}"}"|"/*"([!*]?){B}*{CMD}"
}"{B}*"*/" {
endGroup();
}
<FindMembers>"=" {
...
...
@@ -1401,7 +1404,7 @@ TITLE [tT][iI][tT][lL][eE]
}
<FindMembers>"[" {
if (current->name.isEmpty()) // IDL function property
if (current->name.isEmpty()
|| current->name=="typedef"
) // IDL function property
{
squareCount=1;
lastSquareContext = YY_START;
...
...
@@ -2258,12 +2261,21 @@ TITLE [tT][iI][tT][lL][eE]
BEGIN( ClassVar );
}
<ClassVar>{SCOPENAME}{BN}*/"(" {
if (insideIDL && strncmp(yytext,"switch",6)==0)
{
// Corba IDL style union
roundCount=0;
BEGIN(SkipUnionSwitch);
}
else
{
addType(current);
current->name = yytext;
current->name = current->name.stripWhiteSpace();
lineCount();
BEGIN( FindMembers );
}
}
<ClassVar>{ID} {
if (insideIDL && strcmp(yytext,"switch")==0)
{
...
...
@@ -2417,7 +2429,7 @@ TITLE [tT][iI][tT][lL][eE]
curlyCount=0;
BEGIN( ReadBody ) ;
}
<SkipUnionSwitch>
"("
{
<SkipUnionSwitch>
{B}*"("
{
roundCount++;
}
<SkipUnionSwitch>")" {
...
...
@@ -2564,7 +2576,7 @@ TITLE [tT][iI][tT][lL][eE]
}
BEGIN( tmpDocType );
}
<Doc,JavaDoc>{B}*{CMD}("fn"|"var"|"typedef"){B}
*
{
<Doc,JavaDoc>{B}*{CMD}("fn"|"var"|"typedef"){B}
+
{
current->section = Entry::MEMBERDOC_SEC;
current->fileName = yyFileName;
current->startLine = yyLineNr;
...
...
@@ -2601,55 +2613,55 @@ TITLE [tT][iI][tT][lL][eE]
current->startLine = yyLineNr;
BEGIN( ClassDocFunc );
}
<Doc,JavaDoc>{B}*{CMD}"enum"{B}
*
{
<Doc,JavaDoc>{B}*{CMD}"enum"{B}
+
{
current->section = Entry::ENUMDOC_SEC;
current->fileName = yyFileName;
current->startLine = yyLineNr;
BEGIN( EnumDocArg1 );
}
<Doc,JavaDoc>{B}*{CMD}"defgroup"{B}
*
{
<Doc,JavaDoc>{B}*{CMD}"defgroup"{B}
+
{
current->section = Entry::GROUPDOC_SEC;
current->fileName = yyFileName;
current->startLine = yyLineNr;
BEGIN( GroupDocArg1 );
}
<Doc,JavaDoc>{B}*{CMD}"namespace"{B}
*
{
<Doc,JavaDoc>{B}*{CMD}"namespace"{B}
+
{
current->section = Entry::NAMESPACEDOC_SEC;
current->fileName = yyFileName;
current->startLine = yyLineNr;
BEGIN( NameSpaceDocArg1 );
}
<Doc,JavaDoc>{B}*{CMD}"class"{B}
*
{
<Doc,JavaDoc>{B}*{CMD}"class"{B}
+
{
current->section = Entry::CLASSDOC_SEC;
current->fileName = yyFileName;
current->startLine = yyLineNr;
BEGIN( ClassDocArg1 );
}
<Doc,JavaDoc>{B}*{CMD}"union"{B}
*
{
<Doc,JavaDoc>{B}*{CMD}"union"{B}
+
{
current->section = Entry::UNIONDOC_SEC;
current->fileName = yyFileName;
current->startLine = yyLineNr;
BEGIN( ClassDocArg1 );
}
<Doc,JavaDoc>{B}*{CMD}"struct"{B}
*
{
<Doc,JavaDoc>{B}*{CMD}"struct"{B}
+
{
current->section = Entry::STRUCTDOC_SEC;
current->fileName = yyFileName;
current->startLine = yyLineNr;
BEGIN( ClassDocArg1 );
}
<Doc,JavaDoc>{B}*{CMD}"interface"{B}
*
{
<Doc,JavaDoc>{B}*{CMD}"interface"{B}
+
{
current->section = Entry::INTERFACEDOC_SEC;
current->fileName = yyFileName;
current->startLine = yyLineNr;
BEGIN( ClassDocArg1 );
}
<Doc,JavaDoc>{B}*{CMD}"idlexcept"{B}
*
{
<Doc,JavaDoc>{B}*{CMD}"idlexcept"{B}
+
{
current->section = Entry::EXCEPTIONDOC_SEC;
current->fileName = yyFileName;
current->startLine = yyLineNr;
BEGIN( ClassDocArg1 );
}
<Doc,JavaDoc>{B}*{CMD}"page"{B}
*
{
<Doc,JavaDoc>{B}*{CMD}"page"{B}
+
{
current->section = Entry::PAGEDOC_SEC;
current->fileName = yyFileName;
current->startLine = yyLineNr;
...
...
@@ -2667,7 +2679,7 @@ TITLE [tT][iI][tT][lL][eE]
current->startLine = yyLineNr;
BEGIN( FileDocArg1 );
}
<Doc,JavaDoc>{B}*{CMD}"example"{B}
*
{
<Doc,JavaDoc>{B}*{CMD}"example"{B}
+
{
current->section = Entry::EXAMPLE_SEC;
current->fileName = yyFileName;
current->startLine = yyLineNr;
...
...
@@ -2698,10 +2710,10 @@ TITLE [tT][iI][tT][lL][eE]
}
<SkipHtmlComment>"--"[!]?">" { BEGIN(lastSkipHtmlCommentContext); }
<SkipHtmlComment>.
<AfterDoc,Doc,ClassDoc,PageDoc>("\\\\"|"@@")("todo"|"test")/[^a-z_A-Z0-9] {
<AfterDoc,Doc,ClassDoc,PageDoc>("\\\\"|"@@")("todo"|"test"
|"bug"
)/[^a-z_A-Z0-9] {
current->doc+=yytext;
}
<AfterDocLine,LineDoc,JavaDoc>("\\\\"|"@@")("todo"|"test")/[^a-z_A-Z0-9] {
<AfterDocLine,LineDoc,JavaDoc>("\\\\"|"@@")("todo"|"test"
|"bug"
)/[^a-z_A-Z0-9] {
current->brief+=yytext;
}
<AfterDoc,AfterDocLine,LineDoc,Doc,JavaDoc,ClassDoc,PageDoc>{CMD}"todo"/[^a-z_A-Z0-9] {
...
...
@@ -2718,6 +2730,13 @@ TITLE [tT][iI][tT][lL][eE]
current->brief.resize(0);
BEGIN(ClassDocBrief);
}
<AfterDoc,AfterDocLine,LineDoc,Doc,JavaDoc,ClassDoc,PageDoc>{CMD}"bug"/[^a-z_A-Z0-9] {
bugStartContext = YY_START;
lastBriefContext = BugParam; // this is where we will continue at the end of the argument
bugString = current->brief.copy(); // these will be swapped later on.
current->brief.resize(0);
BEGIN(ClassDocBrief);
}
<TodoParam>\n |
<TodoParam>"//" |
<TodoParam>"/*" |
...
...
@@ -2778,6 +2797,36 @@ TITLE [tT][iI][tT][lL][eE]
current->brief = testString.copy(); // restore orginial brief desc.
BEGIN(testStartContext);
}
<BugParam>\n |
<BugParam>"//" |
<BugParam>"/*" |
<BugParam>. {
if (current->bugId!=0)
{
RefItem *item = bugList.getRefItem(current->bugId);
item->text += " <p>";
item->text += current->brief;
}
else
{
int bugItemId = bugList.addRefItem();
char anchorLabel[12];
sprintf(anchorLabel,"_bug%06d",bugItemId);
RefItem *item = bugList.getRefItem(bugItemId);
item->text = current->brief.copy();
item->listAnchor = anchorLabel;
current->bugId = bugItemId;
QCString bugCmdString;
bugCmdString.sprintf("\\bug %d\n",bugItemId);
current->doc += bugCmdString;
sectionType=SectionInfo::Anchor;
sectionLabel=anchorLabel;
addSection();
}
unput(*yytext);
current->brief = bugString.copy(); // restore orginial brief desc.
BEGIN(bugStartContext);
}
<ExampleDocArg1>{FILE} {
current->name = stripQuotes(yytext);
BEGIN( ExampleDoc );
...
...
@@ -3057,7 +3106,7 @@ TITLE [tT][iI][tT][lL][eE]
if (!removeSlashes)
*pSkipDoc+=yytext;
}
<SkipCode>^{B}*"*"+/{B}+
<SkipCode>^{B}*"*"+/{B
N
}+
<SkipCode>"//" {
*pSkipDoc+=yytext;
}
...
...
@@ -3102,7 +3151,7 @@ TITLE [tT][iI][tT][lL][eE]
lineCount();
BEGIN( GroupName );
}
<ClassDoc,Doc,JavaDoc>
"@
{" {
<ClassDoc,Doc,JavaDoc>
{CMD}"
{" {
if (current->section == Entry::GROUPDOC_SEC)
{
autoGroupNameStack.push(new QCString(current->name));
...
...
@@ -3118,7 +3167,7 @@ TITLE [tT][iI][tT][lL][eE]
warn(yyFileName,yyLineNr,"Warning: @{ may only be used in a group block!\n");
}
}
<ClassDoc,Doc,JavaDoc>
"@
}" {
<ClassDoc,Doc,JavaDoc>
{CMD}"
}" {
endGroup();
}
<ExampleDoc,PageDoc,ClassDoc>. { current->doc += yytext; }
...
...
@@ -3202,6 +3251,12 @@ TITLE [tT][iI][tT][lL][eE]
unput('/');unput('*'); // make sure we have something to read
BEGIN( TestParam );
}
else if (YY_START==ClassDocBrief &&
lastBriefContext==BugParam)
{
unput('/');unput('*'); // make sure we have something to read
BEGIN( BugParam );
}
else if (YY_START==ClassDocBrief &&
lastBriefContext==Doc)
{
...
...
@@ -3269,7 +3324,10 @@ TITLE [tT][iI][tT][lL][eE]
<ClassDocBrief>{BS}({BL}|"\\n\\n") {
current->brief=current->brief.stripWhiteSpace();
if (!current->doc.isEmpty()) current->doc+=" <p>";
if (lastBriefContext==TodoParam || lastBriefContext==TestParam)
if (lastBriefContext==TodoParam ||
lastBriefContext==TestParam ||
lastBriefContext==BugParam
)
{
unput('\n');
}
...
...
@@ -3300,6 +3358,16 @@ TITLE [tT][iI][tT][lL][eE]
unput('\n'); // make sure we have something to read
BEGIN( TestParam );
}
else if
(lastBriefContext==BugParam &&
(bugStartContext==LineDoc ||
bugStartContext==AfterDocLine
)
)
{
unput('\n'); // make sure we have something to read
BEGIN( BugParam );
}
else
{
current->brief += " ";
...
...
src/translator.h
View file @
ba755dd4
...
...
@@ -1227,6 +1227,22 @@ class Translator
{
return
"Value:"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.5
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a \bug item */
virtual
QCString
trBug
()
{
return
"Bug"
;
}
/*! Used as the header of the bug list */
virtual
QCString
trBugList
()
{
return
"Bug List"
;
}
};
#endif
src/translator_it.h
View file @
ba755dd4
...
...
@@ -5,6 +5,7 @@
* Initial Italian Translation by Ahmed Aldo Faisal
* Revised and completed by Alessandro Falappa (June 1999)
* Updates:
* 2001/02: translated new items used since version 1.2.4
* 2000/11: modified slightly the translation in trLegendDocs() function,
* translated new items used since version 1.2.1 and 1.2.2
* 2000/08: translated new items used since version 1.1.3, 1.1.4, 1.1.5 and 1.2.0
...
...
@@ -998,6 +999,50 @@ class TranslatorItalian : public Translator
return
"Documentazione delle Proprietà"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.4
//////////////////////////////////////////////////////////////////////////
/*! Used for Java interfaces in the summary section of Java packages */
virtual
QCString
trInterfaces
()
{
return
"Interfacce"
;
}
/*! Used for Java classes in the summary section of Java packages */
virtual
QCString
trClasses
()
{
return
"Classi"
;
}
/*! Used as the title of a Java package */
virtual
QCString
trPackage
(
const
char
*
name
)
{
return
(
QCString
)
"Package "
+
name
;
}
/*! Title of the package index page */
virtual
QCString
trPackageList
()
{
return
"Lista dei package"
;
}
/*! The description of the package index page */
virtual
QCString
trPackageListDescription
()
{
return
"Questi sono i package e una loro breve descrizione (se disponibile):"
;
}
/*! The link name in the Quick links header for each page */
virtual
QCString
trPackages
()
{
return
"Package"
;
}
/*! Used as a chapter title for Latex & RTF output */
virtual
QCString
trPackageDocumentation
()
{
return
"Documentazione dei package"
;
}
/*! Text shown before a multi-line define */
virtual
QCString
trDefineValue
()
{
return
"Valore:"
;
}
};
#endif
src/translator_jp.h
View file @
ba755dd4
...
...
@@ -2,7 +2,7 @@
*
*
*
* Copyright (C) 1997-200
1
by Dimitri van Heesch.
* Copyright (C) 1997-200
0
by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
...
...
@@ -25,12 +25,11 @@ class TranslatorJapanese : public Translator
public
:
QCString
idLanguage
()
{
return
"japanese"
;
}
QCString
idLanguageCharset
()
{
return
"euc-jp"
;
}
/*! returns the name of the package that is included by LaTeX */
QCString
latexBabelPackage
()
{
return
"a4j"
;
}
{
return
"english"
;
}
QCString
idLanguageCharset
()
{
return
"euc-jp"
;
}
/*! used in the compound documentation before a list of related functions. */
QCString
trRelatedFunctions
()
...
...
@@ -414,7 +413,7 @@ class TranslatorJapanese : public Translator
/*! this text is generated when the \warning command is used. */
QCString
trWarning
()
{
return
"
注意
"
;
}
{
return
"
警告
"
;
}
/*! this text is generated when the \bug command is used. */
QCString
trBugsAndLimitations
()
...
...
@@ -452,7 +451,9 @@ class TranslatorJapanese : public Translator
QCString
trGeneratedBy
()
{
return
""
;
}
// new since 0.49-990307
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990307
//////////////////////////////////////////////////////////////////////////
/*! used as the title of page containing all the index of all namespaces. */
QCString
trNamespaceList
()
...
...
@@ -747,12 +748,12 @@ class TranslatorJapanese : public Translator
/*! Text for the \pre command */
QCString
trPrecondition
()
{
return
"
前提
条件"
;
return
"
事前
条件"
;
}
/*! Text for the \post command */
QCString
trPostcondition
()
{
return
"
Postcondition
"
;
return
"
事後条件
"
;
}
/*! Text for the \invariant command */
QCString
trInvariant
()
...
...
@@ -785,6 +786,249 @@ class TranslatorJapanese : public Translator
{
return
"ページ索引"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.0
//////////////////////////////////////////////////////////////////////////
QCString
trNote
()
{
return
"覚え書き"
;
}
QCString
trPublicTypes
()
{
return
"公開型"
;
}
QCString
trPublicAttribs
()
{
return
"公開属性"
;
}
QCString
trStaticPublicAttribs
()
{
return
"静的公開属性"
;
}
QCString
trProtectedTypes
()
{
return
"保護型"
;
}
QCString
trProtectedAttribs
()
{
return
"保護属性"
;
}
QCString
trStaticProtectedAttribs
()
{
return
"静的保護属性"
;
}
QCString
trPrivateTypes
()
{
return
"非公開型"
;
}
QCString
trPrivateAttribs
()
{
return
"非公開属性"
;
}
QCString
trStaticPrivateAttribs
()
{
return
"静的非公開属性"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.3
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a todo item */
QCString
trTodo
()
{
return
"TODO"
;
}
/*! Used as the header of the todo list */
QCString
trTodoList
()
{
return
"TODOリスト"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.4
//////////////////////////////////////////////////////////////////////////
QCString
trReferencedBy
()
{
return
"次で参照されています。"
;
}
QCString
trRemarks
()
{
return
"意見"
;
}
QCString
trAttention
()
{
return
"注意"
;
}
QCString
trInclByDepGraph
()
{
return
"このグラフは、このファイルがどのファイルから直接、間接的に"
"インクルードされているかを示しています。"
;
}
QCString
trSince
()
{
return
"Since"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.5
//////////////////////////////////////////////////////////////////////////
/*! title of the graph legend page */
QCString
trLegendTitle
()
{
return
"グラフの凡例"
;
}
/*! page explaining how the dot graph's should be interpreted */
QCString
trLegendDocs
()
{
return
"このページでは、doxygen で生成されたグラフをどのようにみたらよいかを"
"説明します。<p>
\n
"
"次の例を考えてみます。
\n
"
"
\\
code
\n
"
"/*! 省略されて見えないクラス */
\n
"
"class Invisible { };
\n\n
"
"/*! 省略されたクラス(継承関係は隠されている) */
\n
"
"class Truncated : public Invisible { };
\n\n
"
"/* doxygen コメントによるドキュメントがないクラス */
\n
"
"class Undocumented { };
\n\n
"
"/*! public で継承されたクラス */
\n
"
"class PublicBase : public Truncated { };
\n\n
"
"/*! protected で継承されたクラス */
\n
"
"class ProtectedBase { };
\n\n
"
"/*! private で継承されたクラス */
\n
"
"class PrivateBase { };
\n\n
"
"/*! 継承されたクラスで使われているクラス */
\n
"
"class Used { };
\n\n
"
"/*! 複数のクラスを継承している上位クラス */
\n
"
"class Inherited : public PublicBase,
\n
"
" protected ProtectedBase,
\n
"
" private PrivateBase,
\n
"
" public Undocumented
\n
"
"{
\n
"
" private:
\n
"
" Used *m_usedClass;
\n
"
"};
\n
"
"
\\
endcode
\n
"
"設定ファイル中で、タグ
\\
c MAX_DOT_GRAPH_HEIGHT が 200 にセットされた"
"場合、次のようなグラフとなります。"
"<p><center><img src=
\"
graph_legend.gif
\"
></center>
\n
"
"<p>
\n
"
"上のグラフ内のボックスには次のような意味があります。
\n
"
"<ul>
\n
"
"<li>黒く塗りつぶされたボックスは、このグラフに対応する構造体やクラスを"
"表します。
\n
"
"<li>黒枠のボックスはドキュメントがある構造体やクラスを表します。
\n
"
"<li>灰色の枠のボックスはドキュメントがない構造体やクラスを表します。
\n
"
"<li>赤枠のボックスはドキュメントがある構造体やクラスを表しますが、"
"指定されたサイズに収まらないために継承・包含関係をすべて図示する"
"ことができなかったことを示します。"
"</ul>
\n
"
"矢印には次のような意味があります。
\n
"
"<ul>
\n
"
"<li>青い矢印は二つのクラス間の public 継承関係を示します。
\n
"
"<li>緑の矢印は protected 継承関係を示します。
\n
"
"<li>赤の矢印は private 継承関係を示します。
\n
"
"<li>紫の破線矢印は、そのクラスが他のクラスに含まれていたり、"
"利用されていることを示します。また、矢印が指しているクラスや構造体を"
"どの変数でアクセスできるかを矢印のラベルとして示しています。
\n
"
"</ul>
\n
"
;
}
/*! text for the link to the legend page */
QCString
trLegend
()
{
return
"凡例"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.0
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a test item */
QCString
trTest
()
{
return
"テスト"
;
}
/*! Used as the header of the test list */
QCString
trTestList
()
{
return
"テストリスト"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.1
//////////////////////////////////////////////////////////////////////////
/*! Used as a section header for KDE-2 IDL methods */
QCString
trDCOPMethods
()
{
return
"DCOPメソッド"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.2
//////////////////////////////////////////////////////////////////////////
/*! Used as a section header for IDL properties */
QCString
trProperties
()
{
return
"プロパティ"
;
}
/*! Used as a section header for IDL property documentation */
QCString
trPropertyDocumentation
()
{
return
"プロパティの解説"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.4
//////////////////////////////////////////////////////////////////////////
/*! Used for Java interfaces in the summary section of Java packages */
virtual
QCString
trInterfaces
()
{
return
"インターフェース"
;
}
/*! Used for Java classes in the summary section of Java packages */
virtual
QCString
trClasses
()
{
return
"クラス"
;
}
/*! Used as the title of a Java package */
virtual
QCString
trPackage
(
const
char
*
name
)
{
return
(
QCString
)
"パッケージ "
+
name
;
}
/*! Title of the package index page */
virtual
QCString
trPackageList
()
{
return
"パッケージリスト"
;
}
/*! The description of the package index page */
virtual
QCString
trPackageListDescription
()
{
return
"簡易説明を持つパッケージです。"
;
}
/*! The link name in the Quick links header for each page */
virtual
QCString
trPackages
()
{
return
"パッケージ"
;
}
/*! Used as a chapter title for Latex & RTF output */
virtual
QCString
trPackageDocumentation
()
{
return
"パッケージの解説"
;
}
/*! Text shown before a multi-line define */
virtual
QCString
trDefineValue
()
{
return
"値:"
;
}
};
#endif
src/translator_nl.h
View file @
ba755dd4
...
...
@@ -32,7 +32,7 @@ class TranslatorDutch : public Translator
QCString
trRelatedSubscript
()
{
return
"(Merk op dat dit geen member functies zijn.)"
;
}
QCString
trDetailedDescription
()
{
return
"Gedetaileerde Beschrijving"
;
}
{
return
"Gedetail
l
eerde Beschrijving"
;
}
QCString
trMemberTypedefDocumentation
()
{
return
"Documentatie van type definitie members"
;
}
QCString
trMemberEnumerationDocumentation
()
...
...
@@ -516,15 +516,15 @@ class TranslatorDutch : public Translator
}
QCString
trGraphicalHierarchy
()
{
return
"Grafische Klasse Hi
e
rarchie"
;
return
"Grafische Klasse Hi
ë
rarchie"
;
}
QCString
trGotoGraphicalHierarchy
()
{
return
"Ga naar de grafische klasse hi
e
rarchie"
;
return
"Ga naar de grafische klasse hi
ë
rarchie"
;
}
QCString
trGotoTextualHierarchy
()
{
return
"Ga naar de tekstu
ële klasse hie
rarchie"
;
return
"Ga naar de tekstu
ele klasse hië
rarchie"
;
}
QCString
trPageIndex
()
{
...
...
@@ -695,12 +695,12 @@ class TranslatorDutch : public Translator
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a test item */
virtual
QCString
trTest
()
QCString
trTest
()
{
return
"Test"
;
}
/*! Used as the header of the test list */
virtual
QCString
trTestList
()
QCString
trTestList
()
{
return
"Test Lijst"
;
}
...
...
@@ -710,7 +710,7 @@ class TranslatorDutch : public Translator
//////////////////////////////////////////////////////////////////////////
/*! Used as a section header for KDE-2 IDL methods */
virtual
QCString
trDCOPMethods
()
QCString
trDCOPMethods
()
{
return
"DCOP Methoden"
;
}
...
...
@@ -720,15 +720,76 @@ class TranslatorDutch : public Translator
//////////////////////////////////////////////////////////////////////////
/*! Used as a section header for IDL properties */
virtual
QCString
trProperties
()
QCString
trProperties
()
{
return
"Properties"
;
}
/*! Used as a section header for IDL property documentation */
virtual
QCString
trPropertyDocumentation
()
QCString
trPropertyDocumentation
()
{
return
"Property Documentatie"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.4
//////////////////////////////////////////////////////////////////////////
/*! Used for Java interfaces in the summary section of Java packages */
QCString
trInterfaces
()
{
return
"Interfaces"
;
}
/*! Used for Java classes in the summary section of Java packages */
QCString
trClasses
()
{
return
"Klassen"
;
}
/*! Used as the title of a Java package */
QCString
trPackage
(
const
char
*
name
)
{
return
(
QCString
)
"Package "
+
name
;
}
/*! Title of the package index page */
QCString
trPackageList
()
{
return
"Package Lijst"
;
}
/*! The description of the package index page */
QCString
trPackageListDescription
()
{
return
"Hier volgen de packages, elk met een korte beschrijving (indien aanwezig):"
;
}
/*! The link name in the Quick links header for each page */
QCString
trPackages
()
{
return
"Packages"
;
}
/*! Used as a chapter title for Latex & RTF output */
QCString
trPackageDocumentation
()
{
return
"Package Documentatie"
;
}
/*! Text shown before a multi-line define */
QCString
trDefineValue
()
{
return
"Waarde:"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.5
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a \bug item */
QCString
trBug
()
{
return
"Bug"
;
}
/*! Used as the header of the bug list */
QCString
trBugList
()
{
return
"Bug Lijst"
;
}
};
#endif
src/translator_ru.h
View file @
ba755dd4
...
...
@@ -14,6 +14,11 @@
*
*/
/*
* Russian translation by Andrey V. Stolyarov <crocodil<AT>croco.net>
* released Feb 14, 2001
*/
#ifndef TRANSLATOR_RU_H
#define TRANSLATOR_RU_H
...
...
@@ -32,48 +37,55 @@ class TranslatorRussian : public Translator
}
QCString
trRelatedFunctions
()
{
return
" "
;
return
" "
;
}
QCString
trRelatedSubscript
()
{
return
"( , )"
;
return
"( ,
-
)"
;
}
QCString
trDetailedDescription
()
{
return
" "
;
return
" "
;
}
QCString
trMemberTypedefDocumentation
()
{
// Need additional translation
return
"
typedef
"
;
return
"
typedef-
"
;
}
QCString
trMemberEnumerationDocumentation
()
{
return
" "
;
return
" "
;
}
QCString
trMemberFunctionDocumentation
()
{
return
"
"
;
return
"
-
"
;
}
QCString
trMemberDataDocumentation
()
{
return
" "
;
if
(
Config
::
optimizeForCFlag
)
{
return
" "
;
}
else
{
return
" -"
;
}
}
QCString
trMore
()
{
return
"..."
;
return
"..."
;
}
QCString
trListOfAllMembers
()
{
return
"C "
;
return
"C
.
"
;
}
QCString
trMemberList
()
{
return
" "
;
return
" "
;
}
QCString
trThisIsTheListOfAllMembers
()
{
return
" "
;
return
"
/
"
;
}
QCString
trIncludeIncludingInheritedMembers
()
{
...
...
@@ -82,7 +94,7 @@ class TranslatorRussian : public Translator
QCString
trGeneratedAutomatically
(
const
char
*
s
)
{
QCString
result
=
" Doxygen"
;
if
(
s
)
result
+=
(
QCString
)
" "
+
s
;
result
+=
" ."
;
result
+=
"
."
;
return
result
;
}
QCString
trEnumName
()
...
...
@@ -99,7 +111,7 @@ class TranslatorRussian : public Translator
}
QCString
trVerbatimText
(
const
char
*
f
)
{
return
(
QCString
)
"
"
+
f
+
" "
;
return
(
QCString
)
"
"
+
f
;
}
QCString
trModules
()
{
...
...
@@ -111,29 +123,52 @@ class TranslatorRussian : public Translator
}
QCString
trCompoundList
()
{
// Need additional translation
return
" (compound list)"
;
if
(
Config
::
optimizeForCFlag
)
{
return
" "
;
}
else
{
// doubtful translation; originally - "Compound List"
return
" "
;
}
}
QCString
trFileList
()
{
return
" "
;
return
" "
;
}
QCString
trHeaderFiles
()
{
return
"
"
;
return
" "
;
}
QCString
trCompoundMembers
()
{
// Need additional translation
return
" (compound members)"
;
if
(
Config
::
optimizeForCFlag
)
{
return
" "
;
}
else
{
return
"-"
;
}
}
QCString
trFileMembers
()
{
return
" "
;
if
(
Config
::
optimizeForCFlag
)
{
return
" "
;
}
else
{
// doubtful translation
// (originally - "File members", but not good for Russian)
return
" "
;
}
}
QCString
trRelatedPages
()
{
return
" "
;
// non-verbatim translation: originally "related pages"
return
". : "
;
}
QCString
trExamples
()
{
...
...
@@ -145,8 +180,8 @@ class TranslatorRussian : public Translator
}
QCString
trClassHierarchyDescription
()
{
// Need additional translation
return
" (inheritance) ,
"
;
return
" "
"( )
"
;
}
QCString
trFileListDescription
(
bool
extractAll
)
{
...
...
@@ -157,36 +192,52 @@ class TranslatorRussian : public Translator
}
QCString
trCompoundListDescription
()
{
return
" , , "
":"
;
if
(
Config
::
optimizeForCFlag
)
{
return
" : "
;
}
else
{
return
", , "
" : "
;
}
}
QCString
trCompoundMembersDescription
(
bool
extractAll
)
{
// Need additional translation
QCString
result
=
" "
;
if
(
!
extractAll
)
result
+=
" "
;
result
+=
" "
;
result
+=
" "
;
if
(
extractAll
)
result
+=
"
the class documentation for each member
:"
;
result
+=
"
:"
;
else
result
+=
"
the classes the belong to
:"
;
result
+=
"
,
:"
;
return
result
;
}
QCString
trFileMembersDescription
(
bool
extractAll
)
{
// Need additional translation
QCString
result
=
" "
;
if
(
!
extractAll
)
result
+=
" "
;
result
+=
" , (links) "
;
if
(
extractAll
)
result
+=
"the class documentation for each member:"
;
if
(
!
extractAll
)
result
+=
" "
;
if
(
Config
::
optimizeForCFlag
)
{
result
+=
", , , "
" "
;
}
else
result
+=
"the classes the belong to:"
;
{
result
+=
" "
;
}
result
+=
" "
;
if
(
extractAll
)
result
+=
", :"
;
else
result
+=
":"
;
return
result
;
}
QCString
trHeaderFilesDescription
()
{
return
" ,
API:"
;
return
" , API:"
;
}
QCString
trExamplesDescription
()
{
...
...
@@ -194,8 +245,7 @@ class TranslatorRussian : public Translator
}
QCString
trRelatedPagesDescription
()
{
// Need additional translation
return
" :"
;
return
" :"
;
}
QCString
trModulesDescription
()
{
...
...
@@ -203,7 +253,7 @@ class TranslatorRussian : public Translator
}
QCString
trNoDescriptionAvailable
()
{
return
" "
;
return
" "
;
}
QCString
trDocumentation
()
{
...
...
@@ -211,7 +261,7 @@ class TranslatorRussian : public Translator
}
QCString
trModuleIndex
()
{
return
" "
;
return
" "
;
}
QCString
trHierarchicalIndex
()
{
...
...
@@ -219,41 +269,48 @@ class TranslatorRussian : public Translator
}
QCString
trCompoundIndex
()
{
// Need additional translation
return
" "
;
if
(
Config
::
optimizeForCFlag
)
{
return
" "
;
}
else
{
// originally "compound index"
return
" "
;
}
}
QCString
trFileIndex
()
{
return
" "
;
return
" "
;
}
QCString
trModuleDocumentation
()
{
return
" "
;
return
" "
;
}
QCString
trClassDocumentation
()
{
return
" "
;
return
" "
;
}
QCString
trFileDocumentation
()
{
return
" "
;
return
" "
;
}
QCString
trExampleDocumentation
()
{
return
"
"
;
return
" "
;
}
QCString
trPageDocumentation
()
{
return
" "
;
return
" "
;
}
QCString
trReferenceManual
()
{
return
" "
;
// originally reference manual
return
" "
;
}
QCString
trDefines
()
{
// Need Translation
return
" (Defines)"
;
return
""
;
}
QCString
trFunctionPrototypes
()
{
...
...
@@ -265,20 +322,19 @@ class TranslatorRussian : public Translator
}
QCString
trEnumerations
()
{
// Need Translation
return
" (Enumerations)"
;
return
""
;
}
QCString
trFunctions
()
{
return
"
:
"
;
return
""
;
}
QCString
trVariables
()
{
return
"
:
"
;
return
""
;
}
QCString
trEnumerationValues
()
{
return
" "
;
return
" "
;
}
QCString
trAuthor
()
{
...
...
@@ -286,7 +342,7 @@ class TranslatorRussian : public Translator
}
QCString
trDefineDocumentation
()
{
return
"
(defines)
"
;
return
" "
;
}
QCString
trFunctionPrototypeDocumentation
()
{
...
...
@@ -314,8 +370,16 @@ class TranslatorRussian : public Translator
}
QCString
trCompounds
()
{
// need translation
return
"Compounds"
;
if
(
Config
::
optimizeForCFlag
)
{
return
" "
;
}
else
{
// originally "compounds"
return
" "
;
}
}
QCString
trFiles
()
{
...
...
@@ -325,16 +389,16 @@ class TranslatorRussian : public Translator
{
QCString
result
=
(
QCString
)
" "
+
date
;
if
(
projName
)
result
+=
(
QCString
)
" "
+
projName
;
result
+=
(
QCString
)
" "
;
result
+=
(
QCString
)
"
"
;
return
result
;
}
QCString
trWrittenBy
()
{
return
"
"
;
return
""
;
}
QCString
trClassDiagram
(
const
char
*
clName
)
{
return
(
QCString
)
" "
+
clName
;
return
(
QCString
)
" "
+
clName
+
":"
;
}
QCString
trForInternalUseOnly
()
{
...
...
@@ -342,9 +406,8 @@ class TranslatorRussian : public Translator
}
QCString
trReimplementedForInternalREasons
()
{
// need translation
return
" ;"
" ."
;
return
" ;"
" ."
;
}
QCString
trWarning
()
{
...
...
@@ -372,7 +435,7 @@ class TranslatorRussian : public Translator
}
QCString
trSeeAlso
()
{
return
""
;
return
"
.
"
;
}
QCString
trParameters
()
{
...
...
@@ -384,16 +447,14 @@ class TranslatorRussian : public Translator
}
QCString
trGeneratedBy
()
{
return
" "
;
return
" "
;
}
QCString
trNamespaceList
()
{
// Need translation
return
" "
;
return
" (namespaces)"
;
}
QCString
trNamespaceListDescription
(
bool
extractAll
)
{
// Need translation
QCString
result
=
" "
;
if
(
!
extractAll
)
result
+=
" "
;
result
+=
" :"
;
...
...
@@ -406,44 +467,53 @@ class TranslatorRussian : public Translator
QCString
trRelatedFunctionDocumentation
()
{
// need translation
return
"
"
;
return
" "
;
}
QCString
trCompoundReference
(
const
char
*
clName
,
ClassDef
::
CompoundType
compType
,
bool
/*isTemplate*/
)
bool
isTemplate
)
{
QCString
result
=
(
QCString
)
clName
+
" "
;
QCString
result
=
(
QCString
)
" "
;
if
(
isTemplate
){
switch
(
compType
)
{
case
ClassDef
:
:
Class
:
result
+=
" "
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
" "
;
break
;
case
ClassDef
:
:
Union
:
result
+=
" "
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
" "
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
" "
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
" "
;
break
;
case
ClassDef
:
:
Class
:
case
ClassDef
:
:
Union
:
case
ClassDef
:
:
Interface
:
case
ClassDef
:
:
Exception
:
result
+=
" "
;
break
;
}
result
+=
" "
;
}
switch
(
compType
)
{
case
ClassDef
:
:
Class
:
result
+=
" "
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
" "
;
break
;
case
ClassDef
:
:
Union
:
result
+=
" "
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
" "
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
" "
;
break
;
}
result
+=
clName
;
return
result
;
}
QCString
trFileReference
(
const
char
*
fileName
)
{
QCString
result
;
result
+=
(
QCString
)
" "
+
fileName
;
result
+=
(
QCString
)
" "
+
fileName
;
return
result
;
}
QCString
trNamespaceReference
(
const
char
*
namespaceName
)
{
// need translation
QCString
result
=
(
QCString
)
" "
+
namespaceName
;
return
result
;
}
QCString
trPublicMembers
()
{
return
" "
;
return
" "
;
}
QCString
trPublicSlots
()
{
// need translation
return
" (Slots)"
;
return
" "
;
}
QCString
trSignals
()
{
...
...
@@ -451,34 +521,31 @@ class TranslatorRussian : public Translator
}
QCString
trStaticPublicMembers
()
{
return
" "
;
return
" "
;
}
QCString
trProtectedMembers
()
{
return
" "
;
return
" "
;
}
QCString
trProtectedSlots
()
{
// need translation
return
" (Slots)"
;
return
" "
;
}
QCString
trStaticProtectedSlots
()
{
// need translation
return
" (Slots)"
;
return
" "
;
}
QCString
trPrivateMembers
()
{
return
" "
;
return
" "
;
}
QCString
trPrivateSlots
()
{
// need translation
return
" (Slots)"
;
return
" "
;
}
QCString
trStaticPrivateMembers
()
{
return
" "
;
return
" "
;
}
QCString
trWriteList
(
int
numEntries
)
{
...
...
@@ -492,20 +559,27 @@ class TranslatorRussian : public Translator
if
(
i
<
numEntries
-
2
)
result
+=
", "
;
else
result
+=
"
,
"
;
result
+=
" "
;
}
}
return
result
;
}
QCString
trInheritsList
(
int
numEntries
)
{
// need translation
return
" (Inherits) "
+
trWriteList
(
numEntries
)
+
"."
;
return
" "
+
trWriteList
(
numEntries
)
+
"."
;
}
QCString
trInheritedByList
(
int
numEntries
)
{
// need translation
return
" (Inherited By) "
+
trWriteList
(
numEntries
)
+
"."
;
return
" "
+
trWriteList
(
numEntries
)
+
"."
;
}
QCString
trReimplementedFromList
(
int
numEntries
)
{
// Originally: "reimplemented from"
// This translation assumes numEntries is always 1
// which is true as of 1.2.5 and it's hard for me to
// imagine a situation when it could be wrong.
return
" "
+
trWriteList
(
numEntries
)
+
"."
;
}
QCString
trReimplementedInList
(
int
numEntries
)
{
...
...
@@ -513,31 +587,30 @@ class TranslatorRussian : public Translator
}
QCString
trNamespaceMembers
()
{
// Need translation
return
" "
;
return
" "
;
}
QCString
trNamespaceMemberDescription
(
bool
extractAll
)
{
QCString
result
=
" "
;
if
(
!
extractAll
)
result
+=
" "
;
result
+=
" "
;
result
+=
" "
;
if
(
extractAll
)
result
+=
" "
;
result
+=
"
:
"
;
else
result
+=
"
"
;
result
+=
"
, :
"
;
return
result
;
}
QCString
trNamespaceIndex
()
{
return
" "
;
return
" "
;
}
QCString
trNamespaceDocumentation
()
{
return
" "
;
return
" "
;
}
QCString
trNamespaces
()
{
return
" "
;
return
" "
;
}
QCString
trGeneratedFromFiles
(
ClassDef
::
CompoundType
compType
,
bool
single
)
{
...
...
@@ -559,7 +632,7 @@ class TranslatorRussian : public Translator
}
QCString
trAlphabeticalList
()
{
return
" "
;
return
" "
;
}
QCString
trReturnValues
()
{
...
...
@@ -567,8 +640,7 @@ class TranslatorRussian : public Translator
}
QCString
trMainPage
()
{
// need translation
return
" (Main Page)"
;
return
" "
;
}
QCString
trPageAbbreviation
()
{
...
...
@@ -580,11 +652,11 @@ class TranslatorRussian : public Translator
}
QCString
trDefinedAtLineInSourceFile
()
{
return
" @0 @1."
;
return
" @0 @1."
;
}
QCString
trDefinedInSourceFile
()
{
return
" @0."
;
return
" @0."
;
}
QCString
trDeprecated
()
{
...
...
@@ -592,40 +664,36 @@ class TranslatorRussian : public Translator
}
QCString
trCollaborationDiagram
(
const
char
*
clName
)
{
// need translation
return
(
QCString
)
" "
+
clName
+
":"
;
// originally "collaboration diagram"
return
(
QCString
)
" "
+
clName
+
":"
;
}
QCString
trInclDepGraph
(
const
char
*
fName
)
{
// need translation
return
(
QCString
)
"
"
+
fName
+
":"
;
return
(
QCString
)
" "
"
"
+
fName
+
":"
;
}
QCString
trConstructorDocumentation
()
{
return
" "
;
return
" "
;
}
QCString
trGotoSourceCode
()
{
// need translation
return
" ."
;
return
" ."
;
}
QCString
trGotoDocumentation
()
{
return
" ."
;
return
"
."
;
}
QCString
trPrecondition
()
{
// need translation
return
" (Precondition)"
;
return
""
;
}
QCString
trPostcondition
()
{
// need translation
return
" (Postcondition)"
;
return
""
;
}
QCString
trInvariant
()
{
// need translation
return
""
;
}
QCString
trInitialValue
()
...
...
@@ -634,26 +702,23 @@ class TranslatorRussian : public Translator
}
QCString
trCode
()
{
return
" "
;
return
" "
;
}
QCString
trGraphicalHierarchy
()
{
// need translation
return
" (?)"
;
return
" ()"
;
}
QCString
trGotoGraphicalHierarchy
()
{
// need translation
return
" "
;
return
" "
;
}
QCString
trGotoTextualHierarchy
()
{
// need translation
return
" "
;
return
" "
;
}
QCString
trPageIndex
()
{
return
" "
;
return
" "
;
}
QCString
trNote
()
{
...
...
@@ -661,47 +726,54 @@ class TranslatorRussian : public Translator
}
QCString
trPublicTypes
()
{
return
" "
;
return
" "
;
}
QCString
trPublicAttribs
()
{
return
" "
;
if
(
Config
::
optimizeForCFlag
)
{
return
" "
;
}
else
{
return
" "
;
}
}
QCString
trStaticPublicAttribs
()
{
return
" "
;
return
" "
;
}
QCString
trProtectedTypes
()
{
return
" "
;
return
" "
;
}
QCString
trProtectedAttribs
()
{
return
" "
;
return
" "
;
}
QCString
trStaticProtectedAttribs
()
{
return
" "
;
return
"
"
;
}
QCString
trPrivateTypes
()
{
return
" "
;
return
" "
;
}
QCString
trPrivateAttribs
()
{
return
" "
;
return
" "
;
}
QCString
trStaticPrivateAttribs
()
{
return
" "
;
return
" "
;
}
QCString
trTodo
()
{
return
"
Todo
"
;
return
"
:
"
;
}
QCString
trTodoList
()
{
return
"
"
;
return
" "
;
}
QCString
trReferencedBy
()
{
...
...
@@ -718,21 +790,21 @@ class TranslatorRussian : public Translator
QCString
trInclByDepGraph
()
{
return
" , "
" :"
;
" :"
;
}
QCString
trSince
()
{
return
""
;
return
"
"
;
}
QCString
trLegendTitle
()
{
return
" "
;
return
" "
;
}
QCString
trLegendDocs
()
{
return
" ,
, "
"doxygen.<p>
\n
"
//"
, "
//
"doxygen.<p>\n"
" :
\n
"
"
\\
code
\n
"
"/*! - */
\n
"
...
...
@@ -747,9 +819,9 @@ class TranslatorRussian : public Translator
"class ProtectedBase { };
\n\n
"
"/*! , */
\n
"
"class PrivateBase { };
\n\n
"
"/*! , Inherited */
\n
"
"/*! ,
Inherited */
\n
"
"class Used { };
\n\n
"
"/*! , */
\n
"
"/*! , */
\n
"
"class Inherited : public PublicBase,
\n
"
" protected ProtectedBase,
\n
"
" private PrivateBase,
\n
"
...
...
@@ -759,34 +831,35 @@ class TranslatorRussian : public Translator
" Used *m_usedClass;
\n
"
"};
\n
"
"
\\
endcode
\n
"
"
\\
c MAX_DOT_GRAPH_HEIGHT
"
" 200, :"
"
\\
c MAX_DOT_GRAPH_HEIGHT
"
" 200, :"
"<p><center><img src=
\"
graph_legend.gif
\"
></center>
\n
"
"<p>
\n
"
" :
\n
"
" :
\n
"
"<ul>
\n
"
"<li> , "
" .
\n
"
"<li> , "
"
.
\n
"
"<li> .
\n
"
"<li> .
\n
"
"<li> .
\n
"
"<li> ,
\n
"
" / . , "
" ."
" / . , "
" ."
"</ul>
\n
"
" :
\n
"
" :
\n
"
"<ul>
\n
"
"<li> "
" .
\n
"
"<li> .
\n
"
"<li> .
\n
"
"<li> , "
". , "
"<li> .
\n
"
"<li> , "
" . "
" , "
" .
\n
"
"</ul>
\n
"
;
}
QCString
trLegend
()
{
return
""
;
return
""
;
}
QCString
trTest
()
{
...
...
@@ -794,34 +867,57 @@ class TranslatorRussian : public Translator
}
QCString
trTestList
()
{
return
" "
;
return
" "
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.1
//////////////////////////////////////////////////////////////////////////
/*! Used as a section header for KDE-2 IDL methods */
virtual
QCString
trDCOPMethods
()
{
return
" DCOP"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.2
//////////////////////////////////////////////////////////////////////////
/*! Used as a section header for IDL properties */
virtual
QCString
trProperties
()
{
return
""
;
}
/*! Used as a section header for IDL property documentation */
virtual
QCString
trPropertyDocumentation
()
{
return
" "
;
return
" "
;
}
virtual
QCString
trInterfaces
()
{
return
""
;
}
virtual
QCString
trClasses
()
{
return
""
;
}
virtual
QCString
trPackage
(
const
char
*
name
)
{
return
(
QCString
)
" "
+
name
;
}
virtual
QCString
trPackageList
()
{
return
" "
;
}
virtual
QCString
trPackageListDescription
()
{
return
" ( ):"
;
}
virtual
QCString
trPackages
()
{
return
""
;
}
virtual
QCString
trPackageDocumentation
()
{
return
" "
;
}
virtual
QCString
trDefineValue
()
{
return
":"
;
}
};
#endif
src/treeview.h
View file @
ba755dd4
...
...
@@ -103,7 +103,7 @@
"
\n
"
"function hideFolder()
\n
"
"{
\n
"
" if (browserVersion == 1) {
\n
"
" if (browserVersion == 1
|| browserVersion == 3
) {
\n
"
" if (this.navObj.style.display ==
\"
none
\"
)
\n
"
" return
\n
"
" this.navObj.style.display =
\"
none
\"
\n
"
...
...
@@ -171,6 +171,8 @@
" doc.yPos=8
\n
"
" doc.write(
\"
<layer id='folder
\"
+ this.id +
\"
' top=
\"
+ doc.yPos +
\"
visibility=hidden>
\"
)
\n
"
" }
\n
"
" if (browserVersion == 3)
\n
"
" doc.write(
\"
<div id='folder
\"
+ this.id +
\"
' style='display:none;'>
\"
)
\n
"
"
\n
"
" doc.write(
\"\\
n<table
\"
)
\n
"
" if (browserVersion == 1)
\n
"
...
...
@@ -199,6 +201,9 @@
" if (browserVersion == 2) {
\n
"
" doc.write(
\"
</layer>
\"
)
\n
"
" }
\n
"
" if (browserVersion == 3) {
\n
"
" doc.write(
\"
</div>
\"
)
\n
"
" }
\n
"
"
\n
"
" if (browserVersion == 1) {
\n
"
" this.navObj = doc.all[
\"
folder
\"
+this.id]
\n
"
...
...
@@ -209,7 +214,11 @@
" this.iconImg = this.navObj.document.images[
\"
folderIcon
\"
+this.id]
\n
"
" this.nodeImg = this.navObj.document.images[
\"
nodeIcon
\"
+this.id]
\n
"
" doc.yPos=doc.yPos+this.navObj.clip.height
\n
"
" }
\n
"
" } else if (browserVersion == 3) {
\n
"
" this.navObj = doc.getElementById(
\"
folder
\"
+this.id)
\n
"
" this.iconImg = doc.images.namedItem(
\"
folderIcon
\"
+this.id)
\n
"
" this.nodeImg = doc.images.namedItem(
\"
nodeIcon
\"
+this.id)
\n
"
" }
\n
"
"}
\n
"
"
\n
"
"function outputFolderLink()
\n
"
...
...
@@ -276,7 +285,7 @@
"
\n
"
"function hideItem()
\n
"
"{
\n
"
" if (browserVersion == 1) {
\n
"
" if (browserVersion == 1
|| browserVersion == 3
) {
\n
"
" if (this.navObj.style.display ==
\"
none
\"
)
\n
"
" return
\n
"
" this.navObj.style.display =
\"
none
\"
\n
"
...
...
@@ -310,6 +319,8 @@
"{
\n
"
" if (browserVersion == 2)
\n
"
" doc.write(
\"
<layer id='item
\"
+ this.id +
\"
' top=
\"
+ doc.yPos +
\"
visibility=hidden>
\"
)
\n
"
" if (browserVersion == 3)
\n
"
" doc.write(
\"
<div id='item
\"
+ this.id +
\"
' style='display:block;'>
\"
)
\n
"
"
\n
"
" doc.write(
\"\\
n<table
\"
)
\n
"
" if (browserVersion == 1)
\n
"
...
...
@@ -340,6 +351,8 @@
"
\n
"
" if (browserVersion == 2)
\n
"
" doc.write(
\"
</layer>
\"
)
\n
"
" if (browserVersion == 3)
\n
"
" doc.write(
\"
</div>
\"
)
\n
"
"
\n
"
" if (browserVersion == 1) {
\n
"
" this.navObj = doc.all[
\"
item
\"
+this.id]
\n
"
...
...
@@ -348,7 +361,10 @@
" this.navObj = doc.layers[
\"
item
\"
+this.id]
\n
"
" this.iconImg = this.navObj.document.images[
\"
itemIcon
\"
+this.id]
\n
"
" doc.yPos=doc.yPos+this.navObj.clip.height
\n
"
" }
\n
"
" } else if (browserVersion == 3) {
\n
"
" this.navObj = doc.getElementById(
\"
item
\"
+this.id)
\n
"
" this.iconImg = doc.images.namedItem(
\"
itemIcon
\"
+this.id)
\n
"
" }
\n
"
"}
\n
"
"
\n
"
"
\n
"
...
...
@@ -357,7 +373,7 @@
"
\n
"
"function display()
\n
"
"{
\n
"
" if (browserVersion == 1)
\n
"
" if (browserVersion == 1
|| browserVersion == 3
)
\n
"
" this.navObj.style.display =
\"
block
\"
\n
"
" else
\n
"
" this.navObj.visibility =
\"
show
\"
\n
"
...
...
@@ -419,6 +435,8 @@
" else
\n
"
" if (doc.layers)
\n
"
" browserVersion = 2 //NS4
\n
"
" else if(navigator.userAgent.toLowerCase().indexOf('gecko') != -1)
\n
"
" browserVersion = 3 //mozilla
\n
"
" else
\n
"
" browserVersion = 0 //other
\n
"
"
\n
"
...
...
@@ -427,6 +445,7 @@
"
\n
"
" if (browserVersion > 0)
\n
"
" {
\n
"
" if(browserVersion != 3)
\n
"
" doc.write(
\"
<layer top=
\"
+indexOfEntries[nEntries-1].navObj.top+
\"
> </layer>
\"
)
\n
"
"
\n
"
" // close the whole tree
\n
"
...
...
src/treeview.js
View file @
ba755dd4
...
...
@@ -103,7 +103,7 @@ function propagateChangesInState(folder)
function
hideFolder
()
{
if
(
browserVersion
==
1
)
{
if
(
browserVersion
==
1
||
browserVersion
==
3
)
{
if
(
this
.
navObj
.
style
.
display
==
"none"
)
return
this
.
navObj
.
style
.
display
=
"none"
...
...
@@ -171,6 +171,8 @@ function drawFolder(leftSide)
doc
.
yPos
=
8
doc
.
write
(
"<layer id='folder"
+
this
.
id
+
"' top="
+
doc
.
yPos
+
" visibility=hidden>"
)
}
if
(
browserVersion
==
3
)
doc
.
write
(
"<div id='folder"
+
this
.
id
+
"' style='display:none;'>"
)
doc
.
write
(
"
\n
<table "
)
if
(
browserVersion
==
1
)
...
...
@@ -199,6 +201,9 @@ function drawFolder(leftSide)
if
(
browserVersion
==
2
)
{
doc
.
write
(
"</layer>"
)
}
if
(
browserVersion
==
3
)
{
doc
.
write
(
"</div>"
)
}
if
(
browserVersion
==
1
)
{
this
.
navObj
=
doc
.
all
[
"folder"
+
this
.
id
]
...
...
@@ -209,6 +214,10 @@ function drawFolder(leftSide)
this
.
iconImg
=
this
.
navObj
.
document
.
images
[
"folderIcon"
+
this
.
id
]
this
.
nodeImg
=
this
.
navObj
.
document
.
images
[
"nodeIcon"
+
this
.
id
]
doc
.
yPos
=
doc
.
yPos
+
this
.
navObj
.
clip
.
height
}
else
if
(
browserVersion
==
3
)
{
this
.
navObj
=
doc
.
getElementById
(
"folder"
+
this
.
id
)
this
.
iconImg
=
doc
.
images
.
namedItem
(
"folderIcon"
+
this
.
id
)
this
.
nodeImg
=
doc
.
images
.
namedItem
(
"nodeIcon"
+
this
.
id
)
}
}
...
...
@@ -276,7 +285,7 @@ function Item(itemDescription, tagName, itemLink) // Constructor
function
hideItem
()
{
if
(
browserVersion
==
1
)
{
if
(
browserVersion
==
1
||
browserVersion
==
3
)
{
if
(
this
.
navObj
.
style
.
display
==
"none"
)
return
this
.
navObj
.
style
.
display
=
"none"
...
...
@@ -310,6 +319,8 @@ function drawItem(leftSide)
{
if
(
browserVersion
==
2
)
doc
.
write
(
"<layer id='item"
+
this
.
id
+
"' top="
+
doc
.
yPos
+
" visibility=hidden>"
)
if
(
browserVersion
==
3
)
doc
.
write
(
"<div id='item"
+
this
.
id
+
"' style='display:block;'>"
)
doc
.
write
(
"
\n
<table "
)
if
(
browserVersion
==
1
)
...
...
@@ -340,6 +351,8 @@ function drawItem(leftSide)
if
(
browserVersion
==
2
)
doc
.
write
(
"</layer>"
)
if
(
browserVersion
==
3
)
doc
.
write
(
"</div>"
)
if
(
browserVersion
==
1
)
{
this
.
navObj
=
doc
.
all
[
"item"
+
this
.
id
]
...
...
@@ -348,6 +361,9 @@ function drawItem(leftSide)
this
.
navObj
=
doc
.
layers
[
"item"
+
this
.
id
]
this
.
iconImg
=
this
.
navObj
.
document
.
images
[
"itemIcon"
+
this
.
id
]
doc
.
yPos
=
doc
.
yPos
+
this
.
navObj
.
clip
.
height
}
else
if
(
browserVersion
==
3
)
{
this
.
navObj
=
doc
.
getElementById
(
"item"
+
this
.
id
)
this
.
iconImg
=
doc
.
images
.
namedItem
(
"itemIcon"
+
this
.
id
)
}
}
...
...
@@ -357,7 +373,7 @@ function drawItem(leftSide)
function
display
()
{
if
(
browserVersion
==
1
)
if
(
browserVersion
==
1
||
browserVersion
==
3
)
this
.
navObj
.
style
.
display
=
"block"
else
this
.
navObj
.
visibility
=
"show"
...
...
@@ -419,6 +435,8 @@ function initializeDocument()
else
if
(
doc
.
layers
)
browserVersion
=
2
//NS4
else
if
(
navigator
.
userAgent
.
toLowerCase
().
indexOf
(
'gecko'
)
!=
-
1
)
browserVersion
=
3
//mozilla
else
browserVersion
=
0
//other
...
...
@@ -427,6 +445,7 @@ function initializeDocument()
if
(
browserVersion
>
0
)
{
if
(
browserVersion
!=
3
)
doc
.
write
(
"<layer top="
+
indexOfEntries
[
nEntries
-
1
].
navObj
.
top
+
"> </layer>"
)
// close the whole tree
...
...
src/util.cpp
View file @
ba755dd4
...
...
@@ -329,10 +329,12 @@ int guessSection(const char *name)
n
.
right
(
4
)
==
".cxx"
||
n
.
right
(
4
)
==
".cpp"
||
n
.
right
(
4
)
==
".c++"
||
n
.
right
(
5
)
==
".java"
||
n
.
right
(
3
)
==
".ii"
||
// inline
n
.
right
(
4
)
==
".ixx"
||
n
.
right
(
4
)
==
".ipp"
||
n
.
right
(
4
)
==
".i++"
n
.
right
(
4
)
==
".i++"
||
n
.
right
(
4
)
==
".inl"
)
return
Entry
::
SOURCE_SEC
;
if
(
n
.
right
(
2
)
==
".h"
||
// header
n
.
right
(
3
)
==
".hh"
||
...
...
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