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
f7c4c021
Commit
f7c4c021
authored
Jun 09, 2002
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.2.16-20020609
parent
c5627867
Changes
25
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
1893 additions
and
224 deletions
+1893
-224
INSTALL
INSTALL
+2
-2
Makefile.in
Makefile.in
+1
-5
README
README
+2
-2
VERSION
VERSION
+1
-1
configure
configure
+2
-2
config.doc
doc/config.doc
+1
-1
install.doc
doc/install.doc
+2
-1
language.doc
doc/language.doc
+16
-8
maintainers.txt
doc/maintainers.txt
+3
-0
translator.pl
doc/translator.pl
+18
-2
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
classdef.cpp
src/classdef.cpp
+21
-0
code.l
src/code.l
+1
-0
commentcnv.l
src/commentcnv.l
+8
-8
config.l
src/config.l
+7
-3
doc.l
src/doc.l
+40
-44
doxygen.cpp
src/doxygen.cpp
+21
-15
lang_cfg.h
src/lang_cfg.h
+1
-0
language.cpp
src/language.cpp
+13
-0
latexgen.cpp
src/latexgen.cpp
+103
-56
pre.l
src/pre.l
+4
-0
scanner.l
src/scanner.l
+161
-47
tagreader.cpp
src/tagreader.cpp
+5
-0
translator_jp.h
src/translator_jp.h
+59
-26
translator_sr.h
src/translator_sr.h
+1400
-0
No files found.
INSTALL
View file @
f7c4c021
DOXYGEN Version 1.2.16-2002060
3
DOXYGEN Version 1.2.16-2002060
9
Please read the installation section of the manual for instructions.
--------
Dimitri van Heesch (0
3
June 2002)
Dimitri van Heesch (0
9
June 2002)
Makefile.in
View file @
f7c4c021
...
...
@@ -48,7 +48,7 @@ install: doxywizard_install
$(INSTTOOL)
-m
755 bin/doxytag
$(INSTALL)
/bin
$(INSTTOOL)
-m
755 bin/doxysearch
$(INSTALL)
/bin
install_docs
:
install_docs
:
install
$(INSTTOOL)
-d
$(DOCDIR)
cp
-r
doc
$(DOCDIR)
cp
-r
examples
$(DOCDIR)
...
...
@@ -62,16 +62,12 @@ install_docs:
rm
-rf
$(DOCDIR)
/doc
cd
$(DOCDIR)
/latex
;
$(MAKE)
cp
$(DOCDIR)
/latex/doxygen_manual.pdf
$(DOCDIR)
cp
$(DOCDIR)
/latex/doxygen_manual.ps
$(DOCDIR)
rm
-rf
$(DOCDIR)
/latex
docs
:
FORCE
cd
examples
;
$(MAKE)
cd
doc
;
$(MAKE)
ps
:
docs
cd
latex
;
$(MAKE)
pdf
:
docs
cd
latex
;
$(MAKE)
...
...
README
View file @
f7c4c021
DOXYGEN Version 1.2.16_2002060
3
DOXYGEN Version 1.2.16_2002060
9
Please read INSTALL for compilation instructions.
...
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (0
3
June 2002)
Dimitri van Heesch (dimitri@stack.nl) (0
9
June 2002)
VERSION
View file @
f7c4c021
1.2.16-2002060
3
1.2.16-2002060
9
configure
View file @
f7c4c021
...
...
@@ -27,7 +27,7 @@ f_prefix=/usr
f_insttool
=
NO
f_english
=
NO
f_wizard
=
NO
f_langs
=
nl
,se,cz,fr,it,de,jp,es,fi,ru,hr,pl,pt,hu,kr,ro,si,cn,no,br,dk,sk,ua,gr,tw
f_langs
=
nl
,se,cz,fr,it,de,jp,es,fi,ru,hr,pl,pt,hu,kr,ro,si,cn,no,br,dk,sk,ua,gr,tw
,sr
while
test
-n
"
$1
"
;
do
case
$1
in
...
...
@@ -483,7 +483,7 @@ echo -n " Generating src/lang_cfg.h..."
echo
$f_langs
|
$f_perl
-e
'@l=split(/,/,<STDIN>);
chomp @l;
@allowed=(NL,SE,CZ,FR,IT,DE,JP,ES,FI,RU,HR,PL,PT,HU,KR,RO,SI,CN,NO,BR,
DK,SK,UA,GR,TW);
DK,SK,UA,GR,TW
,SR
);
foreach my $elem (@l){
$elem =~ tr/a-z/A-Z/;
$r=0;
...
...
doc/config.doc
View file @
f7c4c021
...
...
@@ -239,7 +239,7 @@ followed by the descriptions of the tags grouped by category.
The
default
language
is
English
,
other
supported
languages
are
:
Brazilian
,
Chinese
,
Croatian
,
Czech
,
Danish
,
Dutch
,
Finnish
,
French
,
German
,
Greek
,
Hungarian
,
Italian
,
Japanese
,
Korean
,
Norwegian
,
Polish
,
Portuguese
,
Romanian
,
Russian
,
Slovak
,
Slovene
,
Spanish
and
Swedish
.
Portuguese
,
Romanian
,
Russian
,
S
erbian
,
S
lovak
,
Slovene
,
Spanish
and
Swedish
.
\
anchor
cfg_extract_all
<
dt
>\
c
EXTRACT_ALL
<
dd
>
...
...
doc/install.doc
View file @
f7c4c021
...
...
@@ -397,7 +397,7 @@ Here is what is required:
of the cygwin tools that I put together just to compile doxygen.
As a third alternative one could use the GNUWin32 tools that can be
found at http://gnuwin32.sourceforge.net/
found at http://gnuwin32.sourceforge.net/
Make sure the <code>BISONLIB</code> environment variable points to the
location where the files <code>bison.simple</code> and
...
...
@@ -474,6 +474,7 @@ Here is what is required:
and the collaboration graphs.
</ul>
Compilation is now done by performing the following steps:
<ol>
...
...
doc/language.doc
View file @
f7c4c021
...
...
@@ -25,14 +25,14 @@ Doxygen has built-in support for multiple languages. This means
that the text fragments that doxygen generates can be produced in
languages other than English (the default) at configuration time.
Currently (version 1.2.1
4-20020317), 26
languages
Currently (version 1.2.1
6-20020603), 27
languages
are supported (sorted alphabetically):
Brazilian Portuguese, Chinese, Chinese
t
raditional, Croatian, Czech,
Brazilian Portuguese, Chinese, Chinese
T
raditional, Croatian, Czech,
Danish, Dutch, English, Finnish, French,
German, Greek, Hungarian, Italian, Japanese,
Korean, Norwegian, Polish, Portuguese, Romanian,
Russian, S
lovak, Slovene, Spanish, Swed
ish,
and Ukrainian.
Russian, S
erbian, Slovak, Slovene, Span
ish,
Swedish,
and Ukrainian.
The table of information related to the supported languages follows.
It is sorted by language alphabetically. The <b>Status</b> column
...
...
@@ -52,7 +52,7 @@ when the translator was updated.
<TD ><b><font size=+1 color="#ffffff"> Status </font></b></TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Brazilian</TD>
<TD>Brazilian
Portuguese
</TD>
<TD>Fabio "FJTC" Jun Takada Chino</TD>
<TD>chino@NOSPAM.icmc.sc.usp.br</TD>
<TD>up-to-date</TD>
...
...
@@ -64,7 +64,7 @@ when the translator was updated.
<TD>1.2.13</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Chinese
t
raditional</TD>
<TD>Chinese
T
raditional</TD>
<TD>Gary Lee</TD>
<TD>garylee@NOSPAM.ecosine.com.tw</TD>
<TD>up-to-date</TD>
...
...
@@ -177,6 +177,12 @@ when the translator was updated.
<TD>cav@NOSPAM.cryptopro.ru</TD>
<TD>up-to-date</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Serbian</TD>
<TD>Dejan Milosavljevic</TD>
<TD>dmilos@NOSPAM.email.com</TD>
<TD>up-to-date</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Slovak</TD>
<TD>Stanislav Kudláč</TD>
...
...
@@ -218,12 +224,12 @@ when the translator was updated.
{\bf Language} & {\bf Maintainer} & {\bf Contact address} & {\bf Status} \\
\hline
\hline
Brazilian & Fabio "FJTC" Jun Takada Chino & {\tt chino@icmc.sc.usp.br} & up-to-date \\
Brazilian
Portuguese
& Fabio "FJTC" Jun Takada Chino & {\tt chino@icmc.sc.usp.br} & up-to-date \\
\hline
Chinese & Wei Liu & {\tt liuwei@asiainfo.com} & 1.2.13 \\
& Wang Weihan & {\tt wangweihan@capinfo.com.cn} & \\
\hline
Chinese
t
raditional & Gary Lee & {\tt garylee@ecosine.com.tw} & up-to-date \\
Chinese
T
raditional & Gary Lee & {\tt garylee@ecosine.com.tw} & up-to-date \\
\hline
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} & up-to-date \\
\hline
...
...
@@ -265,6 +271,8 @@ when the translator was updated.
\hline
Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} & up-to-date \\
\hline
Serbian & Dejan Milosavljevic & {\tt dmilos@email.com} & up-to-date \\
\hline
Slovak & Stanislav Kudl\'{a}\v{c} & {\tt skudlac@pobox.sk} & 1.2.13 \\
\hline
Slovene & Matjaz Ostroversnik & {\tt matjaz.ostroversnik@zrs-tk.si} & up-to-date \\
...
...
doc/maintainers.txt
View file @
f7c4c021
...
...
@@ -69,6 +69,9 @@ Alexandru Iosup: aiosup@yahoo.com
Russian
Alexandr Chelpanov: cav@cryptopro.ru
Serbian
Dejan Milosavljevic: dmilos@email.com
Slovak
Stanislav Kudláč: skudlac@pobox.sk
...
...
doc/translator.pl
View file @
f7c4c021
...
...
@@ -118,6 +118,11 @@
# - Some defined() operators used on hash elements were replaced
# by exists() operators where appropriate.
#
# 2002/05/21
# - Changes to display languages with two words more naturally
# (like "Chinese Traditional" instead of "Chinesetraditional"
# or "Brazilian Portuguese" instead of "Brazilian").
#
################################################################
use
5.005
;
...
...
@@ -607,6 +612,7 @@ xxxTABLE_FOOTxxx
my
$languages
=
join
(
", "
,
@languages
);
$languages
=~
s{((\w+,\s){5}
)}
{$1\n}g
;
$languages
=~
s{Brazilian}{Brazilian Portuguese}
;
$languages
=~
s{Chinesetraditional}{Chinese Traditional}
;
$languages
=~
s{(,\s+)(\w+)$}{$1and $2}s
;
$output
=~
s{\$languages}{$languages}
;
...
...
@@ -692,6 +698,15 @@ xxxTABLE_FOOTxxx
# information, and add it to the tables. #{{{
#
foreach
my
$lang
(
sort
keys
%
language
)
{
# Transform the key for the language into more human readable
# form. Basically, only languages with two words are going to be
# corrected. #{{{
#
my
$lang_readable
=
$lang
;
$lang_readable
=~
s{Brazilian}{Brazilian Portuguese}
;
$lang_readable
=~
s{Chinesetraditional}{Chinese Traditional}
;
##}}}
# Read the line with info for the language and separate
# the status. #{{{
...
...
@@ -748,7 +763,7 @@ xxxTABLE_FOOTxxx
#
my
$item
=
$htmlTableRow
;
$item
=~
s{\$lang}{$lang}
;
$item
=~
s{\$lang}{$lang
_readable
}
;
$item
=~
s{\$maintainer}{$name}
;
$item
=~
s{\$email}{$email}
;
$item
=~
s{\$status}{$status}
;
...
...
@@ -774,7 +789,7 @@ xxxTABLE_FOOTxxx
$name
=
$1
;
$email
=
$2
;
$item
=~
s{\$lang}{$lang}
;
$item
=~
s{\$lang}{$lang
_readable
}
;
$item
=~
s{\$maintainer}{$name}
;
$item
=~
s{\$email}{$email}
;
$item
=~
s{\$status}{$status}
;
...
...
@@ -1187,6 +1202,7 @@ print STDERR "\n\n";
my
$languages
=
join
(
", "
,
@languages
);
$languages
=~
s{((\w+,\s){5}
)}
{$1\n}g
;
$languages
=~
s{Brazilian}{Brazilian Portuguese}
;
$languages
=~
s{Chinesetraditional}{Chinese Traditional}
;
$languages
=~
s{(,\s+)(\w+)$}{$1and $2.}s
;
print
FOUT
"$languages\n"
;
...
...
packages/rpm/doxygen.spec
View file @
f7c4c021
Summary: A documentation system for C/C++.
Name: doxygen
Version: 1.2.16_2002060
3
Version: 1.2.16_2002060
9
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
...
...
src/classdef.cpp
View file @
f7c4c021
...
...
@@ -1189,6 +1189,9 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol
.
docify
(
stripFromPath
(
path
));
}
// for HTML
ol
.
pushGeneratorState
();
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
if
(
fd
->
generateSourceFile
())
{
ol
.
writeObjectLink
(
0
,
fd
->
getSourceFileBase
(),
0
,
fd
->
name
());
...
...
@@ -1202,6 +1205,24 @@ void ClassDef::writeDocumentation(OutputList &ol)
{
ol
.
docify
(
fd
->
name
());
}
ol
.
popGeneratorState
();
// for other output formats
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
Html
);
if
(
fd
->
isLinkable
())
{
ol
.
writeObjectLink
(
fd
->
getReference
(),
fd
->
getOutputFileBase
(),
0
,
fd
->
name
());
}
else
{
ol
.
docify
(
fd
->
name
());
}
ol
.
popGeneratorState
();
}
file
=
m_files
.
next
();
}
...
...
src/code.l
View file @
f7c4c021
...
...
@@ -1047,6 +1047,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
bool ambig;
bool found=FALSE;
FileDef *fd=0;
//printf("looking for include %s\n",yytext);
if ((fd=findFileDef(Doxygen::inputNameDict,yytext,ambig)) &&
fd->isLinkable())
{
...
...
src/commentcnv.l
View file @
f7c4c021
...
...
@@ -162,22 +162,22 @@ static int yyread(char *buf,int max_size)
copyToOutput(yytext,yyleng);
BEGIN(Scan);
}
<SComment>^[ \t]*"///"[\/]*
\n
{
<SComment>^[ \t]*"///"[\/]*
/\n
{
replaceCommentMarker(yytext,yyleng);
}
<SComment>^[ \t]*"///"[^\/\n].*/\n {
replaceCommentMarker(yytext,yyleng);
}
<SComment>^[ \t]*"//!".*/\n { /* second line of special comment */
<SComment>\n[ \t]*"///"[\/]*/\n {
replaceCommentMarker(yytext,yyleng);
}
<SComment>
\n[ \t]*"///"[\/]*\n {
<SComment>
^[ \t]*"///"[^\/\n].*/\n {
replaceCommentMarker(yytext,yyleng);
}
}
<SComment>\n[ \t]*"///"[^\/\n].*/\n {
replaceCommentMarker(yytext,yyleng);
}
<SComment>\n[ \t]*"//!".*/\n { /* other line of special comment */
<SComment>^[ \t]*"//!".*/\n {
replaceCommentMarker(yytext,yyleng);
}
<SComment>\n[ \t]*"//!".*/\n {
replaceCommentMarker(yytext,yyleng);
}
<SComment>\n { /* end of special comment */
...
...
src/config.l
View file @
f7c4c021
...
...
@@ -1248,9 +1248,9 @@ void Config::create()
"information to generate all constant output in the proper language. \n"
"The default language is English, other supported languages are: \n"
"Brazilian, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, \n"
"Finnish, French, German, Greek, Hungarian, Italian, Japanese,
Korean,
\n"
"
Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Sloven
e, \n"
"Spanish, Swedish and Ukrainian.\n",
"Finnish, French, German, Greek, Hungarian, Italian, Japanese,
Japanese-en
\n"
"
(Japanese with english messages), Korean, Norwegian, Polish, Portugues
e, \n"
"
Romanian, Russian, Serbian, Slovak, Slovene,
Spanish, Swedish and Ukrainian.\n",
"English"
);
#ifdef LANG_BR
...
...
@@ -1295,6 +1295,7 @@ void Config::create()
#endif
#ifdef LANG_JP
ce->addValue("Japanese");
ce->addValue("Japanese-en");
#endif
#ifdef LANG_KR
ce->addValue("Korean");
...
...
@@ -1314,6 +1315,9 @@ void Config::create()
#ifdef LANG_RU
ce->addValue("Russian");
#endif
#ifdef LANG_SR
ce->addValue("Serbian");
#endif
#ifdef LANG_SK
ce->addValue("Slovak");
#endif
...
...
src/doc.l
View file @
f7c4c021
...
...
@@ -966,6 +966,13 @@ static void checkArgName(const QCString &name,bool isParam)
/* ----------------------------------------------------------------- */
/*! Looks for a documentation block with name commandName in the current
* context (copyDocScope). The resulting documentation string is
* put in pDoc, the definition in which the documentation was found is
* put in pDef.
* @retval TRUE if name was found.
* @retval FALSE if name was not found.
*/
bool findDocsForMemberOrCompound(const char *commandName,
QCString *pDoc,
Definition **pDef)
...
...
@@ -976,53 +983,40 @@ bool findDocsForMemberOrCompound(const char *commandName,
int l=cmdArg.length();
if (l==0) return FALSE;
int funcStart=cmdArg.find('(');
if (funcStart==-1) funcStart=l;
//int lastScopeStart=cmdArg.findRev("::",funcStart);
//int lastScopeEnd = lastScopeStart==-1 ? 0 : lastScopeStart+2;
//QCString scope=cmdArg.left(QMAX(lastScopeStart,0));
//QCString name=cmdArg.mid(lastScopeEnd,funcStart-lastScopeEnd);
QCString name=cmdArg.left(funcStart);
QCString args=cmdArg.right(l-funcStart);
// try if the link is to a member
MemberDef *md=0;
ClassDef *cd=0;
FileDef *fd=0;
NamespaceDef *nd=0;
GroupDef *gd=0;
PageInfo *pi=0;
bool found = getDefs(copyDocScope,name,args,md,cd,fd,nd,gd,FALSE,0,TRUE);
if (found && md)
{
*pDoc=md->documentation();
*pDef=md;
return TRUE;
}
int scopeOffset=copyDocScope.length();
do // for each scope
{
int funcStart=cmdArg.find('(');
if (funcStart==-1) funcStart=l;
int lastScopeStart=cmdArg.findRev("::",funcStart);
int lastScopeEnd = lastScopeStart==-1 ? 0 : lastScopeStart+2;
QCString scope=cmdArg.left(QMAX(lastScopeStart,0));
QCString name=cmdArg.mid(lastScopeEnd,funcStart-lastScopeEnd);
QCString args=cmdArg.right(l-funcStart);
if (scope.isEmpty())
{
if (scopeOffset>0)
{
scope=copyDocScope.left(scopeOffset);
}
}
else
{
if (scopeOffset>0)
{
scope.prepend(copyDocScope.left(scopeOffset)+"::");
}
}
//printf("findDocsForMemberOrCompound: scope=`%s' name=`%s' arg=`%s'\n",scope.data(),name.data(),args.data());
// try if the link is to a member
MemberDef *md=0;
ClassDef *cd=0;
FileDef *fd=0;
NamespaceDef *nd=0;
GroupDef *gd=0;
PageInfo *pi=0;
bool found = getDefs(scope,name,args,md,cd,fd,nd,gd,FALSE,0,TRUE);
if (found && md)
{
*pDoc=md->documentation();
*pDef=md;
return TRUE;
}
QCString fullName=cmdArg;
if (scopeOffset>0)
{
fullName.prepend(copyDocScope.left(scopeOffset)+"::");
}
//printf("Trying fullName=`%s'\n",fullName.data());
// try class, namespace, group, page, file reference
cd = Doxygen::classSDict[fullName];
...
...
@@ -1071,7 +1065,7 @@ bool findDocsForMemberOrCompound(const char *commandName,
scopeOffset = copyDocScope.findRev("::",scopeOffset-1);
if (scopeOffset==-1) scopeOffset=0;
}
} while (scopeOffset>0);
} while (scopeOffset>
=
0);
return FALSE;
...
...
@@ -1108,8 +1102,8 @@ FILE ({FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*)|("\""[^\n\"]+
ID [a-z_A-Z][a-z_A-Z0-9]*
SCOPENAME (({ID}?{BN}*"::"{BN}*)*)((~{BN}*)?{ID})
SCOPEMASK {ID}?(("::"|"#")?(~)?{ID})+
URLCHAR [a-z_A-Z0-9\!\~\:\;\'\$\?\@\&\%\#\.\-\+\/\=
\(\)
]
URLMASK (
[a-z_A-Z][^\>\"\n]*{URLCHAR})|({URLCHAR}+)
URLCHAR [a-z_A-Z0-9\!\~\:\;\'\$\?\@\&\%\#\.\-\+\/\=]
URLMASK (
([a-z_A-Z][^\>\"\n]*{URLCHAR})|({URLCHAR}+))("("{URLCHAR}*")")?
NONTERM [\{\}\[\]\`\~\@\|\-\+\#\$\/\\\!\%\^\&\*()a-z_A-Z<>0-9\x80-\xff]
WORD ({NONTERM}+([^\n\t ]*{NONTERM}+)?)|("\""[^\n\"]*"\"")
ATTR ({B}+[^>\n]*)?
...
...
@@ -2983,9 +2977,13 @@ void resolveCopyDocCommands(const char *scope,QCString &docString)
void parseDoc(OutputDocInterface &od,const char *fileName,int startLine,
const char *clName,MemberDef *md,const QCString &docStr)
{
strcpy(yyFileName,fileName);
yyLineNr = startLine;
QCString docString=docStr;
resolveCopyDocCommands(clName,docString);
yyLineNr = startLine;
//printf("parseDoc(file=`%s',line=%d)\n",fileName,startLine);
initParser();
initParseCodeContext();
...
...
@@ -2995,8 +2993,6 @@ void parseDoc(OutputDocInterface &od,const char *fileName,int startLine,
hasParamCommand = FALSE;
paramsFound.setAutoDelete(FALSE);
paramsFound.clear();
strcpy(yyFileName,fileName);
yyLineNr = startLine;
parseDocument(od,docString);
if (md && hasParamCommand && Config_getBool("WARN_IF_UNDOCUMENTED"))
...
...
src/doxygen.cpp
View file @
f7c4c021
...
...
@@ -5754,15 +5754,21 @@ static void resolveUserReferences()
si
->
fileName
=
si
->
definition
->
getOutputFileBase
().
copy
();
}
}
// hack: the items of a todo/test list are all fragments from different files,
// so the resulting section's all have the wrong file name (not from the
// todo/test list, but from the file in which they are defined). We correct this
// here by looking at the generated section labels!
// hack: the items of a todo/test/bug list are all fragments from
// different files, so the resulting section's all have the wrong file
// name (not from the todo/test/bug list, but from the file in which they
// are defined). We correct this here by looking at the generated section
// labels!
if
(
si
->
label
.
left
(
5
)
==
"_todo"
||
si
->
label
.
left
(
5
)
==
"_test"
)
{
si
->
fileName
=
si
->
label
.
mid
(
1
,
4
);
// extract "todo" or "test"
si
->
generated
=
TRUE
;
}
else
if
(
si
->
label
.
left
(
4
)
==
"_bug"
)
{
si
->
fileName
=
"bug"
;
si
->
generated
=
TRUE
;
}
}
}
...
...
@@ -6774,11 +6780,11 @@ void readConfiguration(int argc, char **argv)
exit
(
1
);
}
QCString
outputLanguage
=
Config_getEnum
(
"OUTPUT_LANGUAGE"
);
if
(
!
setTranslator
(
outputLanguage
))
{
err
(
"Error: Output language %s not supported! Using English instead.
\n
"
,
outputLanguage
.
data
());
}
QCString
outputLanguage
=
Config_getEnum
(
"OUTPUT_LANGUAGE"
);
if
(
!
setTranslator
(
outputLanguage
))
{
err
(
"Error: Output language %s not supported! Using English instead.
\n
"
,
outputLanguage
.
data
());
}
QFile
f
;
if
(
openOutputFile
(
argv
[
optind
+
1
],
f
))
...
...
@@ -6820,11 +6826,11 @@ void readConfiguration(int argc, char **argv)
exit
(
1
);
}
QCString
outputLanguage
=
Config_getEnum
(
"OUTPUT_LANGUAGE"
);
if
(
!
setTranslator
(
outputLanguage
))
{
err
(
"Error: Output language %s not supported! Using English instead.
\n
"
,
outputLanguage
.
data
());
}
QCString
outputLanguage
=
Config_getEnum
(
"OUTPUT_LANGUAGE"
);
if
(
!
setTranslator
(
outputLanguage
))
{
err
(
"Error: Output language %s not supported! Using English instead.
\n
"
,
outputLanguage
.
data
());
}
QFile
f
;
if
(
openOutputFile
(
argv
[
optind
+
1
],
f
))
...
...
@@ -7158,7 +7164,7 @@ void parseInput()
**************************************************************************/
Entry
*
root
=
new
Entry
;
msg
(
"Reading tag files
\n
"
);
msg
(
"Reading
and parsing
tag files
\n
"
);
QStrList
&
tagFileList
=
Config_getList
(
"TAGFILES"
);
s
=
tagFileList
.
first
();
...
...
src/lang_cfg.h
View file @
f7c4c021
...
...
@@ -23,3 +23,4 @@
#define LANG_UA
#define LANG_GR
#define LANG_TW
#define LANG_SR
src/language.cpp
View file @
f7c4c021
...
...
@@ -97,6 +97,9 @@
#ifdef LANG_GR
#include "translator_gr.h"
#endif
#ifdef LANG_SR
#include "translator_sr.h"
#endif
//#ifdef LANG_JS
//#include "translator_js.h"
//#endif
...
...
@@ -154,6 +157,10 @@ bool setTranslator(const char *langName)
{
theTranslator
=
new
TranslatorJapanese
;
}
else
if
(
L_EQUAL
(
"japanese-en"
))
{
theTranslator
=
new
TranslatorJapaneseEn
;
}
#endif
#ifdef LANG_ES
else
if
(
L_EQUAL
(
"spanish"
))
...
...
@@ -263,6 +270,12 @@ bool setTranslator(const char *langName)
theTranslator
=
new
TranslatorGreek
;
}
#endif
#ifdef LANG_SR
else
if
(
L_EQUAL
(
"serbian"
))
{
theTranslator
=
new
TranslatorSerbian
;
}
#endif
// else if (L_EQUAL("japanese-sjis"))
// {
// theTranslator=new TranslatorJapaneseSjis;
...
...
src/latexgen.cpp
View file @
f7c4c021
...
...
@@ -152,64 +152,72 @@ void LatexGenerator::init()
QCString
mkidx_command
=
Config_getString
(
"MAKEINDEX_CMD_NAME"
);
// end insertion by KONNO Akihisa <konno@researchers.jp> 2002-03-05
QTextStream
t
(
&
file
);
t
<<
"all: refman.dvi"
<<
endl
<<
endl
<<
"ps: refman.ps"
<<
endl
<<
endl
<<
"pdf: refman.pdf"
<<
endl
<<
endl
<<
"ps_2on1: refman_2on1.ps"
<<
endl
<<
endl
<<
"pdf_2on1: refman_2on1.pdf"
<<
endl
<<
endl
<<
"refman.ps: refman.dvi"
<<
endl
<<
"
\t
dvips -o refman.ps refman.dvi"
<<
endl
<<
endl
;
if
(
Config_getBool
(
"USE_PDFLATEX"
))
// use pdflatex instead of latex
{
t
<<
"refman.pdf: refman.tex"
<<
endl
;
t
<<
"
\t
pdflatex refman.tex"
<<
endl
;
t
<<
"
\t
makeindex refman.idx"
<<
endl
;
t
<<
"
\t
pdflatex refman.tex"
<<
endl
<<
endl
;
}
else
// otherwise use ps2pdf: not as nice :(
{
t
<<
"refman.pdf: refman.ps"
<<
endl
;
if
(
!
Config_getBool
(
"USE_PDFLATEX"
))
// use plain old latex
{
t
<<
"all: refman.dvi"
<<
endl
<<
endl
<<
"ps: refman.ps"
<<
endl
<<
endl
<<
"pdf: refman.pdf"
<<
endl
<<
endl
<<
"ps_2on1: refman_2on1.ps"
<<
endl
<<
endl
<<
"pdf_2on1: refman_2on1.pdf"
<<
endl
<<
endl
<<
"refman.ps: refman.dvi"
<<
endl
<<
"
\t
dvips -o refman.ps refman.dvi"
<<
endl
<<
endl
;
t
<<
"refman.pdf: refman.ps"
<<
endl
;
#if defined(_MSC_VER)
// ps2pdf.bat does not work properly from a makefile using GNU make!
t
<<
"
\t
gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite "
"-sOutputFile=refman.pdf -c save pop -f refman.ps"
<<
endl
<<
endl
;
// ps2pdf.bat does not work properly from a makefile using GNU make!
t
<<
"
\t
gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite "
"-sOutputFile=refman.pdf -c save pop -f refman.ps"
<<
endl
<<
endl
;
#else
t
<<
"
\t
ps2pdf refman.ps refman.pdf"
<<
endl
<<
endl
;
t
<<
"
\t
ps2pdf refman.ps refman.pdf"
<<
endl
<<
endl
;
#endif
}
t
<<
"refman_2on1.ps: refman.ps"
<<
endl
<<
"
\t
psnup -2 refman.ps >refman_2on1.ps"
<<
endl
<<
endl
<<
"refman_2on1.pdf: refman_2on1.ps"
<<
endl
t
<<
"refman.dvi: refman.tex doxygen.sty"
<<
endl
<<
"
\t
echo
\"
Running latex...
\"
"
<<
endl
<<
"
\t
"
<<
latex_command
<<
" refman.tex"
<<
endl
<<
"
\t
echo
\"
Running makeindex...
\"
"
<<
endl
<<
"
\t
"
<<
mkidx_command
<<
" refman.idx"
<<
endl
<<
"
\t
echo
\"
Rerunning latex....
\"
"
<<
endl
<<
"
\t
"
<<
latex_command
<<
" refman.tex"
<<
endl
<<
"
\t
latex_count=5 ;
\\
"
<<
endl
<<
"
\t
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;
\\
"
<<
endl
<<
"
\t
do
\\
"
<<
endl
<<
"
\t
echo
\"
Rerunning latex....
\"
;
\\
"
<<
endl
<<
"
\t
"
<<
latex_command
<<
" refman.tex ;
\\
"
<<
endl
<<
"
\t
latex_count=`expr $$latex_count - 1` ;
\\
"
<<
endl
<<
"
\t
done"
<<
endl
<<
endl
<<
"refman_2on1.ps: refman.ps"
<<
endl
<<
"
\t
psnup -2 refman.ps >refman_2on1.ps"
<<
endl
<<
endl
<<
"refman_2on1.pdf: refman_2on1.ps"
<<
endl
#if defined(_MSC_VER)
// ps2pdf.bat does not work properly from a makefile using GNU make!
<<
"
\t
gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite "
"-sOutputFile=refman_2on1.pdf -c save pop -f refman_2on1.ps"
<<
endl
// ps2pdf.bat does not work properly from a makefile using GNU make!
<<
"
\t
gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite "
"-sOutputFile=refman_2on1.pdf -c save pop -f refman_2on1.ps"
<<
endl
#else
<<
"
\t
ps2pdf refman_2on1.ps refman_2on1.pdf"
<<
endl
<<
"
\t
ps2pdf refman_2on1.ps refman_2on1.pdf"
<<
endl
;
#endif
<<
endl
<<
"refman.dvi: refman.tex doxygen.sty"
<<
endl
<<
"
\t
echo
\"
Running latex...
\"
"
<<
endl
<<
"
\t
"
<<
latex_command
<<
" refman.tex"
<<
endl
<<
"
\t
echo
\"
Running makeindex...
\"
"
<<
endl
<<
"
\t
"
<<
mkidx_command
<<
" refman.idx"
<<
endl
<<
"
\t
echo
\"
Rerunning latex....
\"
"
<<
endl
<<
"
\t
"
<<
latex_command
<<
" refman.tex"
<<
endl
<<
"
\t
latex_count=5 ;
\\
"
<<
endl
<<
"
\t
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;
\\
"
<<
endl
<<
"
\t
do
\\
"
<<
endl
<<
"
\t
echo
\"
Rerunning latex....
\"
;
\\
"
<<
endl
<<
"
\t
"
<<
latex_command
<<
" refman.tex ;
\\
"
<<
endl
<<
"
\t
latex_count=`expr $$latex_count - 1` ;
\\
"
<<
endl
<<
"
\t
done"
<<
endl
<<
endl
}
else
// use pdflatex for higher quality output
{
t
<<
"all: refman.pdf"
<<
endl
<<
endl
;
t
<<
"refman.pdf: refman.tex"
<<
endl
;
t
<<
"
\t
pdflatex refman.tex"
<<
endl
;
t
<<
"
\t
makeindex refman.idx"
<<
endl
;
t
<<
"
\t
pdflatex refman.tex"
<<
endl
<<
endl
<<
"
\t
latex_count=5 ;
\\
"
<<
endl
<<
"
\t
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;
\\
"
<<
endl
<<
"
\t
do
\\
"
<<
endl
<<
"
\t
echo
\"
Rerunning latex....
\"
;
\\
"
<<
endl
<<
"
\t
pdflatex refman.tex ;
\\
"
<<
endl
<<
"
\t
latex_count=`expr $$latex_count - 1` ;
\\
"
<<
endl
<<
"
\t
done"
<<
endl
<<
endl
;
}
t
<<
endl
<<
"clean:"
<<
endl
<<
"
\t
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out"
<<
endl
;
}
...
...
@@ -1033,7 +1041,7 @@ void LatexGenerator::endTitleHead(const char *fileName,const char *name)
{
t
<<
"
\\
label{"
<<
fileName
<<
"}
\\
index{"
<<
name
<<
"@{"
;
docify
(
name
);
escapeMakeIndexChars
(
this
,
t
,
name
);
t
<<
"}}"
<<
endl
;
}
if
(
Config_getBool
(
"PDF_HYPERLINKS"
)
&&
fileName
)
...
...
@@ -1183,7 +1191,7 @@ void LatexGenerator::addIndexItem(const char *s1,const char *s2)
if
(
s2
)
{
t
<<
"!"
<<
escapeLabelName
(
s2
)
<<
"@{"
;
docify
(
s2
);
escapeMakeIndexChars
(
this
,
t
,
s2
);
t
<<
"}"
;
}
t
<<
"}"
;
...
...
@@ -1389,7 +1397,6 @@ void LatexGenerator::docify(const char *str)
{
static
bool
isCzech
=
theTranslator
->
idLanguage
()
==
"czech"
;
static
bool
isJapanese
=
theTranslator
->
idLanguage
()
==
"japanese"
;
static
bool
isJapaneseSjis
=
theTranslator
->
idLanguage
()
==
"japanese-sjis"
;
static
bool
isKorean
=
theTranslator
->
idLanguage
()
==
"korean"
;
static
bool
isRussian
=
theTranslator
->
idLanguage
()
==
"russian"
;
static
bool
isUkrainian
=
theTranslator
->
idLanguage
()
==
"ukrainian"
;
...
...
@@ -1404,7 +1411,27 @@ void LatexGenerator::docify(const char *str)
unsigned
char
pc
=
'\0'
;
while
(
*
p
)
{
static
bool
MultiByte
=
FALSE
;
c
=*
p
++
;
if
(
isJapanese
)
{
if
(
MultiByte
)
{
t
<<
(
char
)
c
;
MultiByte
=
FALSE
;
pc
=
c
;
continue
;
}
if
(
c
>=
0x80
)
{
MultiByte
=
TRUE
;
t
<<
(
char
)
c
;
pc
=
c
;
continue
;
}
}
if
(
insidePre
)
{
switch
(
c
)
...
...
@@ -1462,7 +1489,7 @@ void LatexGenerator::docify(const char *str)
default
:
// Some languages uses wide characters
if
(
isJapanese
||
is
JapaneseSjis
||
is
Korean
||
isChinese
)
if
(
isJapanese
||
isKorean
||
isChinese
)
{
if
(
c
>=
128
)
{
...
...
@@ -1600,6 +1627,8 @@ void LatexGenerator::docify(const char *str)
void
LatexGenerator
::
codify
(
const
char
*
str
)
{
static
bool
isJapanese
=
theTranslator
->
idLanguage
()
==
"japanese"
;
if
(
str
)
{
const
char
*
p
=
str
;
...
...
@@ -1608,7 +1637,25 @@ void LatexGenerator::codify(const char *str)
int
&
tabSize
=
Config_getInt
(
"TAB_SIZE"
);
while
(
*
p
)
{
static
bool
MultiByte
=
FALSE
;
c
=*
p
++
;
if
(
isJapanese
)
{
if
(
MultiByte
)
{
t
<<
(
char
)
c
;
MultiByte
=
FALSE
;
continue
;
}
if
(
c
<
0
)
// char in range [0x80..0xff]
{
t
<<
(
char
)
c
;
MultiByte
=
TRUE
;
continue
;
}
}
switch
(
c
)
{
case
0x0c
:
break
;
// remove ^L
...
...
src/pre.l
View file @
f7c4c021
...
...
@@ -105,6 +105,7 @@ static void setFileName(const char *name)
bool ambig;
g_yyFileName=name;
g_yyFileDef=findFileDef(Doxygen::inputNameDict,g_yyFileName,ambig);
if (g_yyFileDef && g_yyFileDef->isReference()) g_yyFileDef=0;
}
static void incrLevel()
...
...
@@ -164,6 +165,7 @@ static Define *isDefined(const char *name)
static FILE *checkAndOpenFile(const QCString &absName)
{
FILE *f = 0;
//printf("checkAndOpenFile(%s)\n",absName.data());
QFileInfo fi(absName);
if (fi.exists() && fi.isFile())
{
...
...
@@ -942,6 +944,7 @@ static void readIncludeFile(const QCString &inc)
//printf("Searching for `%s'\n",incFileName.data());
if ((f=findFile(incFileName,localInclude))) // see if the include file can be found
{
//printf("Found include file!\n");
if (Debug::isFlagSet(Debug::Preprocessor))
{
for (i=0;i<g_includeStack.count();i++) msg(" ");
...
...
@@ -983,6 +986,7 @@ static void readIncludeFile(const QCString &inc)
{
bool ambig;
FileDef *fd = findFileDef(Doxygen::inputNameDict,incFileName,ambig);
//printf("findFileDef(%s)=%p\n",incFileName.data(),fd);
// add include dependency to the file in which the #include was found
oldFileDef->addIncludeDependency(fd,incFileName,localInclude);
// add included by dependency
...
...
src/scanner.l
View file @
f7c4c021
...
...
@@ -123,8 +123,11 @@ static QCString aliasName;
static QCString baseName;
static QCString* specName;
static QCString formulaText;
static bool useOverrideCommands = FALSE;
static bool insideIDL = FALSE;
static bool insideJava = FALSE;
static bool insidePHP = FALSE;
static bool insidePHPCode = FALSE;
static bool insideCppQuote = FALSE;
static int argRoundCount;
...
...
@@ -320,8 +323,11 @@ static QCString addFormula()
static bool nameIsOperator(QCString &name)
{
return name.right(8)=="operator" &&
(name.length()==8 || !isId(name.at(name.length()-9)));
int i=name.find("operator");
if (i==-1) return FALSE;
if (i==0 && !isId(name.at(8))) return TRUE; // case operator ::X
if (i>0 && !isId(name.at(i-1)) && !isId(name.at(i+8))) return TRUE; // case X::operator
return FALSE; // case TEXToperatorTEXT
}
static void checkFormula()
...
...
@@ -379,6 +385,11 @@ static void setContext()
QCString fileName = yyFileName;
insideIDL = fileName.right(4)==".idl";
insideJava = fileName.right(5)==".java";
insidePHP = fileName.right(4)==".php";
if ( insidePHP )
{
useOverrideCommands = TRUE;
}
//printf("setContext(%s) insideIDL=%d\n",yyFileName,insideIDL);
}
...
...
@@ -471,6 +482,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
%x NextSemi
%x BitFields
%x FindMembers
%x FindMembersPHP
%x FindMemberName
%x FindFields
%x FindFieldArg
...
...
@@ -614,8 +626,15 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
current_root->addSubEntry(current);
current = new Entry;
}
BEGIN( FindMembers );
}
if ( insidePHP )
{
BEGIN( FindMembersPHP );
}
else
{
BEGIN( FindMembers );
}
}
<NextSemi>"{" {
curlyCount=0;
needsSemi = TRUE;
...
...
@@ -664,6 +683,17 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
unput(*yytext);
BEGIN( FindMembers );
}
<FindMembersPHP>"<?"("php"?) { // PHP code start
insidePHPCode = TRUE;
BEGIN( FindMembers );
}
<FindMembersPHP>. { // Non-PHP code text, ignore
}
<FindMembers>"?>" { // PHP code end
insidePHPCode = FALSE;
BEGIN( FindMembersPHP );
}
<FindMembers>{B}*("properties"|"__property"){BN}*":"{BN}* { // IDL or Borland C++ builder property
current->mtype = mtype = Property;
current->protection = protection = Public ;
...
...
@@ -1131,8 +1161,12 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
current->name+=*yytext;
// *currentTemplateSpec+=*yytext;
}
<FindMembers,FindMemberName>{SCOPENAME} {
<FindMembers,FindMemberName>{SCOPENAME} {
lineCount();
// if ( insidePHP && strcmp(yytext,"define")==0)
// {
// BEGIN(DefinePHP);
// }
if (insideIDL && yyleng==9 && strcmp(yytext,"cpp_quote")==0)
{
BEGIN(CppQuote);
...
...
@@ -1153,6 +1187,10 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
insideTryBlock=FALSE;
BEGIN(TryFunctionBlock);
}
// else if ( insidePHP && strcmp(yytext,"function")==0 )
// {
// BEGIN(
// }
else
{
if (YY_START==FindMembers)
...
...
@@ -1179,10 +1217,14 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
current->name += yytext;
}
QCString tmp=yytext;
if (nameIsOperator(tmp))
if (nameIsOperator(tmp))
{
BEGIN( Operator );
}
else
BEGIN(FindMembers);
{
BEGIN(FindMembers);
}
}
}
<FindMembers>"." {
...
...
@@ -1565,6 +1607,10 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
{
current->bodyLine = yyLineNr;
}
if ( insidePHP && current->type.left(3) == "var" )
{
current->type = current->type.mid(3);
}
current->type=current->type.simplifyWhiteSpace();
current->args=current->args.simplifyWhiteSpace();
current->name=current->name.stripWhiteSpace();
...
...
@@ -2244,7 +2290,18 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
BEGIN(SkipCPP);
}
*/
<FuncQual>[{:;,] { unput(*yytext); BEGIN( Function ); }
<FuncQual>[{:;,] {
if ( strcmp(yytext,";")==0 && insidePHP && current->type.left(8) != "function" )
{
current->reset();
initEntry();
BEGIN( FindMembers );
}
else
{
unput(*yytext); BEGIN( Function );
}
}
<FuncQual>{BN}*"const"{BN}* {
lineCount() ;
current->args += " const ";
...
...
@@ -2353,7 +2410,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
//printf("Scanner.l: found in class function: `%s' `%s' `%s'\n",
// current->type.data(),current->name.data(),current->args.data());
current->section = Entry::FUNCTION_SEC ;
current->proto = *yytext==';';
current->proto = *yytext==';';
}
}
else // a global function prototype or function variable
...
...
@@ -2369,36 +2426,46 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
else
{
//printf("Scanner.l: found prototype\n");
current->section = Entry::FUNCTION_SEC;
current->section = Entry::FUNCTION_SEC;
current->proto = TRUE;
}
}
//printf("Adding entry `%s'\n",current->name.data());
previous = current;
current_root->addSubEntry(current);
current = new Entry ;
initEntry();
lastCurlyContext = FindMembers;
if ( *yytext == ',' )
{
current->type = previous->type.data();
}
if ( *yytext == '{' )
if ( insidePHP && current->type.left(8) != "function" )
{
if (current_root->section & Entry::COMPOUND_MASK)
previous->memSpec = previous->memSpec | Entry::Inline;
//addToBody(yytext);
curlyCount=0;
BEGIN( SkipCurly ) ;
initEntry();
}
else
{
if (previous->section!=Entry::VARIABLE_SEC)
previous->bodyLine=-1; // a function/member declaration
BEGIN( FindMembers ) ;
if ( insidePHP && current->type.left(8) == "function" )
{
current->type = current->type.mid(8);
}
previous = current;
current_root->addSubEntry(current);
current = new Entry ;
initEntry();
lastCurlyContext = FindMembers;
if ( *yytext == ',' )
{
current->type = previous->type.data();
}
if ( *yytext == '{' )
{
if ( !insidePHP && (current_root->section & Entry::COMPOUND_MASK) )
previous->memSpec = previous->memSpec | Entry::Inline;
//addToBody(yytext);
curlyCount=0;
BEGIN( SkipCurly ) ;
}
else
{
if (previous->section!=Entry::VARIABLE_SEC)
previous->bodyLine=-1; // a function/member declaration
BEGIN( FindMembers ) ;
}
}
}
}
<SkipInits>"{" {
//addToBody(yytext);
//lastCurlyContext = FindMembers;
...
...
@@ -2592,6 +2659,14 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
baseName.resize(0);
BEGIN( BasesProt ) ;
}
else if (insidePHP && (strcmp(yytext,"extends")==0))
{
current->type.resize(0);
baseProt=Public;
baseVirt=Normal;
baseName.resize(0);
BEGIN( BasesProt ) ;
}
else
{
//if (isTypedef)
...
...
@@ -2618,9 +2693,9 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
}
<ClassVar>":" {
current->type.resize(0);
if (current->section == Entry::INTERFACE_SEC || current->section == Entry::STRUCT_SEC)
if (current->section == Entry::INTERFACE_SEC || current->section == Entry::STRUCT_SEC
|| insidePHP
)
baseProt=Public;
else
else
baseProt=Private;
baseVirt=Normal;
baseName.resize(0);
...
...
@@ -2715,7 +2790,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
current->extends->append(
new BaseInfo(baseName,baseProt,baseVirt)
);
if (current->section == Entry::INTERFACE_SEC || insideJava)
if (current->section == Entry::INTERFACE_SEC || insideJava
|| insidePHP
)
baseProt=Public;
else
baseProt=Private;
...
...
@@ -4126,22 +4201,61 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
current->doc+=yytext;
}
<Doc,ClassDoc,PageDoc,ExampleDoc,AfterDoc,CopyArgComment>{CMD}[a-z_A-Z][a-z_A-Z0-9]* {
QCString *pValue=Doxygen::aliasDict[yytext+1];
if (pValue)
{
int i,l=pValue->length();
for (i=l-1;i>=0;i--)
bool handled=FALSE;
if ( useOverrideCommands)
{
if ( strcmp(yytext+1,"static")==0 )
{
current->stat = TRUE; handled = TRUE;
}
else if ( strcmp(yytext+1,"pure")==0 )
{
current->virt = Pure; handled = TRUE;
}
else if ( strcmp(yytext+1,"private")==0 )
{
current->protection = Private; handled = TRUE;
}
else if ( strcmp(yytext+1,"privatesection")==0 )
{
current->protection = protection = Private; handled = TRUE;
}
else if ( strcmp(yytext+1,"protected")==0 )
{
current->protection = Protected; handled = TRUE;
}
else if ( strcmp(yytext+1,"protectedsection")==0 )
{
current->protection = protection = Protected ; handled = TRUE;
}
else if ( strcmp(yytext+1,"public")==0 )
{
current->protection = Public; handled = TRUE;
}
else if ( strcmp(yytext+1,"publicsection")==0 )
{
current->protection = protection = Public; handled = TRUE;
}
}
if (!handled)
{
QCString *pValue=Doxygen::aliasDict[yytext+1];
if (pValue)
{
unput(pValue->at(i));
int i,l=pValue->length();
for (i=l-1;i>=0;i--)
{
unput(pValue->at(i));
}
}
}
else
{
if (YY_START==CopyArgComment)
fullArgString+=yytext;
else
current->doc+=yytext;
}
{
if (YY_START==CopyArgComment)
fullArgString+=yytext;
else
current->doc+=yytext;
}
}
}
<JavaDoc,LineDoc,ClassDocBrief,AfterDocBrief,AfterDocLine>"\\"[a-z_A-Z][a-z_A-Z0-9]*[\\] { // directory type of text
current->brief+=yytext;
...
...
@@ -4307,7 +4421,7 @@ static void parseCompounds(Entry *rt)
// set default protection based on the compound type
if( ce->section==Entry::CLASS_SEC ) // class
{
if (ce->fileName.right(5)==".java")
if (ce->fileName.right(5)==".java"
|| ce->fileName.right(4)==".php"
)
current->protection = protection = Public ; // Actually this should be package scope!
else
current->protection = protection = Private ;
...
...
src/tagreader.cpp
View file @
f7c4c021
...
...
@@ -1159,15 +1159,19 @@ void TagFileParser::addIncludes()
TagFileInfo
*
tfi
=
m_tagFileFiles
.
first
();
while
(
tfi
)
{
//printf("tag file tagName=%s path=%s name=%s\n",m_tagName.data(),tfi->path.data(),tfi->name.data());
FileName
*
fn
=
Doxygen
::
inputNameDict
->
find
(
tfi
->
name
);
if
(
fn
)
{
//printf("found\n");
FileNameIterator
fni
(
*
fn
);
FileDef
*
fd
;
for
(;(
fd
=
fni
.
current
());
++
fni
)
{
//printf("input file path=%s name=%s\n",fd->getPath().data(),fd->name().data());
if
(
fd
->
getPath
()
==
QCString
(
m_tagName
+
":"
+
tfi
->
path
))
{
//printf("found\n");
QListIterator
<
TagIncludeInfo
>
mii
(
tfi
->
includes
);
TagIncludeInfo
*
ii
;
for
(;(
ii
=
mii
.
current
());
++
mii
)
...
...
@@ -1213,3 +1217,4 @@ void parseTagFile(Entry *root,const char *fullName,const char *tagName)
handler
.
addIncludes
();
}
src/translator_jp.h
View file @
f7c4c021
...
...
@@ -29,6 +29,38 @@
#ifndef TRANSLATOR_JP_H
#define TRANSLATOR_JP_H
class
TranslatorJapaneseEn
:
public
TranslatorEnglish
{
public
:
virtual
QCString
idLanguage
()
{
return
"japanese"
;
}
virtual
QCString
latexLanguageSupportCommand
()
{
return
""
;
}
/*! returns the name of the package that is included by LaTeX */
virtual
QCString
idLanguageCharset
()
{
#ifdef _WIN32
return
"Shift_JIS"
;
#else
return
"euc-jp"
;
#endif
}
virtual
QCString
trRTFansicp
()
{
return
"932"
;
}
/*! Used as ansicpg for RTF fcharset
* \see trRTFansicp() for a table of possible values.
*/
virtual
QCString
trRTFCharSet
()
{
return
"128"
;
}
};
class
TranslatorJapanese
:
public
Translator
{
private
:
...
...
@@ -64,7 +96,7 @@ class TranslatorJapanese : public Translator
/*! subscript for the related functions. */
virtual
QCString
trRelatedSubscript
()
{
return
decode
(
"(これらはメ
ンバ関数
でないことに注意)"
);
}
{
return
decode
(
"(これらはメ
ソッド
でないことに注意)"
);
}
/*! header that is put before the detailed description of files, classes and namespaces. */
virtual
QCString
trDetailedDescription
()
...
...
@@ -72,15 +104,15 @@ class TranslatorJapanese : public Translator
/*! header that is put before the list of typedefs. */
virtual
QCString
trMemberTypedefDocumentation
()
{
return
decode
(
"Typedef
メンバ
の解説"
);
}
{
return
decode
(
"Typedef の解説"
);
}
/*! header that is put before the list of enumerations. */
virtual
QCString
trMemberEnumerationDocumentation
()
{
return
decode
(
"Enum
メンバ
の解説"
);
}
{
return
decode
(
"Enum の解説"
);
}
/*! header that is put before the list of member functions. */
virtual
QCString
trMemberFunctionDocumentation
()
{
return
decode
(
"
関数メンバ
の解説"
);
}
{
return
decode
(
"
メソッド
の解説"
);
}
/*! header that is put before the list of member attributes. */
virtual
QCString
trMemberDataDocumentation
()
...
...
@@ -91,7 +123,7 @@ class TranslatorJapanese : public Translator
}
else
{
return
decode
(
"
メンバ
の解説"
);
return
decode
(
"
変数
の解説"
);
}
}
...
...
@@ -258,7 +290,7 @@ class TranslatorJapanese : public Translator
QCString
result
=
decode
(
"これは"
);
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
result
+=
decode
(
"関数、変数、マクロ、
列挙型、型定義
の"
);
result
+=
decode
(
"関数、変数、マクロ、
Enum、Typedef
の"
);
}
else
{
...
...
@@ -389,13 +421,13 @@ class TranslatorJapanese : public Translator
* list of typedefs
*/
virtual
QCString
trTypedefs
()
{
return
decode
(
"
型定義
"
);
}
{
return
decode
(
"
Typedef
"
);
}
/*! This is used in the documentation of a file as a header before the
* list of enumerations
*/
virtual
QCString
trEnumerations
()
{
return
decode
(
"
列挙型
"
);
}
{
return
decode
(
"
Enum
"
);
}
/*! This is used in the documentation of a file as a header before the
* list of (global) functions
...
...
@@ -413,7 +445,7 @@ class TranslatorJapanese : public Translator
* list of (global) variables
*/
virtual
QCString
trEnumerationValues
()
{
return
decode
(
"
列挙
値"
);
}
{
return
decode
(
"
Enum
値"
);
}
/*! This is used in the documentation of a file before the list of
* documentation blocks for defines
*/
...
...
@@ -430,19 +462,19 @@ class TranslatorJapanese : public Translator
* of documentation blocks for typedefs
*/
virtual
QCString
trTypedefDocumentation
()
{
return
decode
(
"
型定義
の解説"
);
}
{
return
decode
(
"
Typedef
の解説"
);
}
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration types
*/
virtual
QCString
trEnumerationTypeDocumentation
()
{
return
decode
(
"
列挙型
の解説"
);
}
{
return
decode
(
"
Enum
の解説"
);
}
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values
*/
virtual
QCString
trEnumerationValueDocumentation
()
{
return
decode
(
"
列挙
値の解説"
);
}
{
return
decode
(
"
Enum
値の解説"
);
}
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for functions
...
...
@@ -609,25 +641,25 @@ class TranslatorJapanese : public Translator
/* these are for the member sections of a class, struct or union */
virtual
QCString
trPublicMembers
()
{
return
decode
(
"Public メ
ンバ
"
);
}
{
return
decode
(
"Public メ
ソッド
"
);
}
virtual
QCString
trPublicSlots
()
{
return
decode
(
"Public スロット"
);
}
virtual
QCString
trSignals
()
{
return
decode
(
"シグナル"
);
}
virtual
QCString
trStaticPublicMembers
()
{
return
decode
(
"Static Public メ
ンバ
"
);
}
{
return
decode
(
"Static Public メ
ソッド
"
);
}
virtual
QCString
trProtectedMembers
()
{
return
decode
(
"Protected メ
ンバ
"
);
}
{
return
decode
(
"Protected メ
ソッド
"
);
}
virtual
QCString
trProtectedSlots
()
{
return
decode
(
"Protected スロット"
);
}
virtual
QCString
trStaticProtectedMembers
()
{
return
decode
(
"Static Protected メ
ンバ
"
);
}
{
return
decode
(
"Static Protected メ
ソッド
"
);
}
virtual
QCString
trPrivateMembers
()
{
return
decode
(
"Private メ
ンバ
"
);
}
{
return
decode
(
"Private メ
ソッド
"
);
}
virtual
QCString
trPrivateSlots
()
{
return
decode
(
"Private スロット"
);
}
virtual
QCString
trStaticPrivateMembers
()
{
return
decode
(
"Static Private メ
ンバ
"
);
}
{
return
decode
(
"Static Private メ
ソッド
"
);
}
/*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put.
...
...
@@ -880,22 +912,22 @@ class TranslatorJapanese : public Translator
}
virtual
QCString
trPublicTypes
()
{
return
decode
(
"
公開
型"
);
return
decode
(
"
Public
型"
);
}
virtual
QCString
trPublicAttribs
()
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
decode
(
"
データフィールド
"
);
return
decode
(
"
変数
"
);
}
else
{
return
decode
(
"Public
属性
"
);
return
decode
(
"Public
変数
"
);
}
}
virtual
QCString
trStaticPublicAttribs
()
{
return
decode
(
"Static Public
属性
"
);
return
decode
(
"Static Public
変数
"
);
}
virtual
QCString
trProtectedTypes
()
{
...
...
@@ -903,11 +935,11 @@ class TranslatorJapanese : public Translator
}
virtual
QCString
trProtectedAttribs
()
{
return
decode
(
"Protected
属性
"
);
return
decode
(
"Protected
変数
"
);
}
virtual
QCString
trStaticProtectedAttribs
()
{
return
decode
(
"Static Protected
属性
"
);
return
decode
(
"Static Protected
変数
"
);
}
virtual
QCString
trPrivateTypes
()
{
...
...
@@ -915,11 +947,11 @@ class TranslatorJapanese : public Translator
}
virtual
QCString
trPrivateAttribs
()
{
return
decode
(
"Private
属性
"
);
return
decode
(
"Private
変数
"
);
}
virtual
QCString
trStaticPrivateAttribs
()
{
return
decode
(
"Static Private
属性
"
);
return
decode
(
"Static Private
変数
"
);
}
//////////////////////////////////////////////////////////////////////////
...
...
@@ -1334,4 +1366,5 @@ class TranslatorJapanese : public Translator
}
};
#endif
src/translator_sr.h
0 → 100644
View file @
f7c4c021
/******************************************************************************
*
*
*
* Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
* Documents produced by Doxygen are derivative works derived from the
* input used in their production; they are not affected by this license.
*
*/
#ifndef TRANSLATOR_SR_H
#define TRANSLATOR_SR_H
// translation by Dejan D. M. Milosavljevic <dmilos@email.com>;<dmilosx@ptt.yu>
class
TranslatorSerbian
:
public
Translator
{
QCString
decode
(
const
QCString
&
sInput
)
{
#ifdef _WIN32
return
ISO88592ToWin1250
(
sInput
);
#else
return
sInput
;
#endif
}
public
:
// --- Language control methods -------------------
/*! Used for identification of the language. The identification
* should not be translated. It should be replaced by the name
* of the language in English using lower-case characters only
* (e.g. "czech", "japanese", "russian", etc.). It should be equal to
* the identification used in language.cpp.
*/
virtual
QCString
idLanguage
()
{
return
"serbian"
;
}
/*! Used to get the LaTeX command(s) for the language support.
* This method should return string with commands that switch
* LaTeX to the desired language. For example
* <pre>"\\usepackage[german]{babel}\n"
* </pre>
* or
* <pre>"\\usepackage{polski}\n"
* "\\usepackage[latin2]{inputenc}\n"
* "\\usepackage[T1]{fontenc}\n"
* </pre>
*
* The English LaTeX does not use such commands. Because of this
* the empty string is returned in this implementation.
*/
virtual
QCString
latexLanguageSupportCommand
()
{
return
""
;
}
/*! return the language charset. This will be used for the HTML output */
virtual
QCString
idLanguageCharset
()
{
#ifdef _WIN32
{
return
"windows-1250"
;
}
#else
{
return
"iso-8859-2"
;
}
#endif
}
// --- Language translation methods -------------------
/*! used in the compound documentation before a list of related functions. */
virtual
QCString
trRelatedFunctions
()
{
return
"Povezane funkcije"
;
}
/*! subscript for the related functions. */
virtual
QCString
trRelatedSubscript
()
{
return
decode
(
"(To nisu funkcije èlanice.)"
);
}
/*! header that is put before the detailed description of files, classes and namespaces. */
virtual
QCString
trDetailedDescription
()
{
return
decode
(
"Detaljno obja¹njenje"
);
}
/*! header that is put before the list of typedefs. */
virtual
QCString
trMemberTypedefDocumentation
()
{
return
decode
(
"Dokumentacija typedef èlanova"
);
}
/*! header that is put before the list of enumerations. */
virtual
QCString
trMemberEnumerationDocumentation
()
{
return
decode
(
"Dokumentacija enum èlanova"
);
}
/*! header that is put before the list of member functions. */
virtual
QCString
trMemberFunctionDocumentation
()
{
return
"Dokumentacija funkcija èlanica"
;
}
/*! header that is put before the list of member attributes. */
virtual
QCString
trMemberDataDocumentation
()
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
"Dokumentacija èlanova"
;
}
else
{
return
"Documentacija javnoh èlanova"
;
}
}
/*! this is the text of a link put after brief descriptions. */
virtual
QCString
trMore
()
{
return
"Jo¹..."
;
}
/*! put in the class documentation */
virtual
QCString
trListOfAllMembers
()
{
return
"Spisak svih èlanova."
;
}
/*! used as the title of the "list of all members" page of a class */
virtual
QCString
trMemberList
()
{
return
"Spisak èlanova"
;
}
/*! this is the first part of a sentence that is followed by a class name */
virtual
QCString
trThisIsTheListOfAllMembers
()
{
return
"Ovo je spisak svih èlanova "
;
}
/*! this is the remainder of the sentence after the class name */
virtual
QCString
trIncludingInheritedMembers
()
{
return
", ukljuèujuæi nasleðene èlanove."
;
}
/*! this is put at the author sections at the bottom of man pages.
* parameter s is name of the project name.
*/
virtual
QCString
trGeneratedAutomatically
(
const
char
*
s
)
{
QCString
result
=
"Napravljeno automatski Doxygen-om"
;
if
(
s
)
result
+=
(
QCString
)
" za "
+
s
;
result
+=
" od izvornog koda."
;
return
result
;
}
/*! put after an enum name in the list of all members */
virtual
QCString
trEnumName
()
{
return
"ime enum-a "
;
}
/*! put after an enum value in the list of all members */
virtual
QCString
trEnumValue
()
{
return
"vrednost enum-a"
;
}
/*! put after an undocumented member in the list of all members */
virtual
QCString
trDefinedIn
()
{
return
"definisano u"
;
}
// quick reference sections
/*! This is put above each page as a link to the list of all groups of
* compounds or files (see the \\group command).
*/
virtual
QCString
trModules
()
{
return
"Moduli"
;
}
/*! This is put above each page as a link to the class hierarchy */
virtual
QCString
trClassHierarchy
()
{
return
"Stablo klasa"
;
}
/*! This is put above each page as a link to the list of annotated classes */
virtual
QCString
trCompoundList
()
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
"Sve strukture"
;
}
else
{
return
"Sve klase"
;
}
}
/*! This is put above each page as a link to the list of documented files */
virtual
QCString
trFileList
()
{
return
"Spisak fajlova"
;
}
/*! This is put above each page as a link to the list of all verbatim headers */
virtual
QCString
trHeaderFiles
()
{
return
"Zaglavlja"
;
}
/*! This is put above each page as a link to all members of compounds. */
virtual
QCString
trCompoundMembers
()
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
"Svi èlanovi struktura"
;
}
else
{
return
"Svi èlanovi klasa"
;
}
}
/*! This is put above each page as a link to all members of files. */
virtual
QCString
trFileMembers
()
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
"Globalni"
;
}
else
{
return
"Lokalni"
;
}
}
/*! This is put above each page as a link to all related pages. */
virtual
QCString
trRelatedPages
()
{
return
"Stranice povezane s ovom"
;
}
/*! This is put above each page as a link to all examples. */
virtual
QCString
trExamples
()
{
return
"Primeri"
;
}
/*! This is put above each page as a link to the search engine. */
virtual
QCString
trSearch
()
{
return
"Tra¾i"
;
}
/*! This is an introduction to the class hierarchy. */
virtual
QCString
trClassHierarchyDescription
()
{
return
"Stablo nasleðivanja je slo¾eno ""pribli¾no po abecedi:"
;
}
/*! This is an introduction to the list with all files. */
virtual
QCString
trFileListDescription
(
bool
extractAll
)
{
QCString
result
=
"Spisak svih "
;
if
(
!
extractAll
)
result
+=
"dokumetovanih "
;
result
+=
"fajlova, sa kratkim opisom:"
;
return
result
;
}
/*! This is an introduction to the annotated compound list. */
virtual
QCString
trCompoundListDescription
()
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
"Spisak struktura sa kratkim opisom:"
;
}
else
{
return
"Spisak klasa, struktura, unija i interjfejsa sa kratkim opisom:"
;
}
}
/*! This is an introduction to the page with all class members. */
virtual
QCString
trCompoundMembersDescription
(
bool
extractAll
)
{
QCString
result
=
"Spisak svih "
;
if
(
!
extractAll
)
{
result
+=
"dokumentovanih "
;
}
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
result
+=
"èlanova struktura ili unija"
;
}
else
{
result
+=
"èlanova klasa"
;
}
result
+=
" sa linkovima na "
;
if
(
extractAll
)
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
result
+=
"dokumentaciju èlanova struktura/unija:"
;
}
else
{
result
+=
"dokumentaciju svakog èlana klase:"
;
}
}
else
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
result
+=
"strukture/uniije koje pripadaju:"
;
}
else
{
result
+=
"klase koje pripadaju:"
;
}
}
return
result
;
}
/*! This is an introduction to the page with all file members. */
virtual
QCString
trFileMembersDescription
(
bool
extractAll
)
{
QCString
result
=
"Spisak svih "
;
if
(
!
extractAll
)
result
+=
"dokumentovanih "
;
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
result
+=
"funkcija, promenjiva, makro zamena, enum-a, i typedef-va"
;
}
else
{
result
+=
"èlanova"
;
}
result
+=
" sa linkovima na "
;
if
(
extractAll
)
result
+=
"fajlove u kojima se nalaze:"
;
else
result
+=
" dokumentaciju:"
;
return
decode
(
result
);
}
/*! This is an introduction to the page with the list of all header files. */
virtual
QCString
trHeaderFilesDescription
()
{
return
decode
(
"Zaglavlja koje izgraðuju API:"
);
}
/*! This is an introduction to the page with the list of all examples */
virtual
QCString
trExamplesDescription
()
{
return
"Spisak primera:"
;
}
/*! This is an introduction to the page with the list of related pages */
virtual
QCString
trRelatedPagesDescription
()
{
return
decode
(
"Spisak svih slèinih stranica:"
);
}
/*! This is an introduction to the page with the list of class/file groups */
virtual
QCString
trModulesDescription
()
{
return
"Spisak svih modula:"
;
}
/*! This sentences is used in the annotated class/file lists if no brief
* description is given.
*/
virtual
QCString
trNoDescriptionAvailable
()
{
return
"Opis nije dostupan"
;
}
// index titles (the project name is prepended for these)
/*! This is used in HTML as the title of index.html. */
virtual
QCString
trDocumentation
()
{
return
"Dokumentacija"
;
}
/*! This is used in LaTeX as the title of the chapter with the
* index of all groups.
*/
virtual
QCString
trModuleIndex
()
{
return
"Index modula"
;
}
/*! This is used in LaTeX as the title of the chapter with the
* class hierarchy.
*/
virtual
QCString
trHierarchicalIndex
()
{
return
"Hijerarhijski sad¾raj"
;
}
/*! This is used in LaTeX as the title of the chapter with the
* annotated compound index.
*/
virtual
QCString
trCompoundIndex
()
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
decode
(
"Glavni sadr¾aj"
);
}
else
{
return
decode
(
"Glavni sadr¾aj"
);
}
}
/*! This is used in LaTeX as the title of the chapter with the
* list of all files.
*/
virtual
QCString
trFileIndex
()
{
return
"Indeks fajlova"
;
}
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all groups.
*/
virtual
QCString
trModuleDocumentation
()
{
return
"Dokumentacija modula"
;
}
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all classes, structs and unions.
*/
virtual
QCString
trClassDocumentation
()
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
"Dokumentacija stuktura"
;
}
else
{
return
"Dokumentacija klasa"
;
}
}
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all files.
*/
virtual
QCString
trFileDocumentation
()
{
return
"Dokumentacija fajla"
;
}
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all examples.
*/
virtual
QCString
trExampleDocumentation
()
{
return
"Dokumentacija primera"
;
}
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all related pages.
*/
virtual
QCString
trPageDocumentation
()
{
return
"Dokumentacija stranice"
;
}
/*! This is used in LaTeX as the title of the document */
virtual
QCString
trReferenceManual
()
{
return
decode
(
"Priruènik"
);
}
/*! This is used in the documentation of a file as a header before the
* list of defines
*/
virtual
QCString
trDefines
()
{
return
"Makro zamene"
;
}
/*! This is used in the documentation of a file as a header before the
* list of function prototypes
*/
virtual
QCString
trFuncProtos
()
{
return
"Deklaracija funkcije"
;
}
/*! This is used in the documentation of a file as a header before the
* list of typedefs
*/
virtual
QCString
trTypedefs
()
{
return
"Typedef-ovi"
;
}
/*! This is used in the documentation of a file as a header before the
* list of enumerations
*/
virtual
QCString
trEnumerations
()
{
return
"Enum-ovi"
;
}
/*! This is used in the documentation of a file as a header before the
* list of (global) functions
*/
virtual
QCString
trFunctions
()
{
return
"Funkcije"
;
}
/*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual
QCString
trVariables
()
{
return
"Promenjive"
;
}
/*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual
QCString
trEnumerationValues
()
{
return
"Vrednosti enum-ova"
;
}
/*! This is used in the documentation of a file before the list of
* documentation blocks for defines
*/
virtual
QCString
trDefineDocumentation
()
{
return
"Dokumentacija makro zamene"
;
}
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for function prototypes
*/
virtual
QCString
trFunctionPrototypeDocumentation
()
{
return
"Dokumentacija deklaracije funkcije"
;
}
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for typedefs
*/
virtual
QCString
trTypedefDocumentation
()
{
return
"Dokumentacija typedef-a"
;
}
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration types
*/
virtual
QCString
trEnumerationTypeDocumentation
()
{
return
"Dokumetacija enum tipa"
;
}
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values
*/
virtual
QCString
trEnumerationValueDocumentation
()
{
return
"Dokumentacija enum vrednosti"
;
}
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for functions
*/
virtual
QCString
trFunctionDocumentation
()
{
return
"Dokumentacija funkcije"
;
}
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for variables
*/
virtual
QCString
trVariableDocumentation
()
{
return
"Dokumentacija promenjive"
;
}
/*! This is used in the documentation of a file/namespace/group before
* the list of links to documented compounds
*/
virtual
QCString
trCompounds
()
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
"Strukture"
;
}
else
{
return
"Klase i strukture"
;
}
}
/*! This is used in the standard footer of each page and indicates when
* the page was generated
*/
virtual
QCString
trGeneratedAt
(
const
char
*
date
,
const
char
*
projName
)
{
QCString
result
=
(
QCString
)
"Napravljeno "
+
date
;
if
(
projName
)
result
+=
(
QCString
)
" za "
+
projName
;
result
+=
(
QCString
)
" od"
;
return
result
;
}
/*! This is part of the sentence used in the standard footer of each page.
*/
virtual
QCString
trWrittenBy
()
{
return
"napisao"
;
}
/*! this text is put before a class diagram */
virtual
QCString
trClassDiagram
(
const
char
*
clName
)
{
return
decode
(
QCString
(
"Dijagram nasleðivanja za klasu "
)
+
clName
+
":"
);
}
/*! this text is generated when the \\internal command is used. */
virtual
QCString
trForInternalUseOnly
()
{
return
decode
(
"Samo za unutrasnju upotrebu."
);
}
/*! this text is generated when the \\reimp command is used. */
virtual
QCString
trReimplementedForInternalReasons
()
{
return
decode
(
"Preuraðeno zbog internih razloga; Nema uticaja na API."
);
}
/*! this text is generated when the \\warning command is used. */
virtual
QCString
trWarning
()
{
return
"Upozorenje"
;
}
/*! this text is generated when the \\bug command is used. */
virtual
QCString
trBugsAndLimitations
()
{
return
decode
(
"Gre¹ke i ogranièenja"
);
}
/*! this text is generated when the \\version command is used. */
virtual
QCString
trVersion
()
{
return
"Verzija"
;
}
/*! this text is generated when the \\date command is used. */
virtual
QCString
trDate
()
{
return
"Datum"
;
}
/*! this text is generated when the \\return command is used. */
virtual
QCString
trReturns
()
{
return
decode
(
"Vraæenene vrednosti"
);
}
/*! this text is generated when the \\sa command is used. */
virtual
QCString
trSeeAlso
()
{
return
"Takoðe pogledati"
;
}
/*! this text is generated when the \\param command is used. */
virtual
QCString
trParameters
()
{
return
"Parametri"
;
}
/*! this text is generated when the \\exception command is used. */
virtual
QCString
trExceptions
()
{
return
"Izuzeci"
;
}
/*! this text is used in the title page of a LaTeX document. */
virtual
QCString
trGeneratedBy
()
{
return
"Napravio"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990307
//////////////////////////////////////////////////////////////////////////
/*! used as the title of page containing all the index of all namespaces. */
virtual
QCString
trNamespaceList
()
{
return
"Spisak prostora imena"
;
}
/*! used as an introduction to the namespace list */
virtual
QCString
trNamespaceListDescription
(
bool
extractAll
)
{
QCString
result
=
"Spisak svih "
;
if
(
!
extractAll
)
result
+=
"dokumentovanih "
;
result
+=
"prostora imena sa kratkim opisom:"
;
return
result
;
}
/*! used in the class documentation as a header before the list of all
* friends of a class
*/
virtual
QCString
trFriends
()
{
return
"Prijatelji"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990405
//////////////////////////////////////////////////////////////////////////
/*! used in the class documentation as a header before the list of all
* related classes
*/
virtual
QCString
trRelatedFunctionDocumentation
()
{
return
"Dokumentacija prijateljskih funkcija ili klasa"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990425
//////////////////////////////////////////////////////////////////////////
/*! used as the title of the HTML page of a class/struct/union */
virtual
QCString
trCompoundReference
(
const
char
*
clName
,
ClassDef
::
CompoundType
compType
,
bool
isTemplate
)
{
QCString
result
(
"Dokumentacija "
);
switch
(
compType
)
{
case
ClassDef
:
:
Class
:
result
+=
"klase "
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
"strukture "
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"unije "
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"interfejsa "
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"izuzetka "
;
break
;
}
if
(
isTemplate
)
result
+=
"¹vablona "
;
result
+=
clName
;
return
decode
(
result
);
}
/*! used as the title of the HTML page of a file */
virtual
QCString
trFileReference
(
const
char
*
fileName
)
{
QCString
result
=
fileName
;
result
+=
" Opis fajla"
;
return
result
;
}
/*! used as the title of the HTML page of a namespace */
virtual
QCString
trNamespaceReference
(
const
char
*
namespaceName
)
{
QCString
result
=
namespaceName
;
result
+=
" Opis prostora imena"
;
return
result
;
}
virtual
QCString
trPublicMembers
()
{
return
decode
(
"Javni èlanovi"
);
}
virtual
QCString
trPublicSlots
()
{
return
"Javni slotovi"
;
}
virtual
QCString
trSignals
()
{
return
"Signali"
;
}
virtual
QCString
trStaticPublicMembers
()
{
return
decode
(
"Zajednièki javni èlanovi"
);
}
virtual
QCString
trProtectedMembers
()
{
return
decode
(
"Zastiæeni èlanovi"
);
}
virtual
QCString
trProtectedSlots
()
{
return
decode
(
"Zastiæeni slotovi"
);
}
virtual
QCString
trStaticProtectedMembers
()
{
return
decode
(
"Zajednièki za¹tiæeni èlanovi"
);
}
virtual
QCString
trPrivateMembers
()
{
return
decode
(
"Privani èlanovi"
);
}
virtual
QCString
trPrivateSlots
()
{
return
decode
(
"Privatni slotovi"
);
}
virtual
QCString
trStaticPrivateMembers
()
{
return
decode
(
"Zajednièki privatni èlanovi"
);
}
/*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put.
*/
virtual
QCString
trWriteList
(
int
numEntries
)
{
QCString
result
;
int
i
;
// the inherits list contain `numEntries' classes
for
(
i
=
0
;
i
<
numEntries
;
i
++
)
{
// use generateMarker to generate placeholders for the class links!
result
+=
generateMarker
(
i
);
// generate marker for entry i in the list
// (order is left to right)
if
(
i
!=
numEntries
-
1
)
// not the last entry, so we need a separator
{
if
(
i
<
numEntries
-
2
)
// not the fore last entry
result
+=
", "
;
else
// the fore last entry
result
+=
" i "
;
}
}
return
result
;
}
/*! used in class documentation to produce a list of base classes,
* if class diagrams are disabled.
*/
virtual
QCString
trInheritsList
(
int
numEntries
)
{
return
decode
(
"Nasleðeno od "
+
trWriteList
(
numEntries
)
+
"."
);
}
/*! used in class documentation to produce a list of super classes,
* if class diagrams are disabled.
*/
virtual
QCString
trInheritedByList
(
int
numEntries
)
{
return
decode
(
"Nasleðeno u "
+
trWriteList
(
numEntries
)
+
"."
);
}
/*! used in member documentation blocks to produce a list of
* members that are hidden by this one.
*/
virtual
QCString
trReimplementedFromList
(
int
numEntries
)
{
return
decode
(
"Preuraðeno od "
+
trWriteList
(
numEntries
)
+
"."
);
}
/*! used in member documentation blocks to produce a list of
* all member that overwrite the implementation of this member.
*/
virtual
QCString
trReimplementedInList
(
int
numEntries
)
{
return
decode
(
"Preuraðeno u "
+
trWriteList
(
numEntries
)
+
"."
);
}
/*! This is put above each page as a link to all members of namespaces. */
virtual
QCString
trNamespaceMembers
()
{
return
decode
(
"Èlanovi prostora imena"
);
}
/*! This is an introduction to the page with all namespace members */
virtual
QCString
trNamespaceMemberDescription
(
bool
extractAll
)
{
QCString
result
=
"Spisak svih "
;
if
(
!
extractAll
)
result
+=
"dokumentovanih "
;
result
+=
"èlanova prostora imena sa linkovima na "
;
if
(
extractAll
)
result
+=
"dokumentaciju svakog èlana prostora imena: "
;
else
result
+=
"prostor imena kojima pripadaju: "
;
return
result
;
}
/*! This is used in LaTeX as the title of the chapter with the
* index of all namespaces.
*/
virtual
QCString
trNamespaceIndex
()
{
return
"Index prostora imena"
;
}
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all namespaces.
*/
virtual
QCString
trNamespaceDocumentation
()
{
return
"Dokumentacija prostora imena"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990522
//////////////////////////////////////////////////////////////////////////
/*! This is used in the documentation before the list of all
* namespaces in a file.
*/
virtual
QCString
trNamespaces
()
{
return
"Prostori imena"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990728
//////////////////////////////////////////////////////////////////////////
/*! This is put at the bottom of a class documentation page and is
* followed by a list of files that were used to generate the page.
*/
virtual
QCString
trGeneratedFromFiles
(
ClassDef
::
CompoundType
compType
,
bool
single
)
{
// here s is one of " Class", " Struct" or " Union"
// single is true implies a single file
QCString
result
=
(
QCString
)
"Dokumentacija ove "
;
switch
(
compType
)
{
case
ClassDef
:
:
Class
:
result
+=
"klase"
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
"strukture"
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"unije"
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"interfejsa"
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"izuzetka"
;
break
;
}
result
+=
" je napravljen iz "
;
if
(
single
)
result
+=
":"
;
else
result
+=
":"
;
return
result
;
}
/*! This is in the (quick) index as a link to the alphabetical compound
* list.
*/
virtual
QCString
trAlphabeticalList
()
{
return
"Abecedni spisak"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990901
//////////////////////////////////////////////////////////////////////////
/*! This is used as the heading text for the retval command. */
virtual
QCString
trReturnValues
()
{
return
"Vraæena vrednost"
;
}
/*! This is in the (quick) index as a link to the main page (index.html)
*/
virtual
QCString
trMainPage
()
{
return
"Glavna strana"
;
}
/*! This is used in references to page that are put in the LaTeX
* documentation. It should be an abbreviation of the word page.
*/
virtual
QCString
trPageAbbreviation
()
{
return
"str."
;
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-991003
//////////////////////////////////////////////////////////////////////////
virtual
QCString
trSources
()
{
return
"Izvorni fajlovi"
;
}
virtual
QCString
trDefinedAtLineInSourceFile
()
{
return
"Definisano u redu @0 fajla @1."
;
}
virtual
QCString
trDefinedInSourceFile
()
{
return
"Definisano u fajlu @0."
;
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-991205
//////////////////////////////////////////////////////////////////////////
virtual
QCString
trDeprecated
()
{
return
"Matoro"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.0.0
//////////////////////////////////////////////////////////////////////////
/*! this text is put before a collaboration diagram */
virtual
QCString
trCollaborationDiagram
(
const
char
*
clName
)
{
return
decode
(
(
QCString
)
"Dijagram nasleðenih èlanova za "
+
clName
+
":"
);
}
/*! this text is put before an include dependency graph */
virtual
QCString
trInclDepGraph
(
const
char
*
fName
)
{
return
decode
(
(
QCString
)
"Graf zavisnosti fajlova za "
+
fName
+
":"
);
}
/*! header that is put before the list of constructor/destructors. */
virtual
QCString
trConstructorDocumentation
()
{
return
"Dokumentacija konstruktora i destruktora"
;
}
/*! Used in the file documentation to point to the corresponding sources. */
virtual
QCString
trGotoSourceCode
()
{
return
"Izvorni kod."
;
}
/*! Used in the file sources to point to the corresponding documentation. */
virtual
QCString
trGotoDocumentation
()
{
return
"Dokumentacija."
;
}
/*! Text for the \\pre command */
virtual
QCString
trPrecondition
()
{
return
"Preduslovi"
;
}
/*! Text for the \\post command */
virtual
QCString
trPostcondition
()
{
return
"Postuslovi"
;
}
/*! Text for the \\invariant command */
virtual
QCString
trInvariant
()
{
return
"Invarijanta"
;
}
/*! Text shown before a multi-line variable/enum initialization */
virtual
QCString
trInitialValue
()
{
return
decode
(
"Poèetna vriednost:"
);
}
/*! Text used the source code in the file index */
virtual
QCString
trCode
()
{
return
"kod"
;
}
virtual
QCString
trGraphicalHierarchy
()
{
return
decode
(
"Grafièko prikaz stablo klasa"
);
}
virtual
QCString
trGotoGraphicalHierarchy
()
{
return
decode
(
"Prika¾i grafièko stablo klasa"
);
}
virtual
QCString
trGotoTextualHierarchy
()
{
return
decode
(
"Prika¾i tekstualno stablo klasa"
);
}
virtual
QCString
trPageIndex
()
{
return
"Indeks stranice"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.0
//////////////////////////////////////////////////////////////////////////
virtual
QCString
trNote
()
{
return
"Primedba"
;
}
virtual
QCString
trPublicTypes
()
{
return
"Javni tipovi"
;
}
virtual
QCString
trPublicAttribs
()
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
"Èlan"
;
}
else
{
return
"Javni èlan"
;
}
}
virtual
QCString
trStaticPublicAttribs
()
{
return
decode
(
"Zajednièki javni èlanovi"
);
}
virtual
QCString
trProtectedTypes
()
{
return
decode
(
"Za¹tiæeni tipovi"
);
}
virtual
QCString
trProtectedAttribs
()
{
return
decode
(
"Za¹tiæeni èlanovi"
);
}
virtual
QCString
trStaticProtectedAttribs
()
{
return
decode
(
"Zajednièki za¹tiæeni èlanovi"
);
}
virtual
QCString
trPrivateTypes
()
{
return
"Privatni tipovi"
;
}
virtual
QCString
trPrivateAttribs
()
{
return
"Privatni èlanovi"
;
}
virtual
QCString
trStaticPrivateAttribs
()
{
return
decode
(
"Zajednièki privatni èlanovi"
);
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.3
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a \\todo item */
virtual
QCString
trTodo
()
{
return
decode
(
"Neuraðeno"
);
}
/*! Used as the header of the todo list */
virtual
QCString
trTodoList
()
{
return
decode
(
"Spisak neuraðenog"
);
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.4
//////////////////////////////////////////////////////////////////////////
virtual
QCString
trReferencedBy
()
{
return
decode
(
"Kori¹æno od"
);
}
virtual
QCString
trRemarks
()
{
return
decode
(
"Zapa¾anja"
);
}
virtual
QCString
trAttention
()
{
return
decode
(
"Pa¾nja"
);;
}
virtual
QCString
trInclByDepGraph
()
{
return
decode
(
"Ovaj graf pokazuje koji fajl direktno "
"ili indirektno ukljuèuju ovaj fajl: "
);
}
virtual
QCString
trSince
()
{
return
"Od"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.5
//////////////////////////////////////////////////////////////////////////
/*! title of the graph legend page */
virtual
QCString
trLegendTitle
()
{
return
decode
(
"Objasnjenje koriscenih simbola"
);
}
/*! page explaining how the dot graph's should be interpreted
* The %A in the text below are to prevent link to classes called "A".
*/
virtual
QCString
trLegendDocs
()
{
return
decode
(
"Ova stranica obja¹njava kako tumaèiti grafikone koje je napravio "
"doxygen.<p>
\n
"
"Na primer:
\n
"
"
\\
code
\n
"
"/*! Nevidljiva klasa ( nemo¾e stati na graf zbog zadatih ogranièenja ) */
\n
"
"class Invisible { };
\n\n
"
"/*! Odseèena klasa, neke osnovne klase su sakrivene */
\n
"
"class Truncated : public Invisible { };
\n\n
"
"/* Nedokumentovana klasa */
\n
"
"class Undocumented { };
\n\n
"
"/*! Javno nasleðena klasa */
\n
"
"class PublicBase : public Truncated { };
\n\n
"
"/*! Sablon klasa */
\n
"
"template<class T> class Templ { };
\n\n
"
"/*! Za¹tiæeno nasleðena klasa */
\n
"
"class ProtectedBase { };
\n\n
"
"/*! Privatno nasleðena klasa */
\n
"
"class PrivateBase { };
\n\n
"
"/*! Klasa koja je kori¹æena od drugih klasa*/
\n
"
"class Used { };
\n\n
"
"/*! Super klasa koja naslijeðuje/koristi ostale */
\n
"
"class Inherited : public PublicBase,
\n
"
" protected ProtectedBase,
\n
"
" private PrivateBase,
\n
"
" public Undocumented
\n
"
" public Templ<int>
\n
"
"{
\n
"
" private:
\n
"
" Used *m_usedClass;
\n
"
"};
\n
"
"
\\
endcode
\n
"
"Ako je
\\
c MAX_DOT_GRAPH_HEIGHT tag u konfiguracionom fajlu "
"postavljen na 200 gornje veze æe izgledati:"
"<p><center><img src=
\"
graph_legend."
+
Config_getEnum
(
"DOT_IMAGE_FORMAT"
)
+
"
\"
></center>
\n
"
"<p>
\n
"
"Pravougaonici imaju sledeæa znaèenja:
\n
"
"<ul>
\n
"
"<li>Puni crni predstavlja strukturu ili klasu za koju je graf napravljen.
\n
"
"<li>Sa crnom ivicom predstavlja dokumentovanu strukturu ili klasu.
\n
"
"<li>Sa sivom icivom predstavlja nedokumentovanu strukturu ili klasu.
\n
"
"<li>Sa crvenom ivicom predstavlja dokumentovanu strukturu ili klasu
\n
"
"za koju nije prikazan graf naslijeðivanja/kori¹æenja. Graf je odseèen "
"ako ne stane unutar odreðenih granica."
"Strelice imaju sledeæa znaèenja:
\n
"
"<ul>
\n
"
"<li>Tamnoplava strelica oznaèava javno nasleðivanje.
\n
"
"<li>Tamnozelena strelica oznaèava za¹tiæeno nasleðivanje.
\n
"
"<li>Tamnocrvena strelica oznaèava privatno nasleðivanje.
\n
"
"<li>Ljubièasta isprekidana strelica ako je klasa koristi ili je njen èlan. "
"Strelica je oznaèena imenom èlana.
\n
"
"<li>Zuta strelica oznaèava vezu izmeðu primerka ¹ablona"
" i ¹ablon klase od koje je napravljena. "
"Strelica je oznaèena imenom prarametra ¹ablona.
\n
"
"</ul>
\n
"
);
}
/*! text for the link to the legend page */
virtual
QCString
trLegend
()
{
return
decode
(
"Objaènjenje korièæenih simbola"
);
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.0
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a test item */
virtual
QCString
trTest
()
{
return
"Test"
;
}
/*! Used as the header of the test list */
virtual
QCString
trTestList
()
{
return
"Spisak testova"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.1
//////////////////////////////////////////////////////////////////////////
/*! Used as a section header for KDE-2 IDL methods */
virtual
QCString
trDCOPMethods
()
{
return
"DCOP metode"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.2
//////////////////////////////////////////////////////////////////////////
/*! Used as a section header for IDL properties */
virtual
QCString
trProperties
()
{
return
"Osobine"
;
}
/*! Used as a section header for IDL property documentation */
virtual
QCString
trPropertyDocumentation
()
{
return
"Dokumentacija osobina"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.4
//////////////////////////////////////////////////////////////////////////
/*! Used for Java interfaces in the summary section of Java packages */
virtual
QCString
trInterfaces
()
{
return
"Interfejsi"
;
}
/*! Used for Java classes in the summary section of Java packages */
virtual
QCString
trClasses
()
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
"Strikture"
;
}
else
{
return
"Klase"
;
}
}
/*! Used as the title of a Java package */
virtual
QCString
trPackage
(
const
char
*
name
)
{
return
(
QCString
)
"Paket "
+
name
;
}
/*! Title of the package index page */
virtual
QCString
trPackageList
()
{
return
"Spisak paketa"
;
}
/*! The description of the package index page */
virtual
QCString
trPackageListDescription
()
{
return
"Paketi s kratkim opisom (ukoliko postoji):"
;
}
/*! The link name in the Quick links header for each page */
virtual
QCString
trPackages
()
{
return
"Paketi"
;
}
/*! Used as a chapter title for Latex & RTF output */
virtual
QCString
trPackageDocumentation
()
{
return
"Dokumentacija paketa"
;
}
/*! Text shown before a multi-line define */
virtual
QCString
trDefineValue
()
{
return
"Vrednost:"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.5
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a \\bug item */
virtual
QCString
trBug
()
{
return
decode
(
"Gre¹ka"
);;
}
/*! Used as the header of the bug list */
virtual
QCString
trBugList
()
{
return
decode
(
"Spisak gre¹aka"
);;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.6
//////////////////////////////////////////////////////////////////////////
/*! Used as ansicpg for RTF file
*
* The following table shows the correlation of Charset name, Charset Value and
* <pre>
* Codepage number:
* Charset Name Charset Value(hex) Codepage number
* ------------------------------------------------------
* DEFAULT_CHARSET 1 (x01)
* SYMBOL_CHARSET 2 (x02)
* OEM_CHARSET 255 (xFF)
* ANSI_CHARSET 0 (x00) 1252
* RUSSIAN_CHARSET 204 (xCC) 1251
* EE_CHARSET 238 (xEE) 1250
* GREEK_CHARSET 161 (xA1) 1253
* TURKISH_CHARSET 162 (xA2) 1254
* BALTIC_CHARSET 186 (xBA) 1257
* HEBREW_CHARSET 177 (xB1) 1255
* ARABIC _CHARSET 178 (xB2) 1256
* SHIFTJIS_CHARSET 128 (x80) 932
* HANGEUL_CHARSET 129 (x81) 949
* GB2313_CHARSET 134 (x86) 936
* CHINESEBIG5_CHARSET 136 (x88) 950
* </pre>
*
*/
virtual
QCString
trRTFansicp
()
{
return
"1252"
;
}
/*! Used as ansicpg for RTF fcharset
* \see trRTFansicp() for a table of possible values.
*/
virtual
QCString
trRTFCharSet
()
{
return
"238"
;
}
/*! Used as header RTF general index */
virtual
QCString
trRTFGeneralIndex
()
{
return
decode
(
"Sadr¾aj"
);;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual
QCString
trClass
(
bool
first_capital
,
bool
singular
)
{
QCString
result
((
first_capital
?
"Klas"
:
"klas"
));
result
+=
(
singular
?
"a"
:
"e"
);
return
result
;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual
QCString
trFile
(
bool
first_capital
,
bool
singular
)
{
QCString
result
((
first_capital
?
"Fajl"
:
"fajl"
));
result
+=
(
singular
?
""
:
"ovi"
);
return
result
;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual
QCString
trNamespace
(
bool
first_capital
,
bool
singular
)
{
QCString
result
((
first_capital
?
"Prostor"
:
"prostor"
));
result
+=
(
singular
?
""
:
"i"
);
result
+=
" imena"
;
return
result
;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual
QCString
trGroup
(
bool
first_capital
,
bool
singular
)
{
QCString
result
((
first_capital
?
"Grup"
:
"grup"
));
result
+=
(
singular
?
"a"
:
"e"
);
return
result
;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual
QCString
trPage
(
bool
first_capital
,
bool
singular
)
{
QCString
result
((
first_capital
?
"Stran"
:
"stran"
));
result
+=
(
singular
?
"a"
:
"e"
);
return
result
;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual
QCString
trMember
(
bool
first_capital
,
bool
singular
)
{
QCString
result
((
first_capital
?
"Èlan"
:
"èlan"
));
result
+=
(
singular
?
""
:
"ovi"
);
return
decode
(
result
);
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual
QCString
trField
(
bool
first_capital
,
bool
singular
)
{
QCString
result
((
first_capital
?
"Polj"
:
"polj"
));
result
+=
(
singular
?
"e"
:
"a"
);
return
result
;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual
QCString
trGlobal
(
bool
first_capital
,
bool
singular
)
{
QCString
result
((
first_capital
?
"Global"
:
"global"
));
result
+=
(
singular
?
"no"
:
"ni"
);
return
result
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.7
//////////////////////////////////////////////////////////////////////////
/*! This text is generated when the \\author command is used and
* for the author section in man pages. */
virtual
QCString
trAuthor
(
bool
first_capital
,
bool
singular
)
{
QCString
result
((
first_capital
?
"Autor"
:
"autor"
));
result
+=
(
singular
?
""
:
"i"
);
return
result
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.11
//////////////////////////////////////////////////////////////////////////
/*! This text is put before the list of members referenced by a member
*/
virtual
QCString
trReferences
()
{
return
"Pogledati"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.13
//////////////////////////////////////////////////////////////////////////
/*! used in member documentation blocks to produce a list of
* members that are implemented by this one.
*/
virtual
QCString
trImplementedFromList
(
int
numEntries
)
{
return
"Defini¹e "
+
trWriteList
(
numEntries
)
+
"."
;
}
/*! used in member documentation blocks to produce a list of
* all members that implement this abstract member.
*/
virtual
QCString
trImplementedInList
(
int
numEntries
)
{
return
"Definisano u "
+
trWriteList
(
numEntries
)
+
"."
;
}
};
#endif
// sh - ¹
// dj - ð
// ch - è - chasha
// cc - æ - vicc
// zz - ¾
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