Commit ba7233b1 authored by Dimitri van Heesch's avatar Dimitri van Heesch

Release-1.4.4-20050918

parent 143b39e7
DOXYGEN Version 1.4.4-20050817 DOXYGEN Version 1.4.4-20050918
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 (17 August 2005) Dimitri van Heesch (18 September 2005)
DOXYGEN Version 1.4.4_20050817 DOXYGEN Version 1.4.4_20050918
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) (17 August 2005) Dimitri van Heesch (dimitri@stack.nl) (18 September 2005)
1.4.4-20050817 1.4.4-20050918
...@@ -276,20 +276,22 @@ Here is an example of the use of these comment blocks: ...@@ -276,20 +276,22 @@ Here is an example of the use of these comment blocks:
\section structuralcommands Documentation at other places \section structuralcommands Documentation at other places
So far we have assumed that the documentation blocks are always located in So far we have assumed that the documentation blocks are always located \e in
front of the declaration or definition of a file, class or namespace or in \e front of the declaration or definition of a file, class or namespace or in
front or after one of its members. front or after one of its members.
Although this is often comfortable, there may sometimes be reasons to put the Although this is often comfortable, there may sometimes be reasons to put the
documentation somewhere else. For documenting a file this is even documentation somewhere else. For documenting a file this is even
required since there is no such thing as "in front of a file". required since there is no such thing as "in front of a file".
Doxygen allows you to put your documentation blocks practically Doxygen allows you to put your documentation blocks practically
anywhere (the exception is inside the body of a function or inside a anywhere (the exception is inside the body of a function or inside a
normal C style comment block). normal C style comment block).
The price you pay for not putting the The price you pay for not putting the
documentation block before (or after) an item is the need to put a documentation block directly before (or after) an item is the need to put a
structural command inside the documentation block, which leads to some structural command inside the documentation block, which leads to some
duplication of information. duplication of information. So in practice you should \e avoid the use of
structural commands \e unless other requirements force you to do so.
Structural commands (like all other commands) start with a backslash Structural commands (like all other commands) start with a backslash
(<tt>\\</tt>), or an at-sign (<tt>\@</tt>) if you prefer JavaDoc style, (<tt>\\</tt>), or an at-sign (<tt>\@</tt>) if you prefer JavaDoc style,
......
...@@ -93,6 +93,7 @@ ClassDef::ClassDef( ...@@ -93,6 +93,7 @@ ClassDef::ClassDef(
m_isAbstract = FALSE; m_isAbstract = FALSE;
m_isStatic = FALSE; m_isStatic = FALSE;
m_isObjC = FALSE; m_isObjC = FALSE;
m_isTemplArg = FALSE;
m_membersMerged = FALSE; m_membersMerged = FALSE;
m_categoryOf = 0; m_categoryOf = 0;
QCString ns; QCString ns;
......
...@@ -1115,6 +1115,7 @@ void Config::check() ...@@ -1115,6 +1115,7 @@ void Config::check()
filePatternList.append("*.m"); filePatternList.append("*.m");
filePatternList.append("*.mm"); filePatternList.append("*.mm");
filePatternList.append("*.dox"); filePatternList.append("*.dox");
filePatternList.append("*.py");
#if !defined(_WIN32) #if !defined(_WIN32)
// unix => case sensitive match => also include useful uppercase versions // unix => case sensitive match => also include useful uppercase versions
filePatternList.append("*.C"); filePatternList.append("*.C");
...@@ -1130,6 +1131,7 @@ void Config::check() ...@@ -1130,6 +1131,7 @@ void Config::check()
filePatternList.append("*.PHP3"); filePatternList.append("*.PHP3");
filePatternList.append("*.M"); filePatternList.append("*.M");
filePatternList.append("*.MM"); filePatternList.append("*.MM");
filePatternList.append("*.PY");
#endif #endif
} }
...@@ -1821,7 +1823,7 @@ void Config::create() ...@@ -1821,7 +1823,7 @@ void Config::create()
"and *.h) to filter out the source-files in the directories. If left \n" "and *.h) to filter out the source-files in the directories. If left \n"
"blank the following patterns are tested: \n" "blank the following patterns are tested: \n"
"*.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx \n" "*.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx \n"
"*.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm\n" "*.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py\n"
); );
cb = addBool( cb = addBool(
"RECURSIVE", "RECURSIVE",
......
...@@ -66,10 +66,33 @@ void DirDef::addFile(FileDef *fd) ...@@ -66,10 +66,33 @@ void DirDef::addFile(FileDef *fd)
fd->setDirDef(this); fd->setDirDef(this);
} }
static QCString escapeDirName(const QCString &anchor)
{
QCString result;
int l = anchor.length(),i;
for (i=0;i<l;i++)
{
char c = anchor.at(i);
if ((c>='a' && c<='z') || (c>='A' && c<='Z') || (c>='0' && c<='9'))
{
result+=c;
}
else
{
static char hexStr[]="0123456789ABCDEF";
char escChar[]={ '_', 0, 0, 0 };
escChar[1]=hexStr[c>>4];
escChar[2]=hexStr[c&0xf];
result+=escChar;
}
}
return result;
}
QCString DirDef::getOutputFileBase() const QCString DirDef::getOutputFileBase() const
{ {
//return "dir_"+convertNameToFile(name()); return "dir_"+escapeDirName(name());
return QCString().sprintf("dir_%06d",m_dirCount); //return QCString().sprintf("dir_%06d",m_dirCount);
} }
void DirDef::writeDetailedDocumentation(OutputList &ol) void DirDef::writeDetailedDocumentation(OutputList &ol)
......
...@@ -5736,3 +5736,9 @@ void initDocParser() ...@@ -5736,3 +5736,9 @@ void initDocParser()
Doxygen::searchIndex = 0; Doxygen::searchIndex = 0;
} }
} }
void finializeDocParser()
{
delete Doxygen::searchIndex;
}
...@@ -38,6 +38,8 @@ class SectionDict; ...@@ -38,6 +38,8 @@ class SectionDict;
/*! Initialize the documentation parser */ /*! Initialize the documentation parser */
void initDocParser(); void initDocParser();
/*! Cleanup the documentation parser */
void finializeDocParser();
/*! Main entry point for the documentation parser. /*! Main entry point for the documentation parser.
* @param fileName File in which the documentation block is found (or the * @param fileName File in which the documentation block is found (or the
......
...@@ -522,6 +522,11 @@ REFWORD ("#"|"::")?({ID}("."|"#"|"::"|"-"))*({ID}(":")?){FUNCARG}? ...@@ -522,6 +522,11 @@ REFWORD ("#"|"::")?({ID}("."|"#"|"::"|"-"))*({ID}(":")?){FUNCARG}?
*/ */
goto find_rule; goto find_rule;
} }
<St_Para,St_Text>"operator"/{BLANK}*"<"[a-zA-Z_0-9]+">" { // Special case: word "operator" followed by a HTML command
// avoid interpretation as "operator <"
g_token->name = yytext;
return TK_WORD;
}
/*******************************************************/ /*******************************************************/
......
...@@ -199,7 +199,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName, ...@@ -199,7 +199,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName,
return TRUE; return TRUE;
} }
static QArray<int> * s_newNumber = new QArray<int>(); static QArray<int> s_newNumber;
static int s_max_newNumber=0; static int s_max_newNumber=0;
inline int reNumberNode(int number, bool doReNumbering) inline int reNumberNode(int number, bool doReNumbering)
...@@ -210,7 +210,7 @@ inline int reNumberNode(int number, bool doReNumbering) ...@@ -210,7 +210,7 @@ inline int reNumberNode(int number, bool doReNumbering)
} }
else else
{ {
int s = s_newNumber->size(); int s = s_newNumber.size();
if (number>=s) if (number>=s)
{ {
int ns=0; int ns=0;
...@@ -219,17 +219,17 @@ inline int reNumberNode(int number, bool doReNumbering) ...@@ -219,17 +219,17 @@ inline int reNumberNode(int number, bool doReNumbering)
{ {
ns = number * 3 / 2 + 5; ns = number * 3 / 2 + 5;
} }
s_newNumber->resize(ns); s_newNumber.resize(ns);
for (int i=s;i<ns;i++) // clear new part of the array for (int i=s;i<ns;i++) // clear new part of the array
{ {
s_newNumber->at(i)=0; s_newNumber.at(i)=0;
} }
} }
int i = s_newNumber->at(number); int i = s_newNumber.at(number);
if (i == 0) // not yet mapped if (i == 0) // not yet mapped
{ {
i = ++s_max_newNumber; // start from 1 i = ++s_max_newNumber; // start from 1
s_newNumber->at(number) = i; s_newNumber.at(number) = i;
} }
return i; return i;
} }
...@@ -238,7 +238,7 @@ inline int reNumberNode(int number, bool doReNumbering) ...@@ -238,7 +238,7 @@ inline int reNumberNode(int number, bool doReNumbering)
static void resetReNumbering() static void resetReNumbering()
{ {
s_max_newNumber=0; s_max_newNumber=0;
s_newNumber->resize(s_max_newNumber); s_newNumber.resize(s_max_newNumber);
} }
static bool readBoundingBoxDot(const char *fileName,int *width,int *height) static bool readBoundingBoxDot(const char *fileName,int *width,int *height)
......
...@@ -3306,6 +3306,7 @@ static void findUsedClassesForClass(Entry *root, ...@@ -3306,6 +3306,7 @@ static void findUsedClassesForClass(Entry *root,
usedCd = new ClassDef( usedCd = new ClassDef(
masterCd->getDefFileName(),masterCd->getDefLine(), masterCd->getDefFileName(),masterCd->getDefLine(),
usedName,ClassDef::Class); usedName,ClassDef::Class);
//printf("making %s a template argument!!!\n",usedCd->name().data());
usedCd->makeTemplateArgument(); usedCd->makeTemplateArgument();
Doxygen::hiddenClasses.append(usedName,usedCd); Doxygen::hiddenClasses.append(usedName,usedCd);
} }
...@@ -8932,5 +8933,6 @@ void generateOutput() ...@@ -8932,5 +8933,6 @@ void generateOutput()
); );
} }
cleanUpDoxygen(); cleanUpDoxygen();
finializeDocParser();
} }
...@@ -369,6 +369,8 @@ void FTVHelp::initialize() ...@@ -369,6 +369,8 @@ void FTVHelp::initialize()
void FTVHelp::finalize() void FTVHelp::finalize()
{ {
generateTreeView(); generateTreeView();
delete m_theInstance;
m_theInstance=0;
} }
/*! Increase the level of the contents hierarchy. /*! Increase the level of the contents hierarchy.
......
...@@ -133,7 +133,7 @@ void LatexGenerator::init() ...@@ -133,7 +133,7 @@ void LatexGenerator::init()
QTextStream t(&file); QTextStream t(&file);
if (!Config_getBool("USE_PDFLATEX")) // use plain old latex if (!Config_getBool("USE_PDFLATEX")) // use plain old latex
{ {
t << "all clean: refman.dvi" << endl t << "all: clean refman.dvi" << endl
<< endl << endl
<< "ps: refman.ps" << endl << "ps: refman.ps" << endl
<< endl << endl
...@@ -182,7 +182,7 @@ void LatexGenerator::init() ...@@ -182,7 +182,7 @@ void LatexGenerator::init()
} }
else // use pdflatex for higher quality output else // use pdflatex for higher quality output
{ {
t << "all clean: refman.pdf" << endl << endl; t << "all: clean refman.pdf" << endl << endl;
t << "refman.pdf: refman.tex" << endl; t << "refman.pdf: refman.tex" << endl;
t << "\tpdflatex refman.tex" << endl; t << "\tpdflatex refman.tex" << endl;
t << "\tmakeindex refman.idx" << endl; t << "\tmakeindex refman.idx" << endl;
......
...@@ -135,30 +135,22 @@ static void do_warn(const char *tag, const char *file, int line, const char *fmt ...@@ -135,30 +135,22 @@ static void do_warn(const char *tag, const char *file, int line, const char *fmt
substitute( substitute(
substitute( substitute(
substitute( substitute(
substitute( substitute(
outputFormat, substitute(
"$file",fileSubst outputFormat,
"$file",fileSubst
),
"$text",textSubst
), ),
"$text",textSubst "$line",lineSubst
), ),
"$line",lineSubst "$version",versionSubst
), ),
"$version",versionSubst "%","%%"
)+'\n'; )+'\n';
// print resulting message // print resulting message
fprintf(warnFile,msgText); fprintf(warnFile,msgText);
// switch(warnFormatOrder)
// {
// case 1: fprintf(warnFile,outputFormat,file,line,text); break;
// case 2: fprintf(warnFile,outputFormat,text,line,file); break;
// case 3: fprintf(warnFile,outputFormat,line,text,file); break;
// case 4: fprintf(warnFile,outputFormat,file,text,line); break;
// case 5: fprintf(warnFile,outputFormat,text,file,line); break;
// case 6: fprintf(warnFile,outputFormat,line,file,text); break;
// default:
// printf("Error: warning format has not been initialized!\n");
// }
} }
void warn(const char *file,int line,const char *fmt, ...) void warn(const char *file,int line,const char *fmt, ...)
......
...@@ -891,35 +891,65 @@ QCString removeMarkers(const char *s) ...@@ -891,35 +891,65 @@ QCString removeMarkers(const char *s)
{ {
while ((c=*p)) while ((c=*p))
{ {
if (c=='@') // replace @@ with @ switch(c)
{ {
if (*(p+1)=='@') case '@': // replace @@ with @
{ {
result+=c; if (*(p+1)=='@')
} {
p+=2; result+=c;
} }
else if (c=='/') // skip C comments p+=2;
{ }
result+=c; break;
char pc=c; case '/': // skip C comments
c=*++p;
if (c=='*') // start of C comment
{
while (*p && !(pc=='*' && c=='/')) // search end of comment
{ {
result+=c; result+=c;
pc=c; char pc=c;
c=*++p; c=*++p;
if (c=='*') // start of C comment
{
while (*p && !(pc=='*' && c=='/')) // search end of comment
{
result+=c;
pc=c;
c=*++p;
}
result+=c;
p++;
}
} }
result+=c; break;
p++; case '"': // skip string literals
} {
} result+=c;
else char pc=c;
{ c=*++p;
result+=c; while (*p && (c!='"' || pc=='\\')) // no end quote
p++; {
result+=c;
c=*++p;
}
}
break;
case '\'': // skip char literals
{
result+=c;
char pc=c;
c=*++p;
while (*p && (c!='\'' || pc=='\\')) // no end quote
{
result+=c;
c=*++p;
}
}
break;
default:
{
result+=c;
p++;
}
break;
} }
} }
} }
...@@ -1807,12 +1837,19 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) ...@@ -1807,12 +1837,19 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
outputChar('/');outputChar('*'); outputChar('/');outputChar('*');
//g_commentCount++; //g_commentCount++;
} }
<SkipCComment>[\\@][\\@]("verbatim"|"latexonly"|"htmlonly"|"xmlonly"|"rtfonly"|"manonly"|"dot"|"code"){BN}+ { <SkipCComment>[\\@][\\@]("verbatim"|"latexonly"|"htmlonly"|"xmlonly"|"rtfonly"|"manonly"|"dot"|"code"|"f{"|"f$"|"f["){BN}+ {
outputArray(yytext,yyleng); outputArray(yytext,yyleng);
} }
<SkipCComment>[\\@]("verbatim"|"latexonly"|"htmlonly"|"xmlonly"|"rtfonly"|"manonly"|"dot"|"code"){BN}+ { <SkipCComment>[\\@]("verbatim"|"latexonly"|"htmlonly"|"xmlonly"|"rtfonly"|"manonly"|"dot"|"code"){BN}+ {
outputArray(yytext,yyleng); outputArray(yytext,yyleng);
g_blockName=QCString(&yytext[1]).stripWhiteSpace(); if (yytext[1]=='f')
{
g_blockName="f";
}
else
{
g_blockName=QCString(&yytext[1]).stripWhiteSpace();
}
BEGIN(SkipVerbatim); BEGIN(SkipVerbatim);
} }
<SkipCComment,SkipCPPComment>[\\@]"cond"[ \t]+ { // conditional section <SkipCComment,SkipCPPComment>[\\@]"cond"[ \t]+ { // conditional section
...@@ -1835,13 +1872,20 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) ...@@ -1835,13 +1872,20 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
outputArray(yytext,yyleng); outputArray(yytext,yyleng);
endCondSection(); endCondSection();
} }
<SkipVerbatim>[\\@]("endverbatim"|"endlatexonly"|"endhtmlonly"|"endxmlonly"|"endrtfonly"|"endmanonly"|"enddot"|"endcode") { /* end of verbatim block */ <SkipVerbatim>[\\@]("endverbatim"|"endlatexonly"|"endhtmlonly"|"endxmlonly"|"endrtfonly"|"endmanonly"|"enddot"|"endcode"|"f$"|"f]"|"f}") { /* end of verbatim block */
outputArray(yytext,yyleng); outputArray(yytext,yyleng);
if (&yytext[4]==g_blockName) if (yytext[1]=='f' && g_blockName=="f")
{
BEGIN(SkipCComment);
}
else if (&yytext[4]==g_blockName)
{ {
BEGIN(SkipCComment); BEGIN(SkipCComment);
} }
} }
<SkipVerbatim>"*/"|"/*" {
outputArray(yytext,yyleng);
}
<SkipCComment,SkipVerbatim>[^*\\@\x06\n\/]+ { <SkipCComment,SkipVerbatim>[^*\\@\x06\n\/]+ {
outputArray(yytext,yyleng); outputArray(yytext,yyleng);
} }
......
...@@ -304,9 +304,10 @@ static ClassDef *stripClassName(const char *s) ...@@ -304,9 +304,10 @@ static ClassDef *stripClassName(const char *s)
QCString type = s; QCString type = s;
QCString className; QCString className;
QCString templSpec; QCString templSpec;
while (extractClassNameFromType(type,pos,className,templSpec)) while (extractClassNameFromType(type,pos,className,templSpec)!=-1)
{ {
QCString clName=className+templSpec; QCString clName=className+templSpec;
ClassDef *cd=0; ClassDef *cd=0;
if (!g_classScope.isEmpty()) if (!g_classScope.isEmpty())
{ {
...@@ -316,7 +317,6 @@ static ClassDef *stripClassName(const char *s) ...@@ -316,7 +317,6 @@ static ClassDef *stripClassName(const char *s)
{ {
cd=getResolvedClass(g_currentDefinition,g_sourceFileDef,clName); cd=getResolvedClass(g_currentDefinition,g_sourceFileDef,clName);
} }
//printf("stripClass trying `%s' = %p\n",clName.data(),cd);
if (cd) if (cd)
{ {
return cd; return cd;
......
...@@ -86,7 +86,7 @@ static bool docBlockSpecial; ...@@ -86,7 +86,7 @@ static bool docBlockSpecial;
static bool g_doubleQuote; static bool g_doubleQuote;
static bool g_specialBlock; static bool g_specialBlock;
static bool g_expectModuleDocs; //static bool g_expectModuleDocs;
static int g_stringContext; static int g_stringContext;
static QCString * g_copyString; static QCString * g_copyString;
static int g_indent = 0; static int g_indent = 0;
...@@ -99,10 +99,12 @@ static char g_atomStart; ...@@ -99,10 +99,12 @@ static char g_atomStart;
static char g_atomEnd; static char g_atomEnd;
static int g_atomCount; static int g_atomCount;
static bool g_insideConstructor; //static bool g_insideConstructor;
static QCString g_moduleScope; static QCString g_moduleScope;
static QCString g_packageName;
static bool g_hideClassDocs;
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
...@@ -312,7 +314,7 @@ static void endOfDef() ...@@ -312,7 +314,7 @@ static void endOfDef()
bodyEntry->endBodyLine = yyLineNr; bodyEntry->endBodyLine = yyLineNr;
bodyEntry = 0; bodyEntry = 0;
newEntry(); newEntry();
g_insideConstructor = FALSE; //g_insideConstructor = FALSE;
} }
static inline void addToString(const char *s) static inline void addToString(const char *s)
...@@ -453,6 +455,11 @@ STARTDOCSYMS ^{B}"##"/[^#] ...@@ -453,6 +455,11 @@ STARTDOCSYMS ^{B}"##"/[^#]
%x DoubleQuoteString %x DoubleQuoteString
%x TripleString %x TripleString
/* import */
%x FromMod
%x FromModItem
%x Import
%% %%
/* ------------ Function recognition rules -------------- */ /* ------------ Function recognition rules -------------- */
...@@ -462,7 +469,7 @@ STARTDOCSYMS ^{B}"##"/[^#] ...@@ -462,7 +469,7 @@ STARTDOCSYMS ^{B}"##"/[^#]
^{B}"def"{BB} | ^{B}"def"{BB} |
"def"{BB} { // start of a function/method definition "def"{BB} { // start of a function/method definition
g_indent=computeIndent(yytext); g_indent=computeIndent(yytext);
g_expectModuleDocs = FALSE; //g_expectModuleDocs = FALSE;
current->fileName = yyFileName; current->fileName = yyFileName;
current->startLine = yyLineNr; current->startLine = yyLineNr;
current->bodyLine = yyLineNr; current->bodyLine = yyLineNr;
...@@ -482,7 +489,7 @@ STARTDOCSYMS ^{B}"##"/[^#] ...@@ -482,7 +489,7 @@ STARTDOCSYMS ^{B}"##"/[^#]
^{B}"class"{BB} | ^{B}"class"{BB} |
"class"{BB} { // start of a class definition "class"{BB} { // start of a class definition
g_indent=computeIndent(yytext); g_indent=computeIndent(yytext);
g_expectModuleDocs = FALSE; //g_expectModuleDocs = FALSE;
current->section = Entry::CLASS_SEC; current->section = Entry::CLASS_SEC;
current->argList->clear(); current->argList->clear();
current->type += "class" ; current->type += "class" ;
...@@ -491,7 +498,15 @@ STARTDOCSYMS ^{B}"##"/[^#] ...@@ -491,7 +498,15 @@ STARTDOCSYMS ^{B}"##"/[^#]
BEGIN( ClassDec ) ; BEGIN( ClassDec ) ;
} }
^{B}"from"{BB} |
"from"{BB} { // start of an from import
BEGIN( FromMod );
}
^{B}"import"{BB} |
"import"{BB} { // start of an import statement
BEGIN( Import );
}
^{B}{IDENTIFIER}/{B}"="[^=] { // variable ^{B}{IDENTIFIER}/{B}"="[^=] { // variable
g_indent=computeIndent(yytext); g_indent=computeIndent(yytext);
current->section = Entry::VARIABLE_SEC; current->section = Entry::VARIABLE_SEC;
...@@ -545,6 +560,83 @@ STARTDOCSYMS ^{B}"##"/[^#] ...@@ -545,6 +560,83 @@ STARTDOCSYMS ^{B}"##"/[^#]
} }
} }
<FromMod>{
{IDENTIFIER}({B}"."{B}{IDENTIFIER})* { // from package import
g_packageName=yytext;
}
"import"{B} {
BEGIN(FromModItem);
}
\n {
yyLineNr++;
BEGIN(Search);
}
{B} {
}
. {
unput(*yytext);
BEGIN(Search);
}
}
<FromModItem>{
"*" { // import all
QCString item=g_packageName+"."+yytext;
current->name=removeRedundantWhiteSpace(substitute(item,".","::"));
current->fileName = yyFileName;
//printf("Adding using directive: found:%s:%d name=%s\n",yyFileName.data(),yyLineNr,current->name.data());
current->section=Entry::USINGDIR_SEC;
current_root->addSubEntry(current);
current = new Entry ;
initEntry();
BEGIN(Search);
}
{IDENTIFIER} {
QCString item=g_packageName+"."+yytext;
current->name=removeRedundantWhiteSpace(substitute(item,".","::"));
current->fileName = yyFileName;
//printf("Adding using declaration: found:%s:%d name=%s\n",yyFileName.data(),yyLineNr,current->name.data());
current->section=Entry::USINGDECL_SEC;
current_root->addSubEntry(current);
current = new Entry ;
initEntry();
BEGIN(Search);
}
\n {
yyLineNr++;
BEGIN(Search);
}
{B} {
}
. {
unput(*yytext);
BEGIN(Search);
}
}
<Import>{
{IDENTIFIER}({B}"."{B}{IDENTIFIER})* {
current->name=removeRedundantWhiteSpace(substitute(yytext,".","::"));
current->fileName = yyFileName;
//printf("Adding using declaration: found:%s:%d name=%s\n",yyFileName.data(),yyLineNr,current->name.data());
current->section=Entry::USINGDECL_SEC;
current_root->addSubEntry(current);
current = new Entry ;
initEntry();
BEGIN(Search);
}
\n {
yyLineNr++;
BEGIN(Search);
}
{B} {
}
. {
unput(*yytext);
BEGIN(Search);
}
}
<SearchMemVars>{ <SearchMemVars>{
"self."{IDENTIFIER}/{B}"=" { "self."{IDENTIFIER}/{B}"=" {
//printf("Found member variable %s\n",&yytext[5]); //printf("Found member variable %s\n",&yytext[5]);
...@@ -634,9 +726,8 @@ STARTDOCSYMS ^{B}"##"/[^#] ...@@ -634,9 +726,8 @@ STARTDOCSYMS ^{B}"##"/[^#]
endOfDef(); endOfDef();
yyterminate(); yyterminate();
} }
^{BB}\n { // skip empty line ^{BB}/\n { // skip empty line
current->program+=yytext; current->program+=yytext;
yyLineNr++;
} }
^{BB} { // something at indent >0 ^{BB} { // something at indent >0
current->program+=yytext; current->program+=yytext;
...@@ -707,14 +798,14 @@ STARTDOCSYMS ^{B}"##"/[^#] ...@@ -707,14 +798,14 @@ STARTDOCSYMS ^{B}"##"/[^#]
} }
current->name = yytext; current->name = yytext;
current->name = current->name.stripWhiteSpace(); current->name = current->name.stripWhiteSpace();
if (!current->name.isEmpty() && current->name.at(0)=='_') //if (!current->name.isEmpty() && current->name.at(0)=='_')
{ //{
current->protection = Private; // current->protection = Private;
} //}
//if ((current_root->section&Entry::SCOPE_MASK) && //if ((current_root->section&Entry::SCOPE_MASK) &&
// current->name=="__init__") // constructor // current->name=="__init__") // constructor
//{ //{
g_insideConstructor = TRUE; // g_insideConstructor = TRUE;
// g_constructorEntry = current; // g_constructorEntry = current;
// newEntry(); // newEntry();
//} //}
...@@ -766,11 +857,12 @@ STARTDOCSYMS ^{B}"##"/[^#] ...@@ -766,11 +857,12 @@ STARTDOCSYMS ^{B}"##"/[^#]
\n/{IDENTIFIER}{BB} { // new def at indent 0 \n/{IDENTIFIER}{BB} { // new def at indent 0
yyLineNr++; yyLineNr++;
endOfDef(); endOfDef();
g_hideClassDocs = FALSE;
YY_CURRENT_BUFFER->yy_at_bol=TRUE;
BEGIN(Search); BEGIN(Search);
} }
^{BB}\n { // skip empty line ^{BB}/\n { // skip empty line
current->program+=yytext; current->program+=yytext;
yyLineNr++;
} }
<<EOF>> { <<EOF>> {
endOfDef(); endOfDef();
...@@ -786,6 +878,7 @@ STARTDOCSYMS ^{B}"##"/[^#] ...@@ -786,6 +878,7 @@ STARTDOCSYMS ^{B}"##"/[^#]
g_indent=g_curIndent; g_indent=g_curIndent;
// make sure the next rule matches ^... // make sure the next rule matches ^...
YY_CURRENT_BUFFER->yy_at_bol=TRUE; YY_CURRENT_BUFFER->yy_at_bol=TRUE;
g_hideClassDocs = FALSE;
BEGIN(Search); BEGIN(Search);
} }
else else
...@@ -823,13 +916,13 @@ STARTDOCSYMS ^{B}"##"/[^#] ...@@ -823,13 +916,13 @@ STARTDOCSYMS ^{B}"##"/[^#]
current->program+=*yytext; current->program+=*yytext;
} }
{TRIDOUBLEQUOTE} { // start of a comment block {TRIDOUBLEQUOTE} { // start of a comment block
current->program+=yytext; if (!g_hideClassDocs) current->program+=yytext;
initTriDoubleQuoteBlock(); initTriDoubleQuoteBlock();
BEGIN(TripleComment); BEGIN(TripleComment);
} }
{TRISINGLEQUOTE} { // start of a comment block {TRISINGLEQUOTE} { // start of a comment block
current->program+=yytext; if (!g_hideClassDocs) current->program+=yytext;
initTriSingleQuoteBlock(); initTriSingleQuoteBlock();
BEGIN(TripleComment); BEGIN(TripleComment);
} }
...@@ -902,6 +995,7 @@ STARTDOCSYMS ^{B}"##"/[^#] ...@@ -902,6 +995,7 @@ STARTDOCSYMS ^{B}"##"/[^#]
bodyEntry = current; bodyEntry = current;
//fprintf(stderr,"setting indent %d\n",g_curIndent); //fprintf(stderr,"setting indent %d\n",g_curIndent);
//printf("current->program=[%s]\n",current->program.data()); //printf("current->program=[%s]\n",current->program.data());
g_hideClassDocs = TRUE;
BEGIN( ClassBody ); BEGIN( ClassBody );
} }
...@@ -1051,7 +1145,7 @@ STARTDOCSYMS ^{B}"##"/[^#] ...@@ -1051,7 +1145,7 @@ STARTDOCSYMS ^{B}"##"/[^#]
// printf("Expected module block %d special=%d\n",g_expectModuleDocs,g_specialBlock); // printf("Expected module block %d special=%d\n",g_expectModuleDocs,g_specialBlock);
if (g_doubleQuote==(yytext[0]=='"')) if (g_doubleQuote==(yytext[0]=='"'))
{ {
if (g_specialBlock || g_expectModuleDocs) if (g_specialBlock /*|| g_expectModuleDocs*/)
{ {
QCString actualDoc=docBlock; QCString actualDoc=docBlock;
if (!docBlockSpecial) // legacy unformatted docstring if (!docBlockSpecial) // legacy unformatted docstring
...@@ -1059,19 +1153,20 @@ STARTDOCSYMS ^{B}"##"/[^#] ...@@ -1059,19 +1153,20 @@ STARTDOCSYMS ^{B}"##"/[^#]
actualDoc.prepend("\\verbatim "); actualDoc.prepend("\\verbatim ");
actualDoc.append("\\endverbatim "); actualDoc.append("\\endverbatim ");
} }
if (g_expectModuleDocs) //if (g_expectModuleDocs)
{ //{
actualDoc.prepend("\\namespace "+g_moduleScope+"\\_linebr "); // actualDoc.prepend("\\namespace "+g_moduleScope+"\\_linebr ");
} //}
handleCommentBlock(actualDoc, FALSE); handleCommentBlock(actualDoc, FALSE);
} }
g_expectModuleDocs=FALSE; //g_expectModuleDocs=FALSE;
if (docBlockContext==ClassBody || if ((docBlockContext==ClassBody && !g_hideClassDocs) ||
docBlockContext==FunctionBody) docBlockContext==FunctionBody)
{ {
current->program+=docBlock; current->program+=docBlock;
current->program+=yytext; current->program+=yytext;
} }
g_hideClassDocs=FALSE;
BEGIN(docBlockContext); BEGIN(docBlockContext);
} }
else else
...@@ -1120,11 +1215,11 @@ STARTDOCSYMS ^{B}"##"/[^#] ...@@ -1120,11 +1215,11 @@ STARTDOCSYMS ^{B}"##"/[^#]
docBlock+=yytext; docBlock+=yytext;
} }
\n { // new line that ends the comment \n { // new line that ends the comment
if (g_expectModuleDocs) //if (g_expectModuleDocs)
{ //{
docBlock.prepend("\\namespace "+g_moduleScope+"\\_linebr "); // docBlock.prepend("\\namespace "+g_moduleScope+"\\_linebr ");
} //}
g_expectModuleDocs=FALSE; //g_expectModuleDocs=FALSE;
handleCommentBlock(docBlock, docBrief); handleCommentBlock(docBlock, docBrief);
yyLineNr++; yyLineNr++;
BEGIN(docBlockContext); BEGIN(docBlockContext);
...@@ -1293,9 +1388,9 @@ static void parseMain(const char *fileName,const char *fileBuf,Entry *rt) ...@@ -1293,9 +1388,9 @@ static void parseMain(const char *fileName,const char *fileBuf,Entry *rt)
gstat = FALSE; gstat = FALSE;
virt = Normal; virt = Normal;
current_root = rt; current_root = rt;
g_expectModuleDocs = TRUE; //g_expectModuleDocs = TRUE;
g_specialBlock = FALSE; g_specialBlock = FALSE;
g_insideConstructor = FALSE; //g_insideConstructor = FALSE;
inputFile.setName(fileName); inputFile.setName(fileName);
...@@ -1357,9 +1452,9 @@ static void parsePrototype(const QCString &text) ...@@ -1357,9 +1452,9 @@ static void parsePrototype(const QCString &text)
{ {
//printf("**** parsePrototype(%s) begin\n",text.data()); //printf("**** parsePrototype(%s) begin\n",text.data());
g_expectModuleDocs = FALSE; //g_expectModuleDocs = FALSE;
g_specialBlock = FALSE; g_specialBlock = FALSE;
g_insideConstructor = FALSE; //g_insideConstructor = FALSE;
const char *orgInputString; const char *orgInputString;
int orgInputPosition; int orgInputPosition;
......
...@@ -4044,20 +4044,23 @@ IDLATTR ("["[^\]]*"]"){BN}* ...@@ -4044,20 +4044,23 @@ IDLATTR ("["[^\]]*"]"){BN}*
<DocBlock>("@@"|"\\\\"){ID}/[^a-z_A-Z0-9] { // escaped command <DocBlock>("@@"|"\\\\"){ID}/[^a-z_A-Z0-9] { // escaped command
docBlock+=yytext; docBlock+=yytext;
} }
<DocBlock>{CMD}("verbatim"|"latexonly"|"htmlonly"|"xmlonly"|"manonly"|"dot"|"code"|"f$"|"f["|"f{")/[^a-z_A-Z0-9] { // verbatim command (which could contain nested comments!) <DocBlock>{CMD}("f$"|"f["|"f{") {
docBlock+=yytext; docBlock+=yytext;
if (yytext[2]=='[') docBlockName=&yytext[1];
{ if (docBlockName.at(1)=='{')
docBlockName="f]";
}
else if (yytext[2]=='}')
{ {
docBlockName="f}"; docBlockName.at(1)='}';
} }
else BEGIN(DocCopyBlock);
{ }
docBlockName=&yytext[1]; <DocBlock>"<"{PRE}">" {
} docBlock+=yytext;
docBlockName="<pre>";
BEGIN(DocCopyBlock);
}
<DocBlock>{CMD}("verbatim"|"latexonly"|"htmlonly"|"xmlonly"|"manonly"|"dot"|"code")/[^a-z_A-Z0-9] { // verbatim command (which could contain nested comments!)
docBlock+=yytext;
docBlockName=&yytext[1];
BEGIN(DocCopyBlock); BEGIN(DocCopyBlock);
} }
<DocBlock>[^@*\/\\\n]+ { // any character that isn't special <DocBlock>[^@*\/\\\n]+ { // any character that isn't special
...@@ -4073,6 +4076,13 @@ IDLATTR ("["[^\]]*"]"){BN}* ...@@ -4073,6 +4076,13 @@ IDLATTR ("["[^\]]*"]"){BN}*
/* ---- Copy verbatim sections ------ */ /* ---- Copy verbatim sections ------ */
<DocCopyBlock>"</"{PRE}">" { // end of a <pre> block
docBlock+=yytext;
if (docBlockName=="<pre>")
{
BEGIN(DocBlock);
}
}
<DocCopyBlock>[\\@]("endverbatim"|"endlatexonly"|"endhtmlonly"|"endxmlonly"|"enddot"|"endcode"|"f$"|"f]"|"f}")/[^a-z_A-Z0-9] { // end of verbatim block <DocCopyBlock>[\\@]("endverbatim"|"endlatexonly"|"endhtmlonly"|"endxmlonly"|"enddot"|"endcode"|"f$"|"f]"|"f}")/[^a-z_A-Z0-9] { // end of verbatim block
docBlock+=yytext; docBlock+=yytext;
if (yytext[1]=='f') // end of formula if (yytext[1]=='f') // end of formula
......
...@@ -64,6 +64,7 @@ SearchIndex::SearchIndex() : m_words(328829), m_index(numIndexEntries), m_urlInd ...@@ -64,6 +64,7 @@ SearchIndex::SearchIndex() : m_words(328829), m_index(numIndexEntries), m_urlInd
int i; int i;
m_words.setAutoDelete(TRUE); m_words.setAutoDelete(TRUE);
m_urls.setAutoDelete(TRUE); m_urls.setAutoDelete(TRUE);
m_index.setAutoDelete(TRUE);
for (i=0;i<numIndexEntries;i++) m_index.insert(i,new QList<IndexWord>); for (i=0;i<numIndexEntries;i++) m_index.insert(i,new QList<IndexWord>);
} }
...@@ -279,7 +280,7 @@ void SearchIndex::write(const char *fileName) ...@@ -279,7 +280,7 @@ void SearchIndex::write(const char *fileName)
} }
} }
delete urlOffsets; delete[] urlOffsets;
delete wordStatOffsets; delete[] wordStatOffsets;
} }
...@@ -21,8 +21,12 @@ ...@@ -21,8 +21,12 @@
#define TRANSLATOR_SI_H #define TRANSLATOR_SI_H
class TranslatorSlovene : public TranslatorAdapter_1_2_16 class TranslatorSlovene : public Translator
//public TranslatorAdapter_1_2_16
{ {
protected:
friend class TranslatorAdapterBase;
virtual ~TranslatorSlovene() {}
public: public:
QCString idLanguage() QCString idLanguage()
{ return "slovene"; } { return "slovene"; }
...@@ -50,11 +54,11 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -50,11 +54,11 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
QCString trDetailedDescription() QCString trDetailedDescription()
{ return "Podroben opis"; } { return "Podroben opis"; }
QCString trMemberTypedefDocumentation() QCString trMemberTypedefDocumentation()
{ return "Opis uporabniko definiranih tipov"; } { return "Opis uporabni¹ko definiranih tipov"; }
QCString trMemberEnumerationDocumentation() QCString trMemberEnumerationDocumentation()
{ return "Opis komponent natevnih tipov"; } { return "Opis komponent na¹tevnih tipov"; }
QCString trEnumerationValueDocumentation() /* QCString trEnumerationValueDocumentation() */
{ return "Opis vrednosti natevnih tipov (enum) "; } /* { return "Opis vrednosti na¹tevnih tipov (enum) "; } */
QCString trMemberFunctionDocumentation() QCString trMemberFunctionDocumentation()
{ return "Opis metod"; } { return "Opis metod"; }
QCString trMemberDataDocumentation() QCString trMemberDataDocumentation()
...@@ -68,7 +72,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -68,7 +72,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
QCString trThisIsTheListOfAllMembers() QCString trThisIsTheListOfAllMembers()
{ return "Seznam metod razreda "; } { return "Seznam metod razreda "; }
QCString trIncludingInheritedMembers() QCString trIncludingInheritedMembers()
{ return ", vkljuujo dedovane metode in atribute."; } { return ", vkljuèujoè dedovane metode in atribute."; }
QCString trGeneratedAutomatically(const char *s) QCString trGeneratedAutomatically(const char *s)
{ QCString result="zgenerirano z Doxygen-om"; { QCString result="zgenerirano z Doxygen-om";
if (s) result+=(QCString)" za "+s; if (s) result+=(QCString)" za "+s;
...@@ -76,9 +80,9 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -76,9 +80,9 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
return result; return result;
} }
QCString trEnumName() QCString trEnumName()
{ return "natevno ime"; } { return "na¹tevno ime"; }
QCString trEnumValue() QCString trEnumValue()
{ return "natevna vrednost"; } { return "na¹tevna vrednost"; }
QCString trDefinedIn() QCString trDefinedIn()
{ return "definirano v"; } { return "definirano v"; }
QCString trModules() QCString trModules()
...@@ -89,8 +93,8 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -89,8 +93,8 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
{ return "kratek opis razredov"; } { return "kratek opis razredov"; }
QCString trFileList() QCString trFileList()
{ return "seznam datotek"; } { return "seznam datotek"; }
QCString trHeaderFiles() /* QCString trHeaderFiles() */
{ return "'Header' datoteka"; } /* { return "'Header' datoteka"; } */
QCString trCompoundMembers() QCString trCompoundMembers()
{ return "metode in atributi"; } { return "metode in atributi"; }
QCString trFileMembers() QCString trFileMembers()
...@@ -100,9 +104,9 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -100,9 +104,9 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
QCString trExamples() QCString trExamples()
{ return "Primeri"; } { return "Primeri"; }
QCString trSearch() QCString trSearch()
{ return "Ii"; } { return "I¹èi"; }
QCString trClassHierarchyDescription() QCString trClassHierarchyDescription()
{ return "Hierarhino drevo je (okvirno) sortirano po abecedi. "; { return "Hierarhièno drevo je (okvirno) sortirano po abecedi. ";
} }
QCString trFileListDescription(bool extractAll) QCString trFileListDescription(bool extractAll)
{ {
...@@ -112,7 +116,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -112,7 +116,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
return result; return result;
} }
QCString trCompoundListDescription() QCString trCompoundListDescription()
{ return "Seznam razredov, mnoic in struktur " { return "Seznam razredov, mno¾ic in struktur "
"s kratkim opisom :"; "s kratkim opisom :";
} }
QCString trCompoundMembersDescription(bool extractAll) QCString trCompoundMembersDescription(bool extractAll)
...@@ -133,23 +137,23 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -133,23 +137,23 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
else result+="s povezavami na datoteke v katerih se nahajajo:"; else result+="s povezavami na datoteke v katerih se nahajajo:";
return result; return result;
} }
QCString trHeaderFilesDescription() /* QCString trHeaderFilesDescription() */
{ return "Seznam header datotek, ki tvorijo aplikacijski vmesnik (API) :"; } /* { return "Seznam header datotek, ki tvorijo aplikacijski vmesnik (API) :"; } */
QCString trExamplesDescription() QCString trExamplesDescription()
{ return "Seznam primerov :"; } { return "Seznam primerov :"; }
QCString trRelatedPagesDescription() QCString trRelatedPagesDescription()
{ return "Seznam strani z dodatnimi opisi:"; } { return "Seznam strani z dodatnimi opisi:"; }
QCString trModulesDescription() QCString trModulesDescription()
{ return "Seznam modulov:"; } { return "Seznam modulov:"; }
QCString trNoDescriptionAvailable() /* QCString trNoDescriptionAvailable() */
{ return "Opis ni dostopen"; } /* { return "Opis ni dostopen"; } */
QCString trDocumentation() QCString trDocumentation()
{ return "Dokumentacija"; } { return "Dokumentacija"; }
QCString trModuleIndex() QCString trModuleIndex()
{ return "seznam modulov"; } { return "seznam modulov"; }
QCString trHierarchicalIndex() QCString trHierarchicalIndex()
{ return "Hierarhini indeks"; } { return "Hierarhièni indeks"; }
QCString trCompoundIndex() QCString trCompoundIndex()
{ return "abecedni seznam"; } { return "abecedni seznam"; }
QCString trFileIndex() QCString trFileIndex()
...@@ -165,30 +169,30 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -165,30 +169,30 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
QCString trPageDocumentation() QCString trPageDocumentation()
{ return "Opis povezanih strani"; } { return "Opis povezanih strani"; }
QCString trReferenceManual() QCString trReferenceManual()
{ return "Prironik"; } { return "Priroènik"; }
QCString trDefines() QCString trDefines()
{ return "Makro deklaracije"; } { return "Makro deklaracije"; }
QCString trFuncProtos() QCString trFuncProtos()
{ return "Prototipi funkcij"; } { return "Prototipi funkcij"; }
QCString trTypedefs() QCString trTypedefs()
{ return "Uporabniko definirani tipi"; } { return "Uporabni¹ko definirani tipi"; }
QCString trEnumerations() QCString trEnumerations()
{ return "Natevni tipi"; } { return "Na¹tevni tipi"; }
QCString trFunctions() QCString trFunctions()
{ return "Funkcije"; } { return "Funkcije"; }
QCString trVariables() QCString trVariables()
{ return "Spremenljivke"; } { return "Spremenljivke"; }
QCString trEnumerationValues() QCString trEnumerationValues()
{ return "Vrednosti natevnih tipov"; } { return "Vrednosti na¹tevnih tipov"; }
QCString trDefineDocumentation() QCString trDefineDocumentation()
{ return "Opis makro definicije"; } { return "Opis makro definicije"; }
QCString trFunctionPrototypeDocumentation() QCString trFunctionPrototypeDocumentation()
{ return "Opis prototipa funkcije"; } { return "Opis prototipa funkcije"; }
QCString trTypedefDocumentation() QCString trTypedefDocumentation()
{ return "Opis uporabniko definiranega tipa"; } { return "Opis uporabni¹ko definiranega tipa"; }
QCString trEnumerationTypeDocumentation() QCString trEnumerationTypeDocumentation()
{ return "Opis natevnega (enum) tipa"; } { return "Opis na¹tevnega (enum) tipa"; }
QCString trFunctionDocumentation() QCString trFunctionDocumentation()
{ return "Opis funkcije"; } { return "Opis funkcije"; }
QCString trVariableDocumentation() QCString trVariableDocumentation()
...@@ -212,14 +216,14 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -212,14 +216,14 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
} }
QCString trForInternalUseOnly() QCString trForInternalUseOnly()
{ return "Samo za interno uporabo."; } { return "Samo za interno uporabo."; }
QCString trReimplementedForInternalReasons() /* QCString trReimplementedForInternalReasons() */
{ return "Ponovno implementirano zaradi internih razlogov. " /* { return "Ponovno implementirano zaradi internih razlogov. " */
"Nima vpliva na API."; /* "Nima vpliva na API."; */
} /* } */
QCString trWarning() QCString trWarning()
{ return "Opozorilo"; } { return "Opozorilo"; }
QCString trBugsAndLimitations() /* QCString trBugsAndLimitations() */
{ return "Napake in omejtive"; } /* { return "Napake in omejtive"; } */
QCString trVersion() QCString trVersion()
{ return "Verzija"; } { return "Verzija"; }
QCString trDate() QCString trDate()
...@@ -233,7 +237,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -233,7 +237,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
QCString trExceptions() QCString trExceptions()
{ return "Prekinitve"; } { return "Prekinitve"; }
QCString trGeneratedBy() QCString trGeneratedBy()
{ return "Izdelano s pomojo"; } { return "Izdelano s pomoèjo"; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990307 // new since 0.49-990307
...@@ -272,7 +276,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -272,7 +276,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
{ {
case ClassDef::Class: result+=" Razred "; break; case ClassDef::Class: result+=" Razred "; break;
case ClassDef::Struct: result+=" Struktura "; break; case ClassDef::Struct: result+=" Struktura "; break;
case ClassDef::Union: result+=" Mnoica "; break; case ClassDef::Union: result+=" Mno¾ica "; break;
case ClassDef::Interface: result+=" IDL vmesnik "; break; case ClassDef::Interface: result+=" IDL vmesnik "; break;
case ClassDef::Protocol: result+=" protocol "; break; // translate me! case ClassDef::Protocol: result+=" protocol "; break; // translate me!
case ClassDef::Category: result+=" category "; break; // translate me! case ClassDef::Category: result+=" category "; break; // translate me!
...@@ -306,19 +310,19 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -306,19 +310,19 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
QCString trSignals() QCString trSignals()
{ return "Programske prekinitve"; } { return "Programske prekinitve"; }
QCString trStaticPublicMembers() QCString trStaticPublicMembers()
{ return "Statine javne metode in atributi"; } { return "Statiène javne metode in atributi"; }
QCString trProtectedMembers() QCString trProtectedMembers()
{ return "Zaitene metode in atributi"; } { return "Za¹èitene metode in atributi"; }
QCString trProtectedSlots() QCString trProtectedSlots()
{ return "Zaiteni sloti"; } { return "Za¹èiteni sloti"; }
QCString trStaticProtectedMembers() QCString trStaticProtectedMembers()
{ return "Statine zaitene metode in atributi"; } { return "Statiène za¹èitene metode in atributi"; }
QCString trPrivateMembers() QCString trPrivateMembers()
{ return "Skrite metode in atributi"; } { return "Skrite metode in atributi"; }
QCString trPrivateSlots() QCString trPrivateSlots()
{ return "Skriti slotovi"; } { return "Skriti slotovi"; }
QCString trStaticPrivateMembers() QCString trStaticPrivateMembers()
{ return "Statine skrite metode in atributi"; } { return "Statiène skrite metode in atributi"; }
// end of member sections // end of member sections
QCString trWriteList(int numEntries) QCString trWriteList(int numEntries)
...@@ -355,7 +359,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -355,7 +359,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
// used in class documentation to produce a list of super classes, // used in class documentation to produce a list of super classes,
// if class diagrams are disabled. // if class diagrams are disabled.
{ {
return "Naslijeena u "+trWriteList(numEntries)+"."; return "Naslijeðena u "+trWriteList(numEntries)+".";
} }
QCString trReimplementedFromList(int numEntries) QCString trReimplementedFromList(int numEntries)
// used in member documentation blocks to produce a list of // used in member documentation blocks to produce a list of
...@@ -462,10 +466,10 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -462,10 +466,10 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
// new since 0.49-991106 // new since 0.49-991106
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
QCString trSources() /* QCString trSources() */
{ /* { */
return "Izvorne datoteke"; /* return "Izvorne datoteke"; */
} /* } */
QCString trDefinedAtLineInSourceFile() QCString trDefinedAtLineInSourceFile()
{ {
return "Definirano v @0 vrstici datoteke @1."; return "Definirano v @0 vrstici datoteke @1.";
...@@ -498,10 +502,10 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -498,10 +502,10 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
{ {
return (QCString)"Graf prikazuje seznam datotek, " return (QCString)"Graf prikazuje seznam datotek, "
"ki jih datoteka \""+fName+"\" " "ki jih datoteka \""+fName+"\" "
"direktno ali indirektno vkljuuje. Pravokotniki ponazarjajo datoteke, puice " "direktno ali indirektno vkljuèuje. Pravokotniki ponazarjajo datoteke, pu¹èice "
"predstavljajo relacije med njimi. " "predstavljajo relacije med njimi. "
"rn pravokotnik ponazarja datoteko "+fName+". Puice A->B ponazarjajo " "Èrn pravokotnik ponazarja datoteko "+fName+". Pu¹èice A->B ponazarjajo "
"usmerjeno relacijo \"A vkljuuje B\"." "usmerjeno relacijo \"A vkljuèuje B\"."
; ;
} }
/*! header that is put before the list of constructor/destructors. */ /*! header that is put before the list of constructor/destructors. */
...@@ -517,7 +521,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -517,7 +521,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
/*! Used in the file sources to point to the corresponding documentation. */ /*! Used in the file sources to point to the corresponding documentation. */
QCString trGotoDocumentation() QCString trGotoDocumentation()
{ {
return "dokumenacija tekoe datoteke."; return "dokumenacija tekoèe datoteke.";
} }
/*! Text for the \pre command */ /*! Text for the \pre command */
QCString trPrecondition() QCString trPrecondition()
...@@ -537,7 +541,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -537,7 +541,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
/*! Text shown before a multi-line variable/enum initialization */ /*! Text shown before a multi-line variable/enum initialization */
QCString trInitialValue() QCString trInitialValue()
{ {
return "Zaetna vrednost / definicija :"; return "Zaèetna vrednost / definicija :";
} }
/*! Text used the source code in the file index */ /*! Text used the source code in the file index */
QCString trCode() QCString trCode()
...@@ -546,11 +550,11 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -546,11 +550,11 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
} }
QCString trGraphicalHierarchy() QCString trGraphicalHierarchy()
{ {
return "Hierarhija razredov v grafini obliki"; return "Hierarhija razredov v grafièni obliki";
} }
QCString trGotoGraphicalHierarchy() QCString trGotoGraphicalHierarchy()
{ {
return "Dedovalna hierarhija v grafini obliki"; return "Dedovalna hierarhija v grafièni obliki";
} }
QCString trGotoTextualHierarchy() QCString trGotoTextualHierarchy()
{ {
...@@ -579,19 +583,19 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -579,19 +583,19 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
} }
QCString trStaticPublicAttribs() QCString trStaticPublicAttribs()
{ {
return "Statini javni atributi"; return "Statièni javni atributi";
} }
QCString trProtectedTypes() QCString trProtectedTypes()
{ {
return "Zaiteni tipi"; return "Za¹èiteni tipi";
} }
QCString trProtectedAttribs() QCString trProtectedAttribs()
{ {
return "Zaiteni atributi"; return "Za¹èiteni atributi";
} }
QCString trStaticProtectedAttribs() QCString trStaticProtectedAttribs()
{ {
return "Statini zaiteni tipi"; return "Statièni za¹èiteni tipi";
} }
QCString trPrivateTypes() QCString trPrivateTypes()
{ {
...@@ -603,7 +607,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -603,7 +607,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
} }
QCString trStaticPrivateAttribs() QCString trStaticPrivateAttribs()
{ {
return "Statini skriti atributi"; return "Statièni skriti atributi";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 1.1.3 // new since 1.1.3
...@@ -617,7 +621,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -617,7 +621,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
/*! Used as the header of the todo list */ /*! Used as the header of the todo list */
virtual QCString trTodoList() virtual QCString trTodoList()
{ {
return "Seznam nedokonanih opravil"; return "Seznam nedokonèanih opravil";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -639,12 +643,12 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -639,12 +643,12 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
virtual QCString trInclByDepGraph() virtual QCString trInclByDepGraph()
{ {
return "Graf prikazuje datoteke, ki posredno ali neposredno " return "Graf prikazuje datoteke, ki posredno ali neposredno "
"vkljuujejo tekoo datoteko. Pravokotniki simbolizirajo datoteke, " "vkljuèujejo tekoèo datoteko. Pravokotniki simbolizirajo datoteke, "
"puice pa relacije med datotekami. Tekoa datoteka je prikazana " "pu¹èice pa relacije med datotekami. Tekoèa datoteka je prikazana "
"kot pravokotnik s rno podlago, ostale pa kot pravokotnik brez podlage. " "kot pravokotnik s èrno podlago, ostale pa kot pravokotnik brez podlage. "
"Smer puice A->B definira relacijo \"A vkljuuje B\". " "Smer pu¹èice A->B definira relacijo \"A vkljuèuje B\". "
"Vse datoteke, ki torej mejijo na tekoo (t.j. obstaja povezava med rnim in " "Vse datoteke, ki torej mejijo na tekoèo (t.j. obstaja povezava med èrnim in "
"praznim pravokotnikom), jo direktno vkljuujejo, medtem, ko jo ostale vkljuujejo " "praznim pravokotnikom), jo direktno vkljuèujejo, medtem, ko jo ostale vkljuèujejo "
"le posredno. " "le posredno. "
; ;
} }
...@@ -668,7 +672,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -668,7 +672,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
virtual QCString trLegendDocs() virtual QCString trLegendDocs()
{ {
return return
"Tekoa stran pojasnjuje nain interpretacije grafov, ki jih izrie " "Tekoèa stran pojasnjuje naèin interpretacije grafov, ki jih izri¹e "
"doxygen.<p>\n" "doxygen.<p>\n"
"Poglejmo si naslednji primer:\n" "Poglejmo si naslednji primer:\n"
"\\code\n" "\\code\n"
...@@ -678,11 +682,11 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -678,11 +682,11 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
"class Truncated : public Invisible { };\n\n" "class Truncated : public Invisible { };\n\n"
"/* razred, ki ni opisan z doxygen komentarji */\n" "/* razred, ki ni opisan z doxygen komentarji */\n"
"class Undocumented { };\n\n" "class Undocumented { };\n\n"
"/*! Razred, ki ga dedujemo s pomojo javnega dedovanja */\n" "/*! Razred, ki ga dedujemo s pomoèjo javnega dedovanja */\n"
"class PublicBase : public Truncated { };\n\n" "class PublicBase : public Truncated { };\n\n"
"/*! Razred, ki ga dedujemo s pomojo zaitenega dedovanja */\n" "/*! Razred, ki ga dedujemo s pomoèjo za¹èitenega dedovanja */\n"
"class ProtectedBase { };\n\n" "class ProtectedBase { };\n\n"
"/*! Razred, ki ga dedujemo s pomojo skritega dedovanja */\n" "/*! Razred, ki ga dedujemo s pomoèjo skritega dedovanja */\n"
"class PrivateBase { };\n\n" "class PrivateBase { };\n\n"
"/*! Razred, ki ga uporablja dedovani razred */\n" "/*! Razred, ki ga uporablja dedovani razred */\n"
"class Used { };\n\n" "class Used { };\n\n"
...@@ -772,10 +776,10 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -772,10 +776,10 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/*! Used for Java interfaces in the summary section of Java packages */ /*! Used for Java interfaces in the summary section of Java packages */
virtual QCString trInterfaces() /* virtual QCString trInterfaces() */
{ /* { */
return "Vmesniki"; /* return "Vmesniki"; */
} /* } */
/*! Used for Java classes in the summary section of Java packages */ /*! Used for Java classes in the summary section of Java packages */
virtual QCString trClasses() virtual QCString trClasses()
{ {
...@@ -809,10 +813,10 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -809,10 +813,10 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
return "JAVA paketi"; return "JAVA paketi";
} }
/*! Used as a chapter title for Latex & RTF output */ /*! Used as a chapter title for Latex & RTF output */
virtual QCString trPackageDocumentation() /* virtual QCString trPackageDocumentation() */
{ /* { */
return "Opisi JAVA paketov"; /* return "Opisi JAVA paketov"; */
} /* } */
/*! Text shown before a multi-line define */ /*! Text shown before a multi-line define */
virtual QCString trDefineValue() virtual QCString trDefineValue()
{ {
...@@ -954,13 +958,13 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -954,13 +958,13 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
* 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. * of the category.
*/ */
virtual QCString trField(bool first_capital, bool singular) /* virtual QCString trField(bool first_capital, bool singular) */
{ /* { */
QCString result((first_capital ? "Polj" : "polj")); /* QCString result((first_capital ? "Polj" : "polj")); */
if (!singular) result+="a"; /* if (!singular) result+="a"; */
else result += "e"; /* else result += "e"; */
return result; /* return result; */
} /* } */
/*! This is used for translation of the word that will possibly /*! 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
...@@ -1015,14 +1019,230 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16 ...@@ -1015,14 +1019,230 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_16
return "Implementirano v "+trWriteList(numEntries)+"."; return "Implementirano v "+trWriteList(numEntries)+".";
} }
}; //////////////////////////////////////////////////////////////////////////
// new since 1.2.16
//////////////////////////////////////////////////////////////////////////
#endif /*! used in RTF documentation as a heading for the Table
* of Contents.
*/
virtual QCString trRTFTableOfContents()
{
return "Vsebina";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.17
//////////////////////////////////////////////////////////////////////////
/*! Used as the header of the list of item that have been
* flagged deprecated
*/
virtual QCString trDeprecatedList()
{
return "Seznam opuščenih";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.18
//////////////////////////////////////////////////////////////////////////
/*! Used as a header for declaration section of the events found in
* a C# program
*/
virtual QCString trEvents()
{
return "Dogodki";
}
/*! Header used for the documentation section of a class' events. */
virtual QCString trEventDocumentation()
{
return "Opisi dogodkov";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3
//////////////////////////////////////////////////////////////////////////
/*! Used as a heading for a list of Java class types with package scope.
*/
virtual QCString trPackageTypes()
{
return "Tipi paketov";
}
/*! Used as a heading for a list of Java class functions with package
* scope.
*/
virtual QCString trPackageMembers()
{
return "Funkcije paketa"; /* don't know the context */
}
/*! Used as a heading for a list of static Java class functions with
* package scope.
*/
virtual QCString trStaticPackageMembers()
{
return "Statične funkcije paketa";
}
/*! Used as a heading for a list of Java class variables with package
* scope.
*/
virtual QCString trPackageAttribs()
{
return "Atributi paketa";
}
/*! Used as a heading for a list of static Java class variables with
* package scope.
*/
virtual QCString trStaticPackageAttribs()
{
return "Statični atributi paketa";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3.1
//////////////////////////////////////////////////////////////////////////
/*! Used in the quick index of a class/file/namespace member list page
* to link to the unfiltered list of all members.
*/
virtual QCString trAll()
{
return "Vse";
}
/*! Put in front of the call graph for a function. */
virtual QCString trCallGraph()
{
return "Graf klicev tekoče funkcije:";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3.3
//////////////////////////////////////////////////////////////////////////
/*! When the search engine is enabled this text is put in the header
* of each page before the field where one can enter the text to search
* for.
*/
virtual QCString trSearchForIndex()
{
return "Išči";
}
/*! This string is used as the title for the page listing the search
* results.
*/
virtual QCString trSearchResultsTitle()
{
return "Rezultat(i) iskanja";
}
/*! This string is put just before listing the search results. The
* text can be different depending on the number of documents found.
* Inside the text you can put the special marker $num to insert
* the number representing the actual number of search results.
* The @a numDocuments parameter can be either 0, 1 or 2, where the
* value 2 represents 2 or more matches. HTML markup is allowed inside
* the returned string.
*/
virtual QCString trSearchResults(int numDocuments)
{
if (numDocuments==0)
{
return "Oprostite, noben dokument ne ustreza vašemu povpraševanju.";
}
else if (numDocuments==1)
{
return "Našel sem <b>1</b> dokument, ki ustreza vašemu povpraševanju.";
}
else if (numDocuments==2)
{
return "Našel sem <b>2</b> dokumenta, ki ustrezata vašemu povpraševanju.";
}
else
{
return "Našel sem <b>$num</b> dokumentov, ki ustrezajo vašemu povpraševanju. "
"Dokumenti z najboljšo stopnjo ujemanja se nahajajo na začetku.";
}
}
/*! This string is put before the list of matched words, for each search
* result. What follows is the list of words that matched the query.
*/
virtual QCString trSearchMatches()
{
return "Zadetki:";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3.8
//////////////////////////////////////////////////////////////////////////
/*! This is used in HTML as the title of page with source code for file filename
*/
virtual QCString trSourceFile(QCString& filename)
{
return filename + " izvorna koda";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3.9
//////////////////////////////////////////////////////////////////////////
/*! This is used as the name of the chapter containing the directory
* hierarchy.
*/
virtual QCString trDirIndex()
{ return "Hierarhija imenikov"; }
/*! This is used as the name of the chapter containing the documentation
* of the directories.
*/
virtual QCString trDirDocumentation()
{ return "Opisi imenikov"; }
/*! This is used as the title of the directory index and also in the
* Quick links of an HTML page, to link to the directory hierarchy.
*/
virtual QCString trDirectories()
{ return "Imeniki"; }
/*! This returns a sentences that introduces the directory hierarchy.
* and the fact that it is sorted alphabetically per level
*/
virtual QCString trDirDescription()
{ return "Imeniška hierarhija je urejena v glavnem, toda ne popolnoma, po abecedi, ";
}
/*! This returns the title of a directory page. The name of the
* directory is passed via \a dirName.
*/
virtual QCString trDirReference(const char *dirName)
{ QCString result=dirName;
result+=" imeniške reference"; /* not sure for context */
return result;
}
/*! This returns the word directory with or without starting capital
* (\a first_capital) and in sigular or plural form (\a singular).
*/
virtual QCString trDir(bool first_capital, bool singular)
{
QCString result((first_capital ? "Imenik" : "imenik"));
if (singular) result+="i"; else result+="";
return result;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.4.1
//////////////////////////////////////////////////////////////////////////
/*! This text is added to the documentation when the \\overload command
* is used for a overloaded function.
*/
virtual QCString trOverloadText()
{
return "To je ponovno definirana metoda, " /* don't know Slovene expresion for overloaded */
"podana je zaradi priročnosti. Metoda se od predhodnje razlikuje "
"samo v številu in/ali tipu formalnih argumentov.";
}
};
#endif
...@@ -1000,7 +1000,7 @@ done: ...@@ -1000,7 +1000,7 @@ done:
return result; return result;
} }
int computeQualifiedIndex(const QString &name) int computeQualifiedIndex(const QCString &name)
{ {
int i = name.find('<'); int i = name.find('<');
return name.findRev("::",i==-1 ? name.length() : i); return name.findRev("::",i==-1 ? name.length() : i);
...@@ -1136,15 +1136,18 @@ ClassDef *getResolvedClassRec(Definition *scope, ...@@ -1136,15 +1136,18 @@ ClassDef *getResolvedClassRec(Definition *scope,
// see if we are dealing with a class or a typedef // see if we are dealing with a class or a typedef
if (d->definitionType()==Definition::TypeClass) // d is a class if (d->definitionType()==Definition::TypeClass) // d is a class
{ {
if (!((ClassDef*)d)->isTemplateArgument()) // skip classes that ClassDef *cd = (ClassDef *)d;
// are only there to //printf("cd=%s\n",cd->name().data());
// represent a template if (!cd->isTemplateArgument()) // skip classes that
// argument // are only there to
// represent a template
// argument
{ {
//printf("is not a templ arg\n");
if (distance<minDistance) // found a definition that is "closer" if (distance<minDistance) // found a definition that is "closer"
{ {
minDistance=distance; minDistance=distance;
bestMatch = (ClassDef *)d; bestMatch = cd;
bestTypedef = 0; bestTypedef = 0;
bestTemplSpec.resize(0); bestTemplSpec.resize(0);
} }
...@@ -1164,7 +1167,7 @@ ClassDef *getResolvedClassRec(Definition *scope, ...@@ -1164,7 +1167,7 @@ ClassDef *getResolvedClassRec(Definition *scope,
// Just a non-perfect heuristic but it could help in some situations // Just a non-perfect heuristic but it could help in some situations
// (kdecore code is an example). // (kdecore code is an example).
minDistance=distance; minDistance=distance;
bestMatch = (ClassDef *)d; bestMatch = cd;
bestTypedef = 0; bestTypedef = 0;
bestTemplSpec.resize(0); bestTemplSpec.resize(0);
} }
...@@ -5605,7 +5608,7 @@ QCString stripLeadingAndTrailingEmptyLines(const QCString &s) ...@@ -5605,7 +5608,7 @@ QCString stripLeadingAndTrailingEmptyLines(const QCString &s)
p=s.data()+b; p=s.data()+b;
while (b>=0) while (b>=0)
{ {
c=*--p; c=*p; p--;
if (c==' ' || c=='\t' || c=='\r') b--; if (c==' ' || c=='\t' || c=='\r') b--;
else if (c=='\n') bi=b,b--; else if (c=='\n') bi=b,b--;
else break; else break;
......
...@@ -227,7 +227,7 @@ void replaceNamespaceAliases(QCString &scope,int i); ...@@ -227,7 +227,7 @@ void replaceNamespaceAliases(QCString &scope,int i);
int isAccessibleFrom(Definition *scope,FileDef *fileScope,Definition *item); int isAccessibleFrom(Definition *scope,FileDef *fileScope,Definition *item);
int isAccessibleFromWithExpScope(Definition *scope,FileDef *fileScope,Definition *item, int isAccessibleFromWithExpScope(Definition *scope,FileDef *fileScope,Definition *item,
const QCString &explicitScopePart); const QCString &explicitScopePart);
int computeQualifiedIndex(const QString &name); int computeQualifiedIndex(const QCString &name);
void addDirPrefix(QCString &fileName); void addDirPrefix(QCString &fileName);
QCString relativePathToRoot(const char *name); QCString relativePathToRoot(const char *name);
#define REL_PATH_TO_ROOT "../../" #define REL_PATH_TO_ROOT "../../"
......
...@@ -23,8 +23,8 @@ CFG=Doxygen - Win32 Debug ...@@ -23,8 +23,8 @@ CFG=Doxygen - Win32 Debug
# Begin Project # Begin Project
# PROP AllowPerConfigDependencies 0 # PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName "" # PROP Scc_ProjName "Doxygen"
# PROP Scc_LocalPath "" # PROP Scc_LocalPath "."
CPP=cl.exe CPP=cl.exe
RSC=rc.exe RSC=rc.exe
...@@ -309,6 +309,14 @@ SOURCE=..\src\pre.cpp ...@@ -309,6 +309,14 @@ SOURCE=..\src\pre.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\src\pycode.cpp
# End Source File
# Begin Source File
SOURCE=..\src\pyscanner.cpp
# End Source File
# Begin Source File
SOURCE=..\src\reflist.cpp SOURCE=..\src\reflist.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
...@@ -537,6 +545,14 @@ SOURCE=..\src\mangen.h ...@@ -537,6 +545,14 @@ SOURCE=..\src\mangen.h
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\libmd5\md5.h
# End Source File
# Begin Source File
SOURCE=..\libmd5\md5_loc.h
# End Source File
# Begin Source File
SOURCE=..\src\memberdef.h SOURCE=..\src\memberdef.h
# End Source File # End Source File
# Begin Source File # Begin Source File
...@@ -569,19 +585,15 @@ SOURCE=..\src\outputlist.h ...@@ -569,19 +585,15 @@ SOURCE=..\src\outputlist.h
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\src\packagedef.h
# End Source File
# Begin Source File
SOURCE=..\src\pagedef.h SOURCE=..\src\pagedef.h
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\src\perlmodgen.h SOURCE=..\src\parserintf.h
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\src\parserintf.h SOURCE=..\src\perlmodgen.h
# End Source File # End Source File
# Begin Source File # Begin Source File
...@@ -597,6 +609,14 @@ SOURCE=..\src\printdocvisitor.h ...@@ -597,6 +609,14 @@ SOURCE=..\src\printdocvisitor.h
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\src\pycode.h
# End Source File
# Begin Source File
SOURCE=..\src\pyscanner.h
# End Source File
# Begin Source File
SOURCE=..\src\qtbc.h SOURCE=..\src\qtbc.h
# End Source File # End Source File
# Begin Source File # Begin Source File
......
...@@ -3,10 +3,14 @@ Microsoft Developer Studio Workspace File, Format Version 6.00 ...@@ -3,10 +3,14 @@ Microsoft Developer Studio Workspace File, Format Version 6.00
############################################################################### ###############################################################################
Project: "Doxygen"=".\Doxygen.dsp" - Package Owner=<4> Project: "Doxygen"=.\Doxygen.dsp - Package Owner=<4>
Package=<5> Package=<5>
{{{ {{{
begin source code control
Doxygen
.
end source code control
}}} }}}
Package=<4> Package=<4>
...@@ -18,16 +22,20 @@ Package=<4> ...@@ -18,16 +22,20 @@ Package=<4>
Project_Dep_Name zlib Project_Dep_Name zlib
End Project Dependency End Project Dependency
Begin Project Dependency Begin Project Dependency
Project_Dep_Name qtools Project_Dep_Name Doxytag
End Project Dependency End Project Dependency
}}} }}}
############################################################################### ###############################################################################
Project: "Doxytag"=".\Doxytag.dsp" - Package Owner=<4> Project: "Doxytag"=.\Doxytag.dsp - Package Owner=<4>
Package=<5> Package=<5>
{{{ {{{
begin source code control
Doxytag
.
end source code control
}}} }}}
Package=<4> Package=<4>
...@@ -39,10 +47,14 @@ Package=<4> ...@@ -39,10 +47,14 @@ Package=<4>
############################################################################### ###############################################################################
Project: "libpng"=".\libpng.dsp" - Package Owner=<4> Project: "libpng"=.\libpng.dsp - Package Owner=<4>
Package=<5> Package=<5>
{{{ {{{
begin source code control
libpng
.
end source code control
}}} }}}
Package=<4> Package=<4>
...@@ -51,10 +63,14 @@ Package=<4> ...@@ -51,10 +63,14 @@ Package=<4>
############################################################################### ###############################################################################
Project: "qtools"=".\qtools.dsp" - Package Owner=<4> Project: "qtools"=.\qtools.dsp - Package Owner=<4>
Package=<5> Package=<5>
{{{ {{{
begin source code control
qtools
.
end source code control
}}} }}}
Package=<4> Package=<4>
...@@ -63,10 +79,14 @@ Package=<4> ...@@ -63,10 +79,14 @@ Package=<4>
############################################################################### ###############################################################################
Project: "zlib"=".\zlib.dsp" - Package Owner=<4> Project: "zlib"=.\zlib.dsp - Package Owner=<4>
Package=<5> Package=<5>
{{{ {{{
begin source code control
zlib
.
end source code control
}}} }}}
Package=<4> Package=<4>
...@@ -79,6 +99,10 @@ Global: ...@@ -79,6 +99,10 @@ Global:
Package=<5> Package=<5>
{{{ {{{
begin source code control
Doxygen
.
end source code control
}}} }}}
Package=<3> Package=<3>
......
...@@ -23,6 +23,8 @@ CFG=Doxytag - Win32 Debug ...@@ -23,6 +23,8 @@ CFG=Doxytag - Win32 Debug
# Begin Project # Begin Project
# PROP AllowPerConfigDependencies 0 # PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName "Doxytag"
# PROP Scc_LocalPath "."
CPP=cl.exe CPP=cl.exe
RSC=rc.exe RSC=rc.exe
...@@ -88,11 +90,11 @@ LINK32=link.exe ...@@ -88,11 +90,11 @@ LINK32=link.exe
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File # Begin Source File
SOURCE=..\src\doxytag.cpp SOURCE=..\src\config.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\src\logos.cpp SOURCE=..\src\doxytag.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
...@@ -104,15 +106,7 @@ SOURCE=..\src\version.cpp ...@@ -104,15 +106,7 @@ SOURCE=..\src\version.cpp
# PROP Default_Filter "h;hpp;hxx;hm;inl" # PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File # Begin Source File
SOURCE=..\src\logos.h SOURCE=..\src\config.h
# End Source File
# Begin Source File
SOURCE=..\src\searchindex.h
# End Source File
# Begin Source File
SOURCE=..\src\suffixtree.h
# End Source File # End Source File
# Begin Source File # Begin Source File
......
...@@ -23,6 +23,8 @@ CFG=libpng - Win32 Debug ...@@ -23,6 +23,8 @@ CFG=libpng - Win32 Debug
# Begin Project # Begin Project
# PROP AllowPerConfigDependencies 0 # PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName "libpng"
# PROP Scc_LocalPath "."
CPP=cl.exe CPP=cl.exe
RSC=rc.exe RSC=rc.exe
...@@ -85,87 +87,70 @@ LIB32=link.exe -lib ...@@ -85,87 +87,70 @@ LIB32=link.exe -lib
# Begin Source File # Begin Source File
SOURCE=..\libpng\png.c SOURCE=..\libpng\png.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\libpng\pngerror.c SOURCE=..\libpng\pngerror.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\libpng\pnggccrd.c SOURCE=..\libpng\pnggccrd.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\libpng\pngget.c SOURCE=..\libpng\pngget.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\libpng\pngmem.c SOURCE=..\libpng\pngmem.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\libpng\pngpread.c SOURCE=..\libpng\pngpread.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\libpng\pngread.c SOURCE=..\libpng\pngread.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\libpng\pngrio.c SOURCE=..\libpng\pngrio.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\libpng\pngrtran.c SOURCE=..\libpng\pngrtran.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\libpng\pngrutil.c SOURCE=..\libpng\pngrutil.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\libpng\pngset.c SOURCE=..\libpng\pngset.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\libpng\pngtrans.c SOURCE=..\libpng\pngtrans.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\libpng\pngvcrd.c SOURCE=..\libpng\pngvcrd.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\libpng\pngwio.c SOURCE=..\libpng\pngwio.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\libpng\pngwrite.c SOURCE=..\libpng\pngwrite.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\libpng\pngwtran.c SOURCE=..\libpng\pngwtran.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\libpng\pngwutil.c SOURCE=..\libpng\pngwutil.c
# End Source File # End Source File
# End Group # End Group
# Begin Group "Header Files" # Begin Group "Header Files"
......
...@@ -23,6 +23,8 @@ CFG=qtools - Win32 Debug ...@@ -23,6 +23,8 @@ CFG=qtools - Win32 Debug
# Begin Project # Begin Project
# PROP AllowPerConfigDependencies 0 # PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName "qtools"
# PROP Scc_LocalPath "."
CPP=cl.exe CPP=cl.exe
RSC=rc.exe RSC=rc.exe
...@@ -92,10 +94,6 @@ SOURCE=..\qtools\qcollection.cpp ...@@ -92,10 +94,6 @@ SOURCE=..\qtools\qcollection.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\qtools\scstring.cpp
# End Source File
# Begin Source File
SOURCE=..\qtools\qdatastream.cpp SOURCE=..\qtools\qdatastream.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
...@@ -132,19 +130,19 @@ SOURCE=..\qtools\qgarray.cpp ...@@ -132,19 +130,19 @@ SOURCE=..\qtools\qgarray.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\qtools\qgdict.cpp SOURCE=..\qtools\qgcache.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\qtools\qglist.cpp SOURCE=..\qtools\qgdict.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\qtools\qglobal.cpp SOURCE=..\qtools\qglist.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\qtools\qgcache.cpp SOURCE=..\qtools\qglobal.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
...@@ -182,6 +180,10 @@ SOURCE=..\qtools\qtextstream.cpp ...@@ -182,6 +180,10 @@ SOURCE=..\qtools\qtextstream.cpp
SOURCE=..\qtools\qxml.cpp SOURCE=..\qtools\qxml.cpp
# End Source File # End Source File
# Begin Source File
SOURCE=..\qtools\scstring.cpp
# End Source File
# End Group # End Group
# Begin Group "Header Files" # Begin Group "Header Files"
...@@ -200,6 +202,10 @@ SOURCE=..\qtools\qbuffer.h ...@@ -200,6 +202,10 @@ SOURCE=..\qtools\qbuffer.h
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\qtools\qcache.h
# End Source File
# Begin Source File
SOURCE=..\qtools\qcollection.h SOURCE=..\qtools\qcollection.h
# End Source File # End Source File
# Begin Source File # Begin Source File
...@@ -248,6 +254,10 @@ SOURCE=..\qtools\qgarray.h ...@@ -248,6 +254,10 @@ SOURCE=..\qtools\qgarray.h
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\qtools\qgcache.h
# End Source File
# Begin Source File
SOURCE=..\qtools\qgdict.h SOURCE=..\qtools\qgdict.h
# End Source File # End Source File
# Begin Source File # Begin Source File
...@@ -354,6 +364,10 @@ SOURCE=..\qtools\qvector.h ...@@ -354,6 +364,10 @@ SOURCE=..\qtools\qvector.h
SOURCE=..\qtools\qxml.h SOURCE=..\qtools\qxml.h
# End Source File # End Source File
# Begin Source File
SOURCE=..\qtools\scstring.h
# End Source File
# End Group # End Group
# End Target # End Target
# End Project # End Project
...@@ -23,6 +23,8 @@ CFG=zlib - Win32 Debug ...@@ -23,6 +23,8 @@ CFG=zlib - Win32 Debug
# Begin Project # Begin Project
# PROP AllowPerConfigDependencies 0 # PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName "zlib"
# PROP Scc_LocalPath "."
CPP=cl.exe CPP=cl.exe
RSC=rc.exe RSC=rc.exe
......
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