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
56bc9bda
Commit
56bc9bda
authored
Jul 09, 2000
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.1.5_20000709
parent
adb81f79
Changes
64
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
64 changed files
with
1432 additions
and
163 deletions
+1432
-163
INSTALL
INSTALL
+4
-4
README
README
+2
-2
VERSION
VERSION
+1
-1
config_templ.l
addon/configgen/config_templ.l
+26
-4
configgen.cpp
addon/configgen/configgen.cpp
+7
-6
configure
configure
+2
-0
Doxyfile
doc/Doxyfile
+1
-0
commands.doc
doc/commands.doc
+9
-4
config.doc
doc/config.doc
+2
-1
language.doc
doc/language.doc
+16
-0
afterdoc.cfg
examples/afterdoc.cfg
+1
-0
author.cfg
examples/author.cfg
+1
-0
autolink.cfg
examples/autolink.cfg
+1
-0
class.cfg
examples/class.cfg
+1
-0
define.cfg
examples/define.cfg
+1
-0
diagrams.cfg
examples/diagrams.cfg
+1
-0
enum.cfg
examples/enum.cfg
+1
-0
example.cfg
examples/example.cfg
+1
-0
file.cfg
examples/file.cfg
+1
-0
func.cfg
examples/func.cfg
+1
-0
group.cfg
examples/group.cfg
+1
-0
include.cfg
examples/include.cfg
+1
-0
jdstyle.cfg
examples/jdstyle.cfg
+1
-0
memgrp.cfg
examples/memgrp.cfg
+1
-0
overload.cfg
examples/overload.cfg
+1
-0
page.cfg
examples/page.cfg
+1
-0
par.cfg
examples/par.cfg
+1
-0
par.cpp
examples/par.cpp
+11
-0
qtstyle.cfg
examples/qtstyle.cfg
+1
-0
relates.cfg
examples/relates.cfg
+1
-0
restypedef.cfg
examples/restypedef.cfg
+1
-0
structcmd.cfg
examples/structcmd.cfg
+1
-0
tag.cfg
examples/tag.cfg
+1
-0
templ.cfg
examples/templ.cfg
+1
-0
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
classdef.cpp
src/classdef.cpp
+24
-8
config.l
src/config.l
+28
-6
defargs.l
src/defargs.l
+1
-1
definition.cpp
src/definition.cpp
+6
-5
dot.cpp
src/dot.cpp
+76
-8
dot.h
src/dot.h
+3
-0
doxygen.cpp
src/doxygen.cpp
+30
-12
doxygen.pro.in
src/doxygen.pro.in
+1
-1
doxysearch.cpp
src/doxysearch.cpp
+2
-2
filedef.cpp
src/filedef.cpp
+2
-2
htmlgen.cpp
src/htmlgen.cpp
+4
-2
image.cpp
src/image.cpp
+3
-3
index.cpp
src/index.cpp
+19
-0
index.h
src/index.h
+1
-0
language.cpp
src/language.cpp
+5
-0
memberdef.cpp
src/memberdef.cpp
+45
-45
namespacedef.cpp
src/namespacedef.cpp
+2
-2
outputgen.cpp
src/outputgen.cpp
+5
-4
scanner.l
src/scanner.l
+34
-15
suffixtree.cpp
src/suffixtree.cpp
+1
-1
translator.h
src/translator.h
+72
-0
translator_cz.h
src/translator_cz.h
+2
-1
translator_hr.h
src/translator_hr.h
+38
-1
translator_pl.h
src/translator_pl.h
+902
-0
util.cpp
src/util.cpp
+17
-17
progen
tmake/bin/progen
+1
-1
tmake
tmake/bin/tmake
+1
-1
hello.cpp
tmake/example/hello.cpp
+1
-1
hello.h
tmake/example/hello.h
+1
-1
No files found.
INSTALL
View file @
56bc9bda
DOXYGEN Version 1.1.5
DOXYGEN Version 1.1.5
-20000709
CONTENTS
CONTENTS
--------
--------
...
@@ -15,8 +15,8 @@ INSTALLATION INSTRUCTIONS FOR UNIX:
...
@@ -15,8 +15,8 @@ INSTALLATION INSTRUCTIONS FOR UNIX:
1. Unpack the archive, unless you already have:
1. Unpack the archive, unless you already have:
gunzip doxygen-1.1.5.src.tar.gz # uncompress the archive
gunzip doxygen-1.1.5
-20000709
.src.tar.gz # uncompress the archive
tar xf doxygen-1.1.5.src.tar # unpack it
tar xf doxygen-1.1.5
-20000709
.src.tar # unpack it
2. Run the configure script:
2. Run the configure script:
...
@@ -255,4 +255,4 @@ The latest version of doxygen can be obtained at
...
@@ -255,4 +255,4 @@ The latest version of doxygen can be obtained at
Enjoy,
Enjoy,
Dimitri van Heesch (0
2
July 2000)
Dimitri van Heesch (0
9
July 2000)
README
View file @
56bc9bda
DOXYGEN Version 1.1.5
DOXYGEN Version 1.1.5
-20000709
Please read INSTALL for compilation instructions.
Please read INSTALL for compilation instructions.
...
@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
...
@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
Enjoy,
Enjoy,
Dimitri van Heesch (0
2
July 2000)
Dimitri van Heesch (0
9
July 2000)
VERSION
View file @
56bc9bda
1.1.5
1.1.5
-20000709
addon/configgen/config_templ.l
View file @
56bc9bda
...
@@ -326,9 +326,9 @@ void configStrToVal()
...
@@ -326,9 +326,9 @@ void configStrToVal()
"Using the default of 1024 pixels!\n");
"Using the default of 1024 pixels!\n");
width=1024;
width=1024;
}
}
else if (width<
25
0) // clip to lower bound
else if (width<
10
0) // clip to lower bound
{
{
width=
25
0;
width=
10
0;
}
}
else if (width>30000) // clip to upper bound
else if (width>30000) // clip to upper bound
{
{
...
@@ -351,9 +351,9 @@ void configStrToVal()
...
@@ -351,9 +351,9 @@ void configStrToVal()
"Using the default of 1024 pixels!\n");
"Using the default of 1024 pixels!\n");
height=1024;
height=1024;
}
}
else if (height<
25
0) // clip to lower bound
else if (height<
10
0) // clip to lower bound
{
{
height=
25
0;
height=
10
0;
}
}
else if (height>30000) // clip to upper bound
else if (height>30000) // clip to upper bound
{
{
...
@@ -625,6 +625,28 @@ void checkConfig()
...
@@ -625,6 +625,28 @@ void checkConfig()
err("Could not create output directory %s\n",Config::manOutputDir.data());
err("Could not create output directory %s\n",Config::manOutputDir.data());
exit(1);
exit(1);
}
}
// expand the relative stripFromPath values
char *sfp = Config::stripFromPath.first();
while (sfp)
{
QCString path = sfp;
if (path.at(0)!='/' && (path.length()<=2 || path.at(1)!=':'))
{
QFileInfo fi(path);
if (fi.exists() && fi.isDir())
{
int i = Config::stripFromPath.at();
Config::stripFromPath.remove();
if (Config::stripFromPath.at()==i) // did not remove last item
Config::stripFromPath.insert(i,fi.absFilePath()+"/");
else
Config::stripFromPath.append(fi.absFilePath()+"/");
}
}
sfp = Config::stripFromPath.next();
}
// Test to see if HTML header is valid
// Test to see if HTML header is valid
if (!Config::headerFile.isEmpty())
if (!Config::headerFile.isEmpty())
...
...
addon/configgen/configgen.cpp
View file @
56bc9bda
...
@@ -762,7 +762,7 @@ void init()
...
@@ -762,7 +762,7 @@ void init()
"information to generate all constant output in the proper language.
\n
"
"information to generate all constant output in the proper language.
\n
"
"The default language is English, other supported languages are:
\n
"
"The default language is English, other supported languages are:
\n
"
"Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese,
\n
"
"Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese,
\n
"
"Spanish
and Russian
\n
"
"Spanish
, Russian, Croatian and Polish.
\n
"
);
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"English"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"English"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Dutch"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Dutch"
);
...
@@ -771,11 +771,12 @@ void init()
...
@@ -771,11 +771,12 @@ void init()
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Czech"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Czech"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Swedish"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Swedish"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"German"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"German"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Russian"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Japanese"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Finnish"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Finnish"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Japanese"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Spanish"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Spanish"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Russian"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Croatian"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Croatian"
);
ConfigString
::
addFixedValue
(
"outputLanguage"
,
"Polish"
);
ConfigBool
::
add
(
"noIndexFlag"
,
ConfigBool
::
add
(
"noIndexFlag"
,
"DISABLE_INDEX"
,
"DISABLE_INDEX"
,
"FALSE"
,
"FALSE"
,
...
@@ -821,7 +822,7 @@ void init()
...
@@ -821,7 +822,7 @@ void init()
"HIDE_UNDOC_CLASSES"
,
"HIDE_UNDOC_CLASSES"
,
"FALSE"
,
"FALSE"
,
"hide undocumented members."
,
"hide undocumented members."
,
"If the HIDE_UNDOC_CLASSES
S
tag is set to YES, Doxygen will hide all
\n
"
"If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
\n
"
"undocumented classes that are normally visible in the class hierarchy.
\n
"
"undocumented classes that are normally visible in the class hierarchy.
\n
"
"If set to NO (the default) these class will be included in the various
\n
"
"If set to NO (the default) these class will be included in the various
\n
"
"overviews. This option has no effect if EXTRACT_ALL is enabled.
\n
"
"overviews. This option has no effect if EXTRACT_ALL is enabled.
\n
"
...
@@ -1555,7 +1556,7 @@ void init()
...
@@ -1555,7 +1556,7 @@ void init()
"this value, doxygen will try to truncate the graph, so that it fits within
\n
"
"this value, doxygen will try to truncate the graph, so that it fits within
\n
"
"the specified constraint. Beware that most browsers cannot cope with very
\n
"
"the specified constraint. Beware that most browsers cannot cope with very
\n
"
"large images.
\n
"
,
"large images.
\n
"
,
25
0
,
30000
10
0
,
30000
);
);
addDependency
(
"maxDotGraphWidth"
,
"haveDotFlag"
);
addDependency
(
"maxDotGraphWidth"
,
"haveDotFlag"
);
ConfigInt
::
add
(
"maxDotGraphHeight"
,
ConfigInt
::
add
(
"maxDotGraphHeight"
,
...
@@ -1567,7 +1568,7 @@ void init()
...
@@ -1567,7 +1568,7 @@ void init()
"this value, doxygen will try to truncate the graph, so that it fits within
\n
"
"this value, doxygen will try to truncate the graph, so that it fits within
\n
"
"the specified constraint. Beware that most browsers cannot cope with very
\n
"
"the specified constraint. Beware that most browsers cannot cope with very
\n
"
"large images.
\n
"
,
"large images.
\n
"
,
25
0
,
30000
10
0
,
30000
);
);
addDependency
(
"maxDotGraphHeight"
,
"haveDotFlag"
);
addDependency
(
"maxDotGraphHeight"
,
"haveDotFlag"
);
...
...
configure
View file @
56bc9bda
...
@@ -354,7 +354,9 @@ if test "$f_shared" = NO; then
...
@@ -354,7 +354,9 @@ if test "$f_shared" = NO; then
TMAKE_LFLAGS = -non_shared
TMAKE_LFLAGS = -non_shared
EOF
EOF
elif
test
"
$f_platform
"
=
"solaris-cc"
;
then
elif
test
"
$f_platform
"
=
"solaris-cc"
;
then
cat
>>
.tmakeconfig
<<
EOF
TMAKE_LFLAGS = -Bstatic
TMAKE_LFLAGS = -Bstatic
EOF
else
else
cat
>>
.tmakeconfig
<<
EOF
cat
>>
.tmakeconfig
<<
EOF
TMAKE_LFLAGS = -static
TMAKE_LFLAGS = -static
...
...
doc/Doxyfile
View file @
56bc9bda
...
@@ -25,6 +25,7 @@ GENERATE_MAN = NO
...
@@ -25,6 +25,7 @@ GENERATE_MAN = NO
GENERATE_LATEX = YES
GENERATE_LATEX = YES
GENERATE_HTML = YES
GENERATE_HTML = YES
GENERATE_HTMLHELP = YES
GENERATE_HTMLHELP = YES
GENERATE_RTF = NO
ENABLE_PREPROCESSING = NO
ENABLE_PREPROCESSING = NO
INPUT = index.doc install.doc starting.doc faq.doc trouble.doc \
INPUT = index.doc install.doc starting.doc faq.doc trouble.doc \
history.doc features.doc \
history.doc features.doc \
...
...
doc/commands.doc
View file @
56bc9bda
...
@@ -685,12 +685,17 @@ Public/Protected/Private/... section.
...
@@ -685,12 +685,17 @@ Public/Protected/Private/... section.
sectioning command is encountered.
sectioning command is encountered.
<hr>
<hr>
\subsection cmdpar \par
(paragraph title)
{ paragraph }
\subsection cmdpar \par
[(paragraph title)]
{ paragraph }
\addindex \par
\addindex \par
Starts a paragraph with a user defined heading. The heading is
If a paragraph title is given this command starts a paragraph with a
specified using the paragraph title argument and extends until the end of the
user defined heading. The heading extends until the end of the
line. The paragraph will be indented.
line. The paragraph following the command will be indented.
If no paragraph title is given this command will start a new paragraph.
This will also work inside other paragraph commands
(like \\param or \\warning) without ending the that command.
The text of the paragraph has no special internal structure. All visual
The text of the paragraph has no special internal structure. All visual
enhancement commands may be used inside the paragraph.
enhancement commands may be used inside the paragraph.
The \\par command ends when a blank line or some other
The \\par command ends when a blank line or some other
...
...
doc/config.doc
View file @
56bc9bda
...
@@ -188,7 +188,8 @@ followed by the descriptions of the tags grouped by category.
...
@@ -188,7 +188,8 @@ followed by the descriptions of the tags grouped by category.
documentation
generated
by
doxygen
is
written
.
Doxygen
will
use
this
documentation
generated
by
doxygen
is
written
.
Doxygen
will
use
this
information
to
generate
all
constant
output
in
the
proper
language
.
information
to
generate
all
constant
output
in
the
proper
language
.
The
default
language
is
English
,
other
supported
languages
are
:
The
default
language
is
English
,
other
supported
languages
are
:
Dutch
,
French
,
Italian
,
Czech
,
Swedish
,
German
and
Japanese
.
Dutch
,
French
,
Italian
,
Czech
,
Swedish
,
German
,
Finnish
,
Japanese
,
Spanish
,
Russian
,
Croatian
and
Polish
.
\
anchor
cfg_disable_index
\
anchor
cfg_disable_index
<
dt
>\
c
DISABLE_INDEX
<
dd
>
<
dt
>\
c
DISABLE_INDEX
<
dd
>
...
...
doc/language.doc
View file @
56bc9bda
...
@@ -180,6 +180,20 @@ Here is a list of the languages and their current maintainers:
...
@@ -180,6 +180,20 @@ Here is a list of the languages and their current maintainers:
</TD>
</TD>
</TR>
</TR>
<TR BGCOLOR="#ffffff">
<TD>
Polish
</TD>
<TD>
Grzegorz Kowal
</TD>
<TD>
<a href="mailto:g_kowal@NOSPAM.poczta.onet.pl">
g_kowal@NOSPAM.poczta.onet.pl</a>
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TR BGCOLOR="#ffffff">
<TD>
<TD>
Dutch
Dutch
...
@@ -227,6 +241,8 @@ Here is a list of the languages and their current maintainers:
...
@@ -227,6 +241,8 @@ Here is a list of the languages and their current maintainers:
\hline
\hline
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} \\
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} \\
\hline
\hline
Polish & Grzegorz Kowal & {\tt g\_kowal@poczta.onet.pl} \\
\hline
Dutch & Dimitri van Heesch & {\tt dimitri@stack.nl} \\
Dutch & Dimitri van Heesch & {\tt dimitri@stack.nl} \\
\hline
\hline
\end{tabular}
\end{tabular}
...
...
examples/afterdoc.cfg
View file @
56bc9bda
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "AfterDocs"
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "AfterDocs"
OUTPUT_DIRECTORY = afterdoc
OUTPUT_DIRECTORY = afterdoc
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = afterdoc.h
INPUT = afterdoc.h
QUIET = YES
QUIET = YES
examples/author.cfg
View file @
56bc9bda
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Author Command"
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Author Command"
OUTPUT_DIRECTORY = author
OUTPUT_DIRECTORY = author
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = author.cpp
INPUT = author.cpp
QUIET = YES
QUIET = YES
examples/autolink.cfg
View file @
56bc9bda
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Automatic link generation"
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Automatic link generation"
OUTPUT_DIRECTORY = autolink
OUTPUT_DIRECTORY = autolink
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = autolink.cpp
INPUT = autolink.cpp
QUIET = YES
QUIET = YES
examples/class.cfg
View file @
56bc9bda
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Class Command"
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Class Command"
OUTPUT_DIRECTORY = class
OUTPUT_DIRECTORY = class
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = class.h
INPUT = class.h
QUIET = YES
QUIET = YES
examples/define.cfg
View file @
56bc9bda
...
@@ -2,6 +2,7 @@ PROJECT_NAME = "Define Command"
...
@@ -2,6 +2,7 @@ PROJECT_NAME = "Define Command"
OUTPUT_DIRECTORY = define
OUTPUT_DIRECTORY = define
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = define.h
INPUT = define.h
ENABLE_PREPROCESSING = YES
ENABLE_PREPROCESSING = YES
QUIET = YES
QUIET = YES
examples/diagrams.cfg
View file @
56bc9bda
...
@@ -4,6 +4,7 @@ HAVE_DOT = YES
...
@@ -4,6 +4,7 @@ HAVE_DOT = YES
EXTRACT_ALL = YES
EXTRACT_ALL = YES
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
ENABLE_PREPROCESSING = YES
ENABLE_PREPROCESSING = YES
INPUT = .
INPUT = .
FILE_PATTERNS = diagrams_*.h
FILE_PATTERNS = diagrams_*.h
...
...
examples/enum.cfg
View file @
56bc9bda
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Enum Command"
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Enum Command"
OUTPUT_DIRECTORY = enum
OUTPUT_DIRECTORY = enum
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = enum.h
INPUT = enum.h
QUIET = YES
QUIET = YES
examples/example.cfg
View file @
56bc9bda
...
@@ -3,6 +3,7 @@ OUTPUT_DIRECTORY = example
...
@@ -3,6 +3,7 @@ OUTPUT_DIRECTORY = example
GENERATE_TAGFILE = example.tag
GENERATE_TAGFILE = example.tag
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = example.cpp
INPUT = example.cpp
EXAMPLE_PATH = example_test.cpp
EXAMPLE_PATH = example_test.cpp
QUIET = YES
QUIET = YES
examples/file.cfg
View file @
56bc9bda
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "File Command"
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "File Command"
OUTPUT_DIRECTORY = file
OUTPUT_DIRECTORY = file
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = file.h
INPUT = file.h
QUIET = YES
QUIET = YES
examples/func.cfg
View file @
56bc9bda
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Fn Command"
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Fn Command"
OUTPUT_DIRECTORY = func
OUTPUT_DIRECTORY = func
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = func.h
INPUT = func.h
QUIET = YES
QUIET = YES
examples/group.cfg
View file @
56bc9bda
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Grouping"
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Grouping"
OUTPUT_DIRECTORY = group
OUTPUT_DIRECTORY = group
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = group.cpp
INPUT = group.cpp
QUIET = YES
QUIET = YES
examples/include.cfg
View file @
56bc9bda
...
@@ -2,6 +2,7 @@ PROJECT_NAME = "Include Command"
...
@@ -2,6 +2,7 @@ PROJECT_NAME = "Include Command"
OUTPUT_DIRECTORY = include
OUTPUT_DIRECTORY = include
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = include.cpp
INPUT = include.cpp
EXAMPLE_PATH = example_test.cpp
EXAMPLE_PATH = example_test.cpp
QUIET = YES
QUIET = YES
examples/jdstyle.cfg
View file @
56bc9bda
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "JavaDoc Style"
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "JavaDoc Style"
OUTPUT_DIRECTORY = jdstyle
OUTPUT_DIRECTORY = jdstyle
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = jdstyle.cpp
INPUT = jdstyle.cpp
QUIET = YES
QUIET = YES
examples/memgrp.cfg
View file @
56bc9bda
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Member Grouping"
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Member Grouping"
OUTPUT_DIRECTORY = memgrp
OUTPUT_DIRECTORY = memgrp
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = memgrp.cpp
INPUT = memgrp.cpp
QUIET = YES
QUIET = YES
examples/overload.cfg
View file @
56bc9bda
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Overloaded Command"
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Overloaded Command"
OUTPUT_DIRECTORY = overload
OUTPUT_DIRECTORY = overload
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = overload.cpp
INPUT = overload.cpp
QUIET = YES
QUIET = YES
examples/page.cfg
View file @
56bc9bda
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Page Command"
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Page Command"
OUTPUT_DIRECTORY = page
OUTPUT_DIRECTORY = page
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = page.doc
INPUT = page.doc
QUIET = YES
QUIET = YES
examples/par.cfg
View file @
56bc9bda
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Par Command"
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Par Command"
OUTPUT_DIRECTORY = par
OUTPUT_DIRECTORY = par
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = par.cpp
INPUT = par.cpp
QUIET = YES
QUIET = YES
examples/par.cpp
View file @
56bc9bda
/*! \class Test
/*! \class Test
* Normal text.
* Normal text.
*
* \par User defined paragraph:
* \par User defined paragraph:
* Contents of the paragraph.
* Contents of the paragraph.
*
*
* \par
* New paragraph under the same heading.
*
* \note
* This note consists of two paragraphs.
* This is the first paragraph.
*
* \par
* And this is the second paragraph.
*
* More normal text.
* More normal text.
*/
*/
...
...
examples/qtstyle.cfg
View file @
56bc9bda
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Qt Style"
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Qt Style"
OUTPUT_DIRECTORY = qtstyle
OUTPUT_DIRECTORY = qtstyle
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = qtstyle.cpp
INPUT = qtstyle.cpp
QUIET = YES
QUIET = YES
examples/relates.cfg
View file @
56bc9bda
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Relates Command"
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Relates Command"
OUTPUT_DIRECTORY = relates
OUTPUT_DIRECTORY = relates
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = relates.cpp
INPUT = relates.cpp
QUIET = YES
QUIET = YES
examples/restypedef.cfg
View file @
56bc9bda
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Resolving Typedefs"
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Resolving Typedefs"
OUTPUT_DIRECTORY = restypedef
OUTPUT_DIRECTORY = restypedef
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = restypedef.cpp
INPUT = restypedef.cpp
QUIET = YES
QUIET = YES
examples/structcmd.cfg
View file @
56bc9bda
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Structural commands"
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Structural commands"
OUTPUT_DIRECTORY = structcmd
OUTPUT_DIRECTORY = structcmd
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = structcmd.h
INPUT = structcmd.h
QUIET = YES
QUIET = YES
examples/tag.cfg
View file @
56bc9bda
...
@@ -2,6 +2,7 @@ PROJECT_NAME = "Tag Files"
...
@@ -2,6 +2,7 @@ PROJECT_NAME = "Tag Files"
OUTPUT_DIRECTORY = tag
OUTPUT_DIRECTORY = tag
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = tag.cpp
INPUT = tag.cpp
TAGFILES = example.tag
TAGFILES = example.tag
PERL_PATH = perl
PERL_PATH = perl
...
...
examples/templ.cfg
View file @
56bc9bda
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Template Test"
...
@@ -2,5 +2,6 @@ PROJECT_NAME = "Template Test"
OUTPUT_DIRECTORY = template
OUTPUT_DIRECTORY = template
GENERATE_LATEX = NO
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
INPUT = templ.cpp
INPUT = templ.cpp
QUIET = YES
QUIET = YES
packages/rpm/doxygen.spec
View file @
56bc9bda
Name: doxygen
Name: doxygen
Version: 1.1.5
Version: 1.1.5
-20000709
Summary: documentation system for C, C++ and IDL
Summary: documentation system for C, C++ and IDL
Release: 1
Release: 1
Source0: doxygen-%{version}.src.tar.gz
Source0: doxygen-%{version}.src.tar.gz
...
...
src/classdef.cpp
View file @
56bc9bda
...
@@ -45,7 +45,7 @@ static QCString stripExtension(const char *fName)
...
@@ -45,7 +45,7 @@ static QCString stripExtension(const char *fName)
ClassDef
::
ClassDef
(
ClassDef
::
ClassDef
(
const
char
*
defFileName
,
int
defLine
,
const
char
*
defFileName
,
int
defLine
,
const
char
*
nm
,
CompoundType
ct
,
const
char
*
nm
,
CompoundType
ct
,
const
char
*
ref
,
const
char
*
fName
)
const
char
*
l
ref
,
const
char
*
fName
)
:
Definition
(
defFileName
,
defLine
,
removeRedundantWhiteSpace
(
nm
))
:
Definition
(
defFileName
,
defLine
,
removeRedundantWhiteSpace
(
nm
))
{
{
//name=n;
//name=n;
...
@@ -53,9 +53,9 @@ ClassDef::ClassDef(
...
@@ -53,9 +53,9 @@ ClassDef::ClassDef(
fileName
=
stripExtension
(
fName
);
fileName
=
stripExtension
(
fName
);
else
else
fileName
=
"class_"
+
nameToFile
(
nm
);
fileName
=
"class_"
+
nameToFile
(
nm
);
if
(
ref
)
if
(
l
ref
)
{
{
//url=(QCString)"doxygen=\""+ref+":\" href=\""+fileName;
//url=(QCString)"doxygen=\""+
l
ref+":\" href=\""+fileName;
exampleList
=
0
;
exampleList
=
0
;
exampleDict
=
0
;
exampleDict
=
0
;
}
}
...
@@ -74,7 +74,7 @@ ClassDef::ClassDef(
...
@@ -74,7 +74,7 @@ ClassDef::ClassDef(
allMemberNameInfoList
->
setAutoDelete
(
TRUE
);
allMemberNameInfoList
->
setAutoDelete
(
TRUE
);
allMemberNameInfoDict
=
new
MemberNameInfoDict
(
1009
);
allMemberNameInfoDict
=
new
MemberNameInfoDict
(
1009
);
visited
=
FALSE
;
visited
=
FALSE
;
setReference
(
ref
);
setReference
(
l
ref
);
compType
=
ct
;
compType
=
ct
;
incInfo
=
0
;
incInfo
=
0
;
tempArgs
=
0
;
tempArgs
=
0
;
...
@@ -551,17 +551,17 @@ static void writeInheritanceSpecifier(OutputList &ol,BaseClassDef *bcd)
...
@@ -551,17 +551,17 @@ static void writeInheritanceSpecifier(OutputList &ol,BaseClassDef *bcd)
}
}
}
}
void
ClassDef
::
setIncludeFile
(
FileDef
*
fd
,
const
char
*
incName
,
bool
local
)
void
ClassDef
::
setIncludeFile
(
FileDef
*
fd
,
const
char
*
inc
lude
Name
,
bool
local
)
{
{
//printf("ClassDef::setInclude(%p,%s,%d)\n",fd,incName,local);
//printf("ClassDef::setInclude(%p,%s,%d)\n",fd,inc
lude
Name,local);
if
(
!
incInfo
)
incInfo
=
new
IncludeInfo
;
if
(
!
incInfo
)
incInfo
=
new
IncludeInfo
;
if
((
incName
&&
incInfo
->
includeName
.
isEmpty
())
||
if
((
inc
lude
Name
&&
incInfo
->
includeName
.
isEmpty
())
||
(
fd
!=
0
&&
incInfo
->
fileDef
==
0
)
(
fd
!=
0
&&
incInfo
->
fileDef
==
0
)
)
)
{
{
//printf("Setting file info\n");
//printf("Setting file info\n");
incInfo
->
fileDef
=
fd
;
incInfo
->
fileDef
=
fd
;
incInfo
->
includeName
=
incName
;
incInfo
->
includeName
=
inc
lude
Name
;
incInfo
->
local
=
local
;
incInfo
->
local
=
local
;
}
}
}
}
...
@@ -776,6 +776,14 @@ void ClassDef::writeDocumentation(OutputList &ol)
...
@@ -776,6 +776,14 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol
.
startDotGraph
();
ol
.
startDotGraph
();
parseText
(
ol
,
theTranslator
->
trClassDiagram
(
name
()));
parseText
(
ol
,
theTranslator
->
trClassDiagram
(
name
()));
ol
.
endDotGraph
(
inheritanceGraph
);
ol
.
endDotGraph
(
inheritanceGraph
);
{
ol
.
pushGeneratorState
();
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
ol
.
writeString
(
"<font size=2><center>["
);
ol
.
writeHtmlLink
(
"graph_legend.html"
,
theTranslator
->
trLegend
());
ol
.
writeString
(
"]</center></font>"
);
ol
.
popGeneratorState
();
}
ol
.
popGeneratorState
();
ol
.
popGeneratorState
();
}
}
}
}
...
@@ -800,6 +808,14 @@ void ClassDef::writeDocumentation(OutputList &ol)
...
@@ -800,6 +808,14 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol
.
startDotGraph
();
ol
.
startDotGraph
();
parseText
(
ol
,
theTranslator
->
trCollaborationDiagram
(
name
()));
parseText
(
ol
,
theTranslator
->
trCollaborationDiagram
(
name
()));
ol
.
endDotGraph
(
usageImplGraph
);
ol
.
endDotGraph
(
usageImplGraph
);
{
ol
.
pushGeneratorState
();
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
ol
.
writeString
(
"<font size=2><center>["
);
ol
.
writeHtmlLink
(
"graph_legend.html"
,
theTranslator
->
trLegend
());
ol
.
writeString
(
"]</center></font>"
);
ol
.
popGeneratorState
();
}
ol
.
popGeneratorState
();
ol
.
popGeneratorState
();
}
}
}
}
...
...
src/config.l
View file @
56bc9bda
...
@@ -829,7 +829,7 @@ void writeTemplateConfig(QFile *f,bool sl)
...
@@ -829,7 +829,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# information to generate all constant output in the proper language. \n";
t << "# information to generate all constant output in the proper language. \n";
t << "# The default language is English, other supported languages are: \n";
t << "# The default language is English, other supported languages are: \n";
t << "# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese, \n";
t << "# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese, \n";
t << "# Spanish
and Russian
\n";
t << "# Spanish
, Russian, Croatian and Polish.
\n";
t << "\n";
t << "\n";
}
}
t << "OUTPUT_LANGUAGE = ";
t << "OUTPUT_LANGUAGE = ";
...
@@ -894,7 +894,7 @@ void writeTemplateConfig(QFile *f,bool sl)
...
@@ -894,7 +894,7 @@ void writeTemplateConfig(QFile *f,bool sl)
if (!sl)
if (!sl)
{
{
t << "\n";
t << "\n";
t << "# If the HIDE_UNDOC_CLASSES
S
tag is set to YES, Doxygen will hide all \n";
t << "# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all \n";
t << "# undocumented classes that are normally visible in the class hierarchy. \n";
t << "# undocumented classes that are normally visible in the class hierarchy. \n";
t << "# If set to NO (the default) these class will be included in the various \n";
t << "# If set to NO (the default) these class will be included in the various \n";
t << "# overviews. This option has no effect if EXTRACT_ALL is enabled. \n";
t << "# overviews. This option has no effect if EXTRACT_ALL is enabled. \n";
...
@@ -1994,9 +1994,9 @@ void configStrToVal()
...
@@ -1994,9 +1994,9 @@ void configStrToVal()
"Using the default of 1024 pixels!\n");
"Using the default of 1024 pixels!\n");
width=1024;
width=1024;
}
}
else if (width<
25
0) // clip to lower bound
else if (width<
10
0) // clip to lower bound
{
{
width=
25
0;
width=
10
0;
}
}
else if (width>30000) // clip to upper bound
else if (width>30000) // clip to upper bound
{
{
...
@@ -2019,9 +2019,9 @@ void configStrToVal()
...
@@ -2019,9 +2019,9 @@ void configStrToVal()
"Using the default of 1024 pixels!\n");
"Using the default of 1024 pixels!\n");
height=1024;
height=1024;
}
}
else if (height<
25
0) // clip to lower bound
else if (height<
10
0) // clip to lower bound
{
{
height=
25
0;
height=
10
0;
}
}
else if (height>30000) // clip to upper bound
else if (height>30000) // clip to upper bound
{
{
...
@@ -2333,6 +2333,28 @@ void checkConfig()
...
@@ -2333,6 +2333,28 @@ void checkConfig()
err("Could not create output directory %s\n",Config::manOutputDir.data());
err("Could not create output directory %s\n",Config::manOutputDir.data());
exit(1);
exit(1);
}
}
// expand the relative stripFromPath values
char *sfp = Config::stripFromPath.first();
while (sfp)
{
QCString path = sfp;
if (path.at(0)!='/' && (path.length()<=2 || path.at(1)!=':'))
{
QFileInfo fi(path);
if (fi.exists() && fi.isDir())
{
int i = Config::stripFromPath.at();
Config::stripFromPath.remove();
if (Config::stripFromPath.at()==i) // did not remove last item
Config::stripFromPath.insert(i,fi.absFilePath()+"/");
else
Config::stripFromPath.append(fi.absFilePath()+"/");
}
}
sfp = Config::stripFromPath.next();
}
// Test to see if HTML header is valid
// Test to see if HTML header is valid
if (!Config::headerFile.isEmpty())
if (!Config::headerFile.isEmpty())
...
...
src/defargs.l
View file @
56bc9bda
...
@@ -270,7 +270,7 @@ ID [a-z_A-Z][a-z_A-Z0-9]*
...
@@ -270,7 +270,7 @@ ID [a-z_A-Z][a-z_A-Z0-9]*
{
{
a->type = g_curArgTypeName.stripWhiteSpace();
a->type = g_curArgTypeName.stripWhiteSpace();
}
}
a->array =
g_curArgArray.copy(
);
a->array =
removeRedundantWhiteSpace(g_curArgArray
);
a->defval = g_curArgDefValue.copy();
a->defval = g_curArgDefValue.copy();
a->docs = g_curArgDocs.stripWhiteSpace();
a->docs = g_curArgDocs.stripWhiteSpace();
//printf("Argument `%s' `%s' adding docs=`%s'\n",a->type.data(),a->name.data(),a->docs.data());
//printf("Argument `%s' `%s' adding docs=`%s'\n",a->type.data(),a->name.data(),a->docs.data());
...
...
src/definition.cpp
View file @
56bc9bda
...
@@ -324,21 +324,22 @@ void Definition::writeSourceRefs(OutputList &ol,const char *scopeName)
...
@@ -324,21 +324,22 @@ void Definition::writeSourceRefs(OutputList &ol,const char *scopeName)
parseText
(
ol
,
theTranslator
->
trReferencedBy
());
parseText
(
ol
,
theTranslator
->
trReferencedBy
());
ol
.
docify
(
" "
);
ol
.
docify
(
" "
);
QCString
defLine
=
theTranslator
->
trWriteList
(
sourceRefList
->
count
());
QCString
l
defLine
=
theTranslator
->
trWriteList
(
sourceRefList
->
count
());
QRegExp
marker
(
"@[0-9]+"
);
QRegExp
marker
(
"@[0-9]+"
);
int
index
=
0
,
newIndex
,
matchLen
;
int
index
=
0
,
newIndex
,
matchLen
;
// now replace all markers in inheritLine with links to the classes
// now replace all markers in inheritLine with links to the classes
while
((
newIndex
=
marker
.
match
(
defLine
,
index
,
&
matchLen
))
!=-
1
)
while
((
newIndex
=
marker
.
match
(
l
defLine
,
index
,
&
matchLen
))
!=-
1
)
{
{
bool
ok
;
bool
ok
;
parseText
(
ol
,
defLine
.
mid
(
index
,
newIndex
-
index
));
parseText
(
ol
,
l
defLine
.
mid
(
index
,
newIndex
-
index
));
uint
entryIndex
=
defLine
.
mid
(
newIndex
+
1
,
matchLen
-
1
).
toUInt
(
&
ok
);
uint
entryIndex
=
l
defLine
.
mid
(
newIndex
+
1
,
matchLen
-
1
).
toUInt
(
&
ok
);
MemberDef
*
md
=
sourceRefList
->
at
(
entryIndex
);
MemberDef
*
md
=
sourceRefList
->
at
(
entryIndex
);
if
(
ok
&&
md
)
if
(
ok
&&
md
)
{
{
QCString
scope
=
md
->
getScopeString
();
QCString
scope
=
md
->
getScopeString
();
QCString
name
=
md
->
name
();
QCString
name
=
md
->
name
();
//printf("class=%p scope=%s scopeName=%s\n",md->memberClass(),scope.data(),scopeName);
if
(
!
scope
.
isEmpty
()
&&
scope
!=
scopeName
)
if
(
!
scope
.
isEmpty
()
&&
scope
!=
scopeName
)
{
{
name
.
prepend
(
scope
+
"::"
);
name
.
prepend
(
scope
+
"::"
);
...
@@ -358,7 +359,7 @@ void Definition::writeSourceRefs(OutputList &ol,const char *scopeName)
...
@@ -358,7 +359,7 @@ void Definition::writeSourceRefs(OutputList &ol,const char *scopeName)
}
}
index
=
newIndex
+
matchLen
;
index
=
newIndex
+
matchLen
;
}
}
parseText
(
ol
,
defLine
.
right
(
defLine
.
length
()
-
index
));
parseText
(
ol
,
ldefLine
.
right
(
l
defLine
.
length
()
-
index
));
ol
.
writeString
(
"."
);
ol
.
writeString
(
"."
);
}
}
ol
.
popGeneratorState
();
ol
.
popGeneratorState
();
...
...
src/dot.cpp
View file @
56bc9bda
...
@@ -23,6 +23,8 @@
...
@@ -23,6 +23,8 @@
#include "message.h"
#include "message.h"
#include "util.h"
#include "util.h"
#include "config.h"
#include "config.h"
#include "language.h"
#include "scanner.h"
#include <qdir.h>
#include <qdir.h>
#include <qfile.h>
#include <qfile.h>
...
@@ -55,7 +57,11 @@ static const char *edgeStyleMap[] =
...
@@ -55,7 +57,11 @@ static const char *edgeStyleMap[] =
static
bool
convertMapFile
(
QTextStream
&
t
,
const
char
*
mapName
)
static
bool
convertMapFile
(
QTextStream
&
t
,
const
char
*
mapName
)
{
{
QFile
f
(
mapName
);
QFile
f
(
mapName
);
if
(
!
f
.
open
(
IO_ReadOnly
))
return
FALSE
;
if
(
!
f
.
open
(
IO_ReadOnly
))
{
err
(
"Error opening map file %s for inclusion in the docs!
\n
"
,
mapName
);
return
FALSE
;
}
const
int
maxLineLen
=
1024
;
const
int
maxLineLen
=
1024
;
char
buf
[
maxLineLen
];
char
buf
[
maxLineLen
];
char
url
[
maxLineLen
];
char
url
[
maxLineLen
];
...
@@ -1016,11 +1022,10 @@ static void findMaximalDotGraph(DotNode *root,
...
@@ -1016,11 +1022,10 @@ static void findMaximalDotGraph(DotNode *root,
// remove temporary dot file
// remove temporary dot file
thisDir
.
remove
(
baseName
+
"_tmp.dot"
);
thisDir
.
remove
(
baseName
+
"_tmp.dot"
);
}
while
(
maxDistance
-
minDistance
>
1
);
}
while
(
(
maxDistance
-
minDistance
)
>
1
);
if
(
!
lastFit
)
if
(
!
lastFit
)
{
{
//printf("Using last fit %d\n",minDistance);
writeDotGraph
(
root
,
writeDotGraph
(
root
,
format
,
format
,
baseName
,
baseName
,
...
@@ -1082,6 +1087,7 @@ void DotClassGraph::writeGraph(QTextStream &out,
...
@@ -1082,6 +1087,7 @@ void DotClassGraph::writeGraph(QTextStream &out,
if
(
system
(
dotCmd
)
!=
0
)
if
(
system
(
dotCmd
)
!=
0
)
{
{
err
(
"Error: Problems running dot. Check your installation!
\n
"
);
err
(
"Error: Problems running dot. Check your installation!
\n
"
);
QDir
::
setCurrent
(
oldDir
);
return
;
return
;
}
}
// run dot again to create an image map
// run dot again to create an image map
...
@@ -1090,6 +1096,7 @@ void DotClassGraph::writeGraph(QTextStream &out,
...
@@ -1090,6 +1096,7 @@ void DotClassGraph::writeGraph(QTextStream &out,
if
(
system
(
dotCmd
)
!=
0
)
if
(
system
(
dotCmd
)
!=
0
)
{
{
err
(
"Error: Problems running dot. Check your installation!
\n
"
);
err
(
"Error: Problems running dot. Check your installation!
\n
"
);
QDir
::
setCurrent
(
oldDir
);
return
;
return
;
}
}
out
<<
"<p><center><img src=
\"
"
<<
baseName
<<
".gif
\"
border=
\"
0
\"
usemap=
\"
#"
out
<<
"<p><center><img src=
\"
"
<<
baseName
<<
".gif
\"
border=
\"
0
\"
usemap=
\"
#"
...
@@ -1101,18 +1108,20 @@ void DotClassGraph::writeGraph(QTextStream &out,
...
@@ -1101,18 +1108,20 @@ void DotClassGraph::writeGraph(QTextStream &out,
}
}
else
if
(
format
==
EPS
)
// run dot to create a .eps image
else
if
(
format
==
EPS
)
// run dot to create a .eps image
{
{
QCString
dotCmd
;
QCString
dotCmd
(
4096
)
;
dotCmd
.
sprintf
(
"%sdot -Tps
\"
%s.dot
\"
-o
\"
%s.eps
\"
"
,
dotCmd
.
sprintf
(
"%sdot -Tps
\"
%s.dot
\"
-o
\"
%s.eps
\"
"
,
Config
::
dotPath
.
data
(),
baseName
.
data
(),
baseName
.
data
());
Config
::
dotPath
.
data
(),
baseName
.
data
(),
baseName
.
data
());
if
(
system
(
dotCmd
)
!=
0
)
if
(
system
(
dotCmd
)
!=
0
)
{
{
err
(
"Error: Problems running dot. Check your installation!
\n
"
);
err
(
"Error: Problems running dot. Check your installation!
\n
"
);
QDir
::
setCurrent
(
oldDir
);
return
;
return
;
}
}
int
width
,
height
;
int
width
,
height
;
if
(
!
readBoundingBoxEPS
(
baseName
+
".eps"
,
&
width
,
&
height
))
if
(
!
readBoundingBoxEPS
(
baseName
+
".eps"
,
&
width
,
&
height
))
{
{
err
(
"Error: Could not extract bounding box from .eps!
\n
"
);
err
(
"Error: Could not extract bounding box from .eps!
\n
"
);
QDir
::
setCurrent
(
oldDir
);
return
;
return
;
}
}
int
maxWidth
=
420
;
/* approx. page width in points */
int
maxWidth
=
420
;
/* approx. page width in points */
...
@@ -1125,7 +1134,7 @@ void DotClassGraph::writeGraph(QTextStream &out,
...
@@ -1125,7 +1134,7 @@ void DotClassGraph::writeGraph(QTextStream &out,
"
\\
end{center}
\n
"
"
\\
end{center}
\n
"
"
\\
end{figure}
\n
"
;
"
\\
end{figure}
\n
"
;
}
}
thisDir
.
remove
(
baseName
+
".dot"
);
//
thisDir.remove(baseName+".dot");
QDir
::
setCurrent
(
oldDir
);
QDir
::
setCurrent
(
oldDir
);
}
}
...
@@ -1240,12 +1249,13 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
...
@@ -1240,12 +1249,13 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
if
(
format
==
GIF
)
if
(
format
==
GIF
)
{
{
// run dot to create a .gif image
// run dot to create a .gif image
QCString
dotCmd
;
QCString
dotCmd
(
4096
)
;
dotCmd
.
sprintf
(
"%sdot -Tgif
\"
%s.dot
\"
-o
\"
%s.gif
\"
"
,
dotCmd
.
sprintf
(
"%sdot -Tgif
\"
%s.dot
\"
-o
\"
%s.gif
\"
"
,
Config
::
dotPath
.
data
(),
baseName
.
data
(),
baseName
.
data
());
Config
::
dotPath
.
data
(),
baseName
.
data
(),
baseName
.
data
());
if
(
system
(
dotCmd
)
!=
0
)
if
(
system
(
dotCmd
)
!=
0
)
{
{
err
(
"Problems running dot. Check your installation!
\n
"
);
err
(
"Problems running dot. Check your installation!
\n
"
);
QDir
::
setCurrent
(
oldDir
);
return
;
return
;
}
}
...
@@ -1255,11 +1265,13 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
...
@@ -1255,11 +1265,13 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
if
(
system
(
dotCmd
)
!=
0
)
if
(
system
(
dotCmd
)
!=
0
)
{
{
err
(
"Problems running dot. Check your installation!
\n
"
);
err
(
"Problems running dot. Check your installation!
\n
"
);
QDir
::
setCurrent
(
oldDir
);
return
;
return
;
}
}
out
<<
"<p><center><img src=
\"
"
<<
baseName
<<
".gif
\"
border=
\"
0
\"
usemap=
\"
#"
out
<<
"<p><center><img src=
\"
"
<<
baseName
<<
".gif
\"
border=
\"
0
\"
usemap=
\"
#"
<<
mapName
<<
"_map
\"
></center>"
<<
endl
;
<<
mapName
<<
"_map
\"
>"
;
out
<<
"</center>"
<<
endl
;
out
<<
"<map name=
\"
"
<<
mapName
<<
"_map
\"
>"
<<
endl
;
out
<<
"<map name=
\"
"
<<
mapName
<<
"_map
\"
>"
<<
endl
;
convertMapFile
(
out
,
baseName
+
".map"
);
convertMapFile
(
out
,
baseName
+
".map"
);
out
<<
"</map><p>"
<<
endl
;
out
<<
"</map><p>"
<<
endl
;
...
@@ -1268,18 +1280,20 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
...
@@ -1268,18 +1280,20 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
else
if
(
format
==
EPS
)
else
if
(
format
==
EPS
)
{
{
// run dot to create a .eps image
// run dot to create a .eps image
QCString
dotCmd
;
QCString
dotCmd
(
4096
)
;
dotCmd
.
sprintf
(
"%sdot -Tps
\"
%s.dot
\"
-o
\"
%s.eps
\"
"
,
dotCmd
.
sprintf
(
"%sdot -Tps
\"
%s.dot
\"
-o
\"
%s.eps
\"
"
,
Config
::
dotPath
.
data
(),
baseName
.
data
(),
baseName
.
data
());
Config
::
dotPath
.
data
(),
baseName
.
data
(),
baseName
.
data
());
if
(
system
(
dotCmd
)
!=
0
)
if
(
system
(
dotCmd
)
!=
0
)
{
{
err
(
"Problems running dot. Check your installation!
\n
"
);
err
(
"Problems running dot. Check your installation!
\n
"
);
QDir
::
setCurrent
(
oldDir
);
return
;
return
;
}
}
int
width
,
height
;
int
width
,
height
;
if
(
!
readBoundingBoxEPS
(
baseName
+
".eps"
,
&
width
,
&
height
))
if
(
!
readBoundingBoxEPS
(
baseName
+
".eps"
,
&
width
,
&
height
))
{
{
err
(
"Error: Could not extract bounding box from .eps!
\n
"
);
err
(
"Error: Could not extract bounding box from .eps!
\n
"
);
QDir
::
setCurrent
(
oldDir
);
return
;
return
;
}
}
int
maxWidth
=
420
;
/* approx. page width in points */
int
maxWidth
=
420
;
/* approx. page width in points */
...
@@ -1302,3 +1316,57 @@ bool DotInclDepGraph::isTrivial() const
...
@@ -1302,3 +1316,57 @@ bool DotInclDepGraph::isTrivial() const
{
{
return
m_startNode
->
m_children
==
0
;
return
m_startNode
->
m_children
==
0
;
}
}
//-------------------------------------------------------------
void
generateGraphLegend
(
const
char
*
path
)
{
QFile
dotFile
((
QCString
)
path
+
"/graph_legend.dot"
);
if
(
!
dotFile
.
open
(
IO_WriteOnly
))
{
err
(
"Could not open file %s for writing
\n
"
,
convertToQCString
(
dotFile
.
name
()).
data
());
return
;
}
QTextStream
dotText
(
&
dotFile
);
dotText
<<
"digraph inheritance
\n
"
;
dotText
<<
"{
\n
"
;
dotText
<<
" Node7 [shape=
\"
box
\"
,label=
\"
Inherited
\"
,fontsize=10,height=0.2,width=0.4,fontname=
\"
doxfont
\"
,color=
\"
black
\"
,style=
\"
filled
\"
fontcolor=
\"
white
\"
];
\n
"
;
dotText
<<
" Node8 -> Node7 [dir=back,color=
\"
midnightblue
\"
,fontsize=10,style=
\"
solid
\"
,fontname=
\"
doxfont
\"
];
\n
"
;
dotText
<<
" Node8 [shape=
\"
box
\"
,label=
\"
PublicBase
\"
,fontsize=10,height=0.2,width=0.4,fontname=
\"
doxfont
\"
,color=
\"
black
\"
,URL=
\"
$class_publicbase.html
\"
];
\n
"
;
dotText
<<
" Node9 -> Node8 [dir=back,color=
\"
midnightblue
\"
,fontsize=10,style=
\"
solid
\"
,fontname=
\"
doxfont
\"
];
\n
"
;
dotText
<<
" Node9 [shape=
\"
box
\"
,label=
\"
Truncated
\"
,fontsize=10,height=0.2,width=0.4,fontname=
\"
doxfont
\"
,color=
\"
red
\"
,URL=
\"
$class_truncated.html
\"
];
\n
"
;
dotText
<<
" Node11 -> Node7 [dir=back,color=
\"
darkgreen
\"
,fontsize=10,style=
\"
solid
\"
,fontname=
\"
doxfont
\"
];
\n
"
;
dotText
<<
" Node11 [shape=
\"
box
\"
,label=
\"
ProtectedBase
\"
,fontsize=10,height=0.2,width=0.4,fontname=
\"
doxfont
\"
,color=
\"
black
\"
,URL=
\"
$class_protectedbase.html
\"
];
\n
"
;
dotText
<<
" Node12 -> Node7 [dir=back,color=
\"
firebrick4
\"
,fontsize=10,style=
\"
solid
\"
,fontname=
\"
doxfont
\"
];
\n
"
;
dotText
<<
" Node12 [shape=
\"
box
\"
,label=
\"
PrivateBase
\"
,fontsize=10,height=0.2,width=0.4,fontname=
\"
doxfont
\"
,color=
\"
black
\"
,URL=
\"
$class_privatebase.html
\"
];
\n
"
;
dotText
<<
" Node13 -> Node7 [dir=back,color=
\"
midnightblue
\"
,fontsize=10,style=
\"
solid
\"
,fontname=
\"
doxfont
\"
];
\n
"
;
dotText
<<
" Node13 [shape=
\"
box
\"
,label=
\"
Undocumented
\"
,fontsize=10,height=0.2,width=0.4,fontname=
\"
doxfont
\"
,color=
\"
grey
\"
];
\n
"
;
dotText
<<
" Node14 -> Node7 [dir=back,color=
\"
darkorchid3
\"
,fontsize=10,style=
\"
dashed
\"
,label=
\"
m_usedClass
\"
,fontname=
\"
doxfont
\"
];
\n
"
;
dotText
<<
" Node14 [shape=
\"
box
\"
,label=
\"
Used
\"
,fontsize=10,height=0.2,width=0.4,fontname=
\"
doxfont
\"
,color=
\"
black
\"
,URL=
\"
$class_used.html
\"
];
\n
"
;
dotText
<<
"}
\n
"
;
dotFile
.
close
();
QDir
d
(
path
);
// store the original directory
if
(
!
d
.
exists
())
{
err
(
"Error: Output dir %s does not exist!
\n
"
,
path
);
exit
(
1
);
}
QCString
oldDir
=
convertToQCString
(
QDir
::
currentDirPath
());
// goto the html output directory (i.e. path)
QDir
::
setCurrent
(
d
.
absPath
());
// run dot to generate the a .gif image from the graph
QCString
dotCmd
(
4096
);
dotCmd
.
sprintf
(
"%sdot -Tgif graph_legend.dot -o graph_legend.gif"
,
Config
::
dotPath
.
data
());
if
(
system
(
dotCmd
)
!=
0
)
{
err
(
"Problems running dot. Check your installation!
\n
"
);
QDir
::
setCurrent
(
oldDir
);
return
;
}
QDir
::
setCurrent
(
oldDir
);
}
src/dot.h
View file @
56bc9bda
...
@@ -154,3 +154,6 @@ class DotInclDepGraph
...
@@ -154,3 +154,6 @@ class DotInclDepGraph
int
m_maxDistance
;
int
m_maxDistance
;
bool
m_inverse
;
bool
m_inverse
;
};
};
void
generateGraphLegend
(
const
char
*
path
);
src/doxygen.cpp
View file @
56bc9bda
...
@@ -656,6 +656,7 @@ static void buildNamespaceList(Entry *root)
...
@@ -656,6 +656,7 @@ static void buildNamespaceList(Entry *root)
FileDef
*
fd
=
findFileDef
(
inputNameDict
,
root
->
fileName
,
ambig
);
FileDef
*
fd
=
findFileDef
(
inputNameDict
,
root
->
fileName
,
ambig
);
// insert the namespace in the file definition
// insert the namespace in the file definition
if
(
fd
)
fd
->
insertNamespace
(
nd
);
if
(
fd
)
fd
->
insertNamespace
(
nd
);
addNamespaceToGroups
(
root
,
nd
);
}
}
else
/* if (!root->doc.isEmpty() ||
else
/* if (!root->doc.isEmpty() ||
!root->brief.isEmpty() ||
!root->brief.isEmpty() ||
...
@@ -1493,7 +1494,10 @@ static void buildMemberList(Entry *root)
...
@@ -1493,7 +1494,10 @@ static void buildMemberList(Entry *root)
}
}
else
if
(
root
->
parent
&&
else
if
(
root
->
parent
&&
!
(
root
->
parent
->
section
&
Entry
::
COMPOUND_MASK
)
&&
!
(
root
->
parent
->
section
&
Entry
::
COMPOUND_MASK
)
&&
root
->
name
.
find
(
"::"
)
==-
1
&&
root
->
name
.
find
(
"::"
)
==-
1
&&
// TODO: remove this check
// it breaks cases like
// func<A::B>(), but it is needed
// for detect that A::func() is a member
root
->
relates
.
isEmpty
()
&&
root
->
relates
.
isEmpty
()
&&
root
->
type
.
left
(
7
)
!=
"extern "
&&
root
->
type
.
left
(
7
)
!=
"extern "
&&
root
->
type
.
left
(
8
)
!=
"typedef "
root
->
type
.
left
(
8
)
!=
"typedef "
...
@@ -2678,7 +2682,9 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
...
@@ -2678,7 +2682,9 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
}
}
namespaceName
=
removeAnnonymousScopes
(
namespaceName
);
namespaceName
=
removeAnnonymousScopes
(
namespaceName
);
//printf("namespaceName=`%s' className=`%s'\n",namespaceName.data(),className.data());
// merge class and namespace scopes again
// merge class and namespace scopes again
scopeName
.
resize
(
0
);
if
(
!
namespaceName
.
isEmpty
())
if
(
!
namespaceName
.
isEmpty
())
{
{
if
(
className
.
isEmpty
())
if
(
className
.
isEmpty
())
...
@@ -3292,14 +3298,14 @@ static void findMemberDocumentation(Entry *root)
...
@@ -3292,14 +3298,14 @@ static void findMemberDocumentation(Entry *root)
if
(
!
root
->
type
.
isEmpty
())
if
(
!
root
->
type
.
isEmpty
())
{
{
findMember
(
root
,
findMember
(
root
,
root
->
type
+
" "
+
root
->
type
+
" "
+
root
->
inside
+
root
->
inside
+
root
->
name
+
root
->
name
+
root
->
args
+
root
->
args
+
root
->
exception
,
root
->
exception
,
root
->
relates
,
root
->
relates
,
FALSE
,
isFunc
);
FALSE
,
isFunc
);
}
}
else
else
{
{
...
@@ -4576,8 +4582,8 @@ static void generateSearchIndex()
...
@@ -4576,8 +4582,8 @@ static void generateSearchIndex()
if
(
f
.
open
(
IO_WriteOnly
))
if
(
f
.
open
(
IO_WriteOnly
))
{
{
QTextStream
t
(
&
f
);
QTextStream
t
(
&
f
);
t
<<
Config
::
docURL
<<
endl
<<
Config
::
cgiURL
t
<<
Config
::
docURL
<<
"/"
<<
endl
<<
"/"
<<
Config
::
cgiName
<<
endl
;
<<
Config
::
cgiURL
<<
"/"
<<
Config
::
cgiName
<<
endl
;
f
.
close
();
f
.
close
();
}
}
else
else
...
@@ -5112,7 +5118,7 @@ int main(int argc,char **argv)
...
@@ -5112,7 +5118,7 @@ int main(int argc,char **argv)
#endif
#endif
initPreprocessor
();
initPreprocessor
();
/**************************************************************************
/**************************************************************************
* Handle arguments *
* Handle arguments *
**************************************************************************/
**************************************************************************/
...
@@ -5218,6 +5224,15 @@ int main(int argc,char **argv)
...
@@ -5218,6 +5224,15 @@ int main(int argc,char **argv)
exampleNameDict
=
new
FileNameDict
(
1009
);
exampleNameDict
=
new
FileNameDict
(
1009
);
imageNameDict
=
new
FileNameDict
(
257
);
imageNameDict
=
new
FileNameDict
(
257
);
if
(
!
Config
::
docURL
.
isEmpty
())
{
tagDestinationDict
.
insert
(
"_doc"
,
new
QCString
(
Config
::
docURL
));
}
if
(
!
Config
::
cgiURL
.
isEmpty
())
{
tagDestinationDict
.
insert
(
"_cgi"
,
new
QCString
(
Config
::
cgiURL
+
"/"
+
Config
::
cgiName
));
}
/**************************************************************************
/**************************************************************************
* Initialize some global constants
* Initialize some global constants
**************************************************************************/
**************************************************************************/
...
@@ -5555,6 +5570,9 @@ int main(int argc,char **argv)
...
@@ -5555,6 +5570,9 @@ int main(int argc,char **argv)
msg
(
"Generating page index...
\n
"
);
msg
(
"Generating page index...
\n
"
);
writePageIndex
(
*
outputList
);
writePageIndex
(
*
outputList
);
msg
(
"Generating graph info page...
\n
"
);
writeGraphInfo
(
*
outputList
);
msg
(
"Generating search index...
\n
"
);
msg
(
"Generating search index...
\n
"
);
generateSearchIndex
();
generateSearchIndex
();
...
...
src/doxygen.pro.in
View file @
56bc9bda
...
@@ -25,7 +25,7 @@ HEADERS = doxygen.h scanner.h classdef.h classlist.h memberdef.h \
...
@@ -25,7 +25,7 @@ HEADERS = doxygen.h scanner.h classdef.h classlist.h memberdef.h \
namespacedef.h version.h language.h translator.h \
namespacedef.h version.h language.h translator.h \
translator_nl.h translator_se.h translator_cz.h translator_fr.h \
translator_nl.h translator_se.h translator_cz.h translator_fr.h \
translator_it.h formula.h debug.h membergroup.h htmlhelp.h \
translator_it.h formula.h debug.h membergroup.h htmlhelp.h \
translator_ru.h dot.h rtfgen.h
translator_ru.h
translator_pl.h
dot.h rtfgen.h
SOURCES = doxygen.cpp scanner.cpp classdef.cpp classlist.cpp memberdef.cpp \
SOURCES = doxygen.cpp scanner.cpp classdef.cpp classlist.cpp memberdef.cpp \
membername.cpp index.cpp memberlist.cpp \
membername.cpp index.cpp memberlist.cpp \
entry.cpp logos.cpp instdox.cpp message.cpp code.cpp \
entry.cpp logos.cpp instdox.cpp message.cpp code.cpp \
...
...
src/doxysearch.cpp
View file @
56bc9bda
...
@@ -204,7 +204,7 @@ void printFooter()
...
@@ -204,7 +204,7 @@ void printFooter()
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
void
message
(
char
*
fmt
,...)
void
message
(
c
onst
c
har
*
fmt
,...)
{
{
printHeader
();
printHeader
();
printf
(
"<h2>"
);
printf
(
"<h2>"
);
...
@@ -413,7 +413,7 @@ void searchIndex(const char *word,SearchResults *results)
...
@@ -413,7 +413,7 @@ void searchIndex(const char *word,SearchResults *results)
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
int
sortResults
(
const
void
*
a1
,
const
void
*
a2
)
extern
"C"
int
sortResults
(
const
void
*
a1
,
const
void
*
a2
)
{
{
SearchDoc
**
d1
=
(
SearchDoc
**
)
a1
;
SearchDoc
**
d1
=
(
SearchDoc
**
)
a1
;
SearchDoc
**
d2
=
(
SearchDoc
**
)
a2
;
SearchDoc
**
d2
=
(
SearchDoc
**
)
a2
;
...
...
src/filedef.cpp
View file @
56bc9bda
...
@@ -34,14 +34,14 @@
...
@@ -34,14 +34,14 @@
\a the file name, and \a ref is an HTML anchor name if the
\a the file name, and \a ref is an HTML anchor name if the
file was read from a tag file or 0 otherwise
file was read from a tag file or 0 otherwise
*/
*/
FileDef
::
FileDef
(
const
char
*
p
,
const
char
*
nm
,
const
char
*
ref
)
FileDef
::
FileDef
(
const
char
*
p
,
const
char
*
nm
,
const
char
*
l
ref
)
:
Definition
((
QCString
)
p
+
nm
,
1
,
nm
)
:
Definition
((
QCString
)
p
+
nm
,
1
,
nm
)
{
{
path
=
p
;
path
=
p
;
filepath
=
path
+
nm
;
filepath
=
path
+
nm
;
filename
=
nameToFile
(
nm
);
filename
=
nameToFile
(
nm
);
diskname
=
filename
.
copy
();
diskname
=
filename
.
copy
();
setReference
(
ref
);
setReference
(
l
ref
);
classList
=
new
ClassList
;
classList
=
new
ClassList
;
includeList
=
new
QList
<
IncludeInfo
>
;
includeList
=
new
QList
<
IncludeInfo
>
;
includeList
->
setAutoDelete
(
TRUE
);
includeList
->
setAutoDelete
(
TRUE
);
...
...
src/htmlgen.cpp
View file @
56bc9bda
...
@@ -111,7 +111,8 @@ void HtmlGenerator::startQuickIndexItem(const char *s,const char *l)
...
@@ -111,7 +111,8 @@ void HtmlGenerator::startQuickIndexItem(const char *s,const char *l)
{
{
t
<<
"<a class=
\"
qindexRef
\"
"
;
t
<<
"<a class=
\"
qindexRef
\"
"
;
t
<<
"doxygen=
\"
"
<<
s
<<
":"
;
t
<<
"doxygen=
\"
"
<<
s
<<
":"
;
if
((
dest
=
tagDestinationDict
[
s
]))
t
<<
*
dest
<<
"/"
;
if
((
dest
=
tagDestinationDict
[
s
]))
t
<<
*
dest
;
if
(
strcmp
(
s
,
"_cgi"
)
!=
0
)
t
<<
"/"
;
// small hack to get the cgi binary link right
t
<<
"
\"
"
;
t
<<
"
\"
"
;
}
}
else
else
...
@@ -121,7 +122,8 @@ void HtmlGenerator::startQuickIndexItem(const char *s,const char *l)
...
@@ -121,7 +122,8 @@ void HtmlGenerator::startQuickIndexItem(const char *s,const char *l)
t
<<
"href=
\"
"
;
t
<<
"href=
\"
"
;
if
(
s
)
if
(
s
)
{
{
if
((
dest
=
tagDestinationDict
[
s
]))
t
<<
*
dest
<<
"/"
;
if
((
dest
=
tagDestinationDict
[
s
]))
t
<<
*
dest
;
if
(
strcmp
(
s
,
"_cgi"
)
!=
0
)
t
<<
"/"
;
}
}
t
<<
l
<<
"
\"
>"
;
t
<<
l
<<
"
\"
>"
;
}
}
...
...
src/image.cpp
View file @
56bc9bda
...
@@ -310,11 +310,11 @@ void Image::drawRect(int x,int y,int w,int h,uchar colIndex,uint mask)
...
@@ -310,11 +310,11 @@ void Image::drawRect(int x,int y,int w,int h,uchar colIndex,uint mask)
drawVertLine
(
x
+
w
-
1
,
y
,
y
+
h
-
1
,
colIndex
,
mask
);
drawVertLine
(
x
+
w
-
1
,
y
,
y
+
h
-
1
,
colIndex
,
mask
);
}
}
void
Image
::
fillRect
(
int
x
,
int
y
,
int
width
,
int
height
,
uchar
colIndex
,
uint
mask
)
void
Image
::
fillRect
(
int
x
,
int
y
,
int
lwidth
,
int
l
height
,
uchar
colIndex
,
uint
mask
)
{
{
int
xp
,
yp
,
xi
,
yi
;
int
xp
,
yp
,
xi
,
yi
;
for
(
yp
=
y
,
yi
=
0
;
yp
<
y
+
height
;
yp
++
,
yi
++
)
for
(
yp
=
y
,
yi
=
0
;
yp
<
y
+
l
height
;
yp
++
,
yi
++
)
for
(
xp
=
x
,
xi
=
0
;
xp
<
x
+
width
;
xp
++
,
xi
++
)
for
(
xp
=
x
,
xi
=
0
;
xp
<
x
+
l
width
;
xp
++
,
xi
++
)
if
(
mask
&
(
1
<<
((
xi
+
yi
)
&
0x1f
)))
if
(
mask
&
(
1
<<
((
xi
+
yi
)
&
0x1f
)))
setPixel
(
xp
,
yp
,
colIndex
);
setPixel
(
xp
,
yp
,
colIndex
);
}
}
...
...
src/index.cpp
View file @
56bc9bda
...
@@ -1491,6 +1491,23 @@ void writeGroupList(OutputList &ol)
...
@@ -1491,6 +1491,23 @@ void writeGroupList(OutputList &ol)
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
void
writeGraphInfo
(
OutputList
&
ol
)
{
if
(
!
Config
::
haveDotFlag
)
return
;
ol
.
pushGeneratorState
();
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
generateGraphLegend
(
Config
::
htmlOutputDir
);
startFile
(
ol
,
"graph_legend"
,
"Graph Legend"
);
startTitle
(
ol
,
0
);
parseText
(
ol
,
theTranslator
->
trLegendTitle
());
endTitle
(
ol
,
0
,
0
);
parseDoc
(
ol
,
"graph_legend"
,
1
,
0
,
0
,
theTranslator
->
trLegendDocs
());
endFile
(
ol
);
ol
.
popGeneratorState
();
}
//----------------------------------------------------------------------------
void
writeGroupIndex
(
OutputList
&
ol
)
void
writeGroupIndex
(
OutputList
&
ol
)
{
{
if
(
documentedGroups
==
0
)
return
;
if
(
documentedGroups
==
0
)
return
;
...
@@ -1522,6 +1539,8 @@ void writeGroupIndex(OutputList &ol)
...
@@ -1522,6 +1539,8 @@ void writeGroupIndex(OutputList &ol)
ol
.
popGeneratorState
();
ol
.
popGeneratorState
();
}
}
//----------------------------------------------------------------------------
void
writeIndex
(
OutputList
&
ol
)
void
writeIndex
(
OutputList
&
ol
)
{
{
// save old generator state
// save old generator state
...
...
src/index.h
View file @
56bc9bda
...
@@ -62,6 +62,7 @@ void writeGroupIndex(OutputList &ol);
...
@@ -62,6 +62,7 @@ void writeGroupIndex(OutputList &ol);
void
writeNamespaceIndex
(
OutputList
&
ol
);
void
writeNamespaceIndex
(
OutputList
&
ol
);
void
writeNamespaceMemberIndex
(
OutputList
&
ol
);
void
writeNamespaceMemberIndex
(
OutputList
&
ol
);
void
writeGraphicalClassHierarchy
(
OutputList
&
ol
);
void
writeGraphicalClassHierarchy
(
OutputList
&
ol
);
void
writeGraphInfo
(
OutputList
&
ol
);
int
countClassHierarchy
();
int
countClassHierarchy
();
int
countClassMembers
();
int
countClassMembers
();
...
...
src/language.cpp
View file @
56bc9bda
...
@@ -29,6 +29,7 @@
...
@@ -29,6 +29,7 @@
#include "translator_fi.h"
#include "translator_fi.h"
#include "translator_ru.h"
#include "translator_ru.h"
#include "translator_hr.h"
#include "translator_hr.h"
#include "translator_pl.h"
#endif
#endif
#define L_EQUAL(a) !stricmp(langName,a)
#define L_EQUAL(a) !stricmp(langName,a)
...
@@ -90,6 +91,10 @@ bool setTranslator(const char *langName)
...
@@ -90,6 +91,10 @@ bool setTranslator(const char *langName)
{
{
theTranslator
=
new
TranslatorCroatian
;
theTranslator
=
new
TranslatorCroatian
;
}
}
else
if
(
L_EQUAL
(
"polish"
))
{
theTranslator
=
new
TranslatorPolish
;
}
#endif
#endif
else
// use the default language (i.e. english)
else
// use the default language (i.e. english)
{
{
...
...
src/memberdef.cpp
View file @
56bc9bda
...
@@ -484,14 +484,14 @@ void MemberDef::writeDeclaration(OutputList &ol,
...
@@ -484,14 +484,14 @@ void MemberDef::writeDeclaration(OutputList &ol,
//printf("md->name()=`%s' Protection=%d\n",name().data(),protection());
//printf("md->name()=`%s' Protection=%d\n",name().data(),protection());
if
(
inGroup
&&
protection
()
==
Private
&&
!
Config
::
extractPrivateFlag
)
return
;
if
(
inGroup
&&
protection
()
==
Private
&&
!
Config
::
extractPrivateFlag
)
return
;
QCString
type
=
typeString
();
QCString
ltype
=
type
.
copy
();
// strip `static' keyword from type
// strip `static' keyword from
l
type
if
(
type
.
left
(
7
)
==
"static "
)
type
=
type
.
right
(
type
.
length
()
-
7
);
if
(
ltype
.
left
(
7
)
==
"static "
)
ltype
=
ltype
.
right
(
l
type
.
length
()
-
7
);
// strip `friend' keyword from type
// strip `friend' keyword from
l
type
if
(
type
.
left
(
7
)
==
"friend "
)
type
=
type
.
right
(
type
.
length
()
-
7
);
if
(
ltype
.
left
(
7
)
==
"friend "
)
ltype
=
ltype
.
right
(
l
type
.
length
()
-
7
);
static
QRegExp
r
(
"@[0-9]+"
);
static
QRegExp
r
(
"@[0-9]+"
);
i
=-
1
;
i
=-
1
;
if
((
type
.
isEmpty
()
||
(
i
=
r
.
match
(
type
,
0
,
&
l
))
==-
1
)
||
!
enumUsed
())
if
((
ltype
.
isEmpty
()
||
(
i
=
r
.
match
(
l
type
,
0
,
&
l
))
==-
1
)
||
!
enumUsed
())
{
{
if
(
!
Config
::
genTagFile
.
isEmpty
())
if
(
!
Config
::
genTagFile
.
isEmpty
())
...
@@ -541,20 +541,20 @@ void MemberDef::writeDeclaration(OutputList &ol,
...
@@ -541,20 +541,20 @@ void MemberDef::writeDeclaration(OutputList &ol,
// search for the last anonymous scope in the member type
// search for the last anonymous scope in the member type
ClassDef
*
annoClassDef
=
0
;
ClassDef
*
annoClassDef
=
0
;
//while (i!=-1 && cname.find(type.mid(i,l))!=-1)
//while (i!=-1 && cname.find(
l
type.mid(i,l))!=-1)
//{
//{
// i=r.match(type,i+l,&l);
// i=r.match(
l
type,i+l,&l);
//}
//}
int
il
=
i
-
1
,
ir
=
i
+
l
;
int
il
=
i
-
1
,
ir
=
i
+
l
;
if
(
i
!=-
1
)
// found anonymous scope in type
if
(
i
!=-
1
)
// found anonymous scope in type
{
{
// extract anonymous scope
// extract anonymous scope
while
(
il
>=
0
&&
(
isId
(
type
.
at
(
il
))
||
type
.
at
(
il
)
==
':'
||
type
.
at
(
il
)
==
'@'
))
il
--
;
while
(
il
>=
0
&&
(
isId
(
ltype
.
at
(
il
))
||
ltype
.
at
(
il
)
==
':'
||
l
type
.
at
(
il
)
==
'@'
))
il
--
;
if
(
il
>
0
)
il
++
;
if
(
il
>
0
)
il
++
;
while
(
ir
<
(
int
)
type
.
length
()
&&
(
isId
(
type
.
at
(
ir
))
||
type
.
at
(
ir
)
==
':'
||
type
.
at
(
ir
)
==
'@'
))
ir
++
;
while
(
ir
<
(
int
)
ltype
.
length
()
&&
(
isId
(
ltype
.
at
(
ir
))
||
ltype
.
at
(
ir
)
==
':'
||
l
type
.
at
(
ir
)
==
'@'
))
ir
++
;
//QCString annName = type.mid(i,l);
//QCString annName =
l
type.mid(i,l);
QCString
annName
=
type
.
mid
(
il
,
ir
-
il
);
QCString
annName
=
l
type
.
mid
(
il
,
ir
-
il
);
// if inside a class or namespace try to prepend the scope name
// if inside a class or namespace try to prepend the scope name
if
((
cd
||
nd
)
&&
annName
.
left
(
cname
.
length
())
!=
cname
)
if
((
cd
||
nd
)
&&
annName
.
left
(
cname
.
length
())
!=
cname
)
...
@@ -612,7 +612,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
...
@@ -612,7 +612,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
if
(
i
!=-
1
)
// member has an anonymous type
if
(
i
!=-
1
)
// member has an anonymous type
{
{
//printf("annoClassDef=%p annMemb=%p scopeName=`%s' anonymous=`%s'\n",
//printf("annoClassDef=%p annMemb=%p scopeName=`%s' anonymous=`%s'\n",
// annoClassDef,annMemb,cname.data(),type.mid(i,l).data());
// annoClassDef,annMemb,cname.data(),
l
type.mid(i,l).data());
if
(
annoClassDef
)
// type is an anonymous compound
if
(
annoClassDef
)
// type is an anonymous compound
{
{
...
@@ -624,7 +624,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
...
@@ -624,7 +624,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
{
{
ol
.
writeNonBreakableSpace
();
ol
.
writeNonBreakableSpace
();
}
}
QCString
varName
=
type
.
right
(
type
.
length
()
-
ir
).
stripWhiteSpace
();
QCString
varName
=
ltype
.
right
(
l
type
.
length
()
-
ir
).
stripWhiteSpace
();
ol
.
docify
(
"}"
);
ol
.
docify
(
"}"
);
if
(
varName
.
isEmpty
()
&&
(
name
().
isEmpty
()
||
name
().
at
(
0
)
==
'@'
))
if
(
varName
.
isEmpty
()
&&
(
name
().
isEmpty
()
||
name
().
at
(
0
)
==
'@'
))
{
{
...
@@ -639,27 +639,27 @@ void MemberDef::writeDeclaration(OutputList &ol,
...
@@ -639,27 +639,27 @@ void MemberDef::writeDeclaration(OutputList &ol,
{
{
if
(
getAnonymousEnumType
())
// type is an anonymous enum
if
(
getAnonymousEnumType
())
// type is an anonymous enum
{
{
linkifyText
(
ol
,
cname
,
name
(),
type
.
left
(
i
),
TRUE
);
linkifyText
(
ol
,
cname
,
name
(),
l
type
.
left
(
i
),
TRUE
);
ol
+=*
getAnonymousEnumType
()
->
enumDecl
();
ol
+=*
getAnonymousEnumType
()
->
enumDecl
();
linkifyText
(
ol
,
cname
,
name
(),
type
.
right
(
type
.
length
()
-
i
-
l
),
TRUE
);
linkifyText
(
ol
,
cname
,
name
(),
ltype
.
right
(
l
type
.
length
()
-
i
-
l
),
TRUE
);
}
}
else
else
{
{
type
=
type
.
left
(
i
)
+
" { ... } "
+
type
.
right
(
type
.
length
()
-
i
-
l
);
ltype
=
ltype
.
left
(
i
)
+
" { ... } "
+
ltype
.
right
(
l
type
.
length
()
-
i
-
l
);
linkifyText
(
ol
,
cname
,
name
(),
type
,
TRUE
);
linkifyText
(
ol
,
cname
,
name
(),
l
type
,
TRUE
);
}
}
}
}
}
}
else
else
{
{
linkifyText
(
ol
,
cname
,
name
(),
type
,
TRUE
);
linkifyText
(
ol
,
cname
,
name
(),
l
type
,
TRUE
);
}
}
bool
htmlOn
=
ol
.
isEnabled
(
OutputGenerator
::
Html
);
bool
htmlOn
=
ol
.
isEnabled
(
OutputGenerator
::
Html
);
if
(
htmlOn
&&
Config
::
htmlAlignMemberFlag
&&
!
type
.
isEmpty
())
if
(
htmlOn
&&
Config
::
htmlAlignMemberFlag
&&
!
l
type
.
isEmpty
())
{
{
ol
.
disable
(
OutputGenerator
::
Html
);
ol
.
disable
(
OutputGenerator
::
Html
);
}
}
if
(
!
type
.
isEmpty
())
ol
.
docify
(
" "
);
if
(
!
l
type
.
isEmpty
())
ol
.
docify
(
" "
);
if
(
htmlOn
)
if
(
htmlOn
)
{
{
ol
.
enable
(
OutputGenerator
::
Html
);
ol
.
enable
(
OutputGenerator
::
Html
);
...
@@ -821,16 +821,16 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -821,16 +821,16 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
// prepend scope if there is any. TODO: make this optional for C only docs
// prepend scope if there is any. TODO: make this optional for C only docs
if
(
scopeName
)
doxyName
.
prepend
((
QCString
)
scopeName
+
"::"
);
if
(
scopeName
)
doxyName
.
prepend
((
QCString
)
scopeName
+
"::"
);
QCString
def
=
definition
();
QCString
l
def
=
definition
();
if
(
isEnumerate
())
if
(
isEnumerate
())
{
{
if
(
name
().
at
(
0
)
==
'@'
)
if
(
name
().
at
(
0
)
==
'@'
)
{
{
def
=
"anonymous enum"
;
l
def
=
"anonymous enum"
;
}
}
else
else
{
{
def
.
prepend
(
"enum "
);
l
def
.
prepend
(
"enum "
);
}
}
}
}
int
i
=
0
,
l
;
int
i
=
0
,
l
;
...
@@ -844,7 +844,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -844,7 +844,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
HtmlHelp
*
htmlHelp
=
0
;
HtmlHelp
*
htmlHelp
=
0
;
if
(
hasHtmlHelp
)
htmlHelp
=
HtmlHelp
::
getInstance
();
if
(
hasHtmlHelp
)
htmlHelp
=
HtmlHelp
::
getInstance
();
if
((
isVariable
()
||
isTypedef
())
&&
(
i
=
r
.
match
(
def
,
0
,
&
l
))
!=-
1
)
if
((
isVariable
()
||
isTypedef
())
&&
(
i
=
r
.
match
(
l
def
,
0
,
&
l
))
!=-
1
)
{
{
// find enum type and insert it in the definition
// find enum type and insert it in the definition
MemberListIterator
vmli
(
*
ml
);
MemberListIterator
vmli
(
*
ml
);
...
@@ -852,7 +852,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -852,7 +852,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
bool
found
=
FALSE
;
bool
found
=
FALSE
;
for
(
;
(
vmd
=
vmli
.
current
())
&&
!
found
;
++
vmli
)
for
(
;
(
vmd
=
vmli
.
current
())
&&
!
found
;
++
vmli
)
{
{
if
(
vmd
->
isEnumerate
()
&&
def
.
mid
(
i
,
l
)
==
vmd
->
name
())
if
(
vmd
->
isEnumerate
()
&&
l
def
.
mid
(
i
,
l
)
==
vmd
->
name
())
{
{
ol
.
startDoxyAnchor
(
cfname
,
cname
,
anchor
(),
doxyName
);
ol
.
startDoxyAnchor
(
cfname
,
cname
,
anchor
(),
doxyName
);
ol
.
startMemberDoc
(
cname
,
name
(),
anchor
(),
name
());
ol
.
startMemberDoc
(
cname
,
name
(),
anchor
(),
name
());
...
@@ -860,9 +860,9 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -860,9 +860,9 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
{
{
htmlHelp
->
addIndexItem
(
cname
,
name
(),
cfname
,
anchor
());
htmlHelp
->
addIndexItem
(
cname
,
name
(),
cfname
,
anchor
());
}
}
linkifyText
(
ol
,
scopeName
,
name
(),
def
.
left
(
i
));
linkifyText
(
ol
,
scopeName
,
name
(),
l
def
.
left
(
i
));
ol
+=*
vmd
->
enumDecl
();
ol
+=*
vmd
->
enumDecl
();
linkifyText
(
ol
,
scopeName
,
name
(),
def
.
right
(
def
.
length
()
-
i
-
l
));
linkifyText
(
ol
,
scopeName
,
name
(),
ldef
.
right
(
l
def
.
length
()
-
i
-
l
));
found
=
TRUE
;
found
=
TRUE
;
}
}
...
@@ -877,16 +877,16 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -877,16 +877,16 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
htmlHelp
->
addIndexItem
(
cname
,
name
(),
cfname
,
anchor
());
htmlHelp
->
addIndexItem
(
cname
,
name
(),
cfname
,
anchor
());
}
}
// strip anonymous compound names from definition
// strip anonymous compound names from definition
int
si
=
def
.
find
(
' '
),
pi
,
ei
=
i
+
l
;
int
si
=
l
def
.
find
(
' '
),
pi
,
ei
=
i
+
l
;
if
(
si
==-
1
)
si
=
0
;
if
(
si
==-
1
)
si
=
0
;
while
((
pi
=
r
.
match
(
def
,
i
+
l
,
&
l
))
!=-
1
)
ei
=
i
=
pi
+
l
;
while
((
pi
=
r
.
match
(
l
def
,
i
+
l
,
&
l
))
!=-
1
)
ei
=
i
=
pi
+
l
;
// first si characters of def contain compound type name
// first si characters of
l
def contain compound type name
ol
.
docify
(
def
.
left
(
si
));
ol
.
docify
(
l
def
.
left
(
si
));
ol
.
docify
(
" { ... } "
);
ol
.
docify
(
" { ... } "
);
// last ei characters of def contain pointer/reference specifiers
// last ei characters of
l
def contain pointer/reference specifiers
int
ni
=
def
.
find
(
"::"
,
si
);
int
ni
=
l
def
.
find
(
"::"
,
si
);
if
(
ni
>=
ei
)
ei
=
ni
+
2
;
if
(
ni
>=
ei
)
ei
=
ni
+
2
;
linkifyText
(
ol
,
scopeName
,
name
(),
def
.
right
(
def
.
length
()
-
ei
));
linkifyText
(
ol
,
scopeName
,
name
(),
ldef
.
right
(
l
def
.
length
()
-
ei
));
}
}
}
}
else
else
...
@@ -931,19 +931,19 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -931,19 +931,19 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
int
ir
=
cName
.
findRev
(
'>'
);
int
ir
=
cName
.
findRev
(
'>'
);
if
(
il
!=-
1
&&
ir
!=-
1
&&
ir
>
il
)
if
(
il
!=-
1
&&
ir
!=-
1
&&
ir
>
il
)
{
{
def
=
addTemplateNames
(
def
,
ldef
=
addTemplateNames
(
l
def
,
cName
.
left
(
il
),
/* class without template spec */
cName
.
left
(
il
),
/* class without template spec */
cName
.
mid
(
il
,
ir
-
il
+
1
)
/* templ spec */
cName
.
mid
(
il
,
ir
-
il
+
1
)
/* templ spec */
);
);
}
}
else
if
(
scopeAl
)
else
if
(
scopeAl
)
{
{
def
=
addTemplateNames
(
def
,
cName
,
tempArgListToString
(
scopeAl
));
ldef
=
addTemplateNames
(
l
def
,
cName
,
tempArgListToString
(
scopeAl
));
}
}
}
}
}
}
ol
.
startMemberDocName
();
ol
.
startMemberDocName
();
linkifyText
(
ol
,
scopeName
,
name
(),
def
);
linkifyText
(
ol
,
scopeName
,
name
(),
l
def
);
writeDefArgumentList
(
ol
,
cd
,
scopeName
,
this
);
writeDefArgumentList
(
ol
,
cd
,
scopeName
,
this
);
if
(
!
init
.
isEmpty
()
&&
initLines
==
0
&&
maxInitLines
>
0
)
// add initializer
if
(
!
init
.
isEmpty
()
&&
initLines
==
0
&&
maxInitLines
>
0
)
// add initializer
{
{
...
@@ -965,16 +965,16 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -965,16 +965,16 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
}
}
}
}
Specifier
virt
=
virtualness
();
Specifier
l
virt
=
virtualness
();
MemberDef
*
rmd
=
reimplements
();
MemberDef
*
rmd
=
reimplements
();
while
(
rmd
&&
virt
==
Normal
)
while
(
rmd
&&
l
virt
==
Normal
)
{
{
virt
=
rmd
->
virtualness
()
==
Normal
?
Normal
:
Virtual
;
l
virt
=
rmd
->
virtualness
()
==
Normal
?
Normal
:
Virtual
;
rmd
=
rmd
->
reimplements
();
rmd
=
rmd
->
reimplements
();
}
}
if
(
isStatic
()
||
protection
()
!=
Public
||
if
(
isStatic
()
||
protection
()
!=
Public
||
virt
!=
Normal
||
isSignal
()
||
isFriend
()
||
l
virt
!=
Normal
||
isSignal
()
||
isFriend
()
||
isRelated
()
||
isSlot
()
||
isRelated
()
||
isSlot
()
||
getMemberSpecifiers
()
!=
0
getMemberSpecifiers
()
!=
0
)
)
...
@@ -995,8 +995,8 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -995,8 +995,8 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
if
(
isStatic
())
sl
.
append
(
"static"
);
if
(
isStatic
())
sl
.
append
(
"static"
);
if
(
protection
()
==
Protected
)
sl
.
append
(
"protected"
);
if
(
protection
()
==
Protected
)
sl
.
append
(
"protected"
);
else
if
(
protection
()
==
Private
)
sl
.
append
(
"private"
);
else
if
(
protection
()
==
Private
)
sl
.
append
(
"private"
);
if
(
virt
==
Virtual
)
sl
.
append
(
"virtual"
);
if
(
lvirt
==
Virtual
)
sl
.
append
(
"virtual"
);
else
if
(
virt
==
Pure
)
sl
.
append
(
"pure virtual"
);
else
if
(
l
virt
==
Pure
)
sl
.
append
(
"pure virtual"
);
if
(
isSignal
())
sl
.
append
(
"signal"
);
if
(
isSignal
())
sl
.
append
(
"signal"
);
if
(
isSlot
())
sl
.
append
(
"slot"
);
if
(
isSlot
())
sl
.
append
(
"slot"
);
}
}
...
@@ -1163,7 +1163,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
...
@@ -1163,7 +1163,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
if
(
bmd
&&
(
bcd
=
bmd
->
memberClass
()))
if
(
bmd
&&
(
bcd
=
bmd
->
memberClass
()))
{
{
#if 0
#if 0
if (virt!=Normal) // search for virtual member of the deepest base class
if (
l
virt!=Normal) // search for virtual member of the deepest base class
{
{
MemberDef *lastBmd=bmd;
MemberDef *lastBmd=bmd;
while (lastBmd)
while (lastBmd)
...
...
src/namespacedef.cpp
View file @
56bc9bda
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
#include "message.h"
#include "message.h"
NamespaceDef
::
NamespaceDef
(
const
char
*
df
,
int
dl
,
NamespaceDef
::
NamespaceDef
(
const
char
*
df
,
int
dl
,
const
char
*
name
,
const
char
*
ref
)
:
const
char
*
name
,
const
char
*
l
ref
)
:
Definition
(
df
,
dl
,
name
)
Definition
(
df
,
dl
,
name
)
{
{
fileName
=
"namespace_"
+
nameToFile
(
name
);
fileName
=
"namespace_"
+
nameToFile
(
name
);
...
@@ -37,7 +37,7 @@ NamespaceDef::NamespaceDef(const char *df,int dl,
...
@@ -37,7 +37,7 @@ NamespaceDef::NamespaceDef(const char *df,int dl,
//memList = new MemberList;
//memList = new MemberList;
usingDirList
=
0
;
usingDirList
=
0
;
usingDeclList
=
0
;
usingDeclList
=
0
;
setReference
(
ref
);
setReference
(
l
ref
);
memberGroupList
=
new
MemberGroupList
;
memberGroupList
=
new
MemberGroupList
;
memberGroupList
->
setAutoDelete
(
TRUE
);
memberGroupList
->
setAutoDelete
(
TRUE
);
memberGroupDict
=
new
MemberGroupDict
(
1009
);
memberGroupDict
=
new
MemberGroupDict
(
1009
);
...
...
src/outputgen.cpp
View file @
56bc9bda
...
@@ -90,8 +90,9 @@ void OutputGenerator::pushGeneratorState()
...
@@ -90,8 +90,9 @@ void OutputGenerator::pushGeneratorState()
void
OutputGenerator
::
popGeneratorState
()
void
OutputGenerator
::
popGeneratorState
()
{
{
bool
*
b
=
genStack
->
pop
();
bool
*
l
b
=
genStack
->
pop
();
ASSERT
(
b
!=
0
);
ASSERT
(
l
b
!=
0
);
if
(
b
==
0
)
return
;
// for some robustness against superfluous \endhtmlonly commands.
if
(
l
b
==
0
)
return
;
// for some robustness against superfluous \endhtmlonly commands.
if
(
*
b
)
enable
();
else
disable
();
if
(
*
l
b
)
enable
();
else
disable
();
}
}
src/scanner.l
View file @
56bc9bda
...
@@ -796,7 +796,7 @@ static QCString findAndCopyImage(const char *fileName,ImageTypes type)
...
@@ -796,7 +796,7 @@ static QCString findAndCopyImage(const char *fileName,ImageTypes type)
FileDef *fd;
FileDef *fd;
if ((fd=findFileDef(imageNameDict,fileName,ambig)))
if ((fd=findFileDef(imageNameDict,fileName,ambig)))
{
{
QFile inImage(
fd->absFilePath().data(
));
QFile inImage(
QString(fd->absFilePath().data()
));
if (inImage.open(IO_ReadOnly))
if (inImage.open(IO_ReadOnly))
{
{
result = fileName;
result = fileName;
...
@@ -816,7 +816,7 @@ static QCString findAndCopyImage(const char *fileName,ImageTypes type)
...
@@ -816,7 +816,7 @@ static QCString findAndCopyImage(const char *fileName,ImageTypes type)
break;
break;
}
}
QCString outputFile = outputDir+"/"+result;
QCString outputFile = outputDir+"/"+result;
QFile outImage(
outputFile.data(
));
QFile outImage(
QString(outputFile.data()
));
if (outImage.open(IO_WriteOnly)) // copy the image
if (outImage.open(IO_WriteOnly)) // copy the image
{
{
char *buffer = new char[inImage.size()];
char *buffer = new char[inImage.size()];
...
@@ -1300,19 +1300,28 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -1300,19 +1300,28 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
insideArgumentList=TRUE;
insideArgumentList=TRUE;
}
}
}
}
<DocScan>
{CMD}"par"{B}+
{
<DocScan>
(({B}*"\n"){2,}{B}*)?{CMD}"par"{B}*
{
BEGIN(DocPar);
BEGIN(DocPar);
}
}
<DocPar>[^\n]*{BN} {
<DocPar>[^\n]*{BN} {
endArgumentList();
QCString title=QCString(yytext).stripWhiteSpace();
if (inBlock()) endBlock();
bool b = inBlock();
inParBlock=TRUE;
if (!title.isEmpty())
outDoc->startDescList();
{
outDoc->startBold();
endArgumentList();
outDoc->docify(((QCString)yytext).stripWhiteSpace());
if (b) endBlock();
outDoc->endBold();
inParBlock=TRUE;
outDoc->endDescTitle();
outDoc->startDescList();
outDoc->writeDescItem();
outDoc->startBold();
outDoc->docify(title);
outDoc->endBold();
outDoc->endDescTitle();
outDoc->writeDescItem();
}
else
{
outDoc->newParagraph();
}
BEGIN(DocScan);
BEGIN(DocScan);
}
}
<DocScan>{CMD}"warning"/{BN} {
<DocScan>{CMD}"warning"/{BN} {
...
@@ -2397,7 +2406,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -2397,7 +2406,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
BEGIN( NextSemi );
BEGIN( NextSemi );
}
}
<FindMembers>{B}*"typename"{BN}+ { lineCount(); }
<FindMembers>{B}*"typename"{BN}+ { lineCount(); }
<FindMembers>{B}*"namespace"{BN}
+
{
<FindMembers>{B}*"namespace"{BN}
*/[^a-z_A-Z0-9]
{
isTypedef=FALSE;
isTypedef=FALSE;
current->section = Entry::NAMESPACE_SEC;
current->section = Entry::NAMESPACE_SEC;
current->type = "namespace" ;
current->type = "namespace" ;
...
@@ -2417,6 +2426,16 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -2417,6 +2426,16 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
lineCount();
lineCount();
BEGIN( CompoundName );
BEGIN( CompoundName );
}
}
<FindMembers>{B}*"library"{BN}+ {
isTypedef=FALSE;
current->section = Entry::NAMESPACE_SEC;
current->type = "library" ;
current->fileName = yyFileName;
current->startLine = yyLineNr;
current->bodyLine = yyLineNr;
lineCount();
BEGIN( CompoundName );
}
<FindMembers>{B}*"interface"{BN}+ { // M$/Corba IDL interface
<FindMembers>{B}*"interface"{BN}+ { // M$/Corba IDL interface
isTypedef=FALSE;
isTypedef=FALSE;
current->section = Entry::INTERFACE_SEC;
current->section = Entry::INTERFACE_SEC;
...
@@ -4852,8 +4871,8 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -4852,8 +4871,8 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
copyArgString = ¤t->args;
copyArgString = ¤t->args;
BEGIN( ReadFuncArgType ) ;
BEGIN( ReadFuncArgType ) ;
}
}
<ClassDocFunc>"("({B}*"*")+ {
<ClassDocFunc>"("({
ID}"::")*({
B}*"*")+ {
current->name+=
"(*"
;
current->name+=
yytext
;
BEGIN( ClassDocFuncPtr );
BEGIN( ClassDocFuncPtr );
}
}
<ClassDocFuncPtr>{SCOPENAME} {
<ClassDocFuncPtr>{SCOPENAME} {
...
...
src/suffixtree.cpp
View file @
56bc9bda
...
@@ -325,7 +325,7 @@ void SuffixTree::insertWord(const char *word,int index,bool inName)
...
@@ -325,7 +325,7 @@ void SuffixTree::insertWord(const char *word,int index,bool inName)
{
{
QCString
suffix
=
word
;
QCString
suffix
=
word
;
uint
i
;
uint
i
;
for
(
i
=
2
;
i
<
suffix
.
length
()
-
1
;
i
++
)
for
(
i
=
2
;
i
<
suffix
.
length
();
i
++
)
{
{
//printf("Inserting suffix %s\n",suffix.right(i).data());
//printf("Inserting suffix %s\n",suffix.right(i).data());
nodes
+=
root
->
insert
(
suffix
.
right
(
i
),
index
,
inName
?
1
:
0
,
FALSE
);
nodes
+=
root
->
insert
(
suffix
.
right
(
i
),
index
,
inName
?
1
:
0
,
FALSE
);
...
...
src/translator.h
View file @
56bc9bda
...
@@ -899,6 +899,78 @@ class Translator
...
@@ -899,6 +899,78 @@ class Translator
{
{
return
"Since"
;
return
"Since"
;
}
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.5
//////////////////////////////////////////////////////////////////////////
/*! title of the graph legend page */
virtual
QCString
trLegendTitle
()
{
return
"Graph Legend"
;
}
/*! page explaining how the dot graph's should be interpreted */
virtual
QCString
trLegendDocs
()
{
return
"This page explains how to interpret the graphs that are generated "
"by doxygen.<p>
\n
"
"Consider the following example:
\n
"
"
\\
code
\n
"
"/*! Invisible class because of truncation */
\n
"
"class Invisible { };
\n\n
"
"/*! Truncated class, inheritance relation is hidden */
\n
"
"class Truncated : public Invisible { };
\n\n
"
"/* Class not documented with doxygen comments */
\n
"
"class Undocumented { };
\n\n
"
"/*! Class that is inherited using public inheritance */
\n
"
"class PublicBase : public Truncated { };
\n\n
"
"/*! Class that is inherited using protected inheritance */
\n
"
"class ProtectedBase { };
\n\n
"
"/*! Class that is inherited using private inheritance */
\n
"
"class PrivateBase { };
\n\n
"
"/*! Class that is used by the Inherited class */
\n
"
"class Used { };
\n\n
"
"/*! Super class that inherits a number of other classes */
\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
"
"If the
\\
c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
"is set to 200 this will result in the following graph:"
"<p><center><img src=
\"
graph_legend.gif
\"
></center>
\n
"
"<p>
\n
"
"The boxes in the above graph have the following meaning:
\n
"
"<ul>
\n
"
"<li>A filled black box represents the struct or class for which the "
"graph is generated.
\n
"
"<li>A box with a black border denotes a documented struct or class.
\n
"
"<li>A box with a grey border denotes an undocumented struct or class.
\n
"
"<li>A box with a red border denotes a documented struct or class for
\n
"
"which not all inheritance/containment relations are shown. A graph is "
"truncated if it does not fit within the specified boundaries."
"</ul>
\n
"
"The arrows have the following meaning:
\n
"
"<ul>
\n
"
"<li>A dark blue arrow is used to visualize a public inheritance "
"relation between two classes.
\n
"
"<li>A dark green arrow is used for protected inheritance.
\n
"
"<li>A dark red arrow is used for private inheritance.
\n
"
"<li>A purple dashed arrow is used if a class is contained or used "
"by another class. The arrow is labeled with the variable(s) "
"through which the pointed class or struct is accessible.
\n
"
"</ul>
\n
"
;
}
/*! text for the link to the legend page */
virtual
QCString
trLegend
()
{
return
"legend"
;
}
};
};
#endif
#endif
src/translator_cz.h
View file @
56bc9bda
...
@@ -516,7 +516,8 @@ class TranslatorCzech : public Translator
...
@@ -516,7 +516,8 @@ class TranslatorCzech : public Translator
/*! used as the title of the HTML page of a class/struct/union */
/*! used as the title of the HTML page of a class/struct/union */
virtual
QCString
trCompoundReference
(
const
char
*
clName
,
virtual
QCString
trCompoundReference
(
const
char
*
clName
,
ClassDef
::
CompoundType
compType
)
ClassDef
::
CompoundType
compType
,
bool
/*isTemplate*/
)
{
{
QCString
result
=
(
QCString
)
clName
+
" "
;
QCString
result
=
(
QCString
)
clName
+
" "
;
switch
(
compType
)
switch
(
compType
)
...
...
src/translator_hr.h
View file @
56bc9bda
...
@@ -583,11 +583,48 @@ class TranslatorCroatian : public Translator
...
@@ -583,11 +583,48 @@ class TranslatorCroatian : public Translator
{
{
return
"Static private atributi"
;
return
"Static private atributi"
;
}
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.3
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a todo item */
virtual
QCString
trTodo
()
{
return
"Za uraditi"
;
}
/*! Used as the header of the todo list */
virtual
QCString
trTodoList
()
{
return
"Ostalo za uraditi"
;
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
// new since 1.1.
1
// new since 1.1.
4
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
virtual
QCString
trReferencedBy
()
{
return
"Referencirano od"
;
}
virtual
QCString
trRemarks
()
{
return
"Napomene"
;
}
virtual
QCString
trAttention
()
{
return
"Panja"
;
}
virtual
QCString
trInclByDepGraph
()
{
return
"Ovaj graf pokazuje koje datoteke izravno "
"ili neizravno ukljuuju ovu datoteku:"
;
}
virtual
QCString
trSince
()
{
return
"Od"
;
}
};
};
#endif
#endif
src/translator_pl.h
0 → 100644
View file @
56bc9bda
This diff is collapsed.
Click to expand it.
src/util.cpp
View file @
56bc9bda
...
@@ -559,35 +559,35 @@ void writeQuickLinks(OutputList &ol,bool compact,bool ext)
...
@@ -559,35 +559,35 @@ void writeQuickLinks(OutputList &ol,bool compact,bool ext)
//bool manEnabled = ol.isEnabled(OutputGenerator::Man);
//bool manEnabled = ol.isEnabled(OutputGenerator::Man);
//bool texEnabled = ol.isEnabled(OutputGenerator::Latex);
//bool texEnabled = ol.isEnabled(OutputGenerator::Latex);
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
QCString
extLink
,
absPath
;
QCString
extLink
;
if
(
ext
)
{
extLink
=
"_doc"
;
absPath
=
Config
::
docURL
+
"/"
;
}
if
(
ext
)
{
extLink
=
"_doc"
;
}
//if (manEnabled) ol.disable(OutputGenerator::Man);
//if (manEnabled) ol.disable(OutputGenerator::Man);
//if (texEnabled) ol.disable(OutputGenerator::Latex);
//if (texEnabled) ol.disable(OutputGenerator::Latex);
if
(
compact
)
ol
.
startCenter
();
else
ol
.
startItemList
();
if
(
compact
)
ol
.
startCenter
();
else
ol
.
startItemList
();
if
(
!
compact
)
ol
.
writeListItem
();
if
(
!
compact
)
ol
.
writeListItem
();
ol
.
startQuickIndexItem
(
extLink
,
absPath
+
"index.html"
);
ol
.
startQuickIndexItem
(
extLink
,
"index.html"
);
parseText
(
ol
,
theTranslator
->
trMainPage
());
parseText
(
ol
,
theTranslator
->
trMainPage
());
ol
.
endQuickIndexItem
();
ol
.
endQuickIndexItem
();
if
(
documentedGroups
>
0
)
if
(
documentedGroups
>
0
)
{
{
if
(
!
compact
)
ol
.
writeListItem
();
if
(
!
compact
)
ol
.
writeListItem
();
ol
.
startQuickIndexItem
(
extLink
,
absPath
+
"modules.html"
);
ol
.
startQuickIndexItem
(
extLink
,
"modules.html"
);
parseText
(
ol
,
theTranslator
->
trModules
());
parseText
(
ol
,
theTranslator
->
trModules
());
ol
.
endQuickIndexItem
();
ol
.
endQuickIndexItem
();
}
}
if
(
documentedNamespaces
>
0
)
if
(
documentedNamespaces
>
0
)
{
{
if
(
!
compact
)
ol
.
writeListItem
();
if
(
!
compact
)
ol
.
writeListItem
();
ol
.
startQuickIndexItem
(
extLink
,
absPath
+
"namespaces.html"
);
ol
.
startQuickIndexItem
(
extLink
,
"namespaces.html"
);
parseText
(
ol
,
theTranslator
->
trNamespaceList
());
parseText
(
ol
,
theTranslator
->
trNamespaceList
());
ol
.
endQuickIndexItem
();
ol
.
endQuickIndexItem
();
}
}
if
(
hierarchyClasses
>
0
)
if
(
hierarchyClasses
>
0
)
{
{
if
(
!
compact
)
ol
.
writeListItem
();
if
(
!
compact
)
ol
.
writeListItem
();
ol
.
startQuickIndexItem
(
extLink
,
absPath
+
"hierarchy.html"
);
ol
.
startQuickIndexItem
(
extLink
,
"hierarchy.html"
);
parseText
(
ol
,
theTranslator
->
trClassHierarchy
());
parseText
(
ol
,
theTranslator
->
trClassHierarchy
());
ol
.
endQuickIndexItem
();
ol
.
endQuickIndexItem
();
}
}
...
@@ -596,75 +596,75 @@ void writeQuickLinks(OutputList &ol,bool compact,bool ext)
...
@@ -596,75 +596,75 @@ void writeQuickLinks(OutputList &ol,bool compact,bool ext)
if
(
Config
::
alphaIndexFlag
)
if
(
Config
::
alphaIndexFlag
)
{
{
if
(
!
compact
)
ol
.
writeListItem
();
if
(
!
compact
)
ol
.
writeListItem
();
ol
.
startQuickIndexItem
(
extLink
,
absPath
+
"classes.html"
);
ol
.
startQuickIndexItem
(
extLink
,
"classes.html"
);
parseText
(
ol
,
theTranslator
->
trAlphabeticalList
());
parseText
(
ol
,
theTranslator
->
trAlphabeticalList
());
ol
.
endQuickIndexItem
();
ol
.
endQuickIndexItem
();
}
}
if
(
!
compact
)
ol
.
writeListItem
();
if
(
!
compact
)
ol
.
writeListItem
();
ol
.
startQuickIndexItem
(
extLink
,
absPath
+
"annotated.html"
);
ol
.
startQuickIndexItem
(
extLink
,
"annotated.html"
);
parseText
(
ol
,
theTranslator
->
trCompoundList
());
parseText
(
ol
,
theTranslator
->
trCompoundList
());
ol
.
endQuickIndexItem
();
ol
.
endQuickIndexItem
();
}
}
if
(
documentedHtmlFiles
>
0
)
if
(
documentedHtmlFiles
>
0
)
{
{
if
(
!
compact
)
ol
.
writeListItem
();
if
(
!
compact
)
ol
.
writeListItem
();
ol
.
startQuickIndexItem
(
extLink
,
absPath
+
"files.html"
);
ol
.
startQuickIndexItem
(
extLink
,
"files.html"
);
parseText
(
ol
,
theTranslator
->
trFileList
());
parseText
(
ol
,
theTranslator
->
trFileList
());
ol
.
endQuickIndexItem
();
ol
.
endQuickIndexItem
();
}
}
//if (documentedIncludeFiles>0 && Config::verbatimHeaderFlag)
//if (documentedIncludeFiles>0 && Config::verbatimHeaderFlag)
//{
//{
// if (!compact) ol.writeListItem();
// if (!compact) ol.writeListItem();
// ol.startQuickIndexItem(extLink,
absPath+
"headers.html");
// ol.startQuickIndexItem(extLink,"headers.html");
// parseText(ol,theTranslator->trHeaderFiles());
// parseText(ol,theTranslator->trHeaderFiles());
// ol.endQuickIndexItem();
// ol.endQuickIndexItem();
//}
//}
//if (Config::sourceBrowseFlag)
//if (Config::sourceBrowseFlag)
//{
//{
// if (!compact) ol.writeListItem();
// if (!compact) ol.writeListItem();
// ol.startQuickIndexItem(extLink,
absPath+
"sources.html");
// ol.startQuickIndexItem(extLink,"sources.html");
// parseText(ol,theTranslator->trSources());
// parseText(ol,theTranslator->trSources());
// ol.endQuickIndexItem();
// ol.endQuickIndexItem();
//}
//}
if
(
documentedNamespaceMembers
>
0
)
if
(
documentedNamespaceMembers
>
0
)
{
{
if
(
!
compact
)
ol
.
writeListItem
();
if
(
!
compact
)
ol
.
writeListItem
();
ol
.
startQuickIndexItem
(
extLink
,
absPath
+
"namespacemembers.html"
);
ol
.
startQuickIndexItem
(
extLink
,
"namespacemembers.html"
);
parseText
(
ol
,
theTranslator
->
trNamespaceMembers
());
parseText
(
ol
,
theTranslator
->
trNamespaceMembers
());
ol
.
endQuickIndexItem
();
ol
.
endQuickIndexItem
();
}
}
if
(
documentedMembers
>
0
)
if
(
documentedMembers
>
0
)
{
{
if
(
!
compact
)
ol
.
writeListItem
();
if
(
!
compact
)
ol
.
writeListItem
();
ol
.
startQuickIndexItem
(
extLink
,
absPath
+
"functions.html"
);
ol
.
startQuickIndexItem
(
extLink
,
"functions.html"
);
parseText
(
ol
,
theTranslator
->
trCompoundMembers
());
parseText
(
ol
,
theTranslator
->
trCompoundMembers
());
ol
.
endQuickIndexItem
();
ol
.
endQuickIndexItem
();
}
}
if
(
documentedFunctions
>
0
)
if
(
documentedFunctions
>
0
)
{
{
if
(
!
compact
)
ol
.
writeListItem
();
if
(
!
compact
)
ol
.
writeListItem
();
ol
.
startQuickIndexItem
(
extLink
,
absPath
+
"globals.html"
);
ol
.
startQuickIndexItem
(
extLink
,
"globals.html"
);
parseText
(
ol
,
theTranslator
->
trFileMembers
());
parseText
(
ol
,
theTranslator
->
trFileMembers
());
ol
.
endQuickIndexItem
();
ol
.
endQuickIndexItem
();
}
}
if
(
pageList
.
count
()
>
0
)
if
(
pageList
.
count
()
>
0
)
{
{
if
(
!
compact
)
ol
.
writeListItem
();
if
(
!
compact
)
ol
.
writeListItem
();
ol
.
startQuickIndexItem
(
extLink
,
absPath
+
"pages.html"
);
ol
.
startQuickIndexItem
(
extLink
,
"pages.html"
);
parseText
(
ol
,
theTranslator
->
trRelatedPages
());
parseText
(
ol
,
theTranslator
->
trRelatedPages
());
ol
.
endQuickIndexItem
();
ol
.
endQuickIndexItem
();
}
}
if
(
exampleList
.
count
()
>
0
)
if
(
exampleList
.
count
()
>
0
)
{
{
if
(
!
compact
)
ol
.
writeListItem
();
if
(
!
compact
)
ol
.
writeListItem
();
ol
.
startQuickIndexItem
(
extLink
,
absPath
+
"examples.html"
);
ol
.
startQuickIndexItem
(
extLink
,
"examples.html"
);
parseText
(
ol
,
theTranslator
->
trExamples
());
parseText
(
ol
,
theTranslator
->
trExamples
());
ol
.
endQuickIndexItem
();
ol
.
endQuickIndexItem
();
}
}
if
(
Config
::
searchEngineFlag
)
if
(
Config
::
searchEngineFlag
)
{
{
if
(
!
compact
)
ol
.
writeListItem
();
if
(
!
compact
)
ol
.
writeListItem
();
ol
.
startQuickIndexItem
(
"_cgi"
,
Config
::
cgiURL
+
"/"
+
Config
::
cgiName
);
ol
.
startQuickIndexItem
(
"_cgi"
,
""
);
parseText
(
ol
,
theTranslator
->
trSearch
());
parseText
(
ol
,
theTranslator
->
trSearch
());
ol
.
endQuickIndexItem
();
ol
.
endQuickIndexItem
();
}
}
...
...
tmake/bin/progen
View file @
56bc9bda
#!/usr/bin/perl
#!/usr/bin/perl
############################################################################
############################################################################
#
$Id$
#
#
#
# Generates a tmake project file.
# Generates a tmake project file.
#
#
...
...
tmake/bin/tmake
View file @
56bc9bda
#!/usr/bin/perl
#!/usr/bin/perl
############################################################################
############################################################################
#
$Id$
#
#
#
# Creates a Makefile from a template and a project file.
# Creates a Makefile from a template and a project file.
#
#
...
...
tmake/example/hello.cpp
View file @
56bc9bda
/****************************************************************************
/****************************************************************************
**
$Id$
**
**
**
** Copyright (C) 1992-1998 Troll Tech AS. All rights reserved.
** Copyright (C) 1992-1998 Troll Tech AS. All rights reserved.
**
**
...
...
tmake/example/hello.h
View file @
56bc9bda
/****************************************************************************
/****************************************************************************
**
$Id$
**
**
**
** Copyright (C) 1992-1998 Troll Tech AS. All rights reserved.
** Copyright (C) 1992-1998 Troll Tech AS. All rights reserved.
**
**
...
...
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