summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2003-02-15 20:00:58 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2003-02-15 20:00:58 (GMT)
commit067ee3cfc7a79acd42cedb3f89713b9ed5f47f93 (patch)
treed5ea8d453754a1b971fadd965b8949a3a3d0de9a
parente0e5c8556b4713e7dad60537658cd411f8dfd858 (diff)
downloadDoxygen-067ee3cfc7a79acd42cedb3f89713b9ed5f47f93.zip
Doxygen-067ee3cfc7a79acd42cedb3f89713b9ed5f47f93.tar.gz
Doxygen-067ee3cfc7a79acd42cedb3f89713b9ed5f47f93.tar.bz2
Release-1.3-rc3-20020215
-rw-r--r--INSTALL4
-rw-r--r--README4
-rw-r--r--VERSION2
-rw-r--r--addon/doxmlparser/include/doxmlintf.h6
-rw-r--r--addon/doxmlparser/src/doxmlintf.h6
-rw-r--r--addon/doxmlparser/src/sectionhandler.cpp14
-rw-r--r--addon/doxmlparser/src/sectionhandler.h11
-rw-r--r--addon/doxmlparser/test/main.cpp5
-rwxr-xr-xconfigure7
-rw-r--r--doc/config.doc2
-rw-r--r--doc/install.doc8
-rw-r--r--doc/language.doc2
-rw-r--r--packages/rpm/doxygen.spec2
-rw-r--r--qtools/qglobal.h2
-rw-r--r--qtools/qtools.pro.in2
-rw-r--r--src/code.l2
-rw-r--r--src/docparser.cpp62
-rw-r--r--src/doxygen.cpp21
-rw-r--r--src/doxytag.pro.in1
-rw-r--r--src/filedef.cpp24
-rw-r--r--src/libdoxygen.pro.in1
-rw-r--r--src/libdoxygen.t16
-rw-r--r--src/pre.l5
-rw-r--r--src/scanner.l14
-rw-r--r--src/translator_dk.h844
-rw-r--r--src/translator_fr.h12
-rw-r--r--src/treeview.h500
-rw-r--r--src/treeview.js500
-rw-r--r--src/util.cpp64
-rw-r--r--src/xmlgen.cpp9
30 files changed, 686 insertions, 1466 deletions
diff --git a/INSTALL b/INSTALL
index dab8d26..daab954 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,7 +1,7 @@
-DOXYGEN Version 1.3-rc3
+DOXYGEN Version 1.3-rc3-20030215
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
-Dimitri van Heesch (01 February 2003)
+Dimitri van Heesch (15 February 2003)
diff --git a/README b/README
index e54f9f6..7205f82 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-DOXYGEN Version 1.3_rc3
+DOXYGEN Version 1.3_rc3_20030215
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) (01 February 2003)
+Dimitri van Heesch (dimitri@stack.nl) (15 February 2003)
diff --git a/VERSION b/VERSION
index 2f49d0a..4a07d6d 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.3-rc3
+1.3-rc3-20030215
diff --git a/addon/doxmlparser/include/doxmlintf.h b/addon/doxmlparser/include/doxmlintf.h
index 481cb2f..3f7762c 100644
--- a/addon/doxmlparser/include/doxmlintf.h
+++ b/addon/doxmlparser/include/doxmlintf.h
@@ -727,6 +727,12 @@ class ISection
virtual bool isProtected() const = 0;
};
+class IUserDefined : public ISection
+{
+ public:
+ virtual const IString * header() const = 0;
+};
+
class ISectionIterator
{
public:
diff --git a/addon/doxmlparser/src/doxmlintf.h b/addon/doxmlparser/src/doxmlintf.h
index 481cb2f..3f7762c 100644
--- a/addon/doxmlparser/src/doxmlintf.h
+++ b/addon/doxmlparser/src/doxmlintf.h
@@ -727,6 +727,12 @@ class ISection
virtual bool isProtected() const = 0;
};
+class IUserDefined : public ISection
+{
+ public:
+ virtual const IString * header() const = 0;
+};
+
class ISectionIterator
{
public:
diff --git a/addon/doxmlparser/src/sectionhandler.cpp b/addon/doxmlparser/src/sectionhandler.cpp
index 1bbdf3c..5da0006 100644
--- a/addon/doxmlparser/src/sectionhandler.cpp
+++ b/addon/doxmlparser/src/sectionhandler.cpp
@@ -88,6 +88,8 @@ SectionHandler::SectionHandler(IBaseHandler *parent) : m_parent(parent)
m_members.setAutoDelete(TRUE);
addEndHandler("sectiondef",this,&SectionHandler::endSection);
addStartHandler("memberdef",this,&SectionHandler::startMember);
+ addStartHandler("header",this,&SectionHandler::startHeader);
+ addEndHandler("header",this,&SectionHandler::endHeader);
}
SectionHandler::~SectionHandler()
@@ -115,6 +117,18 @@ void SectionHandler::startMember(const QXmlAttributes& attrib)
m_members.append(memHandler);
}
+void SectionHandler::startHeader(const QXmlAttributes&)
+{
+ m_header="";
+ m_curString="";
+}
+
+void SectionHandler::endHeader()
+{
+ m_header = m_curString.stripWhiteSpace();
+ debug(2,"member header=`%s'\n",m_header.data());
+}
+
void SectionHandler::initialize(CompoundHandler *ch)
{
QListIterator<MemberHandler> mli(m_members);
diff --git a/addon/doxmlparser/src/sectionhandler.h b/addon/doxmlparser/src/sectionhandler.h
index 42d3340..b6b674f 100644
--- a/addon/doxmlparser/src/sectionhandler.h
+++ b/addon/doxmlparser/src/sectionhandler.h
@@ -34,12 +34,14 @@ class SectionIterator :
};
-class SectionHandler : public ISection, public BaseHandler<SectionHandler>
+class SectionHandler : public IUserDefined, public BaseHandler<SectionHandler>
{
public:
virtual void startMember(const QXmlAttributes& attrib);
+ virtual void startHeader(const QXmlAttributes& attrib);
virtual void startSection(const QXmlAttributes& attrib);
virtual void endSection();
+ virtual void endHeader();
SectionHandler(IBaseHandler *parent);
virtual ~SectionHandler();
@@ -73,10 +75,17 @@ class SectionHandler : public ISection, public BaseHandler<SectionHandler>
void initialize(CompoundHandler *c);
+ // IUserDefined implementation
+ virtual const IString *header() const
+ {
+ return &m_header;
+ }
+
private:
IBaseHandler *m_parent;
SectionKind m_kind;
StringImpl m_kindString;
+ StringImpl m_header;
QList<MemberHandler> m_members;
};
diff --git a/addon/doxmlparser/test/main.cpp b/addon/doxmlparser/test/main.cpp
index 4b8425c..c066a24 100644
--- a/addon/doxmlparser/test/main.cpp
+++ b/addon/doxmlparser/test/main.cpp
@@ -565,6 +565,11 @@ int main(int argc,char **argv)
printf(" Section kind=%s\n",sec->kindString()->latin1());
IMemberIterator *mli = sec->members();
IMember *mem;
+ if( sec->kind() == ISection::UserDefined )
+ {
+ IUserDefined *group = dynamic_cast<IUserDefined*>(sec);
+ printf(" Title=%s\n", group->header()->latin1() );
+ }
for (mli->toFirst();(mem=mli->current());mli->toNext())
{
ILinkedTextIterator *lti = mem->type();
diff --git a/configure b/configure
index f2bdb2c..b2132d7 100755
--- a/configure
+++ b/configure
@@ -421,13 +421,6 @@ TMAKE_MOC = $QTDIR/bin/moc
EOF
fi
-
-#if test "$f_platform" = "win32-g++"; then
-# cat >> .tmakeconfig <<EOF
-# TMAKE_LFLAGS += -D_WIN32
-#EOF
-#fi
-
if test "$f_english" = YES; then
cat >> .tmakeconfig <<EOF
TMAKE_CXXFLAGS += -DENGLISH_ONLY
diff --git a/doc/config.doc b/doc/config.doc
index 5c260fb..2dbd644 100644
--- a/doc/config.doc
+++ b/doc/config.doc
@@ -417,6 +417,8 @@ function's detailed documentation block.
comments) as a brief description. This used to be the default behaviour.
The new default is to treat a multi-line C++ comment block as a detailed
description. Set this tag to YES if you prefer the old behaviour instead.
+ Note that setting this tag to YES also means that rational rose comments
+ are not recognised any more.
\anchor cfg_details_at_top
<dt>\c DETAILS_AT_TOP <dd>
diff --git a/doc/install.doc b/doc/install.doc
index 92c2416..a816e8b 100644
--- a/doc/install.doc
+++ b/doc/install.doc
@@ -25,10 +25,10 @@ to get the latest distribution, if you did not have it already.
This section is divided into the following sections:
<ul>
<li>\ref install_src_unix "Compiling from source on Unix"
-<li>\ref install_bin_unix "Installating the binaries on Unix"
+<li>\ref install_bin_unix "Installing the binaries on Unix"
<li>\ref unix_problems "Known compilation problems for Unix"
<li>\ref install_src_windows "Compiling from source on Windows"
-<li>\ref install_bin_windows "Installating the binaries on Windows"
+<li>\ref install_bin_windows "Installing the binaries on Windows"
<li>\ref build_tools "Tools used to develop doxygen"
</ul>
@@ -158,7 +158,7 @@ Compilation is now done by performing the following steps:
</ol>
-\section install_bin_unix Installating the binaries on Unix
+\section install_bin_unix Installing the binaries on Unix
After the compilation of the source code do a <code>make install</code>
to install doxygen. If you downloaded the binary distribution for Unix,
@@ -540,7 +540,7 @@ Compilation is now done by performing the following steps:
documentation can be generated.
</ol>
-\section install_bin_windows Installating the binaries on Windows
+\section install_bin_windows Installing the binaries on Windows
There is no fancy installation procedure at the moment (if anyone can
add it in a location independent way please let me know).
diff --git a/doc/language.doc b/doc/language.doc
index 1284672..be7b3ba 100644
--- a/doc/language.doc
+++ b/doc/language.doc
@@ -25,7 +25,7 @@ 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.3-rc3), 28 languages
+Currently (version 1.2.14-20020317), 28 languages
are supported (sorted alphabetically):
Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian,
Czech, Danish, Dutch, English, Finnish,
diff --git a/packages/rpm/doxygen.spec b/packages/rpm/doxygen.spec
index 1ae61da..b55ba8c 100644
--- a/packages/rpm/doxygen.spec
+++ b/packages/rpm/doxygen.spec
@@ -1,6 +1,6 @@
Summary: A documentation system for C/C++.
Name: doxygen
-Version: 1.3_rc3
+Version: 1.3_rc3_20030215
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
diff --git a/qtools/qglobal.h b/qtools/qglobal.h
index 9c2b53e..2ec484c 100644
--- a/qtools/qglobal.h
+++ b/qtools/qglobal.h
@@ -128,6 +128,8 @@
#define _OS_UNIXWARE7_
#elif !defined(_SCO_DS) && defined(__USLC__) && defined(__SCO_VERSION__)
#define _OS_UNIXWARE7_
+#elif defined(__CYGWIN__)
+#define _OS_CYGWIN_
#else
#error "Qt has not been ported to this OS - talk to qt-bugs@trolltech.com"
#endif
diff --git a/qtools/qtools.pro.in b/qtools/qtools.pro.in
index 74776ef..1a02797 100644
--- a/qtools/qtools.pro.in
+++ b/qtools/qtools.pro.in
@@ -74,6 +74,6 @@ win32:SOURCES += qfile_win32.cpp \
INCLUDEPATH = .
TMAKE_CXXFLAGS += -DQT_NO_CODECS -DQT_LITE_UNICODE
win32:TMAKE_CXXFLAGS += -DQT_NODLL
-win32-g++:TMAKE_CXXFLAGS += -D_WIN32 -D__CYGWIN__ -DALL_STATIC
+win32-g++:TMAKE_CXXFLAGS += -D__CYGWIN__ -DALL_STATIC
OBJECTS_DIR = ../objects
DESTDIR = ../lib
diff --git a/src/code.l b/src/code.l
index 5e3d152..63fccbd 100644
--- a/src/code.l
+++ b/src/code.l
@@ -1171,7 +1171,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
addType();
g_code->codify(yytext);
}
-<ClassName>{ID} {
+<ClassName>{ID}("::"{ID})* {
g_curClassName=yytext;
addType();
generateClassOrGlobalLink(*g_code,yytext);
diff --git a/src/docparser.cpp b/src/docparser.cpp
index 2fd7341..05dd5bd 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -543,12 +543,19 @@ static int handleStyleArgument(DocNode *parent,QList<DocNode> &children,
return tok;
}
while ((tok=doctokenizerYYlex()) &&
- tok!=TK_WHITESPACE &&
- tok!=TK_NEWPARA &&
- tok!=TK_LISTITEM &&
- tok!=TK_ENDLIST
+ tok!=TK_WHITESPACE &&
+ tok!=TK_NEWPARA &&
+ tok!=TK_LISTITEM &&
+ tok!=TK_ENDLIST
)
{
+ static QRegExp specialChar("[.,|()\\[\\]:;\\?]");
+ if (tok==TK_WORD && g_token->name.length()==1 &&
+ g_token->name.find(specialChar)!=-1)
+ {
+ // special character that ends the markup command
+ return tok;
+ }
if (!defaultHandleToken(parent,tok,children))
{
switch (tok)
@@ -732,6 +739,7 @@ static bool defaultHandleToken(DocNode *parent,int tok, QList<DocNode> &children
DBG((" name=%s",g_token->name.data()));
}
DBG(("\n"));
+reparsetoken:
QString tokenName = g_token->name;
switch (tok)
{
@@ -767,8 +775,9 @@ static bool defaultHandleToken(DocNode *parent,int tok, QList<DocNode> &children
children.append(new DocStyleChange(parent,g_nodeStack.count(),DocStyleChange::Italic,TRUE));
tok=handleStyleArgument(parent,children,tokenName);
children.append(new DocStyleChange(parent,g_nodeStack.count(),DocStyleChange::Italic,FALSE));
- children.append(new DocWhiteSpace(parent," "));
+ if (tok!=TK_WORD) children.append(new DocWhiteSpace(parent," "));
if (tok==TK_NEWPARA) goto handlepara;
+ else if (tok==TK_WORD) goto reparsetoken;
}
break;
case CMD_BOLD:
@@ -776,8 +785,9 @@ static bool defaultHandleToken(DocNode *parent,int tok, QList<DocNode> &children
children.append(new DocStyleChange(parent,g_nodeStack.count(),DocStyleChange::Bold,TRUE));
tok=handleStyleArgument(parent,children,tokenName);
children.append(new DocStyleChange(parent,g_nodeStack.count(),DocStyleChange::Bold,FALSE));
- children.append(new DocWhiteSpace(parent," "));
+ if (tok!=TK_WORD) children.append(new DocWhiteSpace(parent," "));
if (tok==TK_NEWPARA) goto handlepara;
+ else if (tok==TK_WORD) goto reparsetoken;
}
break;
case CMD_CODE:
@@ -785,8 +795,9 @@ static bool defaultHandleToken(DocNode *parent,int tok, QList<DocNode> &children
children.append(new DocStyleChange(parent,g_nodeStack.count(),DocStyleChange::Code,TRUE));
tok=handleStyleArgument(parent,children,tokenName);
children.append(new DocStyleChange(parent,g_nodeStack.count(),DocStyleChange::Code,FALSE));
- children.append(new DocWhiteSpace(parent," "));
+ if (tok!=TK_WORD) children.append(new DocWhiteSpace(parent," "));
if (tok==TK_NEWPARA) goto handlepara;
+ else if (tok==TK_WORD) goto reparsetoken;
}
break;
case CMD_HTMLONLY:
@@ -1001,7 +1012,14 @@ handlepara:
return FALSE;
break;
case TK_URL:
- children.append(new DocURL(parent,g_token->name,g_token->isEMailAddr));
+ if (g_insideHtmlLink)
+ {
+ children.append(new DocWord(parent,g_token->name));
+ }
+ else
+ {
+ children.append(new DocURL(parent,g_token->name,g_token->isEMailAddr));
+ }
break;
default:
return FALSE;
@@ -1347,16 +1365,18 @@ void DocXRefItem::parse()
{
RefItem *item = refList->getRefItem(m_id);
ASSERT(item!=0);
-
- m_file = refList->listName();
- m_anchor = item->listAnchor;
- m_title = refList->sectionTitle();
-
- if (!item->text.isEmpty())
+ if (item)
{
- docParserPushContext();
- internalValidatingParseDoc(this,m_children,item->text);
- docParserPopContext();
+ m_file = refList->listName();
+ m_anchor = item->listAnchor;
+ m_title = refList->sectionTitle();
+
+ if (!item->text.isEmpty())
+ {
+ docParserPushContext();
+ internalValidatingParseDoc(this,m_children,item->text);
+ docParserPopContext();
+ }
}
}
}
@@ -3392,19 +3412,19 @@ int DocPara::handleCommand(const QString &cmdName)
m_children.append(new DocStyleChange(this,g_nodeStack.count(),DocStyleChange::Italic,TRUE));
retval=handleStyleArgument(this,m_children,cmdName);
m_children.append(new DocStyleChange(this,g_nodeStack.count(),DocStyleChange::Italic,FALSE));
- m_children.append(new DocWhiteSpace(this," "));
+ if (retval!=TK_WORD) m_children.append(new DocWhiteSpace(this," "));
break;
case CMD_BOLD:
m_children.append(new DocStyleChange(this,g_nodeStack.count(),DocStyleChange::Bold,TRUE));
retval=handleStyleArgument(this,m_children,cmdName);
m_children.append(new DocStyleChange(this,g_nodeStack.count(),DocStyleChange::Bold,FALSE));
- m_children.append(new DocWhiteSpace(this," "));
+ if (retval!=TK_WORD) m_children.append(new DocWhiteSpace(this," "));
break;
case CMD_CODE:
m_children.append(new DocStyleChange(this,g_nodeStack.count(),DocStyleChange::Code,TRUE));
retval=handleStyleArgument(this,m_children,cmdName);
m_children.append(new DocStyleChange(this,g_nodeStack.count(),DocStyleChange::Code,FALSE));
- m_children.append(new DocWhiteSpace(this," "));
+ if (retval!=TK_WORD) m_children.append(new DocWhiteSpace(this," "));
break;
case CMD_BSLASH:
m_children.append(new DocSymbol(this,DocSymbol::BSlash));
@@ -4255,7 +4275,7 @@ reparsetoken:
// the command ended normally, keep scanner for new tokens.
retval = 0;
}
- else if (retval==TK_LISTITEM || retval==TK_ENDLIST)
+ else if (retval==TK_LISTITEM || retval==TK_ENDLIST || retval==TK_WORD)
{
tok = retval;
goto reparsetoken;
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index eac9b8a..686bfff 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -1239,7 +1239,6 @@ static void findIncludedUsingDirectives()
{
fd->visited=FALSE;
}
- fn=Doxygen::inputNameList.next();
}
// then recursively add using directives found in #include files
// to files that have not been visited.
@@ -1247,11 +1246,14 @@ static void findIncludedUsingDirectives()
{
FileNameIterator fni(*fn);
FileDef *fd;
- for (;(fd=fni.current());++fni)
+ for (fni.toFirst();(fd=fni.current());++fni)
{
- if (!fd->visited) fd->addIncludedUsingDirectives();
+ if (!fd->visited)
+ {
+ //printf("----- adding using directives for file %s\n",fd->name().data());
+ fd->addIncludedUsingDirectives();
+ }
}
- fn=Doxygen::inputNameList.next();
}
}
@@ -4419,6 +4421,10 @@ static void findMember(Entry *root,
{
Debug::print(Debug::FindMembers,0,
"1. funcName=`%s'\n",funcName.data());
+ if (funcName.left(9)=="operator ")
+ {
+ funcName = substitute(funcName,className+"::","");
+ }
if (!funcTempList.isEmpty()) // try with member specialization
{
mn=Doxygen::memberNameSDict[funcName+funcTempList];
@@ -4677,9 +4683,10 @@ static void findMember(Entry *root,
{
warn_cont("%s ",md->typeString());
}
- warn_cont("%s::%s%s\n",
- cd->qualifiedNameWithTemplateParameters().data(),
- md->name().data(),md->argsString());
+ QCString qScope = cd->qualifiedNameWithTemplateParameters();
+ if (!qScope.isEmpty()) warn_cont("%s::%s",qScope.data(),md->name().data());
+ if (md->argsString()) warn_cont("%s",md->argsString());
+ warn_cont("\n");
}
}
}
diff --git a/src/doxytag.pro.in b/src/doxytag.pro.in
index 6fc00c7..6900938 100644
--- a/src/doxytag.pro.in
+++ b/src/doxytag.pro.in
@@ -27,7 +27,6 @@ win32-msvc:TMAKE_LFLAGS += /LIBPATH:..\lib
win32-borland:LIBS += qtools.lib shell32.lib
win32-borland:TMAKE_LFLAGS += -L..\lib -L$(BCB)\lib\psdk
win32:TMAKE_CXXFLAGS += -DQT_NODLL
-win32-g++:TMAKE_CXXFLAGS += -D_WIN32
INCLUDEPATH += ../qtools
OBJECTS_DIR = ../objects
TARGET = ../bin/doxytag
diff --git a/src/filedef.cpp b/src/filedef.cpp
index d360813..d3b606b 100644
--- a/src/filedef.cpp
+++ b/src/filedef.cpp
@@ -651,26 +651,32 @@ void FileDef::addIncludeDependency(FileDef *fd,const char *incName,bool local)
void FileDef::addIncludedUsingDirectives()
{
- if (!visited)
+ if (visited) return;
+ visited=TRUE;
+ //printf("( FileDef::addIncludedUsingDirectives for file %s\n",name().data());
+
+ NamespaceList nl;
+ if (includeList) // file contains #includes
{
- visited=TRUE;
- NamespaceList nl;
- if (includeList) // file contains #includes
{
QListIterator<IncludeInfo> iii(*includeList);
IncludeInfo *ii;
- for (;(ii=iii.current());++iii) // foreach #include...
+ for (iii.toFirst();(ii=iii.current());++iii) // foreach #include...
{
- if (ii->fileDef) // ...that is a known file
+ if (ii->fileDef && !ii->fileDef->visited) // ...that is a known file
{
// recurse into this file
ii->fileDef->addIncludedUsingDirectives();
}
}
+ }
+ {
+ QListIterator<IncludeInfo> iii(*includeList);
+ IncludeInfo *ii;
// iterate through list from last to first
for (iii.toLast();(ii=iii.current());--iii)
{
- if (ii->fileDef)
+ if (ii->fileDef && ii->fileDef!=this)
{
NamespaceList *unl = ii->fileDef->usingDirList;
if (unl)
@@ -681,14 +687,16 @@ void FileDef::addIncludedUsingDirectives()
{
// append each using directive found in a #include file
if (usingDirList==0) usingDirList = new NamespaceList;
+ //printf("Prepending used namespace %s to the list of file %s\n",
+ // nd->name().data(),name().data());
usingDirList->prepend(nd);
}
}
}
}
}
- // add elements of nl to usingDirList
}
+ //printf(") end FileDef::addIncludedUsingDirectives for file %s\n",name().data());
}
diff --git a/src/libdoxygen.pro.in b/src/libdoxygen.pro.in
index 0b7c1a4..0c039ce 100644
--- a/src/libdoxygen.pro.in
+++ b/src/libdoxygen.pro.in
@@ -111,7 +111,6 @@ HEADERS = bufstr.h \
translator_sr.h \
translator_tw.h \
translator_ua.h \
- treeview.h \
unistd.h \
util.h \
version.h \
diff --git a/src/libdoxygen.t b/src/libdoxygen.t
index ae86907..d11df87 100644
--- a/src/libdoxygen.t
+++ b/src/libdoxygen.t
@@ -16,8 +16,10 @@
#!
#$ IncludeTemplate("lib.t");
-LEX = flex
-YACC = bison
+LEX = flex
+YACC = bison
+PERL = perl
+INCBUFSIZE = $(PERL) -n -e "s/YY_BUF_SIZE 16384/YY_BUF_SIZE 262144/g; print $$_;"
#${
sub GenerateDep {
@@ -45,13 +47,13 @@ sub GenerateDep {
####################
#$ GenerateDep("scanner.cpp","scanner.l");
- $(LEX) -PscanYY -t scanner.l >scanner.cpp
+ $(LEX) -PscanYY -t scanner.l | $(INCBUFSIZE) >scanner.cpp
#$ GenerateDep("code.cpp","code.l");
- $(LEX) -PcodeYY -t code.l >code.cpp
+ $(LEX) -PcodeYY -t code.l | $(INCBUFSIZE) >code.cpp
#$ GenerateDep("pre.cpp","pre.l");
- $(LEX) -PpreYY -t pre.l >pre.cpp
+ $(LEX) -PpreYY -t pre.l | $(INCBUFSIZE) >pre.cpp
#$ GenerateDep("declinfo.cpp","declinfo.l");
$(LEX) -PdeclinfoYY -t declinfo.l >declinfo.cpp
@@ -75,6 +77,6 @@ sub GenerateDep {
$(YACC) -l -d -p cppExpYY constexp.y -o ce_parse.c
-rm ce_parse.c
-treeview.h: treeview.js
- cat treeview.js | sed -e "s/\\\\/\\\\\\\\/g" -e "s/\"/\\\\\"/g" -e "s/^/\"/g" -e "s/$$/\\\\n\"/g" >treeview.h
+#treeview.h: treeview.js
+# cat treeview.js | sed -e "s/\\\\/\\\\\\\\/g" -e "s/\"/\\\\\"/g" -e "s/^/\"/g" -e "s/$$/\\\\n\"/g" >treeview.h
diff --git a/src/pre.l b/src/pre.l
index 61bdda3..94ca9ef 100644
--- a/src/pre.l
+++ b/src/pre.l
@@ -1623,7 +1623,8 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
g_defLitText+=' ';
BEGIN(SkipCPPComment);
}
-<SkipCComment>"*/" {
+<SkipCComment>[/]?"*/" {
+ if (yytext[0]=='/') outputChar('/');
outputChar('*');outputChar('/');
if (--g_commentCount<=0)
{
@@ -1647,7 +1648,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
<SkipCComment>. {
outputChar(*yytext);
}
-<RemoveCComment>"*/" { BEGIN(g_lastCContext); }
+<RemoveCComment>"*/" { BEGIN(g_lastCContext); }
<RemoveCComment>"//"
<RemoveCComment>"/*"
<RemoveCComment>[^*\n]+
diff --git a/src/scanner.l b/src/scanner.l
index 463aad6..0240316 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -47,7 +47,7 @@
#define YY_NEVER_INTERACTIVE 1
-
+
/* -----------------------------------------------------------------
*
* statics
@@ -181,6 +181,7 @@ static void initParser()
insideTryBlock = FALSE;
autoGroupStack.setAutoDelete(TRUE);
lastDefGroup.groupname.resize(0);
+ insideFormula = FALSE;
}
static void initEntry()
@@ -959,7 +960,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
}
<FindMembers>{B}*((("disp")?"interface")|"valuetype"){BN}+ { // M$/Corba IDL interface
lineCount();
- if (insideIDL || insideJava)
+ if (insideIDL || insideJava || insideCS)
{
isTypedef=FALSE;
current->section = Entry::INTERFACE_SEC;
@@ -3899,6 +3900,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
}
<ReadFormulaShort>\n {
formulaText+=" ";
+ yyLineNr++;
if (lastFormulaContext==LineDoc ||
lastFormulaContext==AfterDocLine
)
@@ -3922,7 +3924,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
insideFormula=FALSE;
BEGIN(lastFormulaContext);
}
-<ReadFormulaLong>\n { formulaText+=*yytext; }
+<ReadFormulaLong>\n { formulaText+=*yytext; yyLineNr++; }
<ReadFormulaLong,ReadFormulaShort>. { formulaText+=*yytext; }
<ExampleDoc,PageDoc,ClassDocBrief,ClassDoc,ReadFormulaShort,ReadFormulaLong>{B}*"*/" {
checkDocs();
@@ -4195,7 +4197,8 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
}
}
<ClassDocBrief>"<"{BR}{ATTR}">"
-<ClassDocBrief>{BS}/{SECTIONCMD} {
+<ClassDocBrief>{BS}/{SECTIONCMD} |
+<ClassDocBrief>{B}*/{SECTIONCMD} {
current->brief=current->brief.stripWhiteSpace();
BEGIN( lastBriefContext );
}
@@ -4445,12 +4448,13 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
}
<Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,AfterDoc>^{B}*(("//"{B}*)?)"*"+[ \t]*"."{B}*\n {
current->doc += yytext;
+ yyLineNr++;
}
<ClassDocBrief,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+[ \t]*"-"("#")?{B}+ {
current->brief += "-";
}
<ClassDocBrief,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+[ \t]*"."{B}*\n {
- current->brief += ".";
+ current->brief += "."; yyLineNr++;
}
<Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,ClassDocBrief,AfterDoc,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+/[^/]
<Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,ClassDocBrief,AfterDoc,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+{B}+ {
diff --git a/src/translator_dk.h b/src/translator_dk.h
index 98e6db5..87d11b2 100644
--- a/src/translator_dk.h
+++ b/src/translator_dk.h
@@ -1,12 +1,13 @@
+/*-*- c-basic-offset: 2 -*-*/
/******************************************************************************
*
- *
+ *
*
* Copyright (C) 1997-2003 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
+ * 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.
*
@@ -15,49 +16,93 @@
*
*/
-/* OBS!
- Til danskere og andet godtfolk:
- Jeg har været i tvivl om (i hvert fald) følgende ord:
- - Member
- - Compound
- - Namespace
- - Interface
-
- Jeg har besluttet (indtil videre) at lade følgende ord stå som de er,
- da jeg selv overvejende bruger det engelske udtryk:
- - Interface
- - Typedef
- - Union
- (union ved jeg ikke engang, hvad jeg skal kalde på dansk...
- udover måske 'union')
-
- (Konstruktivt) input modtages med glæde!
+/*
+ * Danish translation by
+ * Erik Søe Sørensen <eriksoe@daimi.au.dk>
+ *
+ * First version (not complete) for Doxygen 1.2.7
+ * Extended and revised for Doxygen 1.3
+ */
+
+/* Translator's notes:
+
+ Oversættelseskonventioner:
+ (Konventioner for konventioner:
+ '?' angiver oversættelser, jeg har været i tvivl om
+ '??' angiver tvivlsomme oversættelser
+ '..?' angiver ord, der endnu ikke er fundet en oversættelse til
+ '(do.)' angiver ord, der med vilje ikke er oversat, idet jeg selv
+ overvejende bruger det engelske udtryk
+ '(-> _) angiver ord, der er fundet en oversættelse til, men som jeg
+ vægrer mig ved at oversætte.
+ )
+ bug -> 'kendt fejl'
+ class -> klasse
+ compound -> 'sammensat type'
+ constructor -> konstruktør ?
+ destructor -> destruktør ?
+ event -> begivenhed ?
+ exception (-> undtagelse ?)
+ friend ..?
+ interface -> grænseflade ?
+ member -> medlem (TODO)
+ namespace -> (do.)
+ private -> privat
+ property -> egenskab?
+ protected -> beskyttet ??
+ public -> offentlig
+ slot ..?
+ source code -> kildekode
+ struct -> datastruktur
+ template (-> skabelon ?)
+ typedef -> typedefinition (?)
+ todo -> (do.)
+ union ..?
+
+ Specielle forbindelser:
+ 'Inheritance diagram' -> Stamtræ (selvom Nedarvningsdiagram også gik an)
+
+ -----
+
+ (Konstruktivt) input modtages med glæde!
+ -- Erik Søe Sørensen <eriksoe@daimi.au.dk>
*/
#ifndef TRANSLATOR_DK_H
#define TRANSLATOR_DK_H
-class TranslatorDanish : public TranslatorAdapter_1_2_7
+class TranslatorDanish : public Translator
{
public:
// --- Language control methods -------------------
-
- /*! Used for identification of the language. The identification
- * should not be translated. It should be replaced by the name
+
+ /*! 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
+ * (e.g. "czech", "japanese", "russian", etc.). It should be equal to
* the identification used in language.cpp.
*/
virtual QCString idLanguage()
{ return "danish"; }
-
- /*! Used to get the LaTeX command(s) for the language support. This method
- * was designed for languages which do wish to use a babel package.
+
+ /*! 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>
*/
virtual QCString latexLanguageSupportCommand()
{
- return "danish";
+ return
+ "\\usepackage[danish]{babel}\n"
+ "\\usepackage[latin1]{inputenc}\n"
+ "\\usepackage[T1]{fontenc}\n";
}
/*! return the language charset. This will be used for the HTML output */
@@ -76,37 +121,37 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
virtual QCString trRelatedSubscript()
{ return "(Bemærk at disse ikke er medlems-funktioner.)"; }
- /*! header that is put before the detailed description of files, classes and namespaces. */
+ /*! header that is put before the detailed description of files,
+ * classes and namespaces. */
virtual QCString trDetailedDescription()
{ return "Detaljeret beskrivelse"; }
/*! header that is put before the list of typedefs. */
virtual QCString trMemberTypedefDocumentation()
- { return "Dokumentation af medlems-typedefs"; }
-
+ { return "Dokumentation af medlems-typedefinitioner"; }
+
/*! header that is put before the list of enumerations. */
virtual QCString trMemberEnumerationDocumentation()
{ return "Dokumentation af medlems-enumerationer"; }
-
+ // medlems-enumerationer -> 'indeholdte enumerationer'
+
/*! header that is put before the list of member functions. */
virtual QCString trMemberFunctionDocumentation()
{ return "Dokumentation af medlemsfunktioner"; }
-
+
/*! header that is put before the list of member attributes. */
virtual QCString trMemberDataDocumentation()
- {
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
- return "Felt-dokumentation";
- }
- else
- {
- return "Dokumentation af medlems-data";
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) {
+ return "Felt-dokumentation";
+ } else {
+ return "Dokumentation af feltvariable";
+ //medlems-data";
}
}
/*! this is the text of a link put after brief descriptions. */
- virtual QCString trMore()
+ virtual QCString trMore()
{ return "Mere..."; }
/*! put in the class documentation */
@@ -119,90 +164,85 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
/*! this is the first part of a sentence that is followed by a class name */
virtual QCString trThisIsTheListOfAllMembers()
- { return "Dette er den komplette liste over medlemmer for "; }
+ { return "Dette er den komplette liste over medlemmer i "; }
/*! this is the remainder of the sentence after the class name */
virtual QCString trIncludingInheritedMembers()
{ return ", inklusive alle nedarvede medlemmer."; }
-
+
/*! 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="Automatisk genereret af Doxygen";
if (s) result+=(QCString)" for "+s;
- result+=" ud fra kildekoden.";
+ result+=" ud fra kildekoden.";
return result;
}
/*! put after an enum name in the list of all members */
virtual QCString trEnumName()
- { return "enum-navn"; }
-
+ { return "enumerationsnavn"; }
+
/*! put after an enum value in the list of all members */
virtual QCString trEnumValue()
- { return "enum-værdi"; }
-
+ { return "enumerationsværdi"; }
+
/*! put after an undocumented member in the list of all members */
virtual QCString trDefinedIn()
{ return "defineret i"; }
// quick reference sections
- /*! This is put above each page as a link to the list of all groups of
+ /*! 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 "Moduler"; }
-
+
/*! This is put above each page as a link to the class hierarchy */
virtual QCString trClassHierarchy()
{ return "Klassehierarki"; }
-
+
/*! 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"))
- {
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) {
return "Datastrukturer";
- }
- else
- {
- return "Compound List";
+ } else {
+ return "Oversigt over sammensatte typer";
}
}
-
+
/*! This is put above each page as a link to the list of documented files */
virtual QCString trFileList()
- { return "Filliste"; }
+ { return "Filoversigt"; }
/*! This is put above each page as a link to the list of all verbatim headers */
virtual QCString trHeaderFiles()
- { return "Header-filer"; }
+ { return "Headerfiler"; }
/*! 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 "Data-felter";
+ return "Data-felter";
}
else
{
- return "Compound Members";
+ return "Felter i sammensatte typer";
}
}
/*! 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 "Globale";
- }
- else
- {
- return "Fil-medlemmer";
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) {
+ return "Globale symboler";
+ } else {
+ return "Placering i filer"; // Fil-medlemmer"; //TODO
+ //"Globale definitioner" ?
}
}
@@ -235,16 +275,13 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
/*! This is an introduction to the annotated compound list. */
virtual QCString trCompoundListDescription()
- {
-
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
- return "Her er datastrukturerne med korte beskrivelser:";
- }
- else
- {
- return "Her er klasserne, strukturerne, "
- "unionerne og grænsefladerne med korte beskrivelser:";
+ {
+
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) {
+ return "Her er datastrukturerne med korte beskrivelser:";
+ } else {
+ return "Her er klasserne, datastrukturerne, "
+ "unionerne og grænsefladerne med korte beskrivelser:";
}
}
@@ -252,39 +289,26 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
virtual QCString trCompoundMembersDescription(bool extractAll)
{
QCString result="Her er en liste over alle ";
- if (!extractAll)
- {
+ if (!extractAll) {
result+="dokumenterede ";
}
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
- result+="felter i strukturer og unioner";
- }
- else
- {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) {
+ result+="felter i datastrukturer og unioner";
+ } else {
result+="klassemedlemmer";
}
result+=" med links til ";
- if (!extractAll)
- {
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
- result+="struktur/unions-dokumentationen for hvert felt:";
- }
- else
- {
+ if (!extractAll) {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) {
+ result+="datastruktur/unions-dokumentationen for hvert felt:";
+ } else {
result+="klassedokumentationen for hvert medlem:";
}
- }
- else
- {
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
- result+="de strukturer/unioner de hører til:";
- }
- else
- {
- result+="de klasser de hører til:";
+ } else {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) {
+ result+="de datastrukturer/unioner, de hører til:";
+ } else {
+ result+="de klasser, de hører til:";
}
}
return result;
@@ -295,27 +319,24 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
{
QCString result="Her er en liste over alle ";
if (!extractAll) result+="dokumenterede ";
-
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
+
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) {
result+="funktioner, variable, #defines, enumerationer "
"og typedefinitioner";
- }
- else
- {
+ } else {
result+="fil-medlemmer";
}
result+=" med links til ";
- if (extractAll)
- result+="de filer de hører til:";
- else
- result+="dokumentationen:";
+ if (extractAll)
+ result+="de filer, de tilhører:";
+ else
+ result+="deres dokumentation:";
return result;
}
/*! This is an introduction to the page with the list of all header files. */
virtual QCString trHeaderFilesDescription()
- { return "Her er de headerfiler der udgør API'en:"; }
+ { return "Her er de headerfiler, der udgør API'en:"; }
/*! This is an introduction to the page with the list of all examples */
virtual QCString trExamplesDescription()
@@ -330,50 +351,47 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
{ return "Her er en liste over alle moduler:"; }
/*! This sentences is used in the annotated class/file lists if no brief
- * description is given.
+ * description is given.
*/
virtual QCString trNoDescriptionAvailable()
{ return "Ikke beskrevet"; }
-
- // index titles (the project name is prepended for these)
+
+ // index titles (the project name is prepended for these)
/*! This is used in HTML as the title of index.html. */
virtual QCString trDocumentation()
{ return "Dokumentation"; }
- /*! This is used in LaTeX as the title of the chapter with the
+ /*! This is used in LaTeX as the title of the chapter with the
* index of all groups.
*/
virtual QCString trModuleIndex()
- { return "Modul-index"; }
+ { return "Modul-indeks"; }
- /*! This is used in LaTeX as the title of the chapter with the
+ /*! This is used in LaTeX as the title of the chapter with the
* class hierarchy.
*/
virtual QCString trHierarchicalIndex()
- { return "Hierarkisk index"; }
+ { return "Hierarkisk indeks"; }
- /*! This is used in LaTeX as the title of the chapter with the
+ /*! 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"))
- {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) {
return "Indeks over datastrukturer";
- }
- else
- {
- return "Compound Index";
+ } else {
+ return "Indeks over sammensatte typer";
}
}
/*! This is used in LaTeX as the title of the chapter with the
* list of all files.
*/
- virtual QCString trFileIndex()
- { return "Fil-index"; }
+ virtual QCString trFileIndex()
+ { return "Fil-indeks"; }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all groups.
@@ -385,7 +403,13 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
* the documentation of all classes, structs and unions.
*/
virtual QCString trClassDocumentation()
- { return "Klasse-dokumentation"; }
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) {
+ return "Datastruktur-documentation";
+ } else {
+ return "Klasse-dokumentation";
+ }
+ }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all files.
@@ -407,53 +431,49 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
/*! This is used in LaTeX as the title of the document */
virtual QCString trReferenceManual()
- { return "Reference-manual"; }
-
- /*! This is used in the documentation of a file as a header before the
+ { return "Referencemanual"; }
+
+ /*! This is used in the documentation of a file as a header before the
* list of defines
*/
virtual QCString trDefines()
{ return "#Defines"; }
- /*! This is used in the documentation of a file as a header before the
+ /*! This is used in the documentation of a file as a header before the
* list of function prototypes
*/
virtual QCString trFuncProtos()
{ return "Funktionsprototyper"; }
- /*! This is used in the documentation of a file as a header before the
+ /*! This is used in the documentation of a file as a header before the
* list of typedefs
*/
virtual QCString trTypedefs()
- { return "Typedefs"; }
+ { return "Typedefinitioner"; }
- /*! This is used in the documentation of a file as a header before the
+ /*! This is used in the documentation of a file as a header before the
* list of enumerations
*/
virtual QCString trEnumerations()
{ return "Enumerationer"; }
- /*! This is used in the documentation of a file as a header before the
+ /*! This is used in the documentation of a file as a header before the
* list of (global) functions
*/
virtual QCString trFunctions()
{ return "Funktioner"; }
- /*! This is used in the documentation of a file as a header before the
+ /*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual QCString trVariables()
- { return "Variabler"; }
+ { return "Variable"; }
- /*! This is used in the documentation of a file as a header before the
+ /*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual QCString trEnumerationValues()
{ return "Enumerationsværdier"; }
-
- /*! This is used in man pages as the author section. */
- virtual QCString trAuthor()
- { return "Forfatter"; }
/*! This is used in the documentation of a file before the list of
* documentation blocks for defines
@@ -461,62 +481,59 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
virtual QCString trDefineDocumentation()
{ return "#Define-dokumentation"; }
- /*! This is used in the documentation of a file/namespace before the list
+ /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for function prototypes
*/
virtual QCString trFunctionPrototypeDocumentation()
- { return "Funktionsprototype-dokumentation"; }
+ { return "Dokumentation af funktionsprototyper"; }
- /*! This is used in the documentation of a file/namespace before the list
+ /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for typedefs
*/
virtual QCString trTypedefDocumentation()
- { return "Typedef-dokumentation"; }
+ { return "Dokumentation af typedefinitioner"; }
- /*! This is used in the documentation of a file/namespace before the list
+ /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration types
*/
virtual QCString trEnumerationTypeDocumentation()
{ return "Dokumentation af enumerations-typer"; }
- /*! This is used in the documentation of a file/namespace before the list
+ /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values
*/
virtual QCString trEnumerationValueDocumentation()
{ return "Dokumentation af enumerations-værdier"; }
- /*! This is used in the documentation of a file/namespace before the list
+ /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for functions
*/
virtual QCString trFunctionDocumentation()
{ return "Funktions-dokumentation"; }
- /*! This is used in the documentation of a file/namespace before the list
+ /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for variables
*/
virtual QCString trVariableDocumentation()
{ return "Variabel-dokumentation"; }
- /*! This is used in the documentation of a file/namespace/group before
+ /*! 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 "Datastrukturer";
- }
- else
- {
- return "Compounds";
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) {
+ return "Datastrukturer";
+ } else {
+ return "Sammensatte typer";
}
}
- /*! This is used in the standard footer of each page and indicates when
- * the page was generated
+ /*! 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)"Genereret "+date;
if (projName) result+=(QCString)" for "+projName;
result+=(QCString)" af";
@@ -532,16 +549,16 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
/*! this text is put before a class diagram */
virtual QCString trClassDiagram(const char *clName)
{
- return (QCString)"Nedarvningsdiagram for "+clName+":";
+ return (QCString)"Stamtræ for "+clName+":";
}
-
+
/*! this text is generated when the \\internal command is used. */
virtual QCString trForInternalUseOnly()
{ return "Kun til intern brug."; }
/*! this text is generated when the \\reimp command is used. */
virtual QCString trReimplementedForInternalReasons()
- { return "Metode overskrevet af interne grunde; "
+ { return "Metoden er genimplementeret af interne grunde; "
"API'en er ikke påvirket."; }
/*! this text is generated when the \\warning command is used. */
@@ -560,10 +577,6 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
virtual QCString trDate()
{ return "Dato"; }
- /*! this text is generated when the \\author command is used. */
- virtual QCString trAuthors()
- { return "Forfatter(e)"; }
-
/*! this text is generated when the \\return command is used. */
virtual QCString trReturns()
{ return "Returnerer"; }
@@ -579,7 +592,7 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
/*! this text is generated when the \\exception command is used. */
virtual QCString trExceptions()
{ return "Exceptions"; }
-
+
/*! this text is used in the title page of a LaTeX document. */
virtual QCString trGeneratedBy()
{ return "Genereret af"; }
@@ -587,10 +600,10 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990307
//////////////////////////////////////////////////////////////////////////
-
+
/*! used as the title of page containing all the index of all namespaces. */
virtual QCString trNamespaceList()
- { return "Namespace-liste"; }
+ { return "Oversigt over namespaces"; }
/*! used as an introduction to the namespace list */
virtual QCString trNamespaceListDescription(bool extractAll)
@@ -606,17 +619,17 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
*/
virtual QCString trFriends()
{ return "Friends"; }
-
+
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990405
//////////////////////////////////////////////////////////////////////////
-
+
/*! used in the class documentation as a header before the list of all
- * related classes
+ * related classes
*/
virtual QCString trRelatedFunctionDocumentation()
- { return "Friends og relateret funktions-dokumentation"; } //??
-
+ { return "Dokumentation af friends og af relaterede funktioner"; }
+
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990425
//////////////////////////////////////////////////////////////////////////
@@ -630,9 +643,9 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
switch(compType)
{
case ClassDef::Class: result+=" Klasse-"; break;
- case ClassDef::Struct: result+=" Struktur-"; break;
+ case ClassDef::Struct: result+=" Datastruktur-"; break;
case ClassDef::Union: result+=" Union-"; break;
- case ClassDef::Interface: result+=" Interface-"; break;
+ case ClassDef::Interface: result+=" Grænseflade-"; break;
case ClassDef::Exception: result+=" Exception-"; break;
}
if (isTemplate) result+="template-";
@@ -644,7 +657,7 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
virtual QCString trFileReference(const char *fileName)
{
QCString result=fileName;
- result+=" Fil-reference";
+ result+=" filreference";
return result;
}
@@ -652,31 +665,31 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
virtual QCString trNamespaceReference(const char *namespaceName)
{
QCString result=namespaceName;
- result+=" Namespace-reference";
+ result+=" namespace-reference";
return result;
}
-
+
virtual QCString trPublicMembers()
- { return "Public Methods"; }
+ { return "Offentlige metoder"; }
virtual QCString trPublicSlots()
- { return "Public Slots"; }
+ { return "Offentlige slots"; }
virtual QCString trSignals()
- { return "Signals"; }
+ { return "Signaler"; }
virtual QCString trStaticPublicMembers()
- { return "Static Public Methods"; }
+ { return "Statiske, offentlige metoder"; }
virtual QCString trProtectedMembers()
- { return "Protected Methods"; }
+ { return "Beskyttede metoder"; }
virtual QCString trProtectedSlots()
- { return "Protected Slots"; }
+ { return "Beskyttede slots"; }
virtual QCString trStaticProtectedMembers()
- { return "Static Protected Methods"; }
+ { return "Statiske, beskyttede metoder"; }
virtual QCString trPrivateMembers()
- { return "Private Methods"; }
+ { return "Private metoder"; }
virtual QCString trPrivateSlots()
- { return "Private Slots"; }
+ { return "Private slots"; }
virtual QCString trStaticPrivateMembers()
- { return "Static Private Methods"; }
-
+ { return "Statiske, private metoder"; }
+
/*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put.
*/
@@ -685,29 +698,27 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
QCString result;
int i;
// the inherits list contain `numEntries' classes
- for (i=0;i<numEntries;i++)
- {
+ 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
+ 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
+
+ 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+=", and ";
+ result+=" og ";
}
}
- return result;
+ return result;
}
-
+
/*! used in class documentation to produce a list of base classes,
* if class diagrams are disabled.
*/
virtual QCString trInheritsList(int numEntries)
{
- return "Inherits "+trWriteList(numEntries)+".";
+ return "Nedarver "+trWriteList(numEntries)+".";
}
/*! used in class documentation to produce a list of super classes,
@@ -715,10 +726,10 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
*/
virtual QCString trInheritedByList(int numEntries)
{
- return "Inherited by "+trWriteList(numEntries)+".";
+ return "Nedarvet af "+trWriteList(numEntries)+".";
}
- /*! used in member documentation blocks to produce a list of
+ /*! used in member documentation blocks to produce a list of
* members that are hidden by this one.
*/
virtual QCString trReimplementedFromList(int numEntries)
@@ -731,7 +742,7 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
*/
virtual QCString trReimplementedInList(int numEntries)
{
- return "Reimplemented in "+trWriteList(numEntries)+".";
+ return "Reimplementeret i "+trWriteList(numEntries)+".";
}
/*! This is put above each page as a link to all members of namespaces. */
@@ -740,27 +751,27 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
/*! This is an introduction to the page with all namespace members */
virtual QCString trNamespaceMemberDescription(bool extractAll)
- {
+ {
QCString result="Her er en liste over alle ";
if (!extractAll) result+="dokumenterede ";
result+="namespace-medlemmer med links til ";
- if (extractAll)
+ if (extractAll)
result+="namespace-dokumentationen for hvert medlem:";
- else
- result+="de namespaces, de hører til:";
+ else
+ result+="det namespace, de hører til:";
return result;
}
- /*! This is used in LaTeX as the title of the chapter with the
+ /*! This is used in LaTeX as the title of the chapter with the
* index of all namespaces.
*/
virtual QCString trNamespaceIndex()
- { return "Namespace Index"; }
+ { return "Namespace-indeks"; }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all namespaces.
*/
virtual QCString trNamespaceDocumentation()
- { return "Namespace Dokumentation"; }
+ { return "Namespace-dokumentation"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990522
@@ -783,17 +794,17 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
bool single)
{ // here s is one of " Class", " Struct" or " Union"
// single is true implies a single file
- QCString result=(QCString)"The documentation for this ";
+ QCString result=(QCString)"Dokumentationen for denne ";
switch(compType)
{
- case ClassDef::Class: result+="class"; break;
- case ClassDef::Struct: result+="struct"; break;
+ case ClassDef::Class: result+="klasse"; break;
+ case ClassDef::Struct: result+="datastruktur"; break;
case ClassDef::Union: result+="union"; break;
- case ClassDef::Interface: result+="interface"; break;
+ case ClassDef::Interface: result+="grænseflade"; break;
case ClassDef::Exception: result+="exception"; break;
}
- result+=" was generated from the following file";
- if (single) result+=":"; else result+="s:";
+ result+=" blev genereret ud fra følgende fil";
+ if (single) result+=":"; else result+="er:";
return result;
}
@@ -816,7 +827,7 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
virtual QCString trMainPage()
{ return "Hovedside"; }
- /*! This is used in references to page that are put in the LaTeX
+ /*! 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()
@@ -828,7 +839,7 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
virtual QCString trSources()
{
- return "Sources";
+ return "Kilder"; //??
}
virtual QCString trDefinedAtLineInSourceFile()
{
@@ -845,7 +856,8 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
virtual QCString trDeprecated()
{
- return "Deprecated";
+ return "Frarådes - fortidslevn"; // ?? - What is the context?
+ // "Ugleset" :)
}
//////////////////////////////////////////////////////////////////////////
@@ -865,7 +877,8 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
/*! header that is put before the list of constructor/destructors. */
virtual QCString trConstructorDocumentation()
{
- return "Constructor & Destructor dokumentation";
+ return "Dokumentation af konstruktører og destruktører";
+ // "Constructor & Destructor dokumentation";
}
/*! Used in the file documentation to point to the corresponding sources. */
virtual QCString trGotoSourceCode()
@@ -880,12 +893,12 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
/*! Text for the \\pre command */
virtual QCString trPrecondition()
{
- return "Precondition";
+ return "Forudsætninger (precondition)";
}
/*! Text for the \\post command */
virtual QCString trPostcondition()
{
- return "Postcondition";
+ return "Resultat (postcondition)";
}
/*! Text for the \\invariant command */
virtual QCString trInvariant()
@@ -900,11 +913,11 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
/*! Text used the source code in the file index */
virtual QCString trCode()
{
- return "code";
+ return "kildekode";
}
virtual QCString trGraphicalHierarchy()
{
- return "Grafiske klassehierarki";
+ return "Grafisk klassehierarki";
}
virtual QCString trGotoGraphicalHierarchy()
{
@@ -916,59 +929,56 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
}
virtual QCString trPageIndex()
{
- return "Page Index";
+ return "Sideindeks";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.0
//////////////////////////////////////////////////////////////////////////
-
+
virtual QCString trNote()
{
return "Note";
}
virtual QCString trPublicTypes()
{
- return "Public Typer";
+ return "Offentlige typer";
}
virtual QCString trPublicAttribs()
{
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) {
return "Datafelter";
- }
- else
- {
- return "Public Attributes";
+ } else {
+ return "Offentlige attributter";
}
}
virtual QCString trStaticPublicAttribs()
{
- return "Static Public Attributes";
+ return "Statiske, offentlige attributter";
}
virtual QCString trProtectedTypes()
{
- return "Protected Typer";
+ return "Beskyttede typer";
}
virtual QCString trProtectedAttribs()
{
- return "Protected Attributes";
+ return "Beskyttede attributter";
}
virtual QCString trStaticProtectedAttribs()
{
- return "Static Protected Attributes";
+ return "Statiske, beskyttede attributter";
}
virtual QCString trPrivateTypes()
{
- return "Private Types";
+ return "Private typer";
}
virtual QCString trPrivateAttribs()
{
- return "Private Attributes";
+ return "Private attributter";
}
virtual QCString trStaticPrivateAttribs()
{
- return "Static Private Attributes";
+ return "Statiske, private attributter";
}
//////////////////////////////////////////////////////////////////////////
@@ -983,7 +993,7 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
/*! Used as the header of the todo list */
virtual QCString trTodoList()
{
- return "Todo List";
+ return "Todo-liste";
}
//////////////////////////////////////////////////////////////////////////
@@ -1000,18 +1010,19 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
}
virtual QCString trAttention()
{
- return "Attention";
+ return "OBS";
}
virtual QCString trInclByDepGraph()
{
- return "Denne graf viser, hvilke filer der direkte eller "
- "indirekte inkluderer denne fil:";
+ return
+ "Denne graf viser, hvilke filer der direkte eller "
+ "indirekte inkluderer denne fil:";
}
virtual QCString trSince()
{
return "Siden";
}
-
+
//////////////////////////////////////////////////////////////////////////
// new since 1.1.5
//////////////////////////////////////////////////////////////////////////
@@ -1022,60 +1033,71 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
return "Graf-forklaring";
}
/*! page explaining how the dot graph's should be interpreted */
- virtual QCString trLegendDocs()
+ virtual QCString trLegendDocs() //TODO
{
- return
- "Denne side forklarer, hvordan man skal fortolke de grafer, "
- "der genereres af doxygen.<p>\n"
- "Consider the following example:\n"
+ return
+ "Denne side forklarer, hvordan man skal fortolke de grafer, "
+ "der genereres af doxygen.<p>\n"
+ "Tag følgende eksempel:\n"
"\\code\n"
- "/*! Invisible class because of truncation */\n"
+ "/*! Klasse der er usynlig pg.a. beskæring */\n"
"class Invisible { };\n\n"
- "/*! Truncated class, inheritance relation is hidden */\n"
+ "/*! Beskåret klasse: nedarvningsrelation er skjult */\n"
"class Truncated : public Invisible { };\n\n"
- "/* Class not documented with doxygen comments */\n"
+ "/* Klasse der ikke er dokumenteret med doxygen-kommentarer */\n"
"class Undocumented { };\n\n"
- "/*! Class that is inherited using public inheritance */\n"
+ "/*! Klasse der nedarves fra offentligt */\n"
"class PublicBase : public Truncated { };\n\n"
- "/*! Class that is inherited using protected inheritance */\n"
+ "/*! En template-klasse */\n"
+ "template<class T> class Templ { };\n\n"
+ "/*! Klasse der nedarves fra beskyttet */\n"
"class ProtectedBase { };\n\n"
- "/*! Class that is inherited using private inheritance */\n"
+ "/*! Klasse der nedarves fra privat */\n"
"class PrivateBase { };\n\n"
- "/*! Class that is used by the Inherited class */\n"
+ "/*! Klasse der bruges af Inherited-klassen */\n"
"class Used { };\n\n"
- "/*! Super class that inherits a number of other classes */\n"
+ "/*! Klasse der nedarver en masse andre klasser */\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"
- "If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
- "is set to 200 this will result in the following graph:"
+ "Hvis \\c MAX_DOT_GRAPH_HEIGHT i konfigurationsfilen "
+ "er sat til 240, vil dette resultere i følgende graf:"
"<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
- "The boxes in the above graph have the following meaning:\n"
+ "De forskellige slags kasser i ovenstående graf har følgende "
+ "betydninger:\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."
+ "<li>%En udfyldt sort kasse repræsenterer den datastruktur eller "
+ "klasse, grafen er genereret for.\n"
+ "<li>%En kasse med sort kant betegner en dokumenteret datastruktur "
+ " eller klasse.\n"
+ "<li>%En kasse med grå kant betegner en udokumenteret datastruktur "
+ " eller klasse.\n"
+ "<li>%En kasse med rød kant betegner en dokumenteret datastruktur "
+ " eller klasse, for hvilken ikke alle "
+ "nedarvnings- og indeholdelses-relationer er vist. "
+ "%Grafer beskæres, hvis de fylder mere end de specificerede dimensioner.\n "
"</ul>\n"
- "The arrows have the following meaning:\n"
+ "Pilene har følgende betydninger:\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"
+ "<li>%En mørkeblå pil viser en offentlig nedarvningsrelation "
+ "mellem to klasser.\n"
+ "<li>%En mørkegrøn pil viser en beskyttet nedarvningsrelation.\n"
+ "<li>%En mørkerød pil viser en privat nedarvningsrelation.\n"
+ "<li>%En lilla, stiplet pil bruges, når en klasse er indeholdt i "
+ "eller benyttes af en anden klasse. "
+ "Ved pilen står navnet på den eller de variable, gennem hvilke(n) "
+ "den klasse, pilen peger på, er tilgængelig.\n"
+ "<li>%En gul, stiplet pil viser forholdet mellem en template-instans "
+ "og den template-klasse, den er instantieret fra."
+ "Ved pilen står template-parametrene brugt ved instantieringen.\n"
"</ul>\n";
}
/*! text for the link to the legend page */
@@ -1083,11 +1105,11 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
{
return "forklaring til graf";
}
-
+
//////////////////////////////////////////////////////////////////////////
// new since 1.2.0
//////////////////////////////////////////////////////////////////////////
-
+
/*! Used as a marker that is put before a test item */
virtual QCString trTest()
{
@@ -1116,12 +1138,12 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
/*! Used as a section header for IDL properties */
virtual QCString trProperties()
{
- return "Properties";
+ return "Egenskaber";
}
/*! Used as a section header for IDL property documentation */
virtual QCString trPropertyDocumentation()
{
- return "Property-dokumentation";
+ return "Egenskabsdokumentation";
}
//////////////////////////////////////////////////////////////////////////
@@ -1131,17 +1153,14 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
/*! Used for Java interfaces in the summary section of Java packages */
virtual QCString trInterfaces()
{
- return "Interfaces";
+ return "Grænseflader";
}
/*! Used for Java classes in the summary section of Java packages */
virtual QCString trClasses()
{
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) {
return "Datastrukturer";
- }
- else
- {
+ } else {
return "Klasser";
}
}
@@ -1153,37 +1172,39 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
/*! Title of the package index page */
virtual QCString trPackageList()
{
- return "Pakkeliste";
+ return "Pakkeoversigt";
}
/*! The description of the package index page */
virtual QCString trPackageListDescription()
{
- return "Here are the packages with brief descriptions (if available):";
+ return
+ "Her er en liste over pakkerne, med korte beskrivelser "
+ "(hvor en sådan findes):";
}
/*! The link name in the Quick links header for each page */
virtual QCString trPackages()
{
- return "Packages";
+ return "Pakker";
}
/*! Used as a chapter title for Latex & RTF output */
virtual QCString trPackageDocumentation()
{
- return "Package Dokumentation";
+ return "Pakke-dokumentation";
}
/*! Text shown before a multi-line define */
virtual QCString trDefineValue()
{
return "Værdi:";
}
-
+
//////////////////////////////////////////////////////////////////////////
// new since 1.2.5
//////////////////////////////////////////////////////////////////////////
-
+
/*! Used as a marker that is put before a \\bug item */
virtual QCString trBug()
{
- return "Fejl";
+ return "Kendte fejl";
}
/*! Used as the header of the bug list */
virtual QCString trBugList()
@@ -1195,12 +1216,19 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
// new since 1.2.6
//////////////////////////////////////////////////////////////////////////
- /*! Used as ansicpg for RTF file */
+ /*! Used as ansicpg for RTF file
+ * (used table extract:)
+ * <pre>
+ * Charset Name Charset Value(hex) Codepage number
+ * ------------------------------------------------------
+ * ANSI_CHARSET 0 (x00) 1252
+ * </pre>
+ */
virtual QCString trRTFansicp()
{
return "1252";
}
-
+
/*! Used as ansicpg for RTF fcharset */
virtual QCString trRTFCharSet()
{
@@ -1212,96 +1240,204 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
{
return "Indeks";
}
-
+
/*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
+ * 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 ? "Klasse" : "klasse"));
- if (first_capital) toupper(result.at(0));
- if (!singular) result+="r";
- return result;
+ {
+ //QCString result(first_capital ? "Klasse" : "klasse");
+ //if (first_capital) result.at(0) = toupper(result.at(0));
+ //if (!singular) result+="r";
+ //return result;
+ return createNoun(first_capital, singular, "klasse", "r");
}
/*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
+ * 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 ? "Fil" : "fil"));
- if (!singular) result+="er";
- return result;
+ {
+ //QCString result((first_capital ? "Fil" : "fil"));
+ //if (!singular) result+="er";
+ //return result;
+ return createNoun(first_capital, singular, "fil", "er");
}
/*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
+ * 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 ? "Namespace" : "namespace"));
- if (!singular) result+="s";
- return result;
+ {
+ //QCString result((first_capital ? "Namespace" : "namespace"));
+ //if (!singular) result+="s";
+ //return result;
+ return createNoun(first_capital, singular, "namespace", "s");
}
/*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
+ * 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 ? "Gruppe" : "gruppe"));
- if (!singular) result+="r";
- return result;
+ {
+ //QCString result((first_capital ? "Gruppe" : "gruppe"));
+ //if (!singular) result+="r";
+ //return result;
+ return createNoun(first_capital, singular, "gruppe", "r");
}
/*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
+ * 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 ? "Side" : "side"));
- if (!singular) result+="r";
- return result;
+ {
+ //QCString result((first_capital ? "Side" : "side"));
+ //if (!singular) result+="r";
+ //return result;
+ return createNoun(first_capital, singular, "side", "r");
}
/*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
+ * 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 ? "Medlem" : "medlem"));
- if (!singular) result+="mer";
- return result;
+ {
+ //QCString result((first_capital ? "Medlem" : "medlem"));
+ //if (!singular) result+="mer";
+ //return result;
+ return createNoun(first_capital, singular, "medlem", "mer");
}
-
+
/*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
+ * 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 ? "Felt" : "felt"));
- if (!singular) result+="er";
- return result;
+ {
+ //QCString result((first_capital ? "Felt" : "felt"));
+ //if (!singular) result+="er";
+ //return result;
+ return createNoun(first_capital, singular, "felt", "er");
}
/*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
+ * 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"));
- if (!singular) result+="e";
- return result;
+ {
+ //QCString result((first_capital ? "Global" : "global"));
+ //if (!singular) result+="e";
+ //return result;
+ return createNoun(first_capital, singular, "global", "e");
}
-
+
+//////////////////////////////////////////////////////////////////////////
+// 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 ? "Forfatter" : "forfatter"));
+ //if (!singular) result+="e";
+ //return result;
+ return createNoun(first_capital, singular, "forfatter", "e");
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.11
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This text is put before the list of members referenced by a member
+ */
+ virtual QCString trReferences()
+ {
+ return "Referencer";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// 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 "Implementerer "+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 "Implementeret i "+trWriteList(numEntries)+".";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.16
+//////////////////////////////////////////////////////////////////////////
+
+ /*! used in RTF documentation as a heading for the Table
+ * of Contents.
+ */
+ virtual QCString trRTFTableOfContents()
+ {
+ return "Indholdsfortegnelse";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.17
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as the header of the list of item that have been
+ * flagged deprecated
+ */
+ virtual QCString trDeprecatedList()
+ {
+ return "Liste over fortidslevn, hvis brug frarådes";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.18
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a header for declaration section of the events found in
+ * a C# program
+ */
+ virtual QCString trEvents()
+ {
+ return "Begivenheder";
+ }
+ /*! Header used for the documentation section of a class' events. */
+ virtual QCString trEventDocumentation()
+ {
+ return "Begivenhedsdokumentation";
+ }
+
+
+/*---------- For internal use: ----------------------------------------*/
+ protected:
+ /*! For easy flexible-noun implementation.
+ * \internal
+ */
+ QCString createNoun(bool first_capital, bool singular,
+ const char* base, const char* plurSuffix)
+ {
+ QCString result(base);
+ if (first_capital) result.at(0) = toupper(result.at(0));
+ if (!singular) result+=plurSuffix;
+ return result;
+ }
};
#endif
diff --git a/src/translator_fr.h b/src/translator_fr.h
index 9934f8f..2641bb7 100644
--- a/src/translator_fr.h
+++ b/src/translator_fr.h
@@ -41,11 +41,13 @@
* -------------+------------------------------------------------------------
* 2002-10-22 | Update for new since 1.2.18
* -------------+------------------------------------------------------------
+ * 2003-02-04 | Corrected typo. Thanks to Bertrand M. :)
+ * -------------+------------------------------------------------------------
*/
#ifndef TRANSLATOR_FR_H
#define TRANSLATOR_FR_H
-class TranslatorFrench : public TranslatorAdapter_1_2_17
+class TranslatorFrench : public Translator
{
public:
QCString idLanguage()
@@ -205,7 +207,7 @@ class TranslatorFrench : public TranslatorAdapter_1_2_17
/*! This is an introduction to the annotated compound list. */
QCString trCompoundListDescription()
- { return "Liste des classes, des strutures et des unions "
+ { return "Liste des classes, des structures et des unions "
"avec une brève description :";
}
@@ -384,7 +386,7 @@ class TranslatorFrench : public TranslatorAdapter_1_2_17
* of documentation blocks for enumeration types
*/
QCString trEnumerationTypeDocumentation()
- { return "Documentation du type de l'énumeration"; }
+ { return "Documentation du type de l'énumération"; }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values
@@ -959,13 +961,13 @@ class TranslatorFrench : public TranslatorAdapter_1_2_17
"</ul>\n"
"Les flèches ont la signification suivante:\n"
"<ul>\n"
- "<li>Une flèche bleu foncé est utilisée pour visuliser une relation d'héritage public "
+ "<li>Une flèche bleu foncé est utilisée pour visualiser une relation d'héritage public "
"entre deux classes.\n"
"<li>Une flèche vert foncé est utilisée pour une relation d'héritage protégé.\n"
"<li>Une flèche rouge foncé est utilisée pour une relation d'héritage privé.\n"
"<li>Une flèche violette en pointillés est utilisée si une classe est contenue ou "
"utilisée par une autre classe. La flèche est étiquetée avec la ou les variable(s) "
- "qui permettent d'acceder à la classe ou structure pointée. \n"
+ "qui permettent d'accéder à la classe ou structure pointée. \n"
"</ul>\n";
}
/*! text for the link to the legend page */
diff --git a/src/treeview.h b/src/treeview.h
deleted file mode 100644
index 9cbcccd..0000000
--- a/src/treeview.h
+++ /dev/null
@@ -1,500 +0,0 @@
-"//**************************************************************** \n"
-"// You are free to copy the \"Folder-Tree\" script as long as you \n"
-"// keep this copyright notice: \n"
-"// Script found in: http://www.geocities.com/Paris/LeftBank/2178/ \n"
-"// Author: Marcelino Alves Martins (martins@hks.com) December '97. \n"
-"//**************************************************************** \n"
-" \n"
-"//Log of changes: \n"
-"// 17 Feb 98 - Fix initialization flashing problem with Netscape\n"
-"// \n"
-"// 27 Jan 98 - Root folder starts open; support for USETEXTLINKS; \n"
-"// make the ftien4 a js file \n"
-"// \n"
-"// DvH: Dec 2000 - Made some minor changes to support external \n"
-"// references\n"
-" \n"
-"// Definition of class Folder \n"
-"// ***************************************************************** \n"
-" \n"
-"function Folder(folderDescription, tagName, hreference) //constructor \n"
-"{ \n"
-" //constant data \n"
-" this.desc = folderDescription \n"
-" this.tagName = tagName\n"
-" this.hreference = hreference \n"
-" this.id = -1 \n"
-" this.navObj = 0 \n"
-" this.iconImg = 0 \n"
-" this.nodeImg = 0 \n"
-" this.isLastNode = 0 \n"
-" \n"
-" //dynamic data \n"
-" this.isOpen = true \n"
-" this.iconSrc = \"ftv2folderopen.png\" \n"
-" this.children = new Array \n"
-" this.nChildren = 0 \n"
-" \n"
-" //methods \n"
-" this.initialize = initializeFolder \n"
-" this.setState = setStateFolder \n"
-" this.addChild = addChild \n"
-" this.createIndex = createEntryIndex \n"
-" this.hide = hideFolder \n"
-" this.display = display \n"
-" this.renderOb = drawFolder \n"
-" this.totalHeight = totalHeight \n"
-" this.subEntries = folderSubEntries \n"
-" this.outputLink = outputFolderLink \n"
-"} \n"
-" \n"
-"function setStateFolder(isOpen) \n"
-"{ \n"
-" var subEntries \n"
-" var totalHeight \n"
-" var fIt = 0 \n"
-" var i=0 \n"
-" \n"
-" if (isOpen == this.isOpen) \n"
-" return \n"
-" \n"
-" if (browserVersion == 2) \n"
-" { \n"
-" totalHeight = 0 \n"
-" for (i=0; i < this.nChildren; i++) \n"
-" totalHeight = totalHeight + this.children[i].navObj.clip.height \n"
-" subEntries = this.subEntries() \n"
-" if (this.isOpen) \n"
-" totalHeight = 0 - totalHeight \n"
-" for (fIt = this.id + subEntries + 1; fIt < nEntries; fIt++) \n"
-" indexOfEntries[fIt].navObj.moveBy(0, totalHeight) \n"
-" } \n"
-" this.isOpen = isOpen \n"
-" propagateChangesInState(this) \n"
-"} \n"
-" \n"
-"function propagateChangesInState(folder) \n"
-"{ \n"
-" var i=0 \n"
-" \n"
-" if (folder.isOpen) \n"
-" { \n"
-" if (folder.nodeImg) \n"
-" if (folder.isLastNode) \n"
-" folder.nodeImg.src = \"ftv2mlastnode.png\" \n"
-" else \n"
-" folder.nodeImg.src = \"ftv2mnode.png\" \n"
-" folder.iconImg.src = \"ftv2folderopen.png\" \n"
-" for (i=0; i<folder.nChildren; i++) \n"
-" folder.children[i].display() \n"
-" } \n"
-" else \n"
-" { \n"
-" if (folder.nodeImg) \n"
-" if (folder.isLastNode) \n"
-" folder.nodeImg.src = \"ftv2plastnode.png\" \n"
-" else \n"
-" folder.nodeImg.src = \"ftv2pnode.png\" \n"
-" folder.iconImg.src = \"ftv2folderclosed.png\" \n"
-" for (i=0; i<folder.nChildren; i++) \n"
-" folder.children[i].hide() \n"
-" } \n"
-"} \n"
-" \n"
-"function hideFolder() \n"
-"{ \n"
-" if (browserVersion == 1 || browserVersion == 3) { \n"
-" if (this.navObj.style.display == \"none\") \n"
-" return \n"
-" this.navObj.style.display = \"none\" \n"
-" } else { \n"
-" if (this.navObj.visibility == \"hidden\") \n"
-" return \n"
-" this.navObj.visibility = \"hidden\" \n"
-" } \n"
-" \n"
-" this.setState(0) \n"
-"} \n"
-" \n"
-"function initializeFolder(level, lastNode, leftSide) \n"
-"{ \n"
-"var j=0 \n"
-"var i=0 \n"
-"var numberOfFolders \n"
-"var numberOfDocs \n"
-"var nc \n"
-" \n"
-" nc = this.nChildren \n"
-" \n"
-" this.createIndex() \n"
-" \n"
-" var auxEv = \"\" \n"
-" \n"
-" if (browserVersion > 0) \n"
-" auxEv = \"<a href='javascript:clickOnNode(\"+this.id+\")'>\" \n"
-" else \n"
-" auxEv = \"<a>\" \n"
-" \n"
-" if (level>0) \n"
-" if (lastNode) //the last 'brother' in the children array \n"
-" { \n"
-" this.renderOb(leftSide + auxEv + \"<img name='nodeIcon\" + this.id + \"' src='ftv2mlastnode.png' width=16 height=22 border=0></a>\") \n"
-" leftSide = leftSide + \"<img src='ftv2blank.png' width=16 height=22>\" \n"
-" this.isLastNode = 1 \n"
-" } \n"
-" else \n"
-" { \n"
-" this.renderOb(leftSide + auxEv + \"<img name='nodeIcon\" + this.id + \"' src='ftv2mnode.png' width=16 height=22 border=0></a>\") \n"
-" leftSide = leftSide + \"<img src='ftv2vertline.png' width=16 height=22>\" \n"
-" this.isLastNode = 0 \n"
-" } \n"
-" else \n"
-" this.renderOb(\"\") \n"
-" \n"
-" if (nc > 0) \n"
-" { \n"
-" level = level + 1 \n"
-" for (i=0 ; i < this.nChildren; i++) \n"
-" { \n"
-" if (i == this.nChildren-1) \n"
-" this.children[i].initialize(level, 1, leftSide) \n"
-" else \n"
-" this.children[i].initialize(level, 0, leftSide) \n"
-" } \n"
-" } \n"
-"} \n"
-" \n"
-"function drawFolder(leftSide) \n"
-"{ \n"
-" if (browserVersion == 2) { \n"
-" if (!doc.yPos) \n"
-" doc.yPos=8 \n"
-" doc.write(\"<layer id='folder\" + this.id + \"' top=\" + doc.yPos + \" visibility=hidden>\") \n"
-" } \n"
-" if (browserVersion == 3) \n"
-" {\n"
-" doc.write(\"<div id='folder\" + this.id + \"' style='visibility:hide;'>\") \n"
-" }\n"
-" \n"
-" doc.write(\"\\n<table \") \n"
-" if (browserVersion == 1) \n"
-" doc.write(\" id='folder\" + this.id + \"' style='position:block;' \") \n"
-" doc.write(\" border=0 cellspacing=0 cellpadding=0>\") \n"
-" doc.write(\"\\n<tr><td>\") \n"
-" doc.write(leftSide) \n"
-" this.outputLink() \n"
-" doc.write(\"<img name='folderIcon\" + this.id + \"' \") \n"
-" doc.write(\"src='\" + this.iconSrc+\"' border=0></a>\") \n"
-" doc.write(\"</td>\\n<td valign=middle nowrap>\") \n"
-" if (USETEXTLINKS) \n"
-" { \n"
-" this.outputLink() \n"
-" doc.write(this.desc + \"</a>\") \n"
-" } \n"
-" else \n"
-" doc.write(this.desc) \n"
-" if (this.tagName!=\"\")\n"
-" {\n"
-" doc.write(\" [external]\")\n"
-" }\n"
-" doc.write(\"</td>\") \n"
-" doc.write(\"\\n</table>\\n\") \n"
-" \n"
-" if (browserVersion == 2) { \n"
-" doc.write(\"</layer>\") \n"
-" } \n"
-" if (browserVersion == 3) { \n"
-" doc.write(\"</div>\") \n"
-" } \n"
-" \n"
-" if (browserVersion == 1) { \n"
-" this.navObj = doc.all[\"folder\"+this.id] \n"
-" this.iconImg = doc.all[\"folderIcon\"+this.id] \n"
-" this.nodeImg = doc.all[\"nodeIcon\"+this.id] \n"
-" } else if (browserVersion == 2) { \n"
-" this.navObj = doc.layers[\"folder\"+this.id] \n"
-" this.iconImg = this.navObj.document.images[\"folderIcon\"+this.id] \n"
-" this.nodeImg = this.navObj.document.images[\"nodeIcon\"+this.id] \n"
-" doc.yPos=doc.yPos+this.navObj.clip.height \n"
-" } else if (browserVersion == 3) {\n"
-" this.navObj = doc.getElementById(\"folder\"+this.id)\n"
-" this.iconImg = doc.images.namedItem(\"folderIcon\"+this.id)\n"
-" this.nodeImg = doc.images.namedItem(\"nodeIcon\"+this.id)\n"
-" }\n"
-"} \n"
-" \n"
-"function outputFolderLink() \n"
-"{ \n"
-" if (this.hreference) \n"
-" { \n"
-" doc.write(\"<a \")\n"
-" if (this.tagName)\n"
-" {\n"
-" doc.write(\"doxygen='\" + this.tagName + \"' \");\n"
-" }\n"
-" doc.write(\"href='\" + this.hreference + \"' TARGET=\\\"basefrm\\\" \") \n"
-" if (browserVersion > 0) \n"
-" doc.write(\"onClick='javascript:clickOnFolder(\"+this.id+\")'\") \n"
-" doc.write(\">\") \n"
-" } \n"
-" else \n"
-" doc.write(\"<a>\") \n"
-"} \n"
-" \n"
-"function addChild(childNode) \n"
-"{ \n"
-" this.children[this.nChildren] = childNode \n"
-" this.nChildren++ \n"
-" return childNode \n"
-"} \n"
-" \n"
-"function folderSubEntries() \n"
-"{ \n"
-" var i = 0 \n"
-" var se = this.nChildren \n"
-" \n"
-" for (i=0; i < this.nChildren; i++){ \n"
-" if (this.children[i].children) //is a folder \n"
-" se = se + this.children[i].subEntries() \n"
-" } \n"
-" \n"
-" return se \n"
-"} \n"
-" \n"
-" \n"
-"// Definition of class Item (a document or link inside a Folder) \n"
-"// ************************************************************* \n"
-" \n"
-"function Item(itemDescription, tagName, itemLink) // Constructor \n"
-"{ \n"
-" // constant data \n"
-" this.desc = itemDescription \n"
-" this.tagName = tagName\n"
-" this.link = itemLink \n"
-" this.id = -1 //initialized in initalize() \n"
-" this.navObj = 0 //initialized in render() \n"
-" this.iconImg = 0 //initialized in render() \n"
-" this.iconSrc = \"ftv2doc.png\" \n"
-" \n"
-" // methods \n"
-" this.initialize = initializeItem \n"
-" this.createIndex = createEntryIndex \n"
-" this.hide = hideItem \n"
-" this.display = display \n"
-" this.renderOb = drawItem \n"
-" this.totalHeight = totalHeight \n"
-"} \n"
-" \n"
-"function hideItem() \n"
-"{ \n"
-" if (browserVersion == 1 || browserVersion == 3) { \n"
-" if (this.navObj.style.display == \"none\") \n"
-" return \n"
-" this.navObj.style.display = \"none\" \n"
-" } else { \n"
-" if (this.navObj.visibility == \"hidden\") \n"
-" return \n"
-" this.navObj.visibility = \"hidden\" \n"
-" } \n"
-"} \n"
-" \n"
-"function initializeItem(level, lastNode, leftSide) \n"
-"{ \n"
-" this.createIndex() \n"
-" \n"
-" if (level>0) \n"
-" if (lastNode) //the last 'brother' in the children array \n"
-" { \n"
-" this.renderOb(leftSide + \"<img src='ftv2lastnode.png' width=16 height=22>\") \n"
-" leftSide = leftSide + \"<img src='ftv2blank.png' width=16 height=22>\" \n"
-" } \n"
-" else \n"
-" { \n"
-" this.renderOb(leftSide + \"<img src='ftv2node.png' width=16 height=22>\") \n"
-" leftSide = leftSide + \"<img src='ftv2vertline.png' width=16 height=22>\" \n"
-" } \n"
-" else \n"
-" this.renderOb(\"\") \n"
-"} \n"
-" \n"
-"function drawItem(leftSide) \n"
-"{ \n"
-" if (browserVersion == 2) \n"
-" doc.write(\"<layer id='item\" + this.id + \"' top=\" + doc.yPos + \" visibility=hidden>\") \n"
-" if (browserVersion == 3) \n"
-" doc.write(\"<div id='item\" + this.id + \"' style='display:block;'>\") \n"
-" \n"
-" doc.write(\"\\n<table \") \n"
-" if (browserVersion == 1) \n"
-" doc.write(\" id='item\" + this.id + \"' style='position:block;' \") \n"
-" doc.write(\" border=0 cellspacing=0 cellpadding=0>\\n\") \n"
-" doc.write(\"<tr><td>\") \n"
-" doc.write(leftSide) \n"
-" if (this.link!=\"\")\n"
-" {\n"
-" doc.write(\"<a href=\" + this.link + \">\") \n"
-" }\n"
-" doc.write(\"<img id='itemIcon\"+this.id+\"' \") \n"
-" doc.write(\"src='\"+this.iconSrc+\"' border=0>\") \n"
-" if (this.link!=\"\")\n"
-" {\n"
-" doc.write(\"</a>\")\n"
-" } \n"
-" doc.write(\"</td>\\n<td valign=middle nowrap>\") \n"
-" if (USETEXTLINKS && this.link!=\"\") \n"
-" doc.write(\"<a href=\" + this.link + \">\" + this.desc + \"</a>\") \n"
-" else \n"
-" doc.write(this.desc) \n"
-" if (this.tagName!=\"\")\n"
-" {\n"
-" doc.write(\" [external]\");\n"
-" }\n"
-" doc.write(\"\\n</table>\\n\") \n"
-" \n"
-" if (browserVersion == 2) \n"
-" doc.write(\"</layer>\") \n"
-" if (browserVersion == 3) \n"
-" doc.write(\"</div>\")\n"
-" \n"
-" if (browserVersion == 1) { \n"
-" this.navObj = doc.all[\"item\"+this.id] \n"
-" this.iconImg = doc.all[\"itemIcon\"+this.id] \n"
-" } else if (browserVersion == 2) { \n"
-" this.navObj = doc.layers[\"item\"+this.id] \n"
-" this.iconImg = this.navObj.document.images[\"itemIcon\"+this.id] \n"
-" doc.yPos=doc.yPos+this.navObj.clip.height \n"
-" } else if (browserVersion == 3) {\n"
-" this.navObj = doc.getElementById(\"item\"+this.id)\n"
-" this.iconImg = doc.images.namedItem(\"itemIcon\"+this.id)\n"
-" }\n"
-"} \n"
-" \n"
-" \n"
-"// Methods common to both objects (pseudo-inheritance) \n"
-"// ******************************************************** \n"
-" \n"
-"function display() \n"
-"{ \n"
-" if (browserVersion == 1 || browserVersion == 3) \n"
-" this.navObj.style.display = \"block\" \n"
-" else \n"
-" this.navObj.visibility = \"show\" \n"
-"} \n"
-" \n"
-"function createEntryIndex() \n"
-"{ \n"
-" this.id = nEntries \n"
-" indexOfEntries[nEntries] = this \n"
-" nEntries++ \n"
-"} \n"
-" \n"
-"// total height of subEntries open \n"
-"function totalHeight() //used with browserVersion == 2 \n"
-"{ \n"
-" var h = this.navObj.clip.height \n"
-" var i = 0 \n"
-" \n"
-" if (this.isOpen) //is a folder and _is_ open \n"
-" for (i=0 ; i < this.nChildren; i++) \n"
-" h = h + this.children[i].totalHeight() \n"
-" \n"
-" return h \n"
-"} \n"
-" \n"
-" \n"
-"// Events \n"
-"// ********************************************************* \n"
-" \n"
-"function clickOnFolder(folderId) \n"
-"{ \n"
-" var clicked = indexOfEntries[folderId] \n"
-" \n"
-" if (!clicked.isOpen) \n"
-" clickOnNode(folderId) \n"
-" \n"
-" return \n"
-" \n"
-" if (clicked.isSelected) \n"
-" return \n"
-"} \n"
-" \n"
-"function clickOnNode(folderId) \n"
-"{ \n"
-" var clickedFolder = 0 \n"
-" var state = 0 \n"
-" \n"
-" clickedFolder = indexOfEntries[folderId] \n"
-" state = clickedFolder.isOpen \n"
-" \n"
-" clickedFolder.setState(!state) //open<->close \n"
-"} \n"
-" \n"
-"function initializeDocument() \n"
-"{ \n"
-" doc = document;\n"
-" if (doc.all) \n"
-" browserVersion = 1 //IE4 \n"
-" else \n"
-" if (doc.layers) \n"
-" browserVersion = 2 //NS4 \n"
-" else if(navigator.userAgent.toLowerCase().indexOf('gecko') != -1)\n"
-" browserVersion = 3 //mozilla\n"
-" else \n"
-" browserVersion = 0 //other \n"
-"\n"
-" foldersTree.initialize(0, 1, \"\") \n"
-" foldersTree.display()\n"
-" \n"
-" if (browserVersion > 0) \n"
-" { \n"
-" if(browserVersion != 3)\n"
-" doc.write(\"<layer top=\"+indexOfEntries[nEntries-1].navObj.top+\">&nbsp;</layer>\") \n"
-" \n"
-" // close the whole tree \n"
-" clickOnNode(0) \n"
-" // open the root folder \n"
-" clickOnNode(0) \n"
-" } \n"
-"} \n"
-" \n"
-"// Auxiliary Functions for Folder-Treee backward compatibility \n"
-"// ********************************************************* \n"
-" \n"
-"function gFld(description, tagName, hreference) \n"
-"{ \n"
-" folder = new Folder(description, tagName, hreference) \n"
-" return folder \n"
-"} \n"
-" \n"
-"function gLnk(description, tagName, linkData) \n"
-"{ \n"
-" fullLink = \"\" \n"
-" \n"
-" if (linkData!=\"\")\n"
-" {\n"
-" fullLink = \"'\"+linkData+\"' target=\\\"basefrm\\\"\" \n"
-" } \n"
-" \n"
-" linkItem = new Item(description, tagName, fullLink) \n"
-" return linkItem \n"
-"} \n"
-" \n"
-"function insFld(parentFolder, childFolder) \n"
-"{ \n"
-" return parentFolder.addChild(childFolder) \n"
-"} \n"
-" \n"
-"function insDoc(parentFolder, document) \n"
-"{ \n"
-" parentFolder.addChild(document) \n"
-"} \n"
-" \n"
-"// Global variables \n"
-"// **************** \n"
-" \n"
-"USETEXTLINKS = 1\n"
-"indexOfEntries = new Array \n"
-"nEntries = 0 \n"
-"doc = document \n"
-"browserVersion = 0 \n"
-"selectedFolder=0\n"
diff --git a/src/treeview.js b/src/treeview.js
deleted file mode 100644
index 6b5ef51..0000000
--- a/src/treeview.js
+++ /dev/null
@@ -1,500 +0,0 @@
-//****************************************************************
-// You are free to copy the "Folder-Tree" script as long as you
-// keep this copyright notice:
-// Script found in: http://www.geocities.com/Paris/LeftBank/2178/
-// Author: Marcelino Alves Martins (martins@hks.com) December '97.
-//****************************************************************
-
-//Log of changes:
-// 17 Feb 98 - Fix initialization flashing problem with Netscape
-//
-// 27 Jan 98 - Root folder starts open; support for USETEXTLINKS;
-// make the ftien4 a js file
-//
-// DvH: Dec 2000 - Made some minor changes to support external
-// references
-
-// Definition of class Folder
-// *****************************************************************
-
-function Folder(folderDescription, tagName, hreference) //constructor
-{
- //constant data
- this.desc = folderDescription
- this.tagName = tagName
- this.hreference = hreference
- this.id = -1
- this.navObj = 0
- this.iconImg = 0
- this.nodeImg = 0
- this.isLastNode = 0
-
- //dynamic data
- this.isOpen = true
- this.iconSrc = "ftv2folderopen.png"
- this.children = new Array
- this.nChildren = 0
-
- //methods
- this.initialize = initializeFolder
- this.setState = setStateFolder
- this.addChild = addChild
- this.createIndex = createEntryIndex
- this.hide = hideFolder
- this.display = display
- this.renderOb = drawFolder
- this.totalHeight = totalHeight
- this.subEntries = folderSubEntries
- this.outputLink = outputFolderLink
-}
-
-function setStateFolder(isOpen)
-{
- var subEntries
- var totalHeight
- var fIt = 0
- var i=0
-
- if (isOpen == this.isOpen)
- return
-
- if (browserVersion == 2)
- {
- totalHeight = 0
- for (i=0; i < this.nChildren; i++)
- totalHeight = totalHeight + this.children[i].navObj.clip.height
- subEntries = this.subEntries()
- if (this.isOpen)
- totalHeight = 0 - totalHeight
- for (fIt = this.id + subEntries + 1; fIt < nEntries; fIt++)
- indexOfEntries[fIt].navObj.moveBy(0, totalHeight)
- }
- this.isOpen = isOpen
- propagateChangesInState(this)
-}
-
-function propagateChangesInState(folder)
-{
- var i=0
-
- if (folder.isOpen)
- {
- if (folder.nodeImg)
- if (folder.isLastNode)
- folder.nodeImg.src = "ftv2mlastnode.png"
- else
- folder.nodeImg.src = "ftv2mnode.png"
- folder.iconImg.src = "ftv2folderopen.png"
- for (i=0; i<folder.nChildren; i++)
- folder.children[i].display()
- }
- else
- {
- if (folder.nodeImg)
- if (folder.isLastNode)
- folder.nodeImg.src = "ftv2plastnode.png"
- else
- folder.nodeImg.src = "ftv2pnode.png"
- folder.iconImg.src = "ftv2folderclosed.png"
- for (i=0; i<folder.nChildren; i++)
- folder.children[i].hide()
- }
-}
-
-function hideFolder()
-{
- if (browserVersion == 1 || browserVersion == 3) {
- if (this.navObj.style.display == "none")
- return
- this.navObj.style.display = "none"
- } else {
- if (this.navObj.visibility == "hidden")
- return
- this.navObj.visibility = "hidden"
- }
-
- this.setState(0)
-}
-
-function initializeFolder(level, lastNode, leftSide)
-{
-var j=0
-var i=0
-var numberOfFolders
-var numberOfDocs
-var nc
-
- nc = this.nChildren
-
- this.createIndex()
-
- var auxEv = ""
-
- if (browserVersion > 0)
- auxEv = "<a href='javascript:clickOnNode("+this.id+")'>"
- else
- auxEv = "<a>"
-
- if (level>0)
- if (lastNode) //the last 'brother' in the children array
- {
- this.renderOb(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='ftv2mlastnode.png' width=16 height=22 border=0></a>")
- leftSide = leftSide + "<img src='ftv2blank.png' width=16 height=22>"
- this.isLastNode = 1
- }
- else
- {
- this.renderOb(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='ftv2mnode.png' width=16 height=22 border=0></a>")
- leftSide = leftSide + "<img src='ftv2vertline.png' width=16 height=22>"
- this.isLastNode = 0
- }
- else
- this.renderOb("")
-
- if (nc > 0)
- {
- level = level + 1
- for (i=0 ; i < this.nChildren; i++)
- {
- if (i == this.nChildren-1)
- this.children[i].initialize(level, 1, leftSide)
- else
- this.children[i].initialize(level, 0, leftSide)
- }
- }
-}
-
-function drawFolder(leftSide)
-{
- if (browserVersion == 2) {
- if (!doc.yPos)
- doc.yPos=8
- doc.write("<layer id='folder" + this.id + "' top=" + doc.yPos + " visibility=hidden>")
- }
- if (browserVersion == 3)
- {
- doc.write("<div id='folder" + this.id + "' style='visibility:hide;'>")
- }
-
- doc.write("\n<table ")
- if (browserVersion == 1)
- doc.write(" id='folder" + this.id + "' style='position:block;' ")
- doc.write(" border=0 cellspacing=0 cellpadding=0>")
- doc.write("\n<tr><td>")
- doc.write(leftSide)
- this.outputLink()
- doc.write("<img name='folderIcon" + this.id + "' ")
- doc.write("src='" + this.iconSrc+"' border=0></a>")
- doc.write("</td>\n<td valign=middle nowrap>")
- if (USETEXTLINKS)
- {
- this.outputLink()
- doc.write(this.desc + "</a>")
- }
- else
- doc.write(this.desc)
- if (this.tagName!="")
- {
- doc.write(" [external]")
- }
- doc.write("</td>")
- doc.write("\n</table>\n")
-
- if (browserVersion == 2) {
- doc.write("</layer>")
- }
- if (browserVersion == 3) {
- doc.write("</div>")
- }
-
- if (browserVersion == 1) {
- this.navObj = doc.all["folder"+this.id]
- this.iconImg = doc.all["folderIcon"+this.id]
- this.nodeImg = doc.all["nodeIcon"+this.id]
- } else if (browserVersion == 2) {
- this.navObj = doc.layers["folder"+this.id]
- this.iconImg = this.navObj.document.images["folderIcon"+this.id]
- this.nodeImg = this.navObj.document.images["nodeIcon"+this.id]
- doc.yPos=doc.yPos+this.navObj.clip.height
- } else if (browserVersion == 3) {
- this.navObj = doc.getElementById("folder"+this.id)
- this.iconImg = doc.images.namedItem("folderIcon"+this.id)
- this.nodeImg = doc.images.namedItem("nodeIcon"+this.id)
- }
-}
-
-function outputFolderLink()
-{
- if (this.hreference)
- {
- doc.write("<a ")
- if (this.tagName)
- {
- doc.write("doxygen='" + this.tagName + "' ");
- }
- doc.write("href='" + this.hreference + "' TARGET=\"basefrm\" ")
- if (browserVersion > 0)
- doc.write("onClick='javascript:clickOnFolder("+this.id+")'")
- doc.write(">")
- }
- else
- doc.write("<a>")
-}
-
-function addChild(childNode)
-{
- this.children[this.nChildren] = childNode
- this.nChildren++
- return childNode
-}
-
-function folderSubEntries()
-{
- var i = 0
- var se = this.nChildren
-
- for (i=0; i < this.nChildren; i++){
- if (this.children[i].children) //is a folder
- se = se + this.children[i].subEntries()
- }
-
- return se
-}
-
-
-// Definition of class Item (a document or link inside a Folder)
-// *************************************************************
-
-function Item(itemDescription, tagName, itemLink) // Constructor
-{
- // constant data
- this.desc = itemDescription
- this.tagName = tagName
- this.link = itemLink
- this.id = -1 //initialized in initalize()
- this.navObj = 0 //initialized in render()
- this.iconImg = 0 //initialized in render()
- this.iconSrc = "ftv2doc.png"
-
- // methods
- this.initialize = initializeItem
- this.createIndex = createEntryIndex
- this.hide = hideItem
- this.display = display
- this.renderOb = drawItem
- this.totalHeight = totalHeight
-}
-
-function hideItem()
-{
- if (browserVersion == 1 || browserVersion == 3) {
- if (this.navObj.style.display == "none")
- return
- this.navObj.style.display = "none"
- } else {
- if (this.navObj.visibility == "hidden")
- return
- this.navObj.visibility = "hidden"
- }
-}
-
-function initializeItem(level, lastNode, leftSide)
-{
- this.createIndex()
-
- if (level>0)
- if (lastNode) //the last 'brother' in the children array
- {
- this.renderOb(leftSide + "<img src='ftv2lastnode.png' width=16 height=22>")
- leftSide = leftSide + "<img src='ftv2blank.png' width=16 height=22>"
- }
- else
- {
- this.renderOb(leftSide + "<img src='ftv2node.png' width=16 height=22>")
- leftSide = leftSide + "<img src='ftv2vertline.png' width=16 height=22>"
- }
- else
- this.renderOb("")
-}
-
-function drawItem(leftSide)
-{
- if (browserVersion == 2)
- doc.write("<layer id='item" + this.id + "' top=" + doc.yPos + " visibility=hidden>")
- if (browserVersion == 3)
- doc.write("<div id='item" + this.id + "' style='display:block;'>")
-
- doc.write("\n<table ")
- if (browserVersion == 1)
- doc.write(" id='item" + this.id + "' style='position:block;' ")
- doc.write(" border=0 cellspacing=0 cellpadding=0>\n")
- doc.write("<tr><td>")
- doc.write(leftSide)
- if (this.link!="")
- {
- doc.write("<a href=" + this.link + ">")
- }
- doc.write("<img id='itemIcon"+this.id+"' ")
- doc.write("src='"+this.iconSrc+"' border=0>")
- if (this.link!="")
- {
- doc.write("</a>")
- }
- doc.write("</td>\n<td valign=middle nowrap>")
- if (USETEXTLINKS && this.link!="")
- doc.write("<a href=" + this.link + ">" + this.desc + "</a>")
- else
- doc.write(this.desc)
- if (this.tagName!="")
- {
- doc.write(" [external]");
- }
- doc.write("\n</table>\n")
-
- if (browserVersion == 2)
- doc.write("</layer>")
- if (browserVersion == 3)
- doc.write("</div>")
-
- if (browserVersion == 1) {
- this.navObj = doc.all["item"+this.id]
- this.iconImg = doc.all["itemIcon"+this.id]
- } else if (browserVersion == 2) {
- this.navObj = doc.layers["item"+this.id]
- this.iconImg = this.navObj.document.images["itemIcon"+this.id]
- doc.yPos=doc.yPos+this.navObj.clip.height
- } else if (browserVersion == 3) {
- this.navObj = doc.getElementById("item"+this.id)
- this.iconImg = doc.images.namedItem("itemIcon"+this.id)
- }
-}
-
-
-// Methods common to both objects (pseudo-inheritance)
-// ********************************************************
-
-function display()
-{
- if (browserVersion == 1 || browserVersion == 3)
- this.navObj.style.display = "block"
- else
- this.navObj.visibility = "show"
-}
-
-function createEntryIndex()
-{
- this.id = nEntries
- indexOfEntries[nEntries] = this
- nEntries++
-}
-
-// total height of subEntries open
-function totalHeight() //used with browserVersion == 2
-{
- var h = this.navObj.clip.height
- var i = 0
-
- if (this.isOpen) //is a folder and _is_ open
- for (i=0 ; i < this.nChildren; i++)
- h = h + this.children[i].totalHeight()
-
- return h
-}
-
-
-// Events
-// *********************************************************
-
-function clickOnFolder(folderId)
-{
- var clicked = indexOfEntries[folderId]
-
- if (!clicked.isOpen)
- clickOnNode(folderId)
-
- return
-
- if (clicked.isSelected)
- return
-}
-
-function clickOnNode(folderId)
-{
- var clickedFolder = 0
- var state = 0
-
- clickedFolder = indexOfEntries[folderId]
- state = clickedFolder.isOpen
-
- clickedFolder.setState(!state) //open<->close
-}
-
-function initializeDocument()
-{
- doc = document;
- if (doc.all)
- browserVersion = 1 //IE4
- else
- if (doc.layers)
- browserVersion = 2 //NS4
- else if(navigator.userAgent.toLowerCase().indexOf('gecko') != -1)
- browserVersion = 3 //mozilla
- else
- browserVersion = 0 //other
-
- foldersTree.initialize(0, 1, "")
- foldersTree.display()
-
- if (browserVersion > 0)
- {
- if(browserVersion != 3)
- doc.write("<layer top="+indexOfEntries[nEntries-1].navObj.top+">&nbsp;</layer>")
-
- // close the whole tree
- clickOnNode(0)
- // open the root folder
- clickOnNode(0)
- }
-}
-
-// Auxiliary Functions for Folder-Treee backward compatibility
-// *********************************************************
-
-function gFld(description, tagName, hreference)
-{
- folder = new Folder(description, tagName, hreference)
- return folder
-}
-
-function gLnk(description, tagName, linkData)
-{
- fullLink = ""
-
- if (linkData!="")
- {
- fullLink = "'"+linkData+"' target=\"basefrm\""
- }
-
- linkItem = new Item(description, tagName, fullLink)
- return linkItem
-}
-
-function insFld(parentFolder, childFolder)
-{
- return parentFolder.addChild(childFolder)
-}
-
-function insDoc(parentFolder, document)
-{
- parentFolder.addChild(document)
-}
-
-// Global variables
-// ****************
-
-USETEXTLINKS = 1
-indexOfEntries = new Array
-nEntries = 0
-doc = document
-browserVersion = 0
-selectedFolder=0
diff --git a/src/util.cpp b/src/util.cpp
index f7da9b5..94cf56e 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -98,7 +98,7 @@ int iSystem(const char *command,const char *args,bool isBatchFile)
if (command==0) return 1;
-//#ifdef _OS_SOLARIS_
+#ifdef _OS_SOLARIS // for Solaris we use vfork since it is more memory efficient
// on Solaris fork() duplicates the memory usage
// so we use vfork instead
@@ -131,38 +131,36 @@ int iSystem(const char *command,const char *args,bool isBatchFile)
}
return status;
-//#else /* Other unices where clients do copy on demand for the parent's pages
-// * when forked.
-// */
-//
-// pid = fork();
-// if (pid==-1) return -1;
-// if (pid==0)
-// {
-// char buf[4096];
-// strcpy(buf,command);
-// strcat(buf," ");
-// strcat(buf,args);
-// const char * argv[4];
-// argv[0] = "sh";
-// argv[1] = "-c";
-// argv[2] = buf;
-// argv[3] = 0;
-// execve("/bin/sh",(char * const *)argv,environ);
-// exit(127);
-// }
-// for (;;)
-// {
-// if (waitpid(pid,&status,0)==-1)
-// {
-// if (errno!=EINTR) return -1;
-// }
-// else
-// {
-// return status;
-// }
-// }
-//#endif
+#else // Other Unices just use fork
+
+ pid = fork();
+ if (pid==-1) return -1;
+ if (pid==0)
+ {
+ char buf[4096];
+ strcpy(buf,command);
+ strcat(buf," ");
+ strcat(buf,args);
+ const char * argv[4];
+ argv[0] = "sh";
+ argv[1] = "-c";
+ argv[2] = buf;
+ argv[3] = 0;
+ execve("/bin/sh",(char * const *)argv,environ);
+ exit(127);
+ }
+ for (;;)
+ {
+ if (waitpid(pid,&status,0)==-1)
+ {
+ if (errno!=EINTR) return -1;
+ }
+ else
+ {
+ return status;
+ }
+ }
+#endif // _OS_SOLARIS
#else
if (isBatchFile)
diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp
index c5f6d46..9c90234 100644
--- a/src/xmlgen.cpp
+++ b/src/xmlgen.cpp
@@ -510,10 +510,17 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
ArgumentList *al = md->argumentList();
t << " const=\"";
if (al && al->constSpecifier) t << "yes"; else t << "no";
- t << "\" volatile=\"";
+ t << "\"";
+ }
+
+ if (md->memberType() == MemberDef::Variable)
+ {
+ ArgumentList *al = md->argumentList();
+ t << " volatile=\"";
if (al && al->volatileSpecifier) t << "yes"; else t << "no";
t << "\"";
}
+
t << ">" << endl;
if (md->memberType()!=MemberDef::Define &&