Commit 5f3d8499 authored by Dimitri van Heesch's avatar Dimitri van Heesch

Release-1.5.8-20090129

parent a0924f7d
DOXYGEN Version 1.5.8 DOXYGEN Version 1.5.8-20090129
Please read the installation section of the manual Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions. (http://www.doxygen.org/install.html) for instructions.
-------- --------
Dimitri van Heesch (27 December 2008) Dimitri van Heesch (29 January 2009)
DOXYGEN Version 1.5.8 DOXYGEN Version 1.5.8_20090129
Please read INSTALL for compilation instructions. Please read INSTALL for compilation instructions.
...@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives. ...@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy, Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (27 December 2008) Dimitri van Heesch (dimitri@stack.nl) (29 January 2009)
...@@ -14,6 +14,10 @@ MOC_DIR = moc ...@@ -14,6 +14,10 @@ MOC_DIR = moc
RCC_DIR = rcc RCC_DIR = rcc
DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII
macx-g++ {
CONFIG += x86 ppc
}
# Input # Input
HEADERS += doxywizard.h version.h expert.h config.h helplabel.h \ HEADERS += doxywizard.h version.h expert.h config.h helplabel.h \
inputbool.h inputstring.h inputint.h inputstrlist.h wizard.h inputbool.h inputstring.h inputint.h inputstrlist.h wizard.h
......
...@@ -543,7 +543,7 @@ EOF ...@@ -543,7 +543,7 @@ EOF
EOF EOF
fi fi
fi fi
if test "$f_platform" = "hpux-g++"; then if test "$f_platform" = "hpux-g++" -o "$f_platform" = "linux-g++"; then
cat >> .tmakeconfig <<EOF cat >> .tmakeconfig <<EOF
TMAKE_CXXFLAGS += -D_LARGEFILE_SOURCE TMAKE_CXXFLAGS += -D_LARGEFILE_SOURCE
EOF EOF
......
...@@ -133,7 +133,7 @@ class ClassDefImpl ...@@ -133,7 +133,7 @@ class ClassDefImpl
/*! The class this class is an instance of. */ /*! The class this class is an instance of. */
ClassDef *templateMaster; ClassDef *templateMaster;
/*! class name with outer class scope, but without namespace scope. */ /*! local class name which could be a typedef'ed alias name. */
QCString className; QCString className;
/*! If this class is a Objective-C category, then this points to the /*! If this class is a Objective-C category, then this points to the
...@@ -209,8 +209,8 @@ void ClassDefImpl::init(const char *defFileName, const char *name, ...@@ -209,8 +209,8 @@ void ClassDefImpl::init(const char *defFileName, const char *name,
membersMerged = FALSE; membersMerged = FALSE;
categoryOf = 0; categoryOf = 0;
usedOnly = FALSE; usedOnly = FALSE;
QCString ns; //QCString ns;
extractNamespaceName(name,className,ns); //extractNamespaceName(name,className,ns);
//printf("m_name=%s m_className=%s ns=%s\n",m_name.data(),m_className.data(),ns.data()); //printf("m_name=%s m_className=%s ns=%s\n",m_name.data(),m_className.data(),ns.data());
if (((QCString)defFileName).right(5)!=".java" && if (((QCString)defFileName).right(5)!=".java" &&
...@@ -3025,7 +3025,7 @@ QCString ClassDef::qualifiedNameWithTemplateParameters( ...@@ -3025,7 +3025,7 @@ QCString ClassDef::qualifiedNameWithTemplateParameters(
if (!scName.isEmpty()) scName+=scopeSeparator; if (!scName.isEmpty()) scName+=scopeSeparator;
} }
scName+=m_impl->className; scName+=className();
ArgumentList *al=0; ArgumentList *al=0;
bool isSpecialization = localName().find('<')!=-1; bool isSpecialization = localName().find('<')!=-1;
if (templateArguments()) if (templateArguments())
...@@ -3052,7 +3052,14 @@ QCString ClassDef::qualifiedNameWithTemplateParameters( ...@@ -3052,7 +3052,14 @@ QCString ClassDef::qualifiedNameWithTemplateParameters(
QCString ClassDef::className() const QCString ClassDef::className() const
{ {
if (m_impl->className.isEmpty())
{
return localName();
}
else
{
return m_impl->className; return m_impl->className;
}
}; };
void ClassDef::setClassName(const char *name) void ClassDef::setClassName(const char *name)
......
...@@ -225,7 +225,8 @@ The format is ext=language, where ext is a file extension, and language is one o ...@@ -225,7 +225,8 @@ The format is ext=language, where ext is a file extension, and language is one o
the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
.inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
use: inc=Fortran f=C use: inc=Fortran f=C. Note that for custom extensions you also need to set
FILE_PATTERNS otherwise the files are not read by doxygen.
'> '>
</option> </option>
<option type='bool' id='BUILTIN_STL_SUPPORT' docs=' <option type='bool' id='BUILTIN_STL_SUPPORT' docs='
......
...@@ -8617,6 +8617,7 @@ static QCString resolveSymlink(QCString path) ...@@ -8617,6 +8617,7 @@ static QCString resolveSymlink(QCString path)
QDict<void> nonSymlinks; QDict<void> nonSymlinks;
QDict<void> known; QDict<void> known;
QCString result = path; QCString result = path;
QCString oldPrefix = "/";
do do
{ {
#ifdef WIN32 #ifdef WIN32
...@@ -8637,7 +8638,7 @@ static QCString resolveSymlink(QCString path) ...@@ -8637,7 +8638,7 @@ static QCString resolveSymlink(QCString path)
QString target = fi.readLink(); QString target = fi.readLink();
if (QFileInfo(target).isRelative()) if (QFileInfo(target).isRelative())
{ {
target = QDir::cleanDirPath(prefix+"/"+target.data()); target = QDir::cleanDirPath(oldPrefix+"/"+target.data());
} }
if (sepPos!=-1) if (sepPos!=-1)
{ {
...@@ -8656,6 +8657,7 @@ static QCString resolveSymlink(QCString path) ...@@ -8656,6 +8657,7 @@ static QCString resolveSymlink(QCString path)
{ {
nonSymlinks.insert(prefix,(void*)0x8); nonSymlinks.insert(prefix,(void*)0x8);
} }
oldPrefix = prefix;
} }
} }
while (sepPos!=-1); while (sepPos!=-1);
...@@ -8698,6 +8700,8 @@ int readDir(QFileInfo *fi, ...@@ -8698,6 +8700,8 @@ int readDir(QFileInfo *fi,
//printf("killDict=%p count=%d\n",killDict,killDict->count()); //printf("killDict=%p count=%d\n",killDict,killDict->count());
const QFileInfoList *list = dir.entryInfoList(); const QFileInfoList *list = dir.entryInfoList();
if (list)
{
QFileInfoListIterator it( *list ); QFileInfoListIterator it( *list );
QFileInfo *cfi; QFileInfo *cfi;
...@@ -8762,6 +8766,7 @@ int readDir(QFileInfo *fi, ...@@ -8762,6 +8766,7 @@ int readDir(QFileInfo *fi,
} }
++it; ++it;
} }
}
return totalSize; return totalSize;
} }
...@@ -10472,7 +10477,7 @@ void generateOutput() ...@@ -10472,7 +10477,7 @@ void generateOutput()
QCString const qhpFileName = Qhp::getQhpFileName(); QCString const qhpFileName = Qhp::getQhpFileName();
QCString const qchFileName = getQchFileName(); QCString const qchFileName = getQchFileName();
QCString const args = QCString().sprintf("%s -o %s", qhpFileName.data(), qchFileName.data()); QCString const args = QCString().sprintf("%s -o \"%s\"", qhpFileName.data(), qchFileName.data());
QString const oldDir = QDir::currentDirPath(); QString const oldDir = QDir::currentDirPath();
QDir::setCurrent(Config_getString("HTML_OUTPUT")); QDir::setCurrent(Config_getString("HTML_OUTPUT"));
if (portable_system(Config_getString("QHG_LOCATION"), args.data(), FALSE)) if (portable_system(Config_getString("QHG_LOCATION"), args.data(), FALSE))
......
...@@ -191,17 +191,8 @@ class Entry ...@@ -191,17 +191,8 @@ class Entry
/*! Kind of entries that are supported */ /*! Kind of entries that are supported */
enum Sections { enum Sections {
CLASS_SEC = 0x00000001, CLASS_SEC = 0x00000001,
//STRUCT_SEC = 0x00000002,
//UNION_SEC = 0x00000004,
//EXCEPTION_SEC = 0x00000008,
NAMESPACE_SEC = 0x00000010, NAMESPACE_SEC = 0x00000010,
//INTERFACE_SEC = 0x00000020, COMPOUND_MASK = CLASS_SEC,
//PROTOCOL_SEC = 0x00000040,
//CATEGORY_SEC = 0x00000080,
COMPOUND_MASK = CLASS_SEC //| STRUCT_SEC | UNION_SEC |
//INTERFACE_SEC | EXCEPTION_SEC |
//PROTOCOL_SEC | CATEGORY_SEC
,
SCOPE_MASK = COMPOUND_MASK | NAMESPACE_SEC, SCOPE_MASK = COMPOUND_MASK | NAMESPACE_SEC,
CLASSDOC_SEC = 0x00000800, CLASSDOC_SEC = 0x00000800,
......
...@@ -916,7 +916,7 @@ void HtmlGenerator::writeObjectLink(const char *ref,const char *f, ...@@ -916,7 +916,7 @@ void HtmlGenerator::writeObjectLink(const char *ref,const char *f,
t << "href=\""; t << "href=\"";
if (ref) if (ref)
{ {
if ((dest=Doxygen::tagDestinationDict[ref])) t << relPath << *dest << "/"; if ((dest=Doxygen::tagDestinationDict[ref])) t << *dest << "/";
} }
else else
{ {
......
...@@ -372,6 +372,23 @@ void HtmlHelp::initialize() ...@@ -372,6 +372,23 @@ void HtmlHelp::initialize()
0x412 Korean 0x412 Korean
0x804 Chinese (PRC) 0x804 Chinese (PRC)
0x404 Chinese (Taiwan) 0x404 Chinese (Taiwan)
New LCIDs:
0x421 Indonesian
0x41A Croatian
0x418 Romanian
0x424 Slovenian
0x41B Slovak
0x422 Ukrainian
0x81A Serbian (Serbia, Latin)
0x403 Catalan
0x427 Lithuanian
0x436 Afrikaans
0x42A Vietnamese
0x429 Persian (Iran)
0xC01 Arabic (Egypt) - I don't know which version of arabic is used inside translator_ar.h ,
so I have chosen Egypt at random
*/ */
s_languageDict.setAutoDelete(TRUE); s_languageDict.setAutoDelete(TRUE);
s_languageDict.clear(); s_languageDict.clear();
...@@ -381,22 +398,38 @@ void HtmlHelp::initialize() ...@@ -381,22 +398,38 @@ void HtmlHelp::initialize()
s_languageDict.insert("finnish", new QCString("0x40B Finnish")); s_languageDict.insert("finnish", new QCString("0x40B Finnish"));
s_languageDict.insert("french", new QCString("0x40C French")); s_languageDict.insert("french", new QCString("0x40C French"));
s_languageDict.insert("german", new QCString("0x407 German")); s_languageDict.insert("german", new QCString("0x407 German"));
s_languageDict.insert("greece", new QCString("0x408 Greece")); s_languageDict.insert("greek", new QCString("0x408 Greece"));
s_languageDict.insert("hungarian", new QCString("0x40E Hungarian")); s_languageDict.insert("hungarian", new QCString("0x40E Hungarian"));
s_languageDict.insert("italian", new QCString("0x410 Italian")); s_languageDict.insert("italian", new QCString("0x410 Italian"));
s_languageDict.insert("norwegian", new QCString("0x814 Norwegian")); s_languageDict.insert("norwegian", new QCString("0x814 Norwegian"));
s_languageDict.insert("polish", new QCString("0x415 Polish")); s_languageDict.insert("polish", new QCString("0x415 Polish"));
s_languageDict.insert("portugese", new QCString("0x816 Portuguese(Portugal)")); s_languageDict.insert("portuguese", new QCString("0x816 Portuguese(Portugal)"));
s_languageDict.insert("brazil", new QCString("0x416 Portuguese(Brazil)")); s_languageDict.insert("brazil", new QCString("0x416 Portuguese(Brazil)"));
s_languageDict.insert("russian", new QCString("0x419 Russian")); s_languageDict.insert("russian", new QCString("0x419 Russian"));
s_languageDict.insert("spanish", new QCString("0x40A Spannish(Traditional Sort)")); s_languageDict.insert("spanish", new QCString("0x40A Spanish(Traditional Sort)"));
s_languageDict.insert("swedish", new QCString("0x41D Swedish")); s_languageDict.insert("swedish", new QCString("0x41D Swedish"));
s_languageDict.insert("turkey", new QCString("0x41F Turkey")); s_languageDict.insert("turkish", new QCString("0x41F Turkey"));
s_languageDict.insert("japanese", new QCString("0x411 Japanese")); s_languageDict.insert("japanese", new QCString("0x411 Japanese"));
s_languageDict.insert("japanese-en", new QCString("0x411 Japanese")); s_languageDict.insert("japanese-en", new QCString("0x411 Japanese"));
s_languageDict.insert("korean", new QCString("0x412 Korean")); s_languageDict.insert("korean", new QCString("0x412 Korean"));
s_languageDict.insert("korean-en", new QCString("0x412 Korean"));
s_languageDict.insert("chinese", new QCString("0x804 Chinese (PRC)")); s_languageDict.insert("chinese", new QCString("0x804 Chinese (PRC)"));
s_languageDict.insert("chinese-traditional", new QCString("0x404 Chinese (Taiwan)")); s_languageDict.insert("chinese-traditional", new QCString("0x404 Chinese (Taiwan)"));
// new LCIDs
s_languageDict.insert("indonesian", new QCString("0x412 Indonesian"));
s_languageDict.insert("croatian", new QCString("0x41A Croatian"));
s_languageDict.insert("romanian", new QCString("0x418 Romanian"));
s_languageDict.insert("slovene", new QCString("0x424 Slovenian"));
s_languageDict.insert("slovak", new QCString("0x41B Slovak"));
s_languageDict.insert("ukrainian", new QCString("0x422 Ukrainian"));
s_languageDict.insert("serbian", new QCString("0x81A Serbian (Serbia, Latin)"));
s_languageDict.insert("catalan", new QCString("0x403 Catalan"));
s_languageDict.insert("lithuanian", new QCString("0x427 Lithuanian"));
s_languageDict.insert("afrikaans", new QCString("0x436 Afrikaans"));
s_languageDict.insert("vietnamese", new QCString("0x42A Vietnamese"));
s_languageDict.insert("persian", new QCString("0x429 Persian (Iran)"));
s_languageDict.insert("arabic", new QCString("0xC01 Arabic (Egypt)"));
} }
......
...@@ -280,11 +280,13 @@ void MemberList::writePlainDeclarations(OutputList &ol, ...@@ -280,11 +280,13 @@ void MemberList::writePlainDeclarations(OutputList &ol,
} }
case MemberDef::EnumValue: case MemberDef::EnumValue:
{ {
if (!m_inGroup) return; if (m_inGroup)
printf("EnumValue!\n"); {
//printf("EnumValue!\n");
if (first) ol.startMemberList(),first=FALSE; if (first) ol.startMemberList(),first=FALSE;
md->writeDeclaration(ol,cd,nd,fd,gd,m_inGroup); md->writeDeclaration(ol,cd,nd,fd,gd,m_inGroup);
} }
}
break; break;
} }
} }
......
...@@ -180,7 +180,7 @@ static char **last_environ; ...@@ -180,7 +180,7 @@ static char **last_environ;
void portable_setenv(const char *name,const char *value) void portable_setenv(const char *name,const char *value)
{ {
#ifdef _WIN32 #if defined(_WIN32) && !defined(__CYGWIN__)
SetEnvironmentVariable(name,value); SetEnvironmentVariable(name,value);
#else #else
register char **ep = 0; register char **ep = 0;
...@@ -259,7 +259,7 @@ void portable_setenv(const char *name,const char *value) ...@@ -259,7 +259,7 @@ void portable_setenv(const char *name,const char *value)
void portable_unsetenv(const char *variable) void portable_unsetenv(const char *variable)
{ {
#ifdef _WIN32 #if defined(_WIN32) && !defined(__CYGWIN__)
SetEnvironmentVariable(variable,0); SetEnvironmentVariable(variable,0);
#else #else
/* Some systems don't have unsetenv(), so we do it ourselves */ /* Some systems don't have unsetenv(), so we do it ourselves */
......
...@@ -2619,7 +2619,10 @@ void RTFGenerator::postProcess(QByteArray &a) ...@@ -2619,7 +2619,10 @@ void RTFGenerator::postProcess(QByteArray &a)
for (i=0;i<a.size();i++) for (i=0;i<a.size();i++)
{ {
unsigned char c = (unsigned char)a.at(i); unsigned char c = (unsigned char)a.at(i);
if (c>0x80 || mbFlag)
// treat characters > 0x80 as multibyte characters, except when they
// are control characters
if (c>0x80 || (mbFlag && c!='\\' && c!='{' && c!='}'))
{ {
char s[10]; char s[10];
sprintf(s,"\\'%X",c); sprintf(s,"\\'%X",c);
......
...@@ -3998,7 +3998,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?) ...@@ -3998,7 +3998,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
int tempArg=current->name.find('<'); int tempArg=current->name.find('<');
QCString tempName; QCString tempName;
if (tempArg==-1) tempName=current->name; else tempName=current->name.left(tempArg); if (tempArg==-1) tempName=current->name; else tempName=current->name.left(tempArg);
if (current->type.isEmpty() && if (!current->type.isEmpty() &&
(current->type.find(re,0)!=-1 || current->type.left(8)=="typedef ")) (current->type.find(re,0)!=-1 || current->type.left(8)=="typedef "))
{ {
//printf("Scanner.l: found in class variable: `%s' `%s' `%s'\n", current->type.data(),current->name.data(),current->args.data()); //printf("Scanner.l: found in class variable: `%s' `%s' `%s'\n", current->type.data(),current->name.data(),current->args.data());
......
...@@ -114,6 +114,9 @@ ...@@ -114,6 +114,9 @@
// 2008/02/04 Jens Seidel (jensseidel@users.sourceforge.net) // 2008/02/04 Jens Seidel (jensseidel@users.sourceforge.net)
// - Updated for "new since 1.5.4" version // - Updated for "new since 1.5.4" version
// //
// 2009/01/09 Jens Seidel (jensseidel@users.sourceforge.net)
// - Resynced the trLegendDocs() method
//
// Todo: // Todo:
// - see FIXME // - see FIXME
...@@ -665,7 +668,7 @@ class TranslatorGerman : public Translator ...@@ -665,7 +668,7 @@ class TranslatorGerman : public Translator
bool isTemplate) bool isTemplate)
{ {
QCString result=(QCString)clName+" "; QCString result=(QCString)clName+" ";
if (isTemplate) result+="Template "; if (isTemplate) result+="Template-";
switch(compType) switch(compType)
{ {
case ClassDef::Class: result+="Klassen"; break; case ClassDef::Class: result+="Klassen"; break;
...@@ -831,8 +834,7 @@ class TranslatorGerman : public Translator ...@@ -831,8 +834,7 @@ class TranslatorGerman : public Translator
*/ */
virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType, virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
bool single) bool single)
{ // here s is one of " Class", " Struct" or " Union" { // single is true implies a single file
// single is true implies a single file
QCString result=(QCString)"Die Dokumentation für diese"; QCString result=(QCString)"Die Dokumentation für diese";
switch(compType) switch(compType)
{ {
...@@ -1117,7 +1119,7 @@ class TranslatorGerman : public Translator ...@@ -1117,7 +1119,7 @@ class TranslatorGerman : public Translator
"class Undocumented { };\n\n" "class Undocumented { };\n\n"
"/*! Mithilfe öffentlicher Vererbung vererbte Klasse */\n" "/*! Mithilfe öffentlicher Vererbung vererbte Klasse */\n"
"class PublicBase : public Truncated { };\n\n" "class PublicBase : public Truncated { };\n\n"
"/*! Eine Template Klasse */\n" "/*! Eine Template-Klasse */\n"
"template<class T> class Templ { };\n\n" "template<class T> class Templ { };\n\n"
"/*! Mithilfe geschützter Vererbung vererbte Klasse */\n" "/*! Mithilfe geschützter Vererbung vererbte Klasse */\n"
"class ProtectedBase { };\n\n" "class ProtectedBase { };\n\n"
...@@ -1135,14 +1137,13 @@ class TranslatorGerman : public Translator ...@@ -1135,14 +1137,13 @@ class TranslatorGerman : public Translator
" private:\n" " private:\n"
" Used *m_usedClass;\n" " Used *m_usedClass;\n"
"};\n" "};\n"
"\\endcode\n\n" "\\endcode\n"
"Setzen des Tags \\c MAX_DOT_GRAPH_HEIGHT in der Konfigurationsdatei " "Dies liefert den folgenden Graphen:"
"auf 240 liefert den folgenden Graphen:"
"<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n" "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n" "<p>\n"
"Die Rechtecke in obigem Graphen bedeuten:\n" "Die Rechtecke in obigem Graphen bedeuten:\n"
"<ul>\n" "<ul>\n"
"<li>Ein schwarz gefülltes Rechteck stellt die Struktur oder " "<li>Ein grau gefülltes Rechteck stellt die Struktur oder "
"Klasse dar, für die der Graph erzeugt wurde.\n" "Klasse dar, für die der Graph erzeugt wurde.\n"
"<li>Ein Rechteck mit schwarzem Rahmen kennzeichnet eine dokumentierte " "<li>Ein Rechteck mit schwarzem Rahmen kennzeichnet eine dokumentierte "
"Struktur oder Klasse.\n" "Struktur oder Klasse.\n"
......
...@@ -767,8 +767,7 @@ class TranslatorEnglish : public Translator ...@@ -767,8 +767,7 @@ class TranslatorEnglish : public Translator
*/ */
virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType, virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
bool single) bool single)
{ // here s is one of " Class", " Struct" or " Union" { // single is true implies a single file
// single is true implies a single file
QCString result=(QCString)"The documentation for this "; QCString result=(QCString)"The documentation for this ";
switch(compType) switch(compType)
{ {
...@@ -1731,7 +1730,7 @@ class TranslatorEnglish : public Translator ...@@ -1731,7 +1730,7 @@ class TranslatorEnglish : public Translator
*/ */
virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType, virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType,
bool single) bool single)
{ // here s is one of " Module", " Struct" or " Union" {
// single is true implies a single file // single is true implies a single file
QCString result=(QCString)"The documentation for this "; QCString result=(QCString)"The documentation for this ";
switch(compType) switch(compType)
......
This diff is collapsed.
...@@ -68,6 +68,9 @@ ...@@ -68,6 +68,9 @@
// 2006/06/11 // 2006/06/11
// - Added strings for 1.4.6 // - Added strings for 1.4.6
// //
// 2009/01/09
// - Updated trLegendDocs
//
#ifndef TRANSLATOR_HR_H #ifndef TRANSLATOR_HR_H
#define TRANSLATOR_HR_H #define TRANSLATOR_HR_H
...@@ -776,26 +779,29 @@ class TranslatorCroatian : public Translator ...@@ -776,26 +779,29 @@ class TranslatorCroatian : public Translator
" Used *m_usedClass;\n" " Used *m_usedClass;\n"
"};\n" "};\n"
"\\endcode\n" "\\endcode\n"
"Ako je \\c MAX_DOT_GRAPH_HEIGHT tag u konfiguracijskoj datoteci " "To e rezultirati grafikonom:"
"postavljen na 200 gornje veze e rezultirati grafikonom:"
"<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n" "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n" "<p>\n"
"Pravokutnici imaju slijedee znaenje:\n" "Pravokutnici imaju slijedee znaenje:\n"
"<ul>\n" "<ul>\n"
"<li>Puni crni predstavlja klasu za koji je generiran graf.\n" "<li>%A Puni crni predstavlja klasu za koji je generiran graf.\n"
"<li>Pravokutnik s crnim rubom predstavlja dokumentiranu klasu.\n" "<li>%A Pravokutnik s crnim rubom predstavlja dokumentiranu klasu.\n"
"<li>Pravokutnik s sivim rubom predstavlja nedokumentiranu klasu.\n" "<li>%A Pravokutnik s sivim rubom predstavlja nedokumentiranu klasu.\n"
"<li>Pravokutnik s crvenim rubom predstavlja dokumentiranu klasu\n" "<li>%A Pravokutnik s crvenim rubom predstavlja dokumentiranu klasu\n"
"Za koju nije prikazan graf naslijeivanja. Graf je odrezan " "Za koju nije prikazan graf naslijeivanja. Graf je odrezan "
"ako ne stane unutar odreenih granica." "ako ne stane unutar odreenih granica."
"</ul>\n" "</ul>\n"
"Strelice imaju slijedee znaenje:\n" "Strelice imaju slijedee znaenje:\n"
"<ul>\n" "<ul>\n"
"<li>Tamnoplava strelica oznaava public naslijeivanje.\n" "<li>%A Tamnoplava strelica oznaava public naslijeivanje.\n"
"<li>Tamnozelena strelica oznaava protected naslijeivanje.\n" "<li>%A Tamnozelena strelica oznaava protected naslijeivanje.\n"
"<li>Tamnocrvena strelica oznaava private naslijeivanje.\n" "<li>%A Tamnocrvena strelica oznaava private naslijeivanje.\n"
"<li>Ljubiasta isprekidana strelica se koristi za agregate vezu. " "<li>%A Ljubiasta isprekidana strelica se koristi ako je klasa dio "
"druge klase ili ako se klasa koristi u drugoj klasi. Natpis na "
"strelici je ime varijable u drugoj klasi\n"
"Strelica je oznaena imenom varijable.\n" "Strelica je oznaena imenom varijable.\n"
"<li>%A uta isprekidana strelica oznaava relaciju izmeu template instance "
"i template klase. Oznaena je imenom template parametra\n"
"</ul>\n"); "</ul>\n");
} }
/*! text for the link to the legend page */ /*! text for the link to the legend page */
......
...@@ -1064,8 +1064,7 @@ class TranslatorKorean : public Translator ...@@ -1064,8 +1064,7 @@ class TranslatorKorean : public Translator
" Used *m_usedClass;\n" " Used *m_usedClass;\n"
"};\n" "};\n"
"\\endcode\n" "\\endcode\n"
"만약 설정파일에서 \\c MAX_DOT_GRAPH_HEIGHT 태그가 " "다음과 같은 그래프가 출력될 것입니다. :"
"240으로 설정되었다면, 다음과 같은 그래프가 출력될 것입니다. :"
"<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n" "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n" "<p>\n"
"위 그래프의 박스들은 다음과 같은 의미를 가집니다. :\n" "위 그래프의 박스들은 다음과 같은 의미를 가집니다. :\n"
...@@ -1789,7 +1788,7 @@ class TranslatorKorean : public Translator ...@@ -1789,7 +1788,7 @@ class TranslatorKorean : public Translator
return result; return result;
} }
/*! C# Type Contraint list */ /*! C# Type Constraint list */
virtual QCString trTypeConstraints() virtual QCString trTypeConstraints()
{ {
return "타입 한정자들"; return "타입 한정자들";
......
This diff is collapsed.
...@@ -1663,7 +1663,10 @@ nextChar: ...@@ -1663,7 +1663,10 @@ nextChar:
} }
} }
ADD_CHAR(c); ADD_CHAR(c);
if (cliSupport && (c=='^' || c=='%') && i>1 && isId(s.at(i-1))) if (cliSupport &&
(c=='^' || c=='%') && i>1 && isId(s.at(i-1)) &&
!findOperator(s,i)
)
{ {
ADD_CHAR(' '); // C++/CLI: Type^ name and Type% name ADD_CHAR(' '); // C++/CLI: Type^ name and Type% name
} }
......
...@@ -660,9 +660,14 @@ static void writeFuncProto() ...@@ -660,9 +660,14 @@ static void writeFuncProto()
{ {
QList<Argument> ql; QList<Argument> ql;
QCString name,ret; QCString name,ret;
VhdlDocGen::parseFuncProto(g_FuncProto.data(),ql,name,ret,FALSE); VhdlDocGen::parseFuncProto(g_FuncProto,ql,name,ret,FALSE);
QStringList qlist=QStringList::split(name.data(),g_FuncProto,FALSE); if (name.isEmpty())
{
codifyLines(g_FuncProto.data(),g_CurrClass.data());
return;
}
QStringList qlist=QStringList::split(name,g_FuncProto,FALSE);
QCString temp=(QCString)qlist[0]; QCString temp=(QCString)qlist[0];
codifyLines(temp.data(),g_CurrClass.data()); codifyLines(temp.data(),g_CurrClass.data());
g_FuncProto.stripPrefix(temp.data()); g_FuncProto.stripPrefix(temp.data());
......
...@@ -1049,10 +1049,10 @@ void VhdlDocGen::parseFuncProto(const char* text,QList<Argument>& qlist, ...@@ -1049,10 +1049,10 @@ void VhdlDocGen::parseFuncProto(const char* text,QList<Argument>& qlist,
QCString s1(text); QCString s1(text);
s1=s1.stripWhiteSpace(); s1=s1.stripWhiteSpace();
int i=s1.find("(",0,FALSE); int i=s1.find("(",0,FALSE);
int s=s1.find(" ",0,FALSE); int s=s1.find(QRegExp("[ \\t]"));
if (i==-1) if (i==-1 || i<s)
s1=VhdlDocGen::getIndexWord(s1.data(),1); s1=VhdlDocGen::getIndexWord(s1.data(),1);
else else // s<i, s=start of name, i=end of name
s1=s1.mid(s,(i-s)); s1=s1.mid(s,(i-s));
name=s1.stripWhiteSpace(); name=s1.stripWhiteSpace();
......
...@@ -356,7 +356,7 @@ static void parseProcessProto() ...@@ -356,7 +356,7 @@ static void parseProcessProto()
getBufText(qcs,0); getBufText(qcs,0);
if (qcs.contains('(') != qcs.contains(')')) return; if (qcs.contains('(') != qcs.contains(')')) return;
VhdlDocGen::deleteAllChars(qcs,'\n'); VhdlDocGen::deleteAllChars(qcs,'\n');
VhdlDocGen::parseProcessProto(qcs.data(),name,ql); VhdlDocGen::parseProcessProto(qcs,name,ql);
current->section=Entry::FUNCTION_SEC; current->section=Entry::FUNCTION_SEC;
//current->stat=TRUE; //current->stat=TRUE;
current->spec=VhdlDocGen::PROCESS; current->spec=VhdlDocGen::PROCESS;
...@@ -409,7 +409,6 @@ static void parseFunctionProto() ...@@ -409,7 +409,6 @@ static void parseFunctionProto()
return; // function without a prototype return; // function without a prototype
if (qcs.contains("function",FALSE)==0 && qcs.contains("procedure",FALSE)==0) if (qcs.contains("function",FALSE)==0 && qcs.contains("procedure",FALSE)==0)
return; return;
//Entry* ppEntry=new Entry;
while (qcs.stripPrefix(" ")); while (qcs.stripPrefix(" "));
if (qcs.stripPrefix("impure")) if (qcs.stripPrefix("impure"))
current->exception="impure"; current->exception="impure";
...@@ -417,6 +416,7 @@ static void parseFunctionProto() ...@@ -417,6 +416,7 @@ static void parseFunctionProto()
current->exception="pure"; current->exception="pure";
VhdlDocGen::parseFuncProto(qcs.data(),ql,name,ret); VhdlDocGen::parseFuncProto(qcs.data(),ql,name,ret);
//printf("parseFuncProto(%s)=%s,%s\n",qcs.data(),name.data(),ret.data());
current->name=name; current->name=name;
current->startLine=iFuncLine; current->startLine=iFuncLine;
current->bodyLine=iFuncLine; current->bodyLine=iFuncLine;
...@@ -442,7 +442,7 @@ static void parseFunctionProto() ...@@ -442,7 +442,7 @@ static void parseFunctionProto()
} }
current->args+" )"; current->args+" )";
if (ret.data()) if (!ret.isEmpty())
current->spec=VhdlDocGen::FUNCTION; current->spec=VhdlDocGen::FUNCTION;
else else
current->spec=VhdlDocGen::PROCEDURE; current->spec=VhdlDocGen::PROCEDURE;
...@@ -1051,6 +1051,7 @@ ALLID [^;()\t ] ...@@ -1051,6 +1051,7 @@ ALLID [^;()\t ]
bb=FALSE; bb=FALSE;
} }
bool ss = VhdlDocGen::isFunctionProto(ttt); bool ss = VhdlDocGen::isFunctionProto(ttt);
//printf("VhdlDocGen::isFunctionProto(%s)=%d\n",ttt.data(),ss);
if (ss && bb) if (ss && bb)
{ {
bufferClear(); bufferClear();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment