Commit 64ab3608 authored by Dimitri van Heesch's avatar Dimitri van Heesch

Release-1.3.7

parent 08b4b96e
DOXYGEN Version 1.3.6-20040427 DOXYGEN Version 1.3.7
Please read the installation section of the manual Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions. (http://www.doxygen.org/install.html) for instructions.
-------- --------
Dimitri van Heesch (27 April 2004) Dimitri van Heesch (07 May 2004)
aix-g++ aix-g++
aix-xlc aix-xlc
beos-g++
dgux-g++ dgux-g++
freebsd-g++ freebsd-g++
gnu-g++ gnu-g++
......
DOXYGEN Version 1.3.6_20040427 DOXYGEN Version 1.3.7
Please read INSTALL for compilation instructions. Please read INSTALL for compilation instructions.
...@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives. ...@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy, Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (27 April 2004) Dimitri van Heesch (dimitri@stack.nl) (07 May 2004)
1.3.6-20040427 1.3.7
...@@ -23,7 +23,7 @@ f_make=NO ...@@ -23,7 +23,7 @@ f_make=NO
f_dot=NO f_dot=NO
f_perl=NO f_perl=NO
f_plf_auto=NO f_plf_auto=NO
f_prefix=/usr f_prefix=/usr/local
f_insttool=NO f_insttool=NO
f_english=NO f_english=NO
f_wizard=NO f_wizard=NO
...@@ -136,6 +136,9 @@ if test -z "$f_platform"; then ...@@ -136,6 +136,9 @@ if test -z "$f_platform"; then
AIX*) AIX*)
f_platform=aix-xlc f_platform=aix-xlc
;; ;;
BeOS*)
f_platform=beos-g++
;;
dgux:*) dgux:*)
f_platform=dgux-g++ f_platform=dgux-g++
;; ;;
...@@ -253,7 +256,7 @@ if test "$f_wizard" = YES; then ...@@ -253,7 +256,7 @@ if test "$f_wizard" = YES; then
echo "QTDIR not set and Qt not found at standard locations!" echo "QTDIR not set and Qt not found at standard locations!"
echo echo
echo "tmake requires the QTDIR environment variable to be set." echo "tmake requires the QTDIR environment variable to be set."
echo "check your Qt installation!" echo "check the Qt installation instructions!"
exit 2 exit 2
else else
if test ! -d "$QTDIR/lib"; then if test ! -d "$QTDIR/lib"; then
......
...@@ -30,7 +30,7 @@ clean: ...@@ -30,7 +30,7 @@ clean:
language: language.doc language: language.doc
language.doc: maintainers.txt language.tpl translator.pl language.doc: maintainers.txt language.tpl translator.py
set DOXYGEN_DOCDIR=. & set VERSION=$(VERSION) & $(PERL) translator.pl set DOXYGEN_DOCDIR=. & set VERSION=$(VERSION) & python translator.py
FORCE: FORCE:
...@@ -30,9 +30,9 @@ clean: ...@@ -30,9 +30,9 @@ clean:
language: language.doc language: language.doc
language.doc: maintainers.txt language.tpl translator.pl language.doc: maintainers.txt language.tpl translator.py
set DOXYGEN_DOCDIR=. set DOXYGEN_DOCDIR=.
set VERSION=$(VERSION) set VERSION=$(VERSION)
$(PERL) translator.pl python translator.py
FORCE: FORCE:
...@@ -23,7 +23,7 @@ text fragments, generated by doxygen, can be produced in languages other ...@@ -23,7 +23,7 @@ text fragments, generated by doxygen, can be produced in languages other
than English (the default). The output language is chosen through the than English (the default). The output language is chosen through the
configuration file (with default name and known as Doxyfile). configuration file (with default name and known as Doxyfile).
Currently (version 1.3.6-20040413), 28 languages Currently (version 1.3.6-20040427), 28 languages
are supported (sorted alphabetically): are supported (sorted alphabetically):
Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian, Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian,
Czech, Danish, Dutch, English, Finnish, French, German, Greek, Czech, Danish, Dutch, English, Finnish, French, German, Greek,
......
Summary: A documentation system for C/C++. Summary: A documentation system for C/C++.
Name: doxygen Name: doxygen
Version: 1.3.6_20040427 Version: 1.3.7
Release: 1 Release: 1
Epoch: 1 Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
......
...@@ -130,6 +130,8 @@ ...@@ -130,6 +130,8 @@
#define _OS_UNIXWARE7_ #define _OS_UNIXWARE7_
#elif defined(__CYGWIN__) #elif defined(__CYGWIN__)
#define _OS_CYGWIN_ #define _OS_CYGWIN_
#elif defined(__BEOS__)
#define _OS_BEOS_
#else #else
#error "Qt has not been ported to this OS - talk to qt-bugs@trolltech.com" #error "Qt has not been ported to this OS - talk to qt-bugs@trolltech.com"
#endif #endif
......
...@@ -986,7 +986,11 @@ void ClassDef::writeDocumentation(OutputList &ol) ...@@ -986,7 +986,11 @@ void ClassDef::writeDocumentation(OutputList &ol)
} }
ol.endTextLink(); ol.endTextLink();
ol.popGeneratorState(); ol.popGeneratorState();
ol.pushGeneratorState();
ol.disable(OutputGenerator::RTF);
ol.newParagraph(); ol.newParagraph();
ol.popGeneratorState();
} }
} }
ol.writeSynopsis(); ol.writeSynopsis();
......
...@@ -1999,7 +1999,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) ...@@ -1999,7 +1999,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'"))
<SkipString>"//"|"/*" { <SkipString>"//"|"/*" {
g_code->codify(yytext); g_code->codify(yytext);
} }
<SkipString>\" { <SkipString>@?\" {
g_code->codify(yytext); g_code->codify(yytext);
endFontClass(); endFontClass();
BEGIN( g_lastStringContext ); BEGIN( g_lastStringContext );
......
...@@ -300,9 +300,9 @@ ID [a-z_A-Z][a-z_A-Z0-9]* ...@@ -300,9 +300,9 @@ ID [a-z_A-Z][a-z_A-Z0-9]*
{ {
a->type = removeRedundantWhiteSpace(g_curArgTypeName); a->type = removeRedundantWhiteSpace(g_curArgTypeName);
} }
//printf("a->type=%s a->name=%s a->array=%s\n",a->type.data(),a->name.data());
a->array += removeRedundantWhiteSpace(g_curArgArray); a->array += removeRedundantWhiteSpace(g_curArgArray);
a->defval = g_curArgDefValue.copy(); a->defval = g_curArgDefValue.copy();
//printf("a->type=%s a->name=%s a->defval=\"%s\"\n",a->type.data(),a->name.data(),a->defval.data());
a->docs = g_curArgDocs.stripWhiteSpace(); a->docs = g_curArgDocs.stripWhiteSpace();
//printf("Argument `%s' `%s' adding docs=`%s'\n",a->type.data(),a->name.data(),a->docs.data()); //printf("Argument `%s' `%s' adding docs=`%s'\n",a->type.data(),a->name.data(),a->docs.data());
g_argList->append(a); g_argList->append(a);
......
...@@ -76,7 +76,6 @@ static void removeFromMap(Definition *d) ...@@ -76,7 +76,6 @@ static void removeFromMap(Definition *d)
Definition::Definition(const char *df,int dl, Definition::Definition(const char *df,int dl,
const char *name,const char *b, const char *name,const char *b,
const char *d,bool isSymbol) const char *d,bool isSymbol)
: m_reachableDefs(17)
{ {
//QCString ns; //QCString ns;
m_defFileName = df; m_defFileName = df;
...@@ -112,8 +111,6 @@ Definition::Definition(const char *df,int dl, ...@@ -112,8 +111,6 @@ Definition::Definition(const char *df,int dl,
m_docFile=(QCString)"<"+name+">"; m_docFile=(QCString)"<"+name+">";
m_isSymbol = isSymbol; m_isSymbol = isSymbol;
if (m_isSymbol) addToMap(name,this); if (m_isSymbol) addToMap(name,this);
m_reachableDefs.setAutoDelete(TRUE);
m_reachabilityComputed=FALSE;
} }
Definition::~Definition() Definition::~Definition()
...@@ -761,32 +758,3 @@ QCString Definition::convertNameToFile(const char *name,bool allowDots) const ...@@ -761,32 +758,3 @@ QCString Definition::convertNameToFile(const char *name,bool allowDots) const
} }
} }
void Definition::addReachableDef(Definition *def,int distance)
{
if (m_reachableDefs.find(def->qualifiedName()))
{
m_reachableDefs.insert(def->qualifiedName(),new ReachableDefinition(def,distance));
}
}
void Definition::computeReachability()
{
if (m_reachabilityComputed) return;
addReachableDef(this,0);
Definition *parent = getOuterScope();
int i=1;
while (parent)
{
parent->computeReachability();
QDictIterator<ReachableDefinition> dli(m_reachableDefs);
ReachableDefinition *rd;
for (dli.toFirst();(rd=dli.current());++dli)
{
addReachableDef(rd->def,i);
}
parent=parent->getOuterScope();
i++;
}
m_reachabilityComputed=TRUE;
}
...@@ -25,8 +25,6 @@ ...@@ -25,8 +25,6 @@
class FileDef; class FileDef;
class OutputList; class OutputList;
class SectionDict; class SectionDict;
//class MemberList;
//class MemberDict;
class MemberSDict; class MemberSDict;
class MemberDef; class MemberDef;
class GroupDef; class GroupDef;
...@@ -52,7 +50,7 @@ class Definition ...@@ -52,7 +50,7 @@ class Definition
TypeClass, TypeMember, TypeFile, TypeGroup, TypeClass, TypeMember, TypeFile, TypeGroup,
TypeNamespace, TypePackage, TypePage TypeNamespace, TypePackage, TypePage
}; };
/*! Use this for dynamic inspection of the derived class */ /*! Use this for dynamic inspection of the type of the derived class */
virtual DefType definitionType() = 0; virtual DefType definitionType() = 0;
/*! Create a new definition */ /*! Create a new definition */
...@@ -60,51 +58,110 @@ class Definition ...@@ -60,51 +58,110 @@ class Definition
const char *defFileName,int defLine, const char *defFileName,int defLine,
const char *name,const char *b=0,const char *d=0, const char *name,const char *b=0,const char *d=0,
bool isSymbol=TRUE); bool isSymbol=TRUE);
/*! Destroys the definition */ /*! Destroys the definition */
virtual ~Definition(); virtual ~Definition();
/*! Returns the name of the definition */ /*! Returns the name of the definition */
const QCString& name() const { return m_name; } const QCString& name() const { return m_name; }
/*! Returns the base name of the output file that contains this /*! Returns the base name of the output file that contains this
* definition. * definition.
*/ */
virtual QCString qualifiedName(); virtual QCString qualifiedName();
/*! Returns the local name without any scope qualifiers. */
QCString localName() const; QCString localName() const;
/*! Returns the base file name (without extension) of this definition.
* as it is referenced to/written to disk.
*/
virtual QCString getOutputFileBase() const = 0; virtual QCString getOutputFileBase() const = 0;
/*! Returns the name of the source listing of this file. */ /*! Returns the name of the source listing of this file. */
const QCString getSourceFileBase() const { ASSERT(0); return "NULL"; } const QCString getSourceFileBase() const { ASSERT(0); return "NULL"; }
/*! Returns the detailed description of this definition */ /*! Returns the detailed description of this definition */
const QCString& documentation() const { return m_doc; } const QCString& documentation() const { return m_doc; }
/*! Returns the brief description of this definition */ /*! Returns the brief description of this definition */
const QCString& briefDescription() const { return m_brief; } const QCString& briefDescription() const { return m_brief; }
/*! Sets a new \a name for the definition */ /*! Sets a new \a name for the definition */
void setName(const char *name) { m_name=name; } void setName(const char *name) { m_name=name; }
/*! Sets the documentation of this definition to \a d. */ /*! Sets the documentation of this definition to \a d. */
void setDocumentation(const char *d,const char *docFile,int docLine,bool stripWhiteSpace=TRUE); void setDocumentation(const char *d,const char *docFile,int docLine,bool stripWhiteSpace=TRUE);
/*! Returns the line number at which the detailed documentation was found. */
int docLine() const { return m_docLine; } int docLine() const { return m_docLine; }
/*! Returns the file in which the detailed documentation block was found.
* This can differ from getDefFileName().
*/
QCString docFile() const { return m_docFile; } QCString docFile() const { return m_docFile; }
/*! Sets the brief description of this definition to \a b. /*! Sets the brief description of this definition to \a b.
* A dot is added to the sentence if not available. * A dot is added to the sentence if not available.
*/ */
void setBriefDescription(const char *b,const char *briefFile,int briefLine); void setBriefDescription(const char *b,const char *briefFile,int briefLine);
/*! Returns the line number at which the brief description was found. */
int briefLine() const { return m_briefLine; } int briefLine() const { return m_briefLine; }
/*! Returns the file in which the brief description was found.
* This can differ from getDefFileName().
*/
QCString briefFile() const { return m_briefFile; } QCString briefFile() const { return m_briefFile; }
/*! returns the file in which this definition was found */
QCString getDefFileName() const { return m_defFileName; }
/*! returns the line number at which the definition was found */
int getDefLine() const { return m_defLine; }
/*! Returns TRUE iff the definition is documented */ /*! Returns TRUE iff the definition is documented */
virtual bool hasDocumentation() const; virtual bool hasDocumentation() const;
/*! Returns TRUE iff it is possible to link to this item within this
* project.
*/
virtual bool isLinkableInProject() const = 0; virtual bool isLinkableInProject() const = 0;
/*! Returns TRUE iff it is possible to link to this item. This can
* be a link to another project imported via a tag file.
*/
virtual bool isLinkable() const = 0; virtual bool isLinkable() const = 0;
virtual QCString getReference() const { return m_ref; }
// symbols /*! If this definition was imported via a tag file, this function
QCString symbolName() const { return m_symbolName; } * returns the tagfile for the external project. This can be
void setSymbolName(const QCString &name) { m_symbolName=name; } * translated into an external link target via
* Doxygen::tagDestinationDict
*/
virtual QCString getReference() const { return m_ref; }
/*! Returns TRUE if this definition is imported via a tag file. */
virtual bool isReference() const { return !m_ref.isEmpty(); } virtual bool isReference() const { return !m_ref.isEmpty(); }
/*! Sets the tag file id via which this definition was imported. */
void setReference(const char *r) { m_ref=r; } void setReference(const char *r) { m_ref=r; }
/*! Returns the name of this definition as it appears in the symbol map.
*/
QCString symbolName() const { return m_symbolName; }
/*! Sets the name of this definition as it should appear in the symbol map.
*/
void setSymbolName(const QCString &name) { m_symbolName=name; }
/*! Add the list of anchors that mark the sections that are found in the /*! Add the list of anchors that mark the sections that are found in the
* documentation. * documentation.
*/ */
void addSectionsToDefinition(QList<SectionInfo> *anchorList); void addSectionsToDefinition(QList<SectionInfo> *anchorList);
/*! Writes the documentation anchors of the definition to
* the Doxygen::tagFile stream.
*/
void writeDocAnchorsToTagFile(); void writeDocAnchorsToTagFile();
// source references // source references
...@@ -120,28 +177,14 @@ class Definition ...@@ -120,28 +177,14 @@ class Definition
void addSourceReferencedBy(MemberDef *d); void addSourceReferencedBy(MemberDef *d);
void addSourceReferences(MemberDef *d); void addSourceReferences(MemberDef *d);
//{
// if (todoId!=0) m_todoId=todoId;
// if (testId!=0) m_testId=testId;
// if (bugId!=0) m_bugId=bugId;
//}
//int todoId() const { return m_todoId; }
//int testId() const { return m_testId; }
//int bugId() const { return m_bugId; }
void setRefItems(const QList<ListItemInfo> *sli); void setRefItems(const QList<ListItemInfo> *sli);
void mergeRefItems(Definition *d); void mergeRefItems(Definition *d);
const QList<ListItemInfo> *xrefListItems() const; const QList<ListItemInfo> *xrefListItems() const;
/*! returns the file in which this definition was found */
QCString getDefFileName() const { return m_defFileName; }
/*! returns the line number at which the definition was found */
int getDefLine() const { return m_defLine; }
virtual Definition *findInnerCompound(const char *name); virtual Definition *findInnerCompound(const char *name);
virtual Definition *getOuterScope() const { return m_outerScope; } virtual Definition *getOuterScope() const { return m_outerScope; }
virtual void addInnerCompound(Definition *d); virtual void addInnerCompound(Definition *d);
virtual void setOuterScope(Definition *d) { m_outerScope = d; } virtual void setOuterScope(Definition *d) { m_outerScope = d; }
virtual void computeReachability();
MemberSDict *getReferencesMembers() const { return m_sourceRefsDict; } MemberSDict *getReferencesMembers() const { return m_sourceRefsDict; }
MemberSDict *getReferencedByMembers() const { return m_sourceRefByDict; } MemberSDict *getReferencedByMembers() const { return m_sourceRefByDict; }
...@@ -149,7 +192,6 @@ class Definition ...@@ -149,7 +192,6 @@ class Definition
void makePartOfGroup(GroupDef *gd); void makePartOfGroup(GroupDef *gd);
GroupList *partOfGroups() const { return m_partOfGroups; } GroupList *partOfGroups() const { return m_partOfGroups; }
QCString convertNameToFile(const char *name,bool allowDots=FALSE) const; QCString convertNameToFile(const char *name,bool allowDots=FALSE) const;
void addReachableDef(Definition *d,int distance);
protected: protected:
int m_startBodyLine; // line number of the start of the definition int m_startBodyLine; // line number of the start of the definition
...@@ -169,10 +211,6 @@ class Definition ...@@ -169,10 +211,6 @@ class Definition
/*! List of groups this definition is part of */ /*! List of groups this definition is part of */
GroupList *m_partOfGroups; GroupList *m_partOfGroups;
// reachability of other definitions from this one
QDict<ReachableDefinition> m_reachableDefs;
bool m_reachabilityComputed;
private: private:
int getXRefListId(const char *listName) const; int getXRefListId(const char *listName) const;
void writeSourceRefList(OutputList &ol,const char *scopeName, void writeSourceRefList(OutputList &ol,const char *scopeName,
......
...@@ -82,12 +82,14 @@ static void writeGraphFooter(QTextStream &t) ...@@ -82,12 +82,14 @@ static void writeGraphFooter(QTextStream &t)
* site image map. * site image map.
* \param t the stream to which the result is written. * \param t the stream to which the result is written.
* \param mapName the name of the map file. * \param mapName the name of the map file.
* \param relPath the relative path to the root of the output directory
* (used in case CREATE_SUBDIRS is enabled).
* \param urlOnly if FALSE the url field in the map contains an external * \param urlOnly if FALSE the url field in the map contains an external
* references followed by a $ and then the URL. * references followed by a $ and then the URL.
* \returns TRUE if succesful. * \returns TRUE if succesful.
*/ */
static bool convertMapFile(QTextStream &t,const char *mapName, static bool convertMapFile(QTextStream &t,const char *mapName,
bool urlOnly=FALSE) const QCString relPath, bool urlOnly=FALSE)
{ {
QFile f(mapName); QFile f(mapName);
if (!f.open(IO_ReadOnly)) if (!f.open(IO_ReadOnly))
...@@ -146,7 +148,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName, ...@@ -146,7 +148,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName,
{ {
if ((dest=Doxygen::tagDestinationDict[df->ref()])) t << *dest << "/"; if ((dest=Doxygen::tagDestinationDict[df->ref()])) t << *dest << "/";
} }
if (!df->file().isEmpty()) t << df->file() << Doxygen::htmlFileExtension; if (!df->file().isEmpty()) t << relPath << df->file() << Doxygen::htmlFileExtension;
if (!df->anchor().isEmpty()) t << "#" << df->anchor(); if (!df->anchor().isEmpty()) t << "#" << df->anchor();
} }
else else
...@@ -175,7 +177,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName, ...@@ -175,7 +177,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName,
if ((dest=Doxygen::tagDestinationDict[refPtr])) t << *dest << "/"; if ((dest=Doxygen::tagDestinationDict[refPtr])) t << *dest << "/";
t << "\" "; t << "\" ";
} }
t << "href=\""; t << "href=\"" << relPath;
if (*refPtr!='\0') if (*refPtr!='\0')
{ {
if ((dest=Doxygen::tagDestinationDict[refPtr])) t << *dest << "/"; if ((dest=Doxygen::tagDestinationDict[refPtr])) t << *dest << "/";
...@@ -1004,7 +1006,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path) ...@@ -1004,7 +1006,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
out << "<tr><td><img src=\"" << imgName << "\" border=\"0\" alt=\"\" usemap=\"#" out << "<tr><td><img src=\"" << imgName << "\" border=\"0\" alt=\"\" usemap=\"#"
<< mapLabel << "_map\">" << endl; << mapLabel << "_map\">" << endl;
out << "<map name=\"" << mapLabel << "_map\">" << endl; out << "<map name=\"" << mapLabel << "_map\">" << endl;
convertMapFile(out,mapName); convertMapFile(out,mapName,"");
out << "</map></td></tr>" << endl; out << "</map></td></tr>" << endl;
//thisDir.remove(mapName); //thisDir.remove(mapName);
} }
...@@ -1740,7 +1742,7 @@ QCString DotClassGraph::writeGraph(QTextStream &out, ...@@ -1740,7 +1742,7 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
out << "\"></center>" << endl; out << "\"></center>" << endl;
QString tmpstr; QString tmpstr;
QTextOStream tmpout(&tmpstr); QTextOStream tmpout(&tmpstr);
convertMapFile(tmpout,baseName+".map"); convertMapFile(tmpout,baseName+".map",relPath);
if (!tmpstr.isEmpty()) if (!tmpstr.isEmpty())
{ {
out << "<map name=\"" << mapLabel << "\">" << endl; out << "<map name=\"" << mapLabel << "\">" << endl;
...@@ -2004,7 +2006,7 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out, ...@@ -2004,7 +2006,7 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
out << "</center>" << endl; out << "</center>" << endl;
QString tmpstr; QString tmpstr;
QTextOStream tmpout(&tmpstr); QTextOStream tmpout(&tmpstr);
convertMapFile(tmpout,baseName+".map"); convertMapFile(tmpout,baseName+".map",relPath);
if (!tmpstr.isEmpty()) if (!tmpstr.isEmpty())
{ {
out << "<map name=\"" << mapName << "_map\">" << endl; out << "<map name=\"" << mapName << "_map\">" << endl;
...@@ -2185,7 +2187,7 @@ QCString DotCallGraph::writeGraph(QTextStream &out, GraphOutputFormat format, ...@@ -2185,7 +2187,7 @@ QCString DotCallGraph::writeGraph(QTextStream &out, GraphOutputFormat format,
out << "</center>" << endl; out << "</center>" << endl;
QString tmpstr; QString tmpstr;
QTextOStream tmpout(&tmpstr); QTextOStream tmpout(&tmpstr);
convertMapFile(tmpout,baseName+".map"); convertMapFile(tmpout,baseName+".map",relPath);
if (!tmpstr.isEmpty()) if (!tmpstr.isEmpty())
{ {
out << "<map name=\"" << mapName << "_map\">" << endl; out << "<map name=\"" << mapName << "_map\">" << endl;
...@@ -2421,7 +2423,7 @@ QString getDotImageMapFromFile(const QString& inFile, const QString& outDir) ...@@ -2421,7 +2423,7 @@ QString getDotImageMapFromFile(const QString& inFile, const QString& outDir)
} }
QString result; QString result;
QTextOStream tmpout(&result); QTextOStream tmpout(&result);
convertMapFile(tmpout, outFile, TRUE); convertMapFile(tmpout, outFile, "",TRUE);
QDir().remove(outFile); QDir().remove(outFile);
// printf("result=%s\n",result.data()); // printf("result=%s\n",result.data());
......
...@@ -3679,7 +3679,7 @@ static void computeClassRelations() ...@@ -3679,7 +3679,7 @@ static void computeClassRelations()
if ((cd==0 || (!cd->hasDocumentation() && !cd->isReference())) && if ((cd==0 || (!cd->hasDocumentation() && !cd->isReference())) &&
bName.right(2)!="::") bName.right(2)!="::")
{ {
if (!root->name.isEmpty() && root->name[0]!='@' && // normal name if (!root->name.isEmpty() && root->name.find('@')==-1 && // normal name
(guessSection(root->fileName)==Entry::HEADER_SEC || (guessSection(root->fileName)==Entry::HEADER_SEC ||
Config_getBool("EXTRACT_LOCAL_CLASSES")) && // not defined in source file Config_getBool("EXTRACT_LOCAL_CLASSES")) && // not defined in source file
(root->protection!=Private || Config_getBool("EXTRACT_PRIVATE")) && // hidden by protection (root->protection!=Private || Config_getBool("EXTRACT_PRIVATE")) && // hidden by protection
......
...@@ -34,7 +34,6 @@ ...@@ -34,7 +34,6 @@
#include "section.h" #include "section.h"
#include "membergroup.h" #include "membergroup.h"
#include "reflist.h" #include "reflist.h"
//#include "packagedef.h"
class PageSList; class PageSList;
class PageSDict; class PageSDict;
......
...@@ -38,7 +38,6 @@ Entry::Entry() ...@@ -38,7 +38,6 @@ Entry::Entry()
argList->setAutoDelete(TRUE); argList->setAutoDelete(TRUE);
//printf("Entry::Entry() tArgList=0\n"); //printf("Entry::Entry() tArgList=0\n");
tArgLists = 0; tArgLists = 0;
//mtArgList = 0;
mGrpId = -1; mGrpId = -1;
tagInfo = 0; tagInfo = 0;
sli = 0; sli = 0;
...@@ -88,9 +87,6 @@ Entry::Entry(const Entry &e) ...@@ -88,9 +87,6 @@ Entry::Entry(const Entry &e)
initLines = e.initLines; initLines = e.initLines;
callGraph = e.callGraph; callGraph = e.callGraph;
objc = e.objc; objc = e.objc;
//todoId = e.todoId;
//testId = e.testId;
//bugId = e.bugId;
tagInfo = e.tagInfo; tagInfo = e.tagInfo;
sublist = new QList<Entry>; sublist = new QList<Entry>;
sublist->setAutoDelete(TRUE); sublist->setAutoDelete(TRUE);
...@@ -152,19 +148,6 @@ Entry::Entry(const Entry &e) ...@@ -152,19 +148,6 @@ Entry::Entry(const Entry &e)
tArgLists = copyArgumentLists(e.tArgLists); tArgLists = copyArgumentLists(e.tArgLists);
} }
// deep copy template argument list
//if (e.mtArgList)
//{
// mtArgList = new ArgumentList;
// mtArgList->setAutoDelete(TRUE);
// //printf("Entry::Entry(copy) new tArgList=%p\n",tArgList);
// QListIterator<Argument> mtali(*e.mtArgList);
// for (;(a=mtali.current());++mtali)
// {
// mtArgList->append(new Argument(*a));
// //printf("appending argument %s %s\n",a->type.data(),a->name.data());
// }
//}
if (e.sli) if (e.sli)
{ {
sli = new QList<ListItemInfo>; sli = new QList<ListItemInfo>;
...@@ -206,17 +189,6 @@ void Entry::addSubEntry(Entry *current) ...@@ -206,17 +189,6 @@ void Entry::addSubEntry(Entry *current)
//printf("Entry::addSubEntry(%s) %p\n",current->name.data(),current->tArgList); //printf("Entry::addSubEntry(%s) %p\n",current->name.data(),current->tArgList);
current->parent=this; current->parent=this;
sublist->append(current); sublist->append(current);
//if (current->tArgList)
//{
// Argument * a=current->tArgList->first();
// while (a)
// {
// printf("type=%s name=%s\n",a->type.data(),a->name.data());
// a=current->tArgList->next();
// }
//}
} }
void Entry::reset() void Entry::reset()
...@@ -227,7 +199,6 @@ void Entry::reset() ...@@ -227,7 +199,6 @@ void Entry::reset()
bitfields.resize(0); bitfields.resize(0);
exception.resize(0); exception.resize(0);
program.resize(0); program.resize(0);
//body.resize(0);
includeFile.resize(0); includeFile.resize(0);
includeName.resize(0); includeName.resize(0);
doc.resize(0); doc.resize(0);
...@@ -243,8 +214,6 @@ void Entry::reset() ...@@ -243,8 +214,6 @@ void Entry::reset()
inbodyLine=-1; inbodyLine=-1;
inside.resize(0); inside.resize(0);
fileName.resize(0); fileName.resize(0);
//scopeSpec.resize(0);
//memberSpec.resize(0);
initializer.resize(0); initializer.resize(0);
initLines = -1; initLines = -1;
startLine = 1; startLine = 1;
...@@ -252,9 +221,6 @@ void Entry::reset() ...@@ -252,9 +221,6 @@ void Entry::reset()
endBodyLine = -1; endBodyLine = -1;
mGrpId = -1; mGrpId = -1;
callGraph = FALSE; callGraph = FALSE;
//todoId = 0;
//testId = 0;
//bugId = 0;
section = EMPTY_SEC; section = EMPTY_SEC;
mtype = Method; mtype = Method;
virt = Normal; virt = Normal;
...@@ -347,18 +313,6 @@ int Entry::getSize() ...@@ -347,18 +313,6 @@ int Entry::getSize()
al=tArgLists->next(); al=tArgLists->next();
} }
} }
//if (mtArgList)
//{
// a=mtArgList->first();
// while (e)
// {
// size+=sizeof(Argument);
// size+=a->type.length()+1
// +a->name.length()+1
// +a->defval.length()+1;
// a=mtArgList->next();
// }
//}
return size; return size;
} }
......
...@@ -306,9 +306,9 @@ class Entry ...@@ -306,9 +306,9 @@ class Entry
bool objc; //!< Objective-C construct bool objc; //!< Objective-C construct
enum enum
{ {
GROUPDOC_NORMAL, //<! defgroup GROUPDOC_NORMAL, //!< defgroup
GROUPDOC_ADD, //<! addgroup GROUPDOC_ADD, //!< addgroup
GROUPDOC_WEAK //<! weakgroup GROUPDOC_WEAK //!< weakgroup
} groupDocType; //!< kind of group } groupDocType; //!< kind of group
/// return the command name used to define GROUPDOC_SEC /// return the command name used to define GROUPDOC_SEC
const char *groupDocCmd() const const char *groupDocCmd() const
......
...@@ -31,24 +31,6 @@ struct Example ...@@ -31,24 +31,6 @@ struct Example
QCString file; QCString file;
}; };
//class ExampleList : public QList<Example>
//{
// public:
// ExampleList() : QList<Example>() {}
// ~ExampleList() {}
// int compareItems(GCI item1,GCI item2)
// {
// return stricmp(((Example *)item1)->name,((Example *)item2)->name);
// }
//};
//class ExampleDict : public QDict<Example>
//{
// public:
// ExampleDict(int size=17) : QDict<Example>(size) {}
// ~ExampleDict() {}
//};
class ExampleSDict : public SDict<Example> class ExampleSDict : public SDict<Example>
{ {
public: public:
......
...@@ -573,6 +573,7 @@ void GroupDef::writeDocumentation(OutputList &ol) ...@@ -573,6 +573,7 @@ void GroupDef::writeDocumentation(OutputList &ol)
{ {
ol.startMemberItem(0); ol.startMemberItem(0);
ol.docify(theTranslator->trGroup(FALSE,TRUE)); ol.docify(theTranslator->trGroup(FALSE,TRUE));
ol.docify(" ");
ol.insertMemberAlign(); ol.insertMemberAlign();
ol.writeObjectLink(gd->getReference(),gd->getOutputFileBase(),0,gd->groupTitle()); ol.writeObjectLink(gd->getReference(),gd->getOutputFileBase(),0,gd->groupTitle());
if (!Config_getString("GENERATE_TAGFILE").isEmpty()) if (!Config_getString("GENERATE_TAGFILE").isEmpty())
......
...@@ -37,3 +37,4 @@ int main(int argc,char **argv) ...@@ -37,3 +37,4 @@ int main(int argc,char **argv)
generateOutput(); generateOutput();
return 0; return 0;
} }
...@@ -188,7 +188,11 @@ static bool writeDefArgumentList(OutputList &ol,ClassDef *cd, ...@@ -188,7 +188,11 @@ static bool writeDefArgumentList(OutputList &ol,ClassDef *cd,
QCString n=a->defval; QCString n=a->defval;
if (!cName.isEmpty()) n=addTemplateNames(n,cd->name(),cName); if (!cName.isEmpty()) n=addTemplateNames(n,cd->name(),cName);
ol.docify(" = "); ol.docify(" = ");
linkifyText(TextGeneratorOLImpl(ol),cd,md->getBodyDef(),md->name(),n);
ol.startTypewriter();
linkifyText(TextGeneratorOLImpl(ol),cd,md->getBodyDef(),md->name(),n,FALSE,TRUE,TRUE);
ol.endTypewriter();
} }
a=defArgList->next(); a=defArgList->next();
if (a) if (a)
...@@ -618,21 +622,11 @@ void MemberDef::setDefinitionTemplateParameterLists(QList<ArgumentList> *lists) ...@@ -618,21 +622,11 @@ void MemberDef::setDefinitionTemplateParameterLists(QList<ArgumentList> *lists)
void MemberDef::writeLink(OutputList &ol,ClassDef *,NamespaceDef *, void MemberDef::writeLink(OutputList &ol,ClassDef *,NamespaceDef *,
FileDef *,GroupDef *gd) FileDef *,GroupDef *gd)
{ {
//Definition *d=0;
//if (cd) d=cd; else if (nd) d=nd; else if (fd) d=fd; else if (gd) d=gd;
//if (d==0) { err("Member %s without definition! Please report this bug!\n",name().data()); return; }
//if (group!=0 && gd==0) // forward link to the group
//{
// ol.writeObjectLink(group->getReference(),group->getOutputFileBase(),anchor(),name());
//}
//else // local link
//{
QCString sep = Config_getBool("OPTIMIZE_OUTPUT_JAVA") ? "." : "::"; QCString sep = Config_getBool("OPTIMIZE_OUTPUT_JAVA") ? "." : "::";
QCString n = name(); QCString n = name();
if (classDef && gd) n.prepend(classDef->name()+sep); if (classDef && gd) n.prepend(classDef->name()+sep);
else if (nspace && gd) n.prepend(nspace->name()+sep); else if (nspace && gd) n.prepend(nspace->name()+sep);
ol.writeObjectLink(getReference(),getOutputFileBase(),anchor(),n); ol.writeObjectLink(getReference(),getOutputFileBase(),anchor(),n);
//}
} }
/*! If this member has an anonymous class/struct/union as its type, then /*! If this member has an anonymous class/struct/union as its type, then
...@@ -985,7 +979,11 @@ void MemberDef::writeDeclaration(OutputList &ol, ...@@ -985,7 +979,11 @@ void MemberDef::writeDeclaration(OutputList &ol,
if (!name().isEmpty() && name().at(0)!='@') // hide annonymous stuff if (!name().isEmpty() && name().at(0)!='@') // hide annonymous stuff
{ {
//printf("Member name=`%s gd=%p md->groupDef=%p inGroup=%d isLinkable()=%d\n",name().data(),gd,getGroupDef(),inGroup,isLinkable()); //printf("Member name=`%s gd=%p md->groupDef=%p inGroup=%d isLinkable()=%d\n",name().data(),gd,getGroupDef(),inGroup,isLinkable());
if (isLinkable()) if (!(name().isEmpty() || name().at(0)=='@') && // name valid
(hasDocumentation() || isReference()) && // has docs
!(prot==Private && !Config_getBool("EXTRACT_PRIVATE") && mtype!=Friend) && // hidden due to protection
!(isStatic() && classDef==0 && !Config_getBool("EXTRACT_STATIC")) // hidden due to static-ness
)
{ {
if (annMemb) if (annMemb)
{ {
...@@ -1075,8 +1073,9 @@ void MemberDef::writeDeclaration(OutputList &ol, ...@@ -1075,8 +1073,9 @@ void MemberDef::writeDeclaration(OutputList &ol,
// write brief description // write brief description
if (!briefDescription().isEmpty() && if (!briefDescription().isEmpty() &&
Config_getBool("BRIEF_MEMBER_DESC") && Config_getBool("BRIEF_MEMBER_DESC")
!annMemb) /* && !annMemb */
)
{ {
ol.startMemberDescription(); ol.startMemberDescription();
ol.parseDoc(briefFile(),briefLine(),getOuterScope()?getOuterScope():d,this,briefDescription(),TRUE,FALSE); ol.parseDoc(briefFile(),briefLine(),getOuterScope()?getOuterScope():d,this,briefDescription(),TRUE,FALSE);
...@@ -1144,7 +1143,7 @@ bool MemberDef::isDetailedSectionLinkable() const ...@@ -1144,7 +1143,7 @@ bool MemberDef::isDetailedSectionLinkable() const
// member is part of an anonymous scope that is the type of // member is part of an anonymous scope that is the type of
// another member in the list. // another member in the list.
// //
bool inAnonymousScope = !briefDescription().isEmpty() && annUsed; //bool inAnonymousScope = !briefDescription().isEmpty() && annUsed;
// hide friend (class|struct|union) member if HIDE_FRIEND_COMPOUNDS // hide friend (class|struct|union) member if HIDE_FRIEND_COMPOUNDS
// is true // is true
...@@ -1156,7 +1155,7 @@ bool MemberDef::isDetailedSectionLinkable() const ...@@ -1156,7 +1155,7 @@ bool MemberDef::isDetailedSectionLinkable() const
) )
); );
return ((docFilter && staticFilter && privateFilter && friendCompoundFilter) || inAnonymousScope); return ((docFilter && staticFilter && privateFilter && friendCompoundFilter) /*|| inAnonymousScope*/);
} }
bool MemberDef::isDetailedSectionVisible(bool inGroup) const bool MemberDef::isDetailedSectionVisible(bool inGroup) const
...@@ -2050,7 +2049,10 @@ Specifier MemberDef::virtualness() const ...@@ -2050,7 +2049,10 @@ Specifier MemberDef::virtualness() const
bool MemberDef::isConstructor() const bool MemberDef::isConstructor() const
{ {
return classDef ? name()==classDef->localName() : FALSE; if (classDef)
return name()==classDef->localName();
else
return FALSE;
} }
bool MemberDef::isDestructor() const bool MemberDef::isDestructor() const
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
typedef unsigned char Byte; typedef unsigned char Byte;
/*! \brief Entry in the color palette of a PNG image */
struct Color struct Color
{ {
Byte red; Byte red;
...@@ -29,6 +30,11 @@ struct Color ...@@ -29,6 +30,11 @@ struct Color
Byte blue; Byte blue;
}; };
/*! \brief PNG image encoder
*
* This class allows to encode a raw image to a compressed PNG.
* Use write() to save the result to disk.
*/
class PngEncoder class PngEncoder
{ {
public: public:
...@@ -36,8 +42,6 @@ class PngEncoder ...@@ -36,8 +42,6 @@ class PngEncoder
~PngEncoder(); ~PngEncoder();
void write(const char *fileName); void write(const char *fileName);
protected:
private: private:
// image variables // image variables
Byte *data; // pointer to the image data (one byte per pixel) Byte *data; // pointer to the image data (one byte per pixel)
......
...@@ -2154,7 +2154,8 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;] ...@@ -2154,7 +2154,8 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
current->type = current->type.mid(3); current->type = current->type.mid(3);
} }
current->type=current->type.simplifyWhiteSpace(); current->type=current->type.simplifyWhiteSpace();
current->args=current->args.simplifyWhiteSpace(); current->args=removeRedundantWhiteSpace(current->args);
// was: current->args.simplifyWhiteSpace();
current->name=current->name.stripWhiteSpace(); current->name=current->name.stripWhiteSpace();
//if (!current->name.isEmpty() && current->type.left(8)=="typedef ") //if (!current->name.isEmpty() && current->type.left(8)=="typedef ")
//{ //{
...@@ -2338,7 +2339,8 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;] ...@@ -2338,7 +2339,8 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
current->program+=','; // add field terminator current->program+=','; // add field terminator
} }
// add compound definition to the tree // add compound definition to the tree
current->args = current->args.simplifyWhiteSpace(); current->args=removeRedundantWhiteSpace(current->args);
// was: current->args.simplifyWhiteSpace();
current->type = current->type.simplifyWhiteSpace(); current->type = current->type.simplifyWhiteSpace();
current->name = current->name.stripWhiteSpace(); current->name = current->name.stripWhiteSpace();
//printf("adding `%s' `%s' `%s' brief=%s insideObjC=%d %x\n",current->type.data(),current->name.data(),current->args.data(),current->brief.data(),insideObjC,current->section); //printf("adding `%s' `%s' `%s' brief=%s insideObjC=%d %x\n",current->type.data(),current->name.data(),current->args.data(),current->brief.data(),insideObjC,current->section);
...@@ -3082,7 +3084,8 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;] ...@@ -3082,7 +3084,8 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
<Function>[;{,] { <Function>[;{,] {
current->name=current->name.simplifyWhiteSpace(); current->name=current->name.simplifyWhiteSpace();
current->type=current->type.simplifyWhiteSpace(); current->type=current->type.simplifyWhiteSpace();
current->args=current->args.simplifyWhiteSpace(); current->args=removeRedundantWhiteSpace(current->args);
// was: current->args.simplifyWhiteSpace();
current->fileName = yyFileName; current->fileName = yyFileName;
current->startLine = yyLineNr; current->startLine = yyLineNr;
if (*yytext!=';' || (current_root->section&Entry::COMPOUND_MASK) ) if (*yytext!=';' || (current_root->section&Entry::COMPOUND_MASK) )
...@@ -3694,7 +3697,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;] ...@@ -3694,7 +3697,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
} }
<Comment>"/*" { current->program += yytext ; } <Comment>"/*" { current->program += yytext ; }
<Comment>"//" { current->program += yytext ; } <Comment>"//" { current->program += yytext ; }
<Comment>[^\n\*]+ { current->program += yytext ; } <Comment>[^\n\/\*]+ { current->program += yytext ; }
<Comment>"*/" { current->program += yytext ; <Comment>"*/" { current->program += yytext ;
BEGIN( lastContext ) ; BEGIN( lastContext ) ;
} }
......
...@@ -52,15 +52,54 @@ ...@@ -52,15 +52,54 @@
* -------------+------------------------------------------------------------ * -------------+------------------------------------------------------------
* 2003-09-12 | Update for new since 1.3.3 * 2003-09-12 | Update for new since 1.3.3
* -------------+------------------------------------------------------------ * -------------+------------------------------------------------------------
* 2004-04-30 | Updates by Jacques Bouchard <jacques.bouchard@noos.fr>:
* | - spaces between ':' removed (should be added by the renderer)
* | - missing spaces added
* | - missing tests for OPTIMIZE_OUTPUT_FOR_C added
* | - translations corrected
* | - translator_fr.h now conforms exactly to translator_en.h
* | (try: gvim -d translator_en.h translator_fr.h)
* -------------+------------------------------------------------------------
*/ */
#ifndef TRANSLATOR_FR_H #ifndef TRANSLATOR_FR_H
#define TRANSLATOR_FR_H #define TRANSLATOR_FR_H
// When defining a translator class for the new language, follow
// the description in the documentation. One of the steps says
// that you should copy the translator_en.h (this) file to your
// translator_xx.h new file. Your new language should use the
// Translator class as the base class. This means that you need to
// implement exactly the same (pure virtual) methods as the
// TranslatorEnglish does. Because of this, it is a good idea to
// start with the copy of TranslatorEnglish and replace the strings
// one by one.
//
// It is not necessary to include "translator.h" or
// "translator_adapter.h" here. The files are included in the
// language.cpp correctly. Not including any of the mentioned
// files frees the maintainer from thinking about whether the
// first, the second, or both files should be included or not, and
// why. This holds namely for localized translators because their
// base class is changed occasionaly to adapter classes when the
// Translator class changes the interface, or back to the
// Translator class (by the local maintainer) when the localized
// translator is made up-to-date again.
class TranslatorFrench : public Translator class TranslatorFrench : public Translator
{ {
public: public:
QCString idLanguage()
// --- Language control methods -------------------
/*! Used for identification of the language. The identification
* should not be translated. It should be replaced by the name
* of the language in English using lower-case characters only
* (e.g. "czech", "japanese", "russian", etc.). It should be equal to
* the identification used in language.cpp.
*/
virtual QCString idLanguage()
{ return "french"; } { return "french"; }
/*! Used to get the LaTeX command(s) for the language support. /*! Used to get the LaTeX command(s) for the language support.
* This method should return string with commands that switch * This method should return string with commands that switch
* LaTeX to the desired language. For example * LaTeX to the desired language. For example
...@@ -71,11 +110,8 @@ class TranslatorFrench : public Translator ...@@ -71,11 +110,8 @@ class TranslatorFrench : public Translator
* "\\usepackage[latin2]{inputenc}\n" * "\\usepackage[latin2]{inputenc}\n"
* "\\usepackage[T1]{fontenc}\n" * "\\usepackage[T1]{fontenc}\n"
* </pre> * </pre>
*
* The Dutch LaTeX does not use such commands. Because of this
* the empty string is returned in this implementation.
*/ */
QCString latexLanguageSupportCommand() virtual QCString latexLanguageSupportCommand()
{ {
return "\\usepackage[french]{babel}\n"; return "\\usepackage[french]{babel}\n";
} }
...@@ -86,58 +122,69 @@ class TranslatorFrench : public Translator ...@@ -86,58 +122,69 @@ class TranslatorFrench : public Translator
return "iso-8859-1"; return "iso-8859-1";
} }
// --- Language translation methods -------------------
/*! used in the compound documentation before a list of related functions. */ /*! used in the compound documentation before a list of related functions. */
QCString trRelatedFunctions() virtual QCString trRelatedFunctions()
{ return "Fonctions associées"; } { return "Fonctions associées"; }
/*! subscript for the related functions. */ /*! subscript for the related functions. */
QCString trRelatedSubscript() virtual QCString trRelatedSubscript()
{ return "(Noter que ces fonctions ne sont pas des méthodes de la classe)"; } { return "(Noter que ce ne sont pas des fonctions membres)"; }
/*! header that is put before the detailed description of files, classes and namespaces. */ /*! header that is put before the detailed description of files, classes and namespaces. */
QCString trDetailedDescription() virtual QCString trDetailedDescription()
{ return "Description détaillée"; } { return "Description détaillée"; }
/*! header that is put before the list of typedefs. */ /*! header that is put before the list of typedefs. */
QCString trMemberTypedefDocumentation() virtual QCString trMemberTypedefDocumentation()
{ return "Documentation des types imbriqués"; } { return "Documentation des typedef membres"; }
/*! header that is put before the list of enumerations. */ /*! header that is put before the list of enumerations. */
QCString trMemberEnumerationDocumentation() virtual QCString trMemberEnumerationDocumentation()
{ return "Documentation des énumérations imbriquées"; } { return "Documentation des énumérations membres"; }
/*! header that is put before the list of member functions. */ /*! header that is put before the list of member functions. */
QCString trMemberFunctionDocumentation() virtual QCString trMemberFunctionDocumentation()
{ return "Documentation des méthodes"; } { return "Documentation des fonctions membres"; }
/*! header that is put before the list of member attributes. */ /*! header that is put before the list of member attributes. */
QCString trMemberDataDocumentation() virtual QCString trMemberDataDocumentation()
{ return "Documentation des données imbriquées"; } {
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Documentation des champs";
}
else
{
return "Documentation des données membres";
}
}
/*! this is the text of a link put after brief descriptions. */ /*! this is the text of a link put after brief descriptions. */
QCString trMore() virtual QCString trMore()
{ return "Plus de détails..."; } { return "Plus de détails..."; }
/*! put in the class documentation */ /*! put in the class documentation */
QCString trListOfAllMembers() virtual QCString trListOfAllMembers()
{ return "Liste de tous les membres"; } { return "Liste de tous les membres"; }
/*! used as the title of the "list of all members" page of a class */ /*! used as the title of the "list of all members" page of a class */
QCString trMemberList() virtual QCString trMemberList()
{ return "Liste des membres"; } { return "Liste des membres"; }
/*! this is the first part of a sentence that is followed by a class name */ /*! this is the first part of a sentence that is followed by a class name */
QCString trThisIsTheListOfAllMembers() virtual QCString trThisIsTheListOfAllMembers()
{ return "Ceci est la liste complète des membres de "; } { return "Liste complète des membres de "; }
/*! this is the remainder of the sentence after the class name */ /*! this is the remainder of the sentence after the class name */
QCString trIncludingInheritedMembers() virtual QCString trIncludingInheritedMembers()
{ return " y compris des membres des classes héritées."; } { return ", y compris les membres hérités:"; }
/*! this is put at the author sections at the bottom of man pages. /*! this is put at the author sections at the bottom of man pages.
* parameter s is name of the project name. * parameter s is name of the project name.
*/ */
QCString trGeneratedAutomatically(const char *s) virtual QCString trGeneratedAutomatically(const char *s)
{ QCString result="Généré automatiquement par Doxygen"; { QCString result="Généré automatiquement par Doxygen";
if (s) result+=(QCString)" pour "+s; if (s) result+=(QCString)" pour "+s;
result+=" à partir du code source."; result+=" à partir du code source.";
...@@ -145,15 +192,15 @@ class TranslatorFrench : public Translator ...@@ -145,15 +192,15 @@ class TranslatorFrench : public Translator
} }
/*! put after an enum name in the list of all members */ /*! put after an enum name in the list of all members */
QCString trEnumName() virtual QCString trEnumName()
{ return "énumération"; } { return "énumération"; }
/*! put after an enum value in the list of all members */ /*! put after an enum value in the list of all members */
QCString trEnumValue() virtual QCString trEnumValue()
{ return "élément d'une énumération"; } { return "valeur énumérée"; }
/*! put after an undocumented member in the list of all members */ /*! put after an undocumented member in the list of all members */
QCString trDefinedIn() virtual QCString trDefinedIn()
{ return "défini dans"; } { return "défini dans"; }
// quick reference sections // quick reference sections
...@@ -161,337 +208,444 @@ class TranslatorFrench : public Translator ...@@ -161,337 +208,444 @@ class TranslatorFrench : public Translator
/*! This is put above each page as a link to the list of all groups of /*! This is put above each page as a link to the list of all groups of
* compounds or files (see the \\group command). * compounds or files (see the \\group command).
*/ */
QCString trModules() virtual QCString trModules()
{ return "Modules"; } { return "Modules"; }
/*! This is put above each page as a link to the class hierarchy */ /*! This is put above each page as a link to the class hierarchy */
QCString trClassHierarchy() virtual QCString trClassHierarchy()
{ return "Hiérarchie des classes"; } { return "Hiérarchie des classes"; }
/*! This is put above each page as a link to the list of annotated classes */ /*! This is put above each page as a link to the list of annotated classes */
QCString trCompoundList() virtual QCString trCompoundList()
{ return "Liste des composants"; {
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Structures de données";
}
else
{
return "Liste des classes";
}
}
/*! This is put above each page as a link to the list of documented files */} /*! This is put above each page as a link to the list of documented files */
QCString trFileList() virtual QCString trFileList()
{ return "Liste des fichiers"; } { return "Liste des fichiers"; }
/*! This is put above each page as a link to the list of all verbatim headers */ /*! This is put above each page as a link to the list of all verbatim headers */
QCString trHeaderFiles() virtual QCString trHeaderFiles()
{ return "Fichiers d'en-tête"; } { return "Fichiers d'en-tête"; }
/*! This is put above each page as a link to all members of compounds. */ /*! This is put above each page as a link to all members of compounds. */
QCString trCompoundMembers() virtual QCString trCompoundMembers()
{ return "Composants"; } {
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Champs de donnée";
}
else
{
return "Membres de classe";
}
}
/*! This is put above each page as a link to all members of files. */ /*! This is put above each page as a link to all members of files. */
QCString trFileMembers() virtual QCString trFileMembers()
{ return "Déclarations"; } {
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Portée globale";
}
else
{
return "Membres de fichier";
}
}
/*! This is put above each page as a link to all related pages. */ /*! This is put above each page as a link to all related pages. */
QCString trRelatedPages() virtual QCString trRelatedPages()
{ return "Pages associées"; } { return "Pages associées"; }
/*! This is put above each page as a link to all examples. */ /*! This is put above each page as a link to all examples. */
QCString trExamples() virtual QCString trExamples()
{ return "Exemples"; } { return "Exemples"; }
/*! This is put above each page as a link to the search engine. */ /*! This is put above each page as a link to the search engine. */
QCString trSearch() virtual QCString trSearch()
{ return "Recherche"; } { return "Recherche"; }
/*! This is an introduction to the class hierarchy. */ /*! This is an introduction to the class hierarchy. */
QCString trClassHierarchyDescription() virtual QCString trClassHierarchyDescription()
{ return "Cette liste d'héritage est, autant que possible, " { return "Cette liste d'héritage est classée "
"classée par ordre alphabétique"; } "approximativement par ordre alphabétique:";
}
/*! This is an introduction to the list with all files. */ /*! This is an introduction to the list with all files. */
QCString trFileListDescription(bool extractAll) virtual QCString trFileListDescription(bool extractAll)
{ {
QCString result="Liste de tous les fichiers "; QCString result="Liste de tous les fichiers ";
if (!extractAll) result+="documentés "; if (!extractAll) result+="documentés ";
result+="avec une brève description :"; result+="avec une brève description:";
return result; return result;
} }
/*! This is an introduction to the annotated compound list. */ /*! This is an introduction to the annotated compound list. */
QCString trCompoundListDescription() virtual QCString trCompoundListDescription()
{ return "Liste des classes, des structures et des unions " {
"avec une brève description :";
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Liste des structures de données avec une brève description:";
}
else
{
return "Liste des classes, structures, "
"unions et interfaces avec une brève description:";
}
} }
/*! This is an introduction to the page with all class members. */ /*! This is an introduction to the page with all class members. */
QCString trCompoundMembersDescription(bool extractAll) virtual QCString trCompoundMembersDescription(bool extractAll)
{ {
QCString result="Liste de tous les membres de classe "; QCString result="Liste de tous les ";
if (!extractAll) result+="documentés "; if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
result+="avec les liens vers "; {
if (!extractAll) result+="la documentation de la classe correspondante :"; result+="champs de structure et d'union ";
else result+="les classes auxquelles ils appartiennent :"; }
else
{
result+="membres de classe ";
}
if (!extractAll)
{
result+="documentés ";
}
result+="avec liens vers ";
if (!extractAll)
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+="la documentation de structure/union de chaque champ:";
}
else
{
result+="la documentation de classe de chaque membre:";
}
}
else
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+="les structures/unions auxquelles ils appartiennent:";
}
else
{
result+="les classes auxquelles ils appartiennent:";
}
}
return result; return result;
} }
/*! This is an introduction to the page with all file members. */ /*! This is an introduction to the page with all file members. */
QCString trFileMembersDescription(bool extractAll) virtual QCString trFileMembersDescription(bool extractAll)
{ {
QCString result="Liste de toutes les déclarations"; QCString result="Liste ";
if (!extractAll) result+="documentées ";
result+="avec liens sur "; if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (extractAll) result+="la documentation du fichier correspondant " {
"pour chacune :"; result+="des fonctions, variables, macros, enumérations, et typedefs ";
else result+="les fichiers dans lesquels elles sont définies :"; }
else
{
result+="de tous les membres de fichier ";
}
if (!extractAll) result+="documentés ";
result+="avec liens vers ";
if (extractAll)
result+="les fichiers auxquels ils appartiennent:";
else
result+="la documentation:";
return result; return result;
} }
/*! This is an introduction to the page with the list of all header files. */ /*! This is an introduction to the page with the list of all header files. */
QCString trHeaderFilesDescription() virtual QCString trHeaderFilesDescription()
{ return "Liste de tous les fichiers d'en-tête constituant " { return "Liste des fichiers d'en-tête constituant l'interface de programmation:"; }
"l'interface de programmation :"; }
/*! This is an introduction to the page with the list of all examples */ /*! This is an introduction to the page with the list of all examples */
QCString trExamplesDescription() virtual QCString trExamplesDescription()
{ return "Liste de tous les exemples :"; } { return "Liste de tous les exemples:"; }
/*! This is an introduction to the page with the list of related pages */ /*! This is an introduction to the page with the list of related pages */
QCString trRelatedPagesDescription() virtual QCString trRelatedPagesDescription()
{ return "Liste de toutes les pages de documentation associées :"; } { return "Liste de toutes les pages de documentation associées:"; }
/*! This is an introduction to the page with the list of class/file groups */ /*! This is an introduction to the page with the list of class/file groups */
QCString trModulesDescription() virtual QCString trModulesDescription()
{ return "Liste de tous les modules"; } { return "Liste de tous les modules:"; }
/*! This sentences is used in the annotated class/file lists if no brief /*! This sentences is used in the annotated class/file lists if no brief
* description is given. * description is given.
*/ */
QCString trNoDescriptionAvailable() virtual QCString trNoDescriptionAvailable()
{ return "Aucune description n'est disponible"; } { return "Aucune description disponible"; }
// index titles (the project name is prepended for these) // index titles (the project name is prepended for these)
/*! This is used in HTML as the title of index.html. */ /*! This is used in HTML as the title of index.html. */
QCString trDocumentation() virtual QCString trDocumentation()
{ return "Documentation"; } { return "Documentation"; }
/*! This is used in LaTeX as the title of the chapter with the /*! This is used in LaTeX as the title of the chapter with the
* index of all groups. * index of all groups.
*/ */
QCString trModuleIndex() virtual QCString trModuleIndex()
{ return "Index des modules"; } { return "Index des modules"; }
/*! This is used in LaTeX as the title of the chapter with the /*! This is used in LaTeX as the title of the chapter with the
* class hierarchy. * class hierarchy.
*/ */
QCString trHierarchicalIndex() virtual QCString trHierarchicalIndex()
{ return "Index hiérarchique"; } { return "Index hiérarchique"; }
/*! This is used in LaTeX as the title of the chapter with the /*! This is used in LaTeX as the title of the chapter with the
* annotated compound index. * annotated compound index.
*/ */
QCString trCompoundIndex() virtual QCString trCompoundIndex()
{ return "Index des composants"; } {
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Index des structures de données";
}
else
{
return "Index des classes";
}
}
/*! This is used in LaTeX as the title of the chapter with the /*! This is used in LaTeX as the title of the chapter with the
* list of all files. * list of all files.
*/ */
QCString trFileIndex() virtual QCString trFileIndex()
{ return "Index des fichiers"; } { return "Index des fichiers"; }
/*! This is used in LaTeX as the title of the chapter containing /*! This is used in LaTeX as the title of the chapter containing
* the documentation of all groups. * the documentation of all groups.
*/ */
QCString trModuleDocumentation() virtual QCString trModuleDocumentation()
{ return "Documentation du module"; } { return "Documentation des modules"; }
/*! This is used in LaTeX as the title of the chapter containing /*! This is used in LaTeX as the title of the chapter containing
* the documentation of all classes, structs and unions. * the documentation of all classes, structs and unions.
*/ */
QCString trClassDocumentation() virtual QCString trClassDocumentation()
{ return "Documentation de la classe"; } {
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Documentation des structures de données";
}
else
{
return "Documentation des classes";
}
}
/*! This is used in LaTeX as the title of the chapter containing /*! This is used in LaTeX as the title of the chapter containing
* the documentation of all files. * the documentation of all files.
*/ */
QCString trFileDocumentation() virtual QCString trFileDocumentation()
{ return "Documentation du fichier"; } { return "Documentation des fichiers"; }
/*! This is used in LaTeX as the title of the chapter containing /*! This is used in LaTeX as the title of the chapter containing
* the documentation of all examples. * the documentation of all examples.
*/ */
QCString trExampleDocumentation() virtual QCString trExampleDocumentation()
{ return "Documentation de l'exemple"; } { return "Documentation des exemples"; }
/*! This is used in LaTeX as the title of the chapter containing /*! This is used in LaTeX as the title of the chapter containing
* the documentation of all related pages. * the documentation of all related pages.
*/ */
QCString trPageDocumentation() virtual QCString trPageDocumentation()
{ return "Documentation de la page"; } { return "Documentation des pages associées"; }
/*! This is used in LaTeX as the title of the document */ /*! This is used in LaTeX as the title of the document */
QCString trReferenceManual() virtual QCString trReferenceManual()
{ return "Manuel de référence"; } { return "Manuel de référence"; }
/*! This is used in the documentation of a file as a header before the /*! This is used in the documentation of a file as a header before the
* list of defines * list of defines
*/ */
QCString trDefines() virtual QCString trDefines()
{ return "Définitions des macros"; } { return "Macros"; }
/*! This is used in the documentation of a file as a header before the /*! This is used in the documentation of a file as a header before the
* list of function prototypes * list of function prototypes
*/ */
QCString trFuncProtos() virtual QCString trFuncProtos()
{ return "Prototypes des fonctions"; } { return "Prototypes de fonction"; }
/*! This is used in the documentation of a file as a header before the /*! This is used in the documentation of a file as a header before the
* list of typedefs * list of typedefs
*/ */
QCString trTypedefs() virtual QCString trTypedefs()
{ return "Définitions des types"; } { return "Typedefs"; }
/*! This is used in the documentation of a file as a header before the /*! This is used in the documentation of a file as a header before the
* list of enumerations * list of enumerations
*/ */
QCString trEnumerations() virtual QCString trEnumerations()
{ return "Énumérations"; } { return "Énumérations"; }
/*! This is used in the documentation of a file as a header before the /*! This is used in the documentation of a file as a header before the
* list of (global) functions * list of (global) functions
*/ */
QCString trFunctions() virtual QCString trFunctions()
{ return "Fonctions"; } { return "Fonctions"; }
/*! This is used in the documentation of a file as a header before the /*! This is used in the documentation of a file as a header before the
* list of (global) variables * list of (global) variables
*/ */
QCString trVariables() virtual QCString trVariables()
{ return "Variables"; } { return "Variables"; }
/*! This is used in the documentation of a file as a header before the /*! This is used in the documentation of a file as a header before the
* list of (global) variables * list of (global) variables
*/ */
QCString trEnumerationValues() virtual QCString trEnumerationValues()
{ return "Éléments énumérés"; } { return "Valeurs énumérées"; }
/*! This is used in the documentation of a file before the list of /*! This is used in the documentation of a file before the list of
* documentation blocks for defines * documentation blocks for defines
*/ */
QCString trDefineDocumentation() virtual QCString trDefineDocumentation()
{ return "Documentation de la macro"; } { return "Documentation des macro"; }
/*! This is used in the documentation of a file/namespace before the list /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for function prototypes * of documentation blocks for function prototypes
*/ */
QCString trFunctionPrototypeDocumentation() virtual QCString trFunctionPrototypeDocumentation()
{ return "Documentation du prototype de la fonction"; } { return "Documentation des prototypes de fonction"; }
/*! This is used in the documentation of a file/namespace before the list /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for typedefs * of documentation blocks for typedefs
*/ */
QCString trTypedefDocumentation() virtual QCString trTypedefDocumentation()
{ return "Documentation du type"; } { return "Documentation des typedef"; }
/*! This is used in the documentation of a file/namespace before the list /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration types * of documentation blocks for enumeration types
*/ */
QCString trEnumerationTypeDocumentation() virtual QCString trEnumerationTypeDocumentation()
{ return "Documentation du type de l'énumération"; } { return "Documentation du type de l'énumération"; }
/*! This is used in the documentation of a file/namespace before the list /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values * of documentation blocks for enumeration values
*/ */
QCString trEnumerationValueDocumentation() virtual QCString trEnumerationValueDocumentation()
{ return "Documentation de l'élément de l'énumeration"; } { return "Documentation de la valeur énumérée"; }
/*! This is used in the documentation of a file/namespace before the list /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for functions * of documentation blocks for functions
*/ */
QCString trFunctionDocumentation() virtual QCString trFunctionDocumentation()
{ return "Documentation de la fonction"; } { return "Documentation des fonctions"; }
/*! This is used in the documentation of a file/namespace before the list /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for variables * of documentation blocks for variables
*/ */
QCString trVariableDocumentation() virtual QCString trVariableDocumentation()
{ return "Documentation de la variable"; } { return "Documentation des variables"; }
/*! This is used in the documentation of a file/namespace/group before /*! This is used in the documentation of a file/namespace/group before
* the list of links to documented compounds * the list of links to documented compounds
*/ */
QCString trCompounds() virtual QCString trCompounds()
{ return "Composants"; } {
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Structures de données";
}
else
{
return "Classes";
}
}
/*! This is used in the standard footer of each page and indicates when /*! This is used in the standard footer of each page and indicates when
* the page was generated * the page was generated
*/ */
QCString trGeneratedAt(const char *date,const char *projName) virtual QCString trGeneratedAt(const char *date,const char *projName)
{ {
QCString result=(QCString)"Généré le "+date; QCString result=(QCString)"Généré le "+date;
if (projName) result+=(QCString)" pour "+projName; if (projName) result+=(QCString)" pour "+projName;
result+=(QCString)" par "; result+=(QCString)" par";
return result; return result;
} }
/*! This is part of the sentence used in the standard footer of each page. /*! This is part of the sentence used in the standard footer of each page.
*/ */
QCString trWrittenBy() virtual QCString trWrittenBy()
{ {
return "écrit par"; return "écrit par";
} }
/*! this text is put before a class diagram */ /*! this text is put before a class diagram */
QCString trClassDiagram(const char *clName) virtual QCString trClassDiagram(const char *clName)
{ {
return (QCString)"Graphe d'héritage de la classe "+clName; return (QCString)"Graphe d'héritage de "+clName+":";
} }
/*! this text is generated when the \\internal command is used. */ /*! this text is generated when the \\internal command is used. */
QCString trForInternalUseOnly() virtual QCString trForInternalUseOnly()
{ return "À usage interne uniquement."; } { return "À usage interne uniquement."; }
/*! this text is generated when the \\reimp command is used. */ /*! this text is generated when the \\reimp command is used. */
QCString trReimplementedForInternalReasons() virtual QCString trReimplementedForInternalReasons()
{ return "Redéfini pour des raisons internes; " { return "Réimplémenté pour des raisons internes; "
"l'interface n'est pas modifiée"; "l'interface de programmation n'est pas modifiée.";
} }
/*! this text is generated when the \\warning command is used. */ /*! this text is generated when the \\warning command is used. */
QCString trWarning() virtual QCString trWarning()
{ return "Avertissement"; } { return "Avertissement"; }
/*! this text is generated when the \\bug command is used. */ /*! this text is generated when the \\bug command is used. */
QCString trBugsAndLimitations() virtual QCString trBugsAndLimitations()
{ return "Bogues et limitations"; } { return "Bogues et limitations"; }
/*! this text is generated when the \\version command is used. */ /*! this text is generated when the \\version command is used. */
QCString trVersion() virtual QCString trVersion()
{ return "Version"; } { return "Version"; }
/*! this text is generated when the \\date command is used. */ /*! this text is generated when the \\date command is used. */
QCString trDate() virtual QCString trDate()
{ return "Date"; } { return "Date"; }
/*! this text is generated when the \\return command is used. */ /*! this text is generated when the \\return command is used. */
QCString trReturns() virtual QCString trReturns()
{ return "Renvoie"; } { return "Renvoie"; }
/*! this text is generated when the \\sa command is used. */ /*! this text is generated when the \\sa command is used. */
QCString trSeeAlso() virtual QCString trSeeAlso()
{ return "Voir également"; } { return "Voir également"; }
/*! this text is generated when the \\param command is used. */ /*! this text is generated when the \\param command is used. */
QCString trParameters() virtual QCString trParameters()
{ return "Paramètres"; } { return "Paramètres"; }
/*! this text is generated when the \\exception command is used. */ /*! this text is generated when the \\exception command is used. */
QCString trExceptions() virtual QCString trExceptions()
{ return "Exceptions"; } { return "Exceptions"; }
/*! this text is used in the title page of a LaTeX document. */ /*! this text is used in the title page of a LaTeX document. */
QCString trGeneratedBy() virtual QCString trGeneratedBy()
{ return "Généré par"; } { return "Généré par"; }
// new since 0.49-990307 //////////////////////////////////////////////////////////////////////////
// new since 0.49-990307
//////////////////////////////////////////////////////////////////////////
/*! used as the title of page containing all the index of all namespaces. */
virtual QCString trNamespaceList() virtual QCString trNamespaceList()
{ return "Liste des namespaces"; } { return "Liste des namespaces"; }
...@@ -500,7 +654,7 @@ class TranslatorFrench : public Translator ...@@ -500,7 +654,7 @@ class TranslatorFrench : public Translator
{ {
QCString result="Liste de tous les namespaces "; QCString result="Liste de tous les namespaces ";
if (!extractAll) result+="documentés "; if (!extractAll) result+="documentés ";
result+="avec une brève description :"; result+="avec une brève description:";
return result; return result;
} }
...@@ -508,7 +662,7 @@ class TranslatorFrench : public Translator ...@@ -508,7 +662,7 @@ class TranslatorFrench : public Translator
* friends of a class * friends of a class
*/ */
virtual QCString trFriends() virtual QCString trFriends()
{ return "Amis (friends)"; } { return "Amis"; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990405 // new since 0.49-990405
...@@ -527,7 +681,7 @@ class TranslatorFrench : public Translator ...@@ -527,7 +681,7 @@ class TranslatorFrench : public Translator
/*! used as the title of the HTML page of a class/struct/union */ /*! used as the title of the HTML page of a class/struct/union */
virtual QCString trCompoundReference(const char *clName, virtual QCString trCompoundReference(const char *clName,
ClassDef::CompoundType compType, ClassDef::CompoundType compType,
bool /*isTemplate*/) bool isTemplate)
{ {
QCString result="Référence de "; QCString result="Référence de ";
switch(compType) switch(compType)
...@@ -540,8 +694,8 @@ class TranslatorFrench : public Translator ...@@ -540,8 +694,8 @@ class TranslatorFrench : public Translator
case ClassDef::Category: result+="la catégorie "; break; case ClassDef::Category: result+="la catégorie "; break;
case ClassDef::Exception: result+="l'exception "; break; case ClassDef::Exception: result+="l'exception "; break;
} }
result+=(QCString)clName; result+=(QCString)clName;
if (isTemplate) result+=" (modèle)";
return result; return result;
} }
...@@ -549,7 +703,7 @@ class TranslatorFrench : public Translator ...@@ -549,7 +703,7 @@ class TranslatorFrench : public Translator
virtual QCString trFileReference(const char *fileName) virtual QCString trFileReference(const char *fileName)
{ {
QCString result= "Référence du fichier "; QCString result= "Référence du fichier ";
result += fileName; result+=fileName;
return result; return result;
} }
...@@ -557,31 +711,30 @@ class TranslatorFrench : public Translator ...@@ -557,31 +711,30 @@ class TranslatorFrench : public Translator
virtual QCString trNamespaceReference(const char *namespaceName) virtual QCString trNamespaceReference(const char *namespaceName)
{ {
QCString result= "Référence du namespace "; QCString result= "Référence du namespace ";
result += namespaceName; result+=namespaceName;
return result; return result;
} }
/* these are for the member sections of a class, struct or union */
virtual QCString trPublicMembers() virtual QCString trPublicMembers()
{ return "Membres publics"; } { return "Fonctions membres publiques"; }
virtual QCString trPublicSlots() virtual QCString trPublicSlots()
{ return "Connecteurs publics"; } { return "Connecteurs publics"; }
virtual QCString trSignals() virtual QCString trSignals()
{ return "Signaux"; } { return "Signaux"; }
virtual QCString trStaticPublicMembers() virtual QCString trStaticPublicMembers()
{ return "Membres publics statiques"; } { return "Fonctions membres publiques statiques"; }
virtual QCString trProtectedMembers() virtual QCString trProtectedMembers()
{ return "Membres protégés"; } { return "Fonctions membres protégées"; }
virtual QCString trProtectedSlots() virtual QCString trProtectedSlots()
{ return "Connecteurs protégés"; } { return "Connecteurs protégés"; }
virtual QCString trStaticProtectedMembers() virtual QCString trStaticProtectedMembers()
{ return "Membres protégés statiques"; } { return "Fonctions membres protégées statiques"; }
virtual QCString trPrivateMembers() virtual QCString trPrivateMembers()
{ return "Membres privés"; } { return "Fonctions membres privées"; }
virtual QCString trPrivateSlots() virtual QCString trPrivateSlots()
{ return "Connecteurs privés"; } { return "Connecteurs privés"; }
virtual QCString trStaticPrivateMembers() virtual QCString trStaticPrivateMembers()
{ return "Membres privés statiques"; } { return "Fonctions membres privées statiques"; }
/*! this function is used to produce a comma-separated list of items. /*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put. * use generateMarker(i) to indicate where item i should be put.
...@@ -629,7 +782,7 @@ class TranslatorFrench : public Translator ...@@ -629,7 +782,7 @@ class TranslatorFrench : public Translator
*/ */
virtual QCString trReimplementedFromList(int numEntries) virtual QCString trReimplementedFromList(int numEntries)
{ {
return "Redéfinie à partir de "+trWriteList(numEntries)+"."; return "Réimplémentée à partir de "+trWriteList(numEntries)+".";
} }
/*! used in member documentation blocks to produce a list of /*! used in member documentation blocks to produce a list of
...@@ -637,23 +790,23 @@ class TranslatorFrench : public Translator ...@@ -637,23 +790,23 @@ class TranslatorFrench : public Translator
*/ */
virtual QCString trReimplementedInList(int numEntries) virtual QCString trReimplementedInList(int numEntries)
{ {
return "Redéfinie dans "+trWriteList(numEntries)+"."; return "Réimplémentée dans "+trWriteList(numEntries)+".";
} }
/*! This is put above each page as a link to all members of namespaces. */ /*! This is put above each page as a link to all members of namespaces. */
virtual QCString trNamespaceMembers() virtual QCString trNamespaceMembers()
{ return "Membres des namespaces"; } { return "Membres de namespace"; }
/*! This is an introduction to the page with all namespace members */ /*! This is an introduction to the page with all namespace members */
virtual QCString trNamespaceMemberDescription(bool extractAll) virtual QCString trNamespaceMemberDescription(bool extractAll)
{ {
QCString result="Voici une liste de tous les membres de namespace"; QCString result="Liste de tous les membres de namespace ";
if (!extractAll) result+="documentés "; if (!extractAll) result+="documentés ";
result+=" avec liens vers "; result+="avec liens vers ";
if (extractAll) if (extractAll)
result+="les documentations des namespaces associés :"; result+="la documentation de namespace de chaque membre:";
else else
result+="les namespaces auxquels ils appartiennent :"; result+="les namespaces auxquels ils appartiennent:";
return result; return result;
} }
/*! This is used in LaTeX as the title of the chapter with the /*! This is used in LaTeX as the title of the chapter with the
...@@ -676,7 +829,7 @@ class TranslatorFrench : public Translator ...@@ -676,7 +829,7 @@ class TranslatorFrench : public Translator
* namespaces in a file. * namespaces in a file.
*/ */
virtual QCString trNamespaces() virtual QCString trNamespaces()
{ return "Espaces de nommage (namespaces)"; } { return "Namespaces"; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990728 // new since 0.49-990728
...@@ -689,20 +842,20 @@ class TranslatorFrench : public Translator ...@@ -689,20 +842,20 @@ class TranslatorFrench : public Translator
bool single) bool single)
{ // here s is one of " Class", " Struct" or " Union" { // here s is one of " Class", " Struct" or " Union"
// single is true implies a single file // single is true implies a single file
QCString result=(QCString)"La documentation associée à cette "; QCString result=(QCString)"La documentation de ";
switch(compType) switch(compType)
{ {
case ClassDef::Class: result+="classe"; break; case ClassDef::Class: result+="cette classe"; break;
case ClassDef::Struct: result+="structure"; break; case ClassDef::Struct: result+="cette structure"; break;
case ClassDef::Union: result+="union"; break; case ClassDef::Union: result+="cette union"; break;
case ClassDef::Interface: result+="interface"; break; case ClassDef::Interface: result+="cette interface"; break;
case ClassDef::Protocol: result+="protocol"; break; case ClassDef::Protocol: result+="ce protocol"; break;
case ClassDef::Category: result+="category"; break; case ClassDef::Category: result+="cette catégorie"; break;
case ClassDef::Exception: result+="exception"; break; case ClassDef::Exception: result+="cette exception"; break;
} }
result+=" a été générée à partir "; result+=" a été générée à partir ";
if (single) result+=" du fichier suivant :"; if (single) result+="du fichier suivant:";
else result+="des fichiers suivants :"; else result+="des fichiers suivants:";
return result; return result;
} }
...@@ -710,10 +863,7 @@ class TranslatorFrench : public Translator ...@@ -710,10 +863,7 @@ class TranslatorFrench : public Translator
* list. * list.
*/ */
virtual QCString trAlphabeticalList() virtual QCString trAlphabeticalList()
{ { return "Liste alphabétique"; }
return "Liste par ordre alphabétique";
}
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990901 // new since 0.49-990901
...@@ -732,7 +882,7 @@ class TranslatorFrench : public Translator ...@@ -732,7 +882,7 @@ class TranslatorFrench : public Translator
* documentation. It should be an abbreviation of the word page. * documentation. It should be an abbreviation of the word page.
*/ */
virtual QCString trPageAbbreviation() virtual QCString trPageAbbreviation()
{ return "p. "; } { return "p."; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-991003 // new since 0.49-991003
...@@ -750,6 +900,7 @@ class TranslatorFrench : public Translator ...@@ -750,6 +900,7 @@ class TranslatorFrench : public Translator
{ {
return "Définition dans le fichier @0."; return "Définition dans le fichier @0.";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-991205 // new since 0.49-991205
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -766,17 +917,17 @@ class TranslatorFrench : public Translator ...@@ -766,17 +917,17 @@ class TranslatorFrench : public Translator
/*! this text is put before a collaboration diagram */ /*! this text is put before a collaboration diagram */
virtual QCString trCollaborationDiagram(const char *clName) virtual QCString trCollaborationDiagram(const char *clName)
{ {
return (QCString)"Diagramme de collaboration de "+clName+":"; return (QCString)"Graphe de collaboration de "+clName+":";
} }
/*! this text is put before an include dependency graph */ /*! this text is put before an include dependency graph */
virtual QCString trInclDepGraph(const char *fName) virtual QCString trInclDepGraph(const char *fName)
{ {
return (QCString)"Graphe des dépendances par inclusion pour "+fName+":"; return (QCString)"Graphe des dépendances par inclusion de "+fName+":";
} }
/*! header that is put before the list of constructor/destructors. */ /*! header that is put before the list of constructor/destructors. */
virtual QCString trConstructorDocumentation() virtual QCString trConstructorDocumentation()
{ {
return "Documentation des contructeurs et destructeurs"; return "Documentation des contructeurs et destructeur";
} }
/*! Used in the file documentation to point to the corresponding sources. */ /*! Used in the file documentation to point to the corresponding sources. */
virtual QCString trGotoSourceCode() virtual QCString trGotoSourceCode()
...@@ -806,7 +957,7 @@ class TranslatorFrench : public Translator ...@@ -806,7 +957,7 @@ class TranslatorFrench : public Translator
/*! Text shown before a multi-line variable/enum initialization */ /*! Text shown before a multi-line variable/enum initialization */
virtual QCString trInitialValue() virtual QCString trInitialValue()
{ {
return "Initialisation:"; return "Valeur initiale:";
} }
/*! Text used the source code in the file index */ /*! Text used the source code in the file index */
virtual QCString trCode() virtual QCString trCode()
...@@ -815,15 +966,15 @@ class TranslatorFrench : public Translator ...@@ -815,15 +966,15 @@ class TranslatorFrench : public Translator
} }
virtual QCString trGraphicalHierarchy() virtual QCString trGraphicalHierarchy()
{ {
return "Diagramme hiérarchique des classes"; return "Graphe hiérarchique des classes";
} }
virtual QCString trGotoGraphicalHierarchy() virtual QCString trGotoGraphicalHierarchy()
{ {
return "Aller au diagramme hiérarchique des classes"; return "Aller au graphe hiérarchique des classes";
} }
virtual QCString trGotoTextualHierarchy() virtual QCString trGotoTextualHierarchy()
{ {
return "Aller à la hiérarchie des classes en texte"; return "Aller à la hiérarchie des classes en mode texte";
} }
virtual QCString trPageIndex() virtual QCString trPageIndex()
{ {
...@@ -840,49 +991,56 @@ class TranslatorFrench : public Translator ...@@ -840,49 +991,56 @@ class TranslatorFrench : public Translator
} }
virtual QCString trPublicTypes() virtual QCString trPublicTypes()
{ {
return "Types Publics"; return "Types publics";
} }
virtual QCString trPublicAttribs() virtual QCString trPublicAttribs()
{ {
return "Attributs Publics"; if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Champs de données";
}
else
{
return "Attributs publics";
}
} }
virtual QCString trStaticPublicAttribs() virtual QCString trStaticPublicAttribs()
{ {
return "Attributs Publics Statiques"; return "Attributs publics statiques";
} }
virtual QCString trProtectedTypes() virtual QCString trProtectedTypes()
{ {
return "Types Protégés"; return "Types protégés";
} }
virtual QCString trProtectedAttribs() virtual QCString trProtectedAttribs()
{ {
return "Attributs Protégés"; return "Attributs protégés";
} }
virtual QCString trStaticProtectedAttribs() virtual QCString trStaticProtectedAttribs()
{ {
return "Attributs Protégés Statiques"; return "Attributs protégés statiques";
} }
virtual QCString trPrivateTypes() virtual QCString trPrivateTypes()
{ {
return "Types Privés"; return "Types privés";
} }
virtual QCString trPrivateAttribs() virtual QCString trPrivateAttribs()
{ {
return "Attributs Privés"; return "Attributs privés";
} }
virtual QCString trStaticPrivateAttribs() virtual QCString trStaticPrivateAttribs()
{ {
return "Attributs Privés Statiques"; return "Attributs privés statiques";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 1.1.3 // new since 1.1.3
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a todo item */ /*! Used as a marker that is put before a \\todo item */
virtual QCString trTodo() virtual QCString trTodo()
{ {
return Faire"; return faire";
} }
/*! Used as the header of the todo list */ /*! Used as the header of the todo list */
virtual QCString trTodoList() virtual QCString trTodoList()
...@@ -925,13 +1083,14 @@ class TranslatorFrench : public Translator ...@@ -925,13 +1083,14 @@ class TranslatorFrench : public Translator
{ {
return "Légende du graphe"; return "Légende du graphe";
} }
/*! page explaining how the dot graph's should be interpreted */ /*! page explaining how the dot graph's should be interpreted
* The %A in the text below are to prevent link to classes called "A".
*/
virtual QCString trLegendDocs() virtual QCString trLegendDocs()
{ {
return return
"Cette page explique comment interpréter les graphes générés " "Cette page explique comment interpréter les graphes générés "
"par doxygen.<p>\n" "par doxygen.<p>\n"
"Considérez l'exemple suivant:\n" "Considérez l'exemple suivant:\n"
"\\code\n" "\\code\n"
"/*! Classe invisible à cause d'une troncature */\n" "/*! Classe invisible à cause d'une troncature */\n"
...@@ -942,6 +1101,8 @@ class TranslatorFrench : public Translator ...@@ -942,6 +1101,8 @@ class TranslatorFrench : public Translator
"class Undocumented { };\n\n" "class Undocumented { };\n\n"
"/*! Classe dérivée par héritage public */\n" "/*! Classe dérivée par héritage public */\n"
"class PublicBase : public Truncated { };\n\n" "class PublicBase : public Truncated { };\n\n"
"/*! Un modèle de classe */\n"
"template<class T> class Templ { };\n\n"
"/*! Classe dérivée par héritage protégé */\n" "/*! Classe dérivée par héritage protégé */\n"
"class ProtectedBase { };\n\n" "class ProtectedBase { };\n\n"
"/*! Classe dérivée par héritage privé */\n" "/*! Classe dérivée par héritage privé */\n"
...@@ -953,14 +1114,15 @@ class TranslatorFrench : public Translator ...@@ -953,14 +1114,15 @@ class TranslatorFrench : public Translator
" protected ProtectedBase,\n" " protected ProtectedBase,\n"
" private PrivateBase,\n" " private PrivateBase,\n"
" public Undocumented\n" " public Undocumented\n"
" public Templ<int>\n"
"{\n" "{\n"
" private:\n" " private:\n"
" Used *m_usedClass;\n" " Used *m_usedClass;\n"
"};\n" "};\n"
"\\endcode\n" "\\endcode\n"
"Si la valeur 200 est attribuée au tag \\c MAX_DOT_GRAPH_HEIGHT " "Si la valeur 240 est attribuée au tag \\c MAX_DOT_GRAPH_HEIGHT "
"du fichier de configuration, cela génèrera le graphe suivant:" "du fichier de configuration, cela génèrera le graphe suivant:"
"<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n" "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n" "<p>\n"
"Les rectangles du graphe ci-dessus ont la signification suivante:\n" "Les rectangles du graphe ci-dessus ont la signification suivante:\n"
"<ul>\n" "<ul>\n"
...@@ -970,7 +1132,7 @@ class TranslatorFrench : public Translator ...@@ -970,7 +1132,7 @@ class TranslatorFrench : public Translator
"<li>Un rectangle avec un bord gris indique une classe ou une structure non documentée.\n" "<li>Un rectangle avec un bord gris indique une classe ou une structure non documentée.\n"
"<li>Un rectangle avec un bord rouge indique une structure ou une classe documentée\n" "<li>Un rectangle avec un bord rouge indique une structure ou une classe documentée\n"
"pour laquelle des relations d'héritage ou de collaboration manquent. Un graphe est " "pour laquelle des relations d'héritage ou de collaboration manquent. Un graphe est "
"tronqué s'il ne rentre pas dans les limites spécifiées." "tronqué s'il n'entre pas dans les limites spécifiées."
"</ul>\n" "</ul>\n"
"Les flèches ont la signification suivante:\n" "Les flèches ont la signification suivante:\n"
"<ul>\n" "<ul>\n"
...@@ -981,13 +1143,17 @@ class TranslatorFrench : public Translator ...@@ -981,13 +1143,17 @@ class TranslatorFrench : public Translator
"<li>Une flèche violette en pointillés est utilisée si une classe est contenue ou " "<li>Une flèche violette en pointillés est utilisée si une classe est contenue ou "
"utilisée par une autre classe. La flèche est étiquetée avec la ou les variable(s) " "utilisée par une autre classe. La flèche est étiquetée avec la ou les variable(s) "
"qui permettent d'accéder à la classe ou structure pointée. \n" "qui permettent d'accéder à la classe ou structure pointée. \n"
"<li>Une flèche verte en pointillés indique une relation entre une classe instanciée et "
"le modèle de classe utilisé. La flèche est étiquetée avec "
"les paramètres de modèle de la classe instanciée.\n"
"</ul>\n"; "</ul>\n";
} }
/*! text for the link to the legend page */ /*! text for the link to the legend page */
virtual QCString trLegend() virtual QCString trLegend()
{ {
return "Légende"; return "légende";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 1.2.0 // new since 1.2.0
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -1010,7 +1176,7 @@ class TranslatorFrench : public Translator ...@@ -1010,7 +1176,7 @@ class TranslatorFrench : public Translator
/*! Used as a section header for KDE-2 IDL methods */ /*! Used as a section header for KDE-2 IDL methods */
virtual QCString trDCOPMethods() virtual QCString trDCOPMethods()
{ {
return "Méthodes DCOP"; return "Fonctions membres DCOP";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -1255,6 +1421,7 @@ class TranslatorFrench : public Translator ...@@ -1255,6 +1421,7 @@ class TranslatorFrench : public Translator
{ {
return "Références"; return "Références";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 1.2.13 // new since 1.2.13
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -1268,7 +1435,7 @@ class TranslatorFrench : public Translator ...@@ -1268,7 +1435,7 @@ class TranslatorFrench : public Translator
} }
/*! used in member documentation blocks to produce a list of /*! used in member documentation blocks to produce a list of
* all members that implementation this member. * all members that implement this abstract member.
*/ */
virtual QCString trImplementedInList(int numEntries) virtual QCString trImplementedInList(int numEntries)
{ {
...@@ -1296,7 +1463,7 @@ class TranslatorFrench : public Translator ...@@ -1296,7 +1463,7 @@ class TranslatorFrench : public Translator
*/ */
virtual QCString trDeprecatedList() virtual QCString trDeprecatedList()
{ {
return "Liste obsolète"; return "Liste des éléments obsolètes";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -1308,12 +1475,12 @@ class TranslatorFrench : public Translator ...@@ -1308,12 +1475,12 @@ class TranslatorFrench : public Translator
*/ */
virtual QCString trEvents() virtual QCString trEvents()
{ {
return "Evènements"; return "Evénements";
} }
/*! Header used for the documentation section of a class' events. */ /*! Header used for the documentation section of a class' events. */
virtual QCString trEventDocumentation() virtual QCString trEventDocumentation()
{ {
return "Documentation des évènements"; return "Documentation des événements";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -1331,14 +1498,14 @@ class TranslatorFrench : public Translator ...@@ -1331,14 +1498,14 @@ class TranslatorFrench : public Translator
*/ */
virtual QCString trPackageMembers() virtual QCString trPackageMembers()
{ {
return "Méthodes de paquetage"; return "Fonctions de paquetage";
} }
/*! Used as a heading for a list of static Java class functions with /*! Used as a heading for a list of static Java class functions with
* package scope. * package scope.
*/ */
virtual QCString trStaticPackageMembers() virtual QCString trStaticPackageMembers()
{ {
return "Méthodes statiques de paquetage"; return "Fonctions statiques de paquetage";
} }
/*! Used as a heading for a list of Java class variables with package /*! Used as a heading for a list of Java class variables with package
* scope. * scope.
...@@ -1369,7 +1536,7 @@ class TranslatorFrench : public Translator ...@@ -1369,7 +1536,7 @@ class TranslatorFrench : public Translator
/*! Put in front of the call graph for a function. */ /*! Put in front of the call graph for a function. */
virtual QCString trCallGraph() virtual QCString trCallGraph()
{ {
return "Voici le graphique d'appel pour cette fonction:"; return "Voici le graphe d'appel pour cette fonction:";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -1389,7 +1556,7 @@ class TranslatorFrench : public Translator ...@@ -1389,7 +1556,7 @@ class TranslatorFrench : public Translator
*/ */
virtual QCString trSearchResultsTitle() virtual QCString trSearchResultsTitle()
{ {
return "Resultats de la recherche"; return "Résultats de la recherche";
} }
/*! This string is put just before listing the search results. The /*! This string is put just before listing the search results. The
* text can be different depending on the number of documents found. * text can be different depending on the number of documents found.
...@@ -1426,4 +1593,3 @@ class TranslatorFrench : public Translator ...@@ -1426,4 +1593,3 @@ class TranslatorFrench : public Translator
}; };
#endif #endif
...@@ -78,9 +78,27 @@ TextGeneratorOLImpl::TextGeneratorOLImpl(OutputDocInterface &od) : m_od(od) ...@@ -78,9 +78,27 @@ TextGeneratorOLImpl::TextGeneratorOLImpl(OutputDocInterface &od) : m_od(od)
{ {
} }
void TextGeneratorOLImpl::writeString(const char *s) const void TextGeneratorOLImpl::writeString(const char *s,bool keepSpaces) const
{ {
if (keepSpaces)
{
const char *p=s;
if (p)
{
char cs[2];
char c;
cs[1]='\0';
while ((c=*p++))
{
if (c==' ') m_od.writeNonBreakableSpace(1);
else cs[0]=c,m_od.docify(cs);
}
}
}
else
{
m_od.docify(s); m_od.docify(s);
}
} }
void TextGeneratorOLImpl::writeBreak() const void TextGeneratorOLImpl::writeBreak() const
...@@ -1171,9 +1189,26 @@ QCString removeRedundantWhiteSpace(const QCString &s) ...@@ -1171,9 +1189,26 @@ QCString removeRedundantWhiteSpace(const QCString &s)
uint csp=0; uint csp=0;
for (i=0;i<l;i++) for (i=0;i<l;i++)
{ {
nextChar:
char c=s.at(i); char c=s.at(i);
if (csp<6 && c==constScope[csp]) csp++; else csp=0; if (csp<6 && c==constScope[csp]) csp++; else csp=0;
if (i<l-2 && c=='<' && // current char is a < if (c=='"') // quoted string
{
i++;
result+=c;
while (i<l)
{
char cc=s.at(i);
result+=cc;
if (cc=='\\') // escaped character
{ result+=s.at(i+1); i+=2; }
else if (cc=='"') // end of string
{ i++; goto nextChar; }
else // any other character
{ i++; }
}
}
else if (i<l-2 && c=='<' && // current char is a <
(isId(s.at(i+1)) || isspace((uchar)s.at(i+1))) && // next char is an id char or space (isId(s.at(i+1)) || isspace((uchar)s.at(i+1))) && // next char is an id char or space
(i<8 || !findOperator(s,i)) // string in front is not "operator" (i<8 || !findOperator(s,i)) // string in front is not "operator"
) )
...@@ -1252,7 +1287,10 @@ bool leftScopeMatch(const QCString &scope, const QCString &name) ...@@ -1252,7 +1287,10 @@ bool leftScopeMatch(const QCString &scope, const QCString &name)
} }
void linkifyText(const TextGeneratorIntf &out,Definition *scope,FileDef *fileScope,const char * /*name*/,const char *text,bool autoBreak,bool external) void linkifyText(const TextGeneratorIntf &out,Definition *scope,
FileDef *fileScope,const char *,
const char *text, bool autoBreak,bool external,
bool keepSpaces)
{ {
//printf("`%s'\n",text); //printf("`%s'\n",text);
static QRegExp regExp("[a-z_A-Z][a-z_A-Z0-9:]*"); static QRegExp regExp("[a-z_A-Z][a-z_A-Z0-9:]*");
...@@ -1290,20 +1328,20 @@ void linkifyText(const TextGeneratorIntf &out,Definition *scope,FileDef *fileSco ...@@ -1290,20 +1328,20 @@ void linkifyText(const TextGeneratorIntf &out,Definition *scope,FileDef *fileSco
if (i==-1) i=splitText.find(' '); if (i==-1) i=splitText.find(' ');
if (i!=-1) // add a link-break at i in case of Html output if (i!=-1) // add a link-break at i in case of Html output
{ {
out.writeString(splitText.left(i+1)); out.writeString(splitText.left(i+1),keepSpaces);
out.writeBreak(); out.writeBreak();
out.writeString(splitText.right(splitLength-i-1)); out.writeString(splitText.right(splitLength-i-1),keepSpaces);
} }
else else
{ {
out.writeString(splitText); out.writeString(splitText,keepSpaces);
} }
floatingIndex=splitLength-i-1; floatingIndex=splitLength-i-1;
} }
else else
{ {
//ol.docify(txtStr.mid(skipIndex,newIndex-skipIndex)); //ol.docify(txtStr.mid(skipIndex,newIndex-skipIndex));
out.writeString(txtStr.mid(skipIndex,newIndex-skipIndex)); out.writeString(txtStr.mid(skipIndex,newIndex-skipIndex),keepSpaces);
} }
// get word from string // get word from string
QCString word=txtStr.mid(newIndex,matchLen); QCString word=txtStr.mid(newIndex,matchLen);
...@@ -1370,7 +1408,7 @@ void linkifyText(const TextGeneratorIntf &out,Definition *scope,FileDef *fileSco ...@@ -1370,7 +1408,7 @@ void linkifyText(const TextGeneratorIntf &out,Definition *scope,FileDef *fileSco
if (!found) // add word to the result if (!found) // add word to the result
{ {
//ol.docify(word); //ol.docify(word);
out.writeString(word); out.writeString(word,keepSpaces);
} }
// set next start point in the string // set next start point in the string
//printf("index=%d/%d\n",index,txtStr.length()); //printf("index=%d/%d\n",index,txtStr.length());
...@@ -1379,7 +1417,7 @@ void linkifyText(const TextGeneratorIntf &out,Definition *scope,FileDef *fileSco ...@@ -1379,7 +1417,7 @@ void linkifyText(const TextGeneratorIntf &out,Definition *scope,FileDef *fileSco
} }
// add last part of the string to the result. // add last part of the string to the result.
//ol.docify(txtStr.right(txtStr.length()-skipIndex)); //ol.docify(txtStr.right(txtStr.length()-skipIndex));
out.writeString(txtStr.right(txtStr.length()-skipIndex)); out.writeString(txtStr.right(txtStr.length()-skipIndex),keepSpaces);
} }
......
...@@ -57,7 +57,7 @@ class Definition; ...@@ -57,7 +57,7 @@ class Definition;
class TextGeneratorIntf class TextGeneratorIntf
{ {
public: public:
virtual void writeString(const char *) const = 0; virtual void writeString(const char *,bool) const = 0;
virtual void writeBreak() const = 0; virtual void writeBreak() const = 0;
virtual void writeLink(const char *extRef,const char *file, virtual void writeLink(const char *extRef,const char *file,
const char *anchor,const char *text const char *anchor,const char *text
...@@ -68,7 +68,7 @@ class TextGeneratorOLImpl : public TextGeneratorIntf ...@@ -68,7 +68,7 @@ class TextGeneratorOLImpl : public TextGeneratorIntf
{ {
public: public:
TextGeneratorOLImpl(OutputDocInterface &od); TextGeneratorOLImpl(OutputDocInterface &od);
void writeString(const char *s) const; void writeString(const char *s,bool keepSpaces) const;
void writeBreak() const; void writeBreak() const;
void writeLink(const char *extRef,const char *file, void writeLink(const char *extRef,const char *file,
const char *anchor,const char *text const char *anchor,const char *text
...@@ -85,7 +85,8 @@ void linkifyText(const TextGeneratorIntf &ol, ...@@ -85,7 +85,8 @@ void linkifyText(const TextGeneratorIntf &ol,
const char *name, const char *name,
const char *text, const char *text,
bool autoBreak=FALSE, bool autoBreak=FALSE,
bool external=TRUE bool external=TRUE,
bool keepSpaces=FALSE
); );
void setAnchors(ClassDef *cd,char id,MemberList *ml,int groupId=-1); void setAnchors(ClassDef *cd,char id,MemberList *ml,int groupId=-1);
QCString fileToString(const char *name,bool filter=FALSE); QCString fileToString(const char *name,bool filter=FALSE);
......
...@@ -445,7 +445,9 @@ void XmlDocVisitor::visitPost(DocSimpleListItem *) ...@@ -445,7 +445,9 @@ void XmlDocVisitor::visitPost(DocSimpleListItem *)
void XmlDocVisitor::visitPre(DocSection *s) void XmlDocVisitor::visitPre(DocSection *s)
{ {
if (m_hide) return; if (m_hide) return;
m_t << "<sect" << s->level() << " id=\"" << s->id() << "\">" << endl; m_t << "<sect" << s->level() << " id=\"" << s->file();
if (!s->anchor().isEmpty()) m_t << "_1" << s->anchor();
m_t << "\">" << endl;
m_t << "<title>"; m_t << "<title>";
filter(s->title()); filter(s->title());
m_t << "</title>" << endl; m_t << "</title>" << endl;
......
...@@ -153,7 +153,7 @@ class TextGeneratorXMLImpl : public TextGeneratorIntf ...@@ -153,7 +153,7 @@ class TextGeneratorXMLImpl : public TextGeneratorIntf
{ {
public: public:
TextGeneratorXMLImpl(QTextStream &t): m_t(t) {} TextGeneratorXMLImpl(QTextStream &t): m_t(t) {}
void writeString(const char *s) const void writeString(const char *s,bool /*keepSpaces*/) const
{ {
writeXMLString(m_t,s); writeXMLString(m_t,s);
} }
......
#! Use the common Unix template
#$ IncludeTemplate("../unix/app.t");
#! Use the common Unix template
#$ IncludeTemplate("../unix/lib.t");
#! Use the common Unix template
#$ IncludeTemplate("../unix/subdirs.t");
#
#
#
# tmake configuration for linux-g++
#
TEMPLATE = app
CONFIG = qt warn_on release
TMAKE_CC = gcc
TMAKE_CFLAGS =
TMAKE_CFLAGS_WARN_ON = -Wall -W
TMAKE_CFLAGS_WARN_OFF =
TMAKE_CFLAGS_RELEASE =
TMAKE_CFLAGS_DEBUG = -g
TMAKE_CFLAGS_SHLIB = -fPIC
TMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
TMAKE_CXX = g++
TMAKE_CXXFLAGS = $$TMAKE_CFLAGS
TMAKE_CXXFLAGS_WARN_ON = $$TMAKE_CFLAGS_WARN_ON
TMAKE_CXXFLAGS_WARN_OFF = $$TMAKE_CFLAGS_WARN_OFF
TMAKE_CXXFLAGS_RELEASE = $$TMAKE_CFLAGS_RELEASE
TMAKE_CXXFLAGS_DEBUG = $$TMAKE_CFLAGS_DEBUG
TMAKE_CXXFLAGS_SHLIB = $$TMAKE_CFLAGS_SHLIB
TMAKE_CXXFLAGS_YACC = $$TMAKE_CFLAGS_YACC
TMAKE_INCDIR =
TMAKE_LIBDIR =
TMAKE_INCDIR_QT = $(QTDIR)/include
TMAKE_LIBDIR_QT = $(QTDIR)/lib
TMAKE_LINK = g++
TMAKE_LINK_SHLIB = g++
TMAKE_LFLAGS = -Wl,-rpath=/lib:$(QTDIR)/lib
TMAKE_LFLAGS_RELEASE =
TMAKE_LFLAGS_DEBUG =
TMAKE_LFLAGS_SHLIB = -shared
TMAKE_LFLAGS_SONAME = -Wl,-soname,
TMAKE_LIBS =
TMAKE_LIBS_QT = -lqt
TMAKE_MOC = moc
TMAKE_AR = ar cqs
TMAKE_RANLIB =
TMAKE_TAR = tar -cf
TMAKE_GZIP = gzip -9f
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