Commit 7cdb9679 authored by dimitri's avatar dimitri

Release-1.3.4

parent 51502afe
DOXYGEN Version 1.3.3-20030915
DOXYGEN Version 1.3.4
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (15 September 2003)
Dimitri van Heesch (22 September 2003)
DOXYGEN Version 1.3.3_20030915
DOXYGEN Version 1.3.4
Please read INSTALL for compilation instructions.
......@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (15 September 2003)
Dimitri van Heesch (dimitri@stack.nl) (22 September 2003)
1.3.3-20030915
1.3.4
......@@ -25,7 +25,7 @@ Doxygen has built-in support for multiple languages. This means
that the text fragments that doxygen generates can be produced in
languages other than English (the default) at configuration time.
Currently (version 1.3.3), 29 languages
Currently (version unknown), 29 languages
are supported (sorted alphabetically):
Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian,
Czech, Danish, Dutch, English, Finnish,
......@@ -121,7 +121,7 @@ when the translator was updated.
<TD>German</TD>
<TD>Jens Seidel</TD>
<TD>jensseidel@NOSPAM.users.sf.net</TD>
<TD>1.3.1</TD>
<TD>up-to-date</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Greek</TD>
......@@ -139,7 +139,7 @@ when the translator was updated.
<TD>Italian</TD>
<TD>Alessandro Falappa<br>Ahmed Aldo Faisal</TD>
<TD>alessandro@NOSPAM.falappa.net<br>aaf23@NOSPAM.cam.ac.uk</TD>
<TD>1.3.3</TD>
<TD>up-to-date</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Japanese</TD>
......@@ -260,13 +260,13 @@ when the translator was updated.
\hline
French & Xavier Outhier & {\tt xouthier@yahoo.fr} & up-to-date \\
\hline
German & Jens Seidel & {\tt jensseidel@users.sf.net} & 1.3.1 \\
German & Jens Seidel & {\tt jensseidel@users.sf.net} & up-to-date \\
\hline
Greek & Harry Kalogirou & {\tt harkal@rainbow.cs.unipi.gr} & 1.2.11 \\
\hline
Hungarian & F\"{o}ldv\'{a}ri Gy\"{o}rgy & {\tt foldvari@diatronltd.com} & 1.2.1 \\
\hline
Italian & Alessandro Falappa & {\tt alessandro@falappa.net} & 1.3.3 \\
Italian & Alessandro Falappa & {\tt alessandro@falappa.net} & up-to-date \\
& Ahmed Aldo Faisal & {\tt aaf23@cam.ac.uk} & \\
\hline
Japanese & Ryunosuke Satoh & {\tt sun594@hotmail.com} & 1.3.3 \\
......
Summary: A documentation system for C/C++.
Name: doxygen
Version: 1.3.3_20030915
Version: 1.3.4
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
......
......@@ -35,6 +35,7 @@
#include "defargs.h"
#include "debug.h"
#include "docparser.h"
#include "searchindex.h"
// constructs a new class definition
......@@ -850,6 +851,12 @@ void ClassDef::writeDocumentation(OutputList &ol)
addGroupListToTitle(ol,this);
endTitle(ol,getOutputFileBase(),name());
if (Config_getBool("SEARCHENGINE"))
{
Doxygen::searchIndex->setCurrentDoc(pageTitle,getOutputFileBase());
Doxygen::searchIndex->addWord(localName().lower());
}
ol.startTextBlock();
//printf("Class %s brief=`%s' doc=`%s'\n",name().data(),briefDescription().data(),documentation().data());
......
......@@ -252,7 +252,7 @@ static bool readCodeFragment(const char *fileName,
// skip until the startLine has reached
while (lineNr<startLine && !feof(f))
{
while ((c=fgetc(f))!='\n' && c==EOF) /* skip */;
while ((c=fgetc(f))!='\n' && c!=EOF) /* skip */;
lineNr++;
}
if (!feof(f))
......@@ -263,6 +263,7 @@ static bool readCodeFragment(const char *fileName,
{
while ((c=fgetc(f))!='{' && c!=':' && c!=EOF)
{
//printf("parsing char `%c'\n",c);
if (c=='\n')
{
lineNr++,col=0;
......@@ -286,6 +287,7 @@ static bool readCodeFragment(const char *fileName,
found=TRUE;
}
}
//printf(" -> readCodeFragment(%s,%d,%d) lineNr=%d\n",fileName,startLine,endLine,lineNr);
if (found)
{
// For code with more than one line,
......@@ -305,11 +307,21 @@ static bool readCodeFragment(const char *fileName,
char lineStr[maxLineLength];
do
{
//printf("reading line %d in range %d-%d\n",lineNr,startLine,endLine);
int size_read;
do {
do
{
// read up to maxLineLength-1 bytes, the last byte being zero
char *p = fgets(lineStr, maxLineLength,f);
if (p) size_read=qstrlen(p); else size_read=-1;
//printf(" read %s",p);
if (p)
{
size_read=qstrlen(p);
}
else
{
size_read=-1;
}
result+=lineStr;
} while (size_read == (maxLineLength-1));
......@@ -432,7 +444,7 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName)
{
ol.pushGeneratorState();
//printf("Source Fragment %s: %d-%d bodyDef=%p\n",name().data(),
// startBodyLine,endBodyLine,bodyDef);
// m_startBodyLine,m_endBodyLine,m_bodyDef);
if (Config_getBool("INLINE_SOURCES") && m_startBodyLine!=-1 &&
m_endBodyLine>=m_startBodyLine && m_bodyDef)
{
......
......@@ -31,6 +31,7 @@
#include "code.h"
#include "docparser.h"
#include "ftvhelp.h"
#include "searchindex.h"
//#include "xml.h"
class DevNullCodeDocInterface : public BaseCodeDocInterface
......@@ -220,6 +221,12 @@ void FileDef::writeDocumentation(OutputList &ol)
endTitle(ol,getOutputFileBase(),docName());
//ol.newParagraph();
if (Config_getBool("SEARCHENGINE"))
{
Doxygen::searchIndex->setCurrentDoc(pageTitle,getOutputFileBase());
Doxygen::searchIndex->addWord(localName().lower());
}
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <compound kind=\"file\">" << endl;
......
......@@ -31,6 +31,7 @@
#include "doxygen.h"
#include "pagedef.h"
#include "docparser.h"
#include "searchindex.h"
GroupDef::GroupDef(const char *df,int dl,const char *na,const char *t,
const char *refFileName) : Definition(df,dl,na)
......@@ -413,6 +414,12 @@ void GroupDef::writeDocumentation(OutputList &ol)
addGroupListToTitle(ol,this);
endTitle(ol,getOutputFileBase(),title);
if (Config_getBool("SEARCHENGINE"))
{
Doxygen::searchIndex->setCurrentDoc(title,getOutputFileBase());
Doxygen::searchIndex->addWord(localName().lower());
}
if (Config_getBool("DETAILS_AT_TOP"))
{
writeDetailedDocumentation(ol);
......
......@@ -32,6 +32,7 @@
#include "defargs.h"
#include "docparser.h"
#include "dot.h"
#include "searchindex.h"
//#include "xml.h"
......@@ -723,6 +724,14 @@ void MemberDef::writeDeclaration(OutputList &ol,
// differs from the cname.
if (getOuterScope()) osname=getOuterScope()->name();
if (Config_getBool("SEARCHENGINE"))
{
Doxygen::searchIndex->setCurrentDoc(qualifiedName(),getOutputFileBase()+Config_getString("HTML_FILE_EXTENSION")+"#"+anchor());
Doxygen::searchIndex->addWord(localName().lower());
Doxygen::searchIndex->addWord(qualifiedName().lower());
}
HtmlHelp *htmlHelp=0;
bool hasHtmlHelp = Config_getBool("GENERATE_HTML") && Config_getBool("GENERATE_HTMLHELP");
......
......@@ -26,6 +26,7 @@
#include "doxygen.h"
#include "message.h"
#include "docparser.h"
#include "searchindex.h"
NamespaceDef::NamespaceDef(const char *df,int dl,
const char *name,const char *lref) :
......@@ -260,6 +261,12 @@ void NamespaceDef::writeDocumentation(OutputList &ol)
addGroupListToTitle(ol,this);
endTitle(ol,getOutputFileBase(),displayName());
if (Config_getBool("SEARCHENGINE"))
{
Doxygen::searchIndex->setCurrentDoc(pageTitle,getOutputFileBase());
Doxygen::searchIndex->addWord(localName().lower());
}
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <compound kind=\"namespace\">" << endl;
......
......@@ -25,55 +25,6 @@
#include <qintdict.h>
#include <qvector.h>
#if 0 // old version
#include "suffixtree.h"
//class IndexTree;
class SuffixTree;
class DocRef
{
public:
DocRef(int index,const char *name,const char *url)
{ i=index; n=name; u=url; }
~DocRef() {}
void setOffset(int offset) { o=offset; }
const char *name() const { return n; }
const char *url() const { return u; }
int index() const { return i; }
int offset() const { return o; }
private:
QCString n;
QCString u;
int i;
int o;
};
typedef QList<DocRef> DocRefList;
typedef QDict<DocRef> DocRefDict;
class SearchIndex
{
public:
SearchIndex();
~SearchIndex();
void addReference(const char *key,const char *ref);
bool addWord(const char *key,const char *word,bool special);
bool saveIndex(const char *fileName);
void dump() { suffixTree->dump(); }
private:
//IndexTree *indexTree;
SuffixTree *suffixTree;
DocRefList refList;
DocRefDict refDict;
QIntDict<DocRef> nameIndex;
int indexCount;
};
#endif
struct URL
{
URL(const char *n,const char *u) : name(n), url(u) {}
......
......@@ -77,13 +77,16 @@
// - Updated for "new since 1.3" version
// - translated Java package to Paket
//
// 2003/09/11 Jens Seidel (jensseidel@users.sourceforge.net)
// - Updated for "new since 1.3.1" version
//
// Todo:
// - see FIXME
#ifndef TRANSLATOR_DE_H
#define TRANSLATOR_DE_H
class TranslatorGerman : public TranslatorAdapter_1_3_1
class TranslatorGerman : public Translator
{
public:
......@@ -1523,7 +1526,74 @@ class TranslatorGerman : public TranslatorAdapter_1_3_1
{
return "Statische Paketattribute";
}
//////////////////////////////////////////////////////////////////////////
// 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 "Alle";
}
/*! Put in front of the call graph for a function. */
virtual QCString trCallGraph()
{
return "Hier ist der Graph aller Aufrufe für diese Funktion:";
}
//////////////////////////////////////////////////////////////////////////
// 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 "Suchen nach";
}
/*! This string is used as the title for the page listing the search
* results.
*/
virtual QCString trSearchResultsTitle()
{
return "Suchergebnisse";
}
/*! 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 "Es wurden keine Dokumente zu Ihrer Suchanfrage gefunden.";
}
else if (numDocuments==1)
{
return "Es wurde <b>1</b> Dokument zu Ihrer Suchanfrage gefunden.";
}
else
{
return "Es wurden <b>$num</b> Dokumente zu Ihrer Suchanfrage "
"gefunden. Die besten Treffer werden zuerst angezeigt.";
}
}
/*! 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 "Treffer:";
}
};
#endif
......@@ -70,7 +70,7 @@
#ifndef TRANSLATOR_IT_H
#define TRANSLATOR_IT_H
class TranslatorItalian : public TranslatorAdapter_1_3_3
class TranslatorItalian : public Translator
{
public:
......
......@@ -18,7 +18,7 @@
*
* Nickolay Semyonov
* Andrey V. Stolyarov released Feb 14, 2001
* Alexandr V. Chelpanov <cav@cryptopro.ru> released Apr 21, 2001
* Alexandr V. Chelpanov <cav@cryptopro.ru> released Sep 16, 2003
*
* list documentation .
*
......@@ -48,7 +48,7 @@
#ifndef TRANSLATOR_RU_H
#define TRANSLATOR_RU_H
class TranslatorRussian : public TranslatorAdapter_1_3
class TranslatorRussian : public Translator
{
private:
/*! The Decode() inline assumes the source written in the
......@@ -1445,6 +1445,121 @@ class TranslatorRussian : public TranslatorAdapter_1_3
{
return decode( "C" );
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3
//////////////////////////////////////////////////////////////////////////
/*! Used as a heading for a list of Java class types with package scope.
*/
virtual QCString trPackageTypes()
{
return decode( " " );
}
/*! Used as a heading for a list of Java class functions with package
* scope.
*/
virtual QCString trPackageMembers()
{
return decode( " " );
}
/*! Used as a heading for a list of static Java class functions with
* package scope.
*/
virtual QCString trStaticPackageMembers()
{
return decode( " " );
}
/*! Used as a heading for a list of Java class variables with package
* scope.
*/
virtual QCString trPackageAttribs()
{
return decode( " " );
}
/*! Used as a heading for a list of static Java class variables with
* package scope.
*/
virtual QCString trStaticPackageAttribs()
{
return decode( " " );
}
//////////////////////////////////////////////////////////////////////////
// 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 decode( "" );
}
/*! Put in front of the call graph for a function. */
virtual QCString trCallGraph()
{
return decode( " :" );
}
//////////////////////////////////////////////////////////////////////////
// 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 decode( "" );
}
/*! This string is used as the title for the page listing the search
* results.
*/
virtual QCString trSearchResultsTitle()
{
return decode( " " );
}
/*! 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 decode( " , ." );
}
else if( numDocuments == 1 )
{
return decode( " <b>$num</b> " ) + as_documents( numDocuments )
+ ".";
}
else
{
return decode( " <b>$num</b> " ) + as_documents( numDocuments )
+ decode( ". ." );
}
}
/*! 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 decode( ":" );
}
QCString as_documents( int num )
{
if( num % 10 == 1 ) return "";
if( (num % 10) >= 2 && (num % 10) <= 4 ) return decode( "" );
return decode( "" );
}
};
#endif
......@@ -220,7 +220,7 @@ class XMLCodeGenerator : public BaseCodeDocInterface
writeXMLCodeString(m_t,text);
}
void writeCodeLink(const char *ref,const char *file,
const char *anchor,const char *text)
const char *anchor,const char *name)
{
XML_DB(("(writeCodeLink)\n"));
if (m_insideCodeLine && !m_insideSpecialHL && m_normalHLNeedStartTag)
......@@ -228,7 +228,7 @@ class XMLCodeGenerator : public BaseCodeDocInterface
m_t << "<highlight class=\"normal\">";
m_normalHLNeedStartTag=FALSE;
}
writeXMLLink(m_t,ref,file,anchor,text);
writeXMLLink(m_t,ref,file,anchor,name);
}
void startCodeLine()
{
......
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