Commit 8f195c2d authored by Dimitri van Heesch's avatar Dimitri van Heesch

Doxygen-1.2.6-20010408

parent c47269c4
......@@ -53,7 +53,7 @@ WARN_LOGFILE =
#---------------------------------------------------------------------------
INPUT = src
FILE_PATTERNS = *.h \
*.cpp \
*.cpp
RECURSIVE = NO
EXCLUDE = src/code.cpp \
src/config.cpp \
......
DOXYGEN Version 1.2.6-20010401
DOXYGEN Version 1.2.6-20010408
Please read the installation section of the manual for instructions.
--------
Dimitri van Heesch (01 April 2001)
Dimitri van Heesch (08 April 2001)
DOXYGEN Version 1.2.6-20010401
DOXYGEN Version 1.2.6-20010408
Please read INSTALL for compilation instructions.
......@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
Enjoy,
Dimitri van Heesch (01 April 2001)
Dimitri van Heesch (08 April 2001)
1.2.6-20010401
1.2.6-20010408
/******************************************************************************
*
*
* $Id$
*
* Copyright (C) 1997-2001 by Dimitri van Heesch.
*
......
/******************************************************************************
*
*
* $Id$
*
* Copyright (C) 1997-2001 by Dimitri van Heesch.
*
......
......@@ -191,7 +191,7 @@ Doxygen. Unrecognized commands are treated as normal text.
Indicates that a comment block contains documentation for a
\ref modules "group" of classes, files or namespaces. This can be used to
categorize classes, files or namespaces, and document those
categories. You can also uses groups as members of other groups,
categories. You can also use groups as members of other groups,
thus building a hierarchy of groups.
The \<name\> argument should an single word identifier.
......@@ -639,7 +639,7 @@ Public/Protected/Private/... section.
\addindex \if
Starts a conditional documentation section. The section ends
with a matching \c \endif command. A conditional section is
disable by default. To enable it you must put the
disabled by default. To enable it you must put the
section-label after the \ref cfg_enabled_sections "ENABLED_SECTIONS"
tag in the configuration
file. Conditional blocks can be nested. A nested section is
......@@ -900,7 +900,7 @@ Public/Protected/Private/... section.
\subsection cmdanchor \anchor <word>
\addindex \anchor
This command places an invisible, named anchor into to documentation
This command places an invisible, named anchor into the documentation
to which you can refer with the \\ref command.
\sa section \ref cmdref "\\ref".
......@@ -1235,13 +1235,13 @@ Public/Protected/Private/... section.
will result in the following text:<br><br>
... this is a \e really good example ...
Equvalent to \ref cmdem "\\em"
Equivalent to \ref cmdem "\\em"
<hr>
\subsection cmdem \em <word>
\addindex \e
Displays the argument \<word\> in italics.
Displayis the argument \<word\> in italics.
Use this command to emphasize words.
\par Example:
......
......@@ -68,7 +68,7 @@ follow these steps:
documentation. Apart from the documentation, Doxygen will create the
following files:
<ul>
<li>A small shell script. the name of the script is determined by the
<li>A small shell script. The name of the script is determined by the
\c CGI_NAME tag in the configuration file.
The script is a small wrapper that calls \c doxysearch with
the correct parameters. Using this script allows multiple
......
......@@ -73,7 +73,7 @@ Alternatively, you can put all members in a group (or module)
using the \\ingroup command and then document the group using a comment
block containing the \\defgroup command.
<li><b>How can I avoid that some code fragment is parsed by Doxyen?</b>
<li><b>How can I make doxygen ignore some code fragment?</b>
<p>
You can use Doxygen's preprocessor for this:
If you put
......@@ -164,7 +164,7 @@ In the HEAD section of the HTML page.
<li><b>Why does doxygen use Qt?</b>
The most important reason is too have a platform abstraction for most
The most important reason is to have a platform abstraction for most
Unices and Windows by means of the QFile, QFileInfo, QDir, QDate,
QTime and QIODevice classes.
Another reason is for the nice and bug free utility classes, like QList,
......
......@@ -111,11 +111,11 @@ format.
The default output directory is the directory in which \c doxygen
is started. The directory to which the output is written can be changed
using the \ref cfg_output_directory "OUTPUT_DIRECTORY" ,
\ref cfg_html_output "HTML_OUTPUT", \ref cfg_latex_output "LATEX_OUTPUT",
and \ref cfg_man_output "MAN_OUTPUT" tags of the configuration file.
If the output directory does not exist, \c doxygen will try to create it
for you.
using the \ref cfg_output_directory "OUTPUT_DIRECTORY",
\ref cfg_html_output "HTML_OUTPUT", \ref cfg_rtf_output "RTF_OUTPUT",
\ref cfg_latex_output "LATEX_OUTPUT", and \ref cfg_man_output "MAN_OUTPUT"
tags of the configuration file. If the output directory does not exist,
\c doxygen will try to create it for you.
\addindex browser
The generated HTML documentation can be viewed by pointing a HTML browser
......
......@@ -28,11 +28,13 @@ type makeconfig > doc\Makefile
type doc\Makefile.win_%MAKE%.in >>doc\Makefile
REM build in release or debug mode
type qtools\qtools.pro.in | sed "s/\$extraopts/%MODE%/g" >qtools\qtools.pro
type src\libdoxygen.pro.in | sed "s/\$extraopts/%MODE%/g" >src\libdoxygen.pro
type src\doxygen.pro.in | sed "s/\$extraopts/%MODE%/g" >src\doxygen.pro
type src\doxytag.pro.in | sed "s/\$extraopts/%MODE%/g" >src\doxytag.pro
type src\doxysearch.pro.in | sed "s/\$extraopts/%MODE%/g" >src\doxysearch.pro
REM sed is used to replace $extraopts by either debug or release while copying
sed "s/\$extraopts/%MODE%/g" qtools\qtools.pro.in >qtools\qtools.pro
sed "s/\$extraopts/%MODE%/g" src\libdoxygen.pro.in >src\libdoxygen.pro
sed "s/\$extraopts/%MODE%/g" src\libdoxycfg.pro.in >src\libdoxycfg.pro
sed "s/\$extraopts/%MODE%/g" src\doxygen.pro.in >src\doxygen.pro
sed "s/\$extraopts/%MODE%/g" src\doxytag.pro.in >src\doxytag.pro
sed "s/\$extraopts/%MODE%/g" src\doxysearch.pro.in >src\doxysearch.pro
REM run make
%MAKE%.exe
......
Name: doxygen
Version: 1.2.6-20010401
Version: 1.2.6-20010408
Summary: documentation system for C, C++ and IDL
Release: 1
Source0: doxygen-%{version}.src.tar.gz
Source0: doxygen_%{version}.src.tar.gz
Copyright: GPL
Group: unsorted
......
......@@ -54,9 +54,13 @@ ClassDef::ClassDef(
compType=ct;
QCString compoundName=compoundTypeString();
if (fName)
{
fileName=stripExtension(fName);
}
else
fileName=compoundName+"_"+nameToFile(nm);
{
fileName=compoundName+nm;
}
if (lref)
{
//url=(QCString)"doxygen=\""+lref+":\" href=\""+fileName;
......@@ -69,7 +73,7 @@ ClassDef::ClassDef(
exampleList = new ExampleList;
exampleDict = new ExampleDict(17);
}
memListFileName=compoundName+"_"+nameToFile(nm)+"-members";
memListFileName=convertNameToFile(compoundName+nm+"-members");
inherits = new BaseClassList;
inherits->setAutoDelete(TRUE);
inheritedBy = new BaseClassList;
......@@ -119,7 +123,7 @@ ClassDef::~ClassDef()
QCString ClassDef::displayName() const
{
if (Config::instance()->getBool("HIDE_SCOPE_NAMES"))
if (Config_getBool("HIDE_SCOPE_NAMES"))
{
return stripScope(name());
}
......@@ -209,7 +213,7 @@ void ClassDef::insertMember(MemberDef *md)
/********************************************/
/* insert member in the declaration section */
/********************************************/
if (md->isRelated() && (Config::instance()->getBool("EXTRACT_PRIVATE") || md->protection()!=Private))
if (md->isRelated() && (Config_getBool("EXTRACT_PRIVATE") || md->protection()!=Private))
{
related.append(md);
md->setSectionList(&related);
......@@ -357,11 +361,11 @@ void ClassDef::insertMember(MemberDef *md)
/* insert member in the detailed documentation section */
/*******************************************************/
if ((md->isRelated() &&
(Config::instance()->getBool("EXTRACT_PRIVATE") || md->protection()!=Private)
(Config_getBool("EXTRACT_PRIVATE") || md->protection()!=Private)
) || md->isFriend()
)
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
relatedMembers.inSort(md);
else
relatedMembers.append(md);
......@@ -371,14 +375,14 @@ void ClassDef::insertMember(MemberDef *md)
switch (md->memberType())
{
case MemberDef::Property:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
propertyMembers.inSort(md);
else
propertyMembers.append(md);
break;
case MemberDef::Signal: // fall through
case MemberDef::DCOP:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
functionMembers.inSort(md);
else
functionMembers.append(md);
......@@ -387,21 +391,21 @@ void ClassDef::insertMember(MemberDef *md)
switch (md->protection())
{
case Protected:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
functionMembers.inSort(md);
else
functionMembers.append(md);
break;
case Public:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
functionMembers.inSort(md);
else
functionMembers.append(md);
break;
case Private:
if (Config::instance()->getBool("EXTRACT_PRIVATE"))
if (Config_getBool("EXTRACT_PRIVATE"))
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
functionMembers.inSort(md);
else
functionMembers.append(md);
......@@ -410,24 +414,24 @@ void ClassDef::insertMember(MemberDef *md)
}
break;
default: // any of the other members
if (md->protection()!=Private || Config::instance()->getBool("EXTRACT_PRIVATE"))
if (md->protection()!=Private || Config_getBool("EXTRACT_PRIVATE"))
{
switch (md->memberType())
{
case MemberDef::Typedef:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
typedefMembers.inSort(md);
else
typedefMembers.append(md);
break;
case MemberDef::Enumeration:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
enumMembers.inSort(md);
else
enumMembers.append(md);
break;
case MemberDef::EnumValue:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
enumValMembers.inSort(md);
else
enumValMembers.append(md);
......@@ -443,14 +447,14 @@ void ClassDef::insertMember(MemberDef *md)
}
else
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
functionMembers.inSort(md);
else
functionMembers.append(md);
}
break;
case MemberDef::Variable:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
variableMembers.inSort(md);
else
variableMembers.append(md);
......@@ -653,7 +657,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
pageType+=cType;
pageTitle+=pageType+" Reference";
if (outerTempArgList) pageTitle.prepend(" Template");
startFile(ol,fileName,pageTitle);
startFile(ol,getOutputFileBase(),pageTitle);
startTitle(ol,getOutputFileBase());
parseText(ol,theTranslator->trCompoundReference(name(),compType,outerTempArgList!=0));
endTitle(ol,getOutputFileBase(),name());
......@@ -720,16 +724,16 @@ void ClassDef::writeDocumentation(OutputList &ol)
}
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <compound kind=\"" << compoundTypeString();
Doxygen::tagFile << "\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(name()) << "</name>" << endl;
Doxygen::tagFile << " <filename>" << convertToXML(fileName) << ".html</filename>" << endl;
Doxygen::tagFile << " <filename>" << convertToXML(getOutputFileBase()) << ".html</filename>" << endl;
}
if (Config::instance()->getBool("CLASS_DIAGRAMS")) ol.disableAllBut(OutputGenerator::Man);
if (Config_getBool("CLASS_DIAGRAMS")) ol.disableAllBut(OutputGenerator::Man);
// write subclasses
......@@ -753,7 +757,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
ClassDef *cd=bcd->classDef;
if (cd->isLinkable())
{
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <base";
if (bcd->prot==Protected)
......@@ -819,7 +823,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol.newParagraph();
}
if (Config::instance()->getBool("CLASS_DIAGRAMS")) ol.enableAll();
if (Config_getBool("CLASS_DIAGRAMS")) ol.enableAll();
count=0;
......@@ -840,7 +844,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
}
if (Config::instance()->getBool("HAVE_DOT") && Config::instance()->getBool("CLASS_GRAPH"))
if (Config_getBool("HAVE_DOT") && Config_getBool("CLASS_GRAPH"))
// write class diagram using dot
{
DotClassGraph inheritanceGraph(this,DotClassGraph::Inheritance);
......@@ -851,7 +855,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol.startDotGraph();
parseText(ol,theTranslator->trClassDiagram(name()));
ol.endDotGraph(inheritanceGraph);
if (Config::instance()->getBool("GENERATE_LEGEND"))
if (Config_getBool("GENERATE_LEGEND"))
{
ol.pushGeneratorState();
ol.disableAllBut(OutputGenerator::Html);
......@@ -865,7 +869,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol.popGeneratorState();
}
}
else if (Config::instance()->getBool("CLASS_DIAGRAMS") && count>0)
else if (Config_getBool("CLASS_DIAGRAMS") && count>0)
// write class diagram using build-in generator
{
ClassDiagram diagram(this); // create a diagram of this class.
......@@ -873,10 +877,10 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol.disable(OutputGenerator::Man);
parseText(ol,theTranslator->trClassDiagram(name()));
ol.enable(OutputGenerator::Man);
ol.endClassDiagram(diagram,fileName,name());
ol.endClassDiagram(diagram,getOutputFileBase(),name());
}
if (Config::instance()->getBool("HAVE_DOT") && Config::instance()->getBool("COLLABORATION_GRAPH"))
if (Config_getBool("HAVE_DOT") && Config_getBool("COLLABORATION_GRAPH"))
{
DotClassGraph usageImplGraph(this,DotClassGraph::Implementation);
if (!usageImplGraph.isTrivial())
......@@ -886,7 +890,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol.startDotGraph();
parseText(ol,theTranslator->trCollaborationDiagram(name()));
ol.endDotGraph(usageImplGraph);
if (Config::instance()->getBool("GENERATE_LEGEND"))
if (Config_getBool("GENERATE_LEGEND"))
{
ol.pushGeneratorState();
ol.disableAllBut(OutputGenerator::Html);
......@@ -902,7 +906,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
}
// write link to list of all members (HTML only)
if (allMemberNameInfoList->count()>0 && !Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (allMemberNameInfoList->count()>0 && !Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
ol.disableAllBut(OutputGenerator::Html);
ol.startTextLink(memListFileName,0);
......@@ -953,7 +957,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
proStaticMembers.writeDeclarations(ol,this,0,0,0,theTranslator->trStaticProtectedMembers(),0);
proStaticAttribs.writeDeclarations(ol,this,0,0,0,theTranslator->trStaticProtectedAttribs(),0);
if (Config::instance()->getBool("EXTRACT_PRIVATE"))
if (Config_getBool("EXTRACT_PRIVATE"))
{
// private non-static members
priTypes.writeDeclarations(ol,this,0,0,0,theTranslator->trPrivateTypes(),0);
......@@ -973,9 +977,9 @@ void ClassDef::writeDocumentation(OutputList &ol)
// write detailed description
bool exampleFlag=hasExamples();
if ((!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF")) ||
if ((!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) ||
!documentation().isEmpty() ||
/*(Config::instance()->getBool("SOURCE_BROWSER") && startBodyLine!=-1 && bodyDef) ||*/
/*(Config_getBool("SOURCE_BROWSER") && startBodyLine!=-1 && bodyDef) ||*/
exampleFlag)
{
ol.writeRuler();
......@@ -992,11 +996,11 @@ void ClassDef::writeDocumentation(OutputList &ol)
writeTemplateSpec(ol,outerTempArgList,pageType,name());
// repeat brief description
if (!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF"))
if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF"))
{
ol+=briefOutput;
}
if (!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF") &&
if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF") &&
!documentation().isEmpty())
{
ol.newParagraph();
......@@ -1118,7 +1122,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
// write the list of used files (not for man pages)
ol.pushGeneratorState();
if (Config::instance()->getBool("SHOW_USED_FILES"))
if (Config_getBool("SHOW_USED_FILES"))
{
ol.disable(OutputGenerator::Man);
ol.writeRuler();
......@@ -1140,14 +1144,14 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol.writeListItem();
QCString path=fd->getPath().copy();
if (Config::instance()->getBool("FULL_PATH_NAMES"))
if (Config_getBool("FULL_PATH_NAMES"))
{
ol.docify(stripFromPath(path));
}
if (fd->generateSourceFile())
{
ol.writeObjectLink(0,fd->sourceName(),0,fd->name());
ol.writeObjectLink(0,fd->getSourceFileBase(),0,fd->name());
}
else if (fd->isLinkable())
{
......@@ -1171,12 +1175,12 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol.startGroupHeader();
parseText(ol,theTranslator->trAuthor());
ol.endGroupHeader();
parseText(ol,theTranslator->trGeneratedAutomatically(Config::instance()->getString("PROJECT_NAME")));
parseText(ol,theTranslator->trGeneratedAutomatically(Config_getString("PROJECT_NAME")));
ol.popGeneratorState();
ol.endTextBlock();
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
writeDocAnchorsToTagFile();
Doxygen::tagFile << " </compound>" << endl;
......@@ -1188,7 +1192,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
// write the list of all (inherited) members for this class
void ClassDef::writeMemberList(OutputList &ol)
{
if (allMemberNameInfoList->count()==0 || Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) return;
if (allMemberNameInfoList->count()==0 || Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) return;
// only for HTML
ol.pushGeneratorState();
ol.disableAllBut(OutputGenerator::Html);
......@@ -1198,7 +1202,7 @@ void ClassDef::writeMemberList(OutputList &ol)
parseText(ol,name()+" "+theTranslator->trMemberList());
endTitle(ol,0,0);
parseText(ol,theTranslator->trThisIsTheListOfAllMembers());
ol.writeObjectLink(getReference(),fileName,0,name());
ol.writeObjectLink(getReference(),getOutputFileBase(),0,name());
parseText(ol,theTranslator->trIncludingInheritedMembers());
ol.startItemList();
......@@ -1238,7 +1242,7 @@ void ClassDef::writeMemberList(OutputList &ol)
(
md->isFriend() ||
(/*mi->prot!=Private &&*/
(prot!=Private || Config::instance()->getBool("EXTRACT_PRIVATE"))
(prot!=Private || Config_getBool("EXTRACT_PRIVATE"))
)
)
)
......@@ -1265,7 +1269,7 @@ void ClassDef::writeMemberList(OutputList &ol)
ol.writeString("\n");
memberWritten=TRUE;
}
else if (!Config::instance()->getBool("HIDE_UNDOC_MEMBERS")) // no documentation,
else if (!Config_getBool("HIDE_UNDOC_MEMBERS")) // no documentation,
// generate link to the class instead.
{
ol.writeListItem();
......@@ -1297,7 +1301,7 @@ void ClassDef::writeMemberList(OutputList &ol)
}
if ((prot!=Public || virt!=Normal ||
md->isFriend() || md->isRelated() || md->isExplicit() ||
md->isMutable() || (md->isInline() && Config::instance()->getBool("INLINE_INFO")) ||
md->isMutable() || (md->isInline() && Config_getBool("INLINE_INFO")) ||
md->isSignal() || md->isSlot() ||
md->isStatic()
)
......@@ -1310,7 +1314,7 @@ void ClassDef::writeMemberList(OutputList &ol)
else if (md->isRelated()) sl.append("related");
else
{
if (Config::instance()->getBool("INLINE_INFO") && md->isInline())
if (Config_getBool("INLINE_INFO") && md->isInline())
sl.append("inline");
if (md->isExplicit()) sl.append("explicit");
if (md->isMutable()) sl.append("mutable");
......@@ -1401,12 +1405,7 @@ void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup)
if (inGroup && md && md->getClassDef()==this) return;
switch(compType)
{
case Class: ol.docify("class"); break;
case Struct: ol.docify("struct"); break;
default: ol.docify("union"); break;
}
ol.docify(compoundTypeString());
int ri=name().findRev("::");
if (ri==-1) ri=name().length();
QCString cn=name().right(name().length()-ri-2);
......@@ -1445,7 +1444,7 @@ void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup)
proSlots.writePlainDeclarations(ol,this,0,0,0);
proStaticMembers.writePlainDeclarations(ol,this,0,0,0);
proStaticAttribs.writePlainDeclarations(ol,this,0,0,0);
if (Config::instance()->getBool("EXTRACT_PRIVATE"))
if (Config_getBool("EXTRACT_PRIVATE"))
{
priTypes.writePlainDeclarations(ol,this,0,0,0);
priMembers.writePlainDeclarations(ol,this,0,0,0);
......@@ -1463,20 +1462,20 @@ void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup)
bool ClassDef::isLinkableInProject()
{
return !name().isEmpty() && name().find('@')==-1 &&
(prot!=Private || Config::instance()->getBool("EXTRACT_PRIVATE")) &&
(prot!=Private || Config_getBool("EXTRACT_PRIVATE")) &&
hasDocumentation() && !isReference();
}
/*! the class is visible in a class diagram, or class hierarchy */
bool ClassDef::isVisibleInHierarchy()
{ return // show all classes or a subclass is visible
(Config::instance()->getBool("ALLEXTERNALS") || hasNonReferenceSuperClass()) &&
(Config_getBool("ALLEXTERNALS") || hasNonReferenceSuperClass()) &&
// and not an annonymous compound
name().find('@')==-1 &&
// and not privately inherited
(prot!=Private || Config::instance()->getBool("EXTRACT_PRIVATE")) &&
(prot!=Private || Config_getBool("EXTRACT_PRIVATE")) &&
// documented or show anyway or documentation is external
(hasDocumentation() || !Config::instance()->getBool("HIDE_UNDOC_CLASSES") || isReference());
(hasDocumentation() || !Config_getBool("HIDE_UNDOC_CLASSES") || isReference());
}
//----------------------------------------------------------------------
......@@ -1900,3 +1899,18 @@ QCString ClassDef::compoundTypeString() const
return "unknown";
}
QCString ClassDef::getOutputFileBase() const
{
return convertNameToFile(fileName);
}
QCString ClassDef::getFileBase() const
{
return fileName;
}
QCString ClassDef::getSourceFileBase() const
{
return convertNameToFile(fileName+"-source");
}
......@@ -66,7 +66,9 @@ class ClassDef : public Definition
Exception=Entry::EXCEPTION_SEC
};
DefType definitionType() { return TypeClass; }
QCString getOutputFileBase() const { return fileName; }
QCString getOutputFileBase() const;
QCString getFileBase() const;
QCString getSourceFileBase() const;
/*! Returns the name as it is appears in the documentation */
QCString displayName() const;
......
......@@ -61,7 +61,7 @@ void ClassList::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *fi
)
{
bool isLink = cd->isLinkable();
if (isLink || !Config::instance()->getBool("HIDE_UNDOC_CLASSES"))
if (isLink || !Config_getBool("HIDE_UNDOC_CLASSES"))
{
if (!found)
{
......@@ -78,7 +78,7 @@ void ClassList::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *fi
ol.startMemberList();
found=TRUE;
}
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <class kind=\"" << cd->compoundTypeString()
<< "\">" << convertToXML(cd->name()) << "</class>" << endl;
......@@ -107,7 +107,7 @@ void ClassList::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *fi
{
ol.startMemberDescription();
parseDoc(ol,cd->getDefFileName(),cd->getDefLine(),cd->name(),0,cd->briefDescription());
if ((!cd->briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF")) ||
if ((!cd->briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) ||
!cd->documentation().isEmpty())
{
ol.pushGeneratorState();
......
......@@ -1361,7 +1361,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
<RemoveSpecialCComment>\n { g_yyLineNr++; }
<RemoveSpecialCComment>.
<*>\n({B}*"//"[!/][^\n]*\n)+ { // remove special one-line comment
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
g_yyLineNr+=((QCString)yytext).contains('\n');
endCodeLine();
......@@ -1378,7 +1378,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<*>\n{B}*"//@"[{}].*\n { // remove one-line group marker
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
g_yyLineNr+=2;
endCodeLine();
......@@ -1395,7 +1395,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<*>\n{B}*"/*@"[{}] { // remove one-line group marker
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
g_lastSpecialCContext = YY_START;
g_yyLineNr++;
......@@ -1414,7 +1414,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<*>^{B}*"//@"[{}].*\n { // remove one-line group marker
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
g_yyLineNr++;
endCodeLine();
......@@ -1431,7 +1431,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<*>^{B}*"/*@"[{}] { // remove multi-line group marker
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
g_lastSpecialCContext = YY_START;
BEGIN(RemoveSpecialCComment);
......@@ -1449,7 +1449,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<*>^{B}*"//"[!/][^\n]*\n { // remove special one-line comment
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
g_yyLineNr++;
endCodeLine();
......@@ -1466,7 +1466,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<*>"//"[!/][^\n]*\n { // strip special one-line comment
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
char c[2]; c[0]='\n'; c[1]=0;
codifyLines(c);
......@@ -1479,7 +1479,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<*>\n{B}*"/*"[!*]/[^/*] {
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
g_lastSpecialCContext = YY_START;
g_yyLineNr++;
......@@ -1498,7 +1498,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<*>^{B}*"/*"[!*]/[^/*] { // special C comment block at a new line
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
g_lastSpecialCContext = YY_START;
BEGIN(RemoveSpecialCComment);
......@@ -1516,7 +1516,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<*>"/*"[!*]/[^/*] { // special C comment block half way a line
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
g_lastSpecialCContext = YY_START;
BEGIN(RemoveSpecialCComment);
......@@ -1533,7 +1533,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
BEGIN(SkipComment);
}
}
<*>"/*"("!"?)"*/" { if (!Config::instance()->getBool("STRIP_CODE_COMMENTS"))
<*>"/*"("!"?)"*/" { if (!Config_getBool("STRIP_CODE_COMMENTS"))
{
startFontClass("comment");
g_code->codify(yytext);
......@@ -1622,7 +1622,10 @@ void parseCode(OutputDocInterface &od,const char *className,const QCString &s,
g_searchingForBody = FALSE;
g_insideBody = FALSE;
g_bracketCount = 0;
g_exampleFile = convertFileName(g_exampleName)+"-example";
if (!g_exampleName.isEmpty())
{
g_exampleFile = convertNameToFile(g_exampleName+"-example");
}
g_includeCodeFragment = inlineFragment;
startCodeLine();
g_type.resize(0);
......
......@@ -327,6 +327,12 @@ class ConfigBool : public ConfigOption
bool m_defValue;
};
#define Config_getString(val) Config::instance()->getString(__FILE__,__LINE__,val)
#define Config_getInt(val) Config::instance()->getInt(__FILE__,__LINE__,val)
#define Config_getList(val) Config::instance()->getList(__FILE__,__LINE__,val)
#define Config_getEnum(val) Config::instance()->getEnum(__FILE__,__LINE__,val)
#define Config_getBool(val) Config::instance()->getBool(__FILE__,__LINE__,val)
/*! \brief Singleton for configuration variables.
*
* This object holds the global static variables
......@@ -357,11 +363,11 @@ struct Config
////////////////////////
// get functions
////////////////////////
QCString &getString(const char *name) const;
QStrList &getList(const char *name) const;
QCString &getEnum(const char *name) const;
int &getInt(const char *name) const;
bool &getBool(const char *name) const;
QCString &getString(const char *fileName,int num,const char *name) const;
QStrList &getList(const char *fileName,int num,const char *name) const;
QCString &getEnum(const char *fileName,int num,const char *name) const;
int &getInt(const char *fileName,int num,const char *name) const;
bool &getBool(const char *fileName,int num,const char *name) const;
ConfigOption *get(const char *name) const
{
return m_dict->find(name);
......
......@@ -62,7 +62,7 @@ void initWarningFormat()
#define MAX_INCLUDE_DEPTH 10
#define YY_NEVER_INTERACTIVE 1
#define YY_NO_UNPUT
Config *Config::m_instance = 0;
void ConfigInt::convertStrToVal()
......@@ -80,81 +80,81 @@ void ConfigInt::convertStrToVal()
}
}
QCString &Config::getString(const char *name) const
QCString &Config::getString(const char *fileName,int num,const char *name) const
{
ConfigOption *opt = m_dict->find(name);
if (opt==0)
{
err("ConfigOption::getString: Requested unknown option %s!\n",name);
err("%s<%d>: Internal error: Requested unknown option %s!\n",fileName,num,name);
exit(1);
}
else if (opt->kind()!=ConfigOption::O_String)
{
err("ConfigOption::getString: Requested option %s not of string type!\n",name);
err("%s<%d>: Internal error: Requested option %s not of string type!\n",fileName,num,name);
exit(1);
}
return *((ConfigString *)opt)->valueRef();
}
QStrList &Config::getList(const char *name) const
QStrList &Config::getList(const char *fileName,int num,const char *name) const
{
ConfigOption *opt = m_dict->find(name);
if (opt==0)
{
err("ConfigOption::getList: Requested unknown option %s!\n",name);
err("%s<%d>: Internal error: Requested unknown option %s!\n",fileName,num,name);
exit(1);
}
else if (opt->kind()!=ConfigOption::O_List)
{
err("ConfigOption::getList: Requested option %s not of list type!\n",name);
err("%d<%d>: Internal error: Requested option %s not of list type!\n",fileName,num,name);
exit(1);
}
return *((ConfigList *)opt)->valueRef();
}
QCString &Config::getEnum(const char *name) const
QCString &Config::getEnum(const char *fileName,int num,const char *name) const
{
ConfigOption *opt = m_dict->find(name);
if (opt==0)
{
err("ConfigOption::getEnum: Requested unknown option %s!\n",name);
err("%s<%d>: Internal error: Requested unknown option %s!\n",fileName,num,name);
exit(1);
}
else if (opt->kind()!=ConfigOption::O_Enum)
{
err("ConfigOption::getEnum: Requested option %s not of enum type!\n",name);
err("%s<%d>: Internal error: Requested option %s not of enum type!\n",fileName,num,name);
exit(1);
}
return *((ConfigEnum *)opt)->valueRef();
}
int &Config::getInt(const char *name) const
int &Config::getInt(const char *fileName,int num,const char *name) const
{
ConfigOption *opt = m_dict->find(name);
if (opt==0)
{
err("ConfigOption::getInt: Requested unknown option %s!\n",name);
err("%s<%d>: Internal error: Requested unknown option %s!\n",fileName,num,name);
exit(1);
}
else if (opt->kind()!=ConfigOption::O_Int)
{
err("ConfigOption::getInt: Requested option %s not of integer type!\n",name);
err("%s<%d>: Internal error: Requested option %s not of integer type!\n",fileName,num,name);
exit(1);
}
return *((ConfigInt *)opt)->valueRef();
}
bool &Config::getBool(const char *name) const
bool &Config::getBool(const char *fileName,int num,const char *name) const
{
ConfigOption *opt = m_dict->find(name);
if (opt==0)
{
err("ConfigOption::getInt: Requested unknown option %s!\n",name);
err("%s<%d>: Internal error: Requested unknown option %s!\n",fileName,num,name);
exit(1);
}
else if (opt->kind()!=ConfigOption::O_Bool)
{
err("ConfigOption::getInt: Requested option %s not of integer type!\n",name);
err("%s<%d>: Internal error: Requested option %s not of integer type!\n",fileName,num,name);
exit(1);
}
return *((ConfigBool *)opt)->valueRef();
......@@ -367,7 +367,40 @@ static void readIncludeFile(const char *incName)
break;
}
}
}
}
<Start>[a-z_A-Z][a-z_A-Z0-9]*[ \t]*"+=" { QCString cmd=yytext;
cmd=cmd.left(cmd.length()-2).stripWhiteSpace();
ConfigOption *option = config->get(cmd);
if (option==0) // oops not known
{
err("Warning: ignoring unsupported tag `%s' at line %d, file %s\n",
yytext,yyLineNr,yyFileName.data());
BEGIN(SkipInvalid);
}
else // known tag
{
switch(option->kind())
{
case ConfigOption::O_Info:
// shouldn't get here!
BEGIN(SkipInvalid);
break;
case ConfigOption::O_List:
l = ((ConfigList *)option)->valueRef();
elemStr="";
BEGIN(GetStrList);
break;
case ConfigOption::O_Enum:
case ConfigOption::O_String:
case ConfigOption::O_Int:
case ConfigOption::O_Bool:
err("Warning: operator += not supported for `%s'. Ignoring line at line %d, file %s\n",
yytext,yyLineNr,yyFileName.data());
BEGIN(SkipInvalid);
break;
}
}
}
<Start>"@INCLUDE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&includePathList; l->clear(); elemStr=""; }
/* include a config file */
<Start>"@INCLUDE"[ \t]*"=" { BEGIN(Include);}
......@@ -675,7 +708,7 @@ void Config::check()
// projectName[0]=toupper(projectName[0]);
//}
QCString &warnFormat = getString("WARN_FORMAT");
QCString &warnFormat = getString(__FILE__,__LINE__,"WARN_FORMAT");
if (warnFormat.isEmpty())
{
warnFormat="$file:$line $text";
......@@ -700,14 +733,15 @@ void Config::check()
}
initWarningFormat();
QCString &manExtension = getString("MAN_EXTENSION");
QCString &manExtension = getString(__FILE__,__LINE__,"MAN_EXTENSION");
// set default man page extension if non is given by the user
if (manExtension.isEmpty())
{
manExtension=".3";
}
QCString &paperType = getEnum("PAPER_TYPE");
QCString &paperType = getEnum(__FILE__,__LINE__,"PAPER_TYPE");
paperType=paperType.lower().stripWhiteSpace();
if (paperType.isEmpty())
{
......@@ -719,7 +753,7 @@ void Config::check()
err("Error: Unknown page type specified");
}
QCString &outputLanguage=getEnum("OUTPUT_LANGUAGE");
QCString &outputLanguage=getEnum(__FILE__,__LINE__,"OUTPUT_LANGUAGE");
outputLanguage=outputLanguage.stripWhiteSpace();
if (outputLanguage.isEmpty())
{
......@@ -740,7 +774,7 @@ void Config::check()
}
// expand the relative stripFromPath values
QStrList &stripFromPath = getList("STRIP_FROM_PATH");
QStrList &stripFromPath = getList(__FILE__,__LINE__,"STRIP_FROM_PATH");
char *sfp = stripFromPath.first();
while (sfp)
{
......@@ -763,7 +797,7 @@ void Config::check()
// Test to see if HTML header is valid
QCString &headerFile = getString("HTML_HEADER");
QCString &headerFile = getString(__FILE__,__LINE__,"HTML_HEADER");
if (!headerFile.isEmpty())
{
QFileInfo fi(headerFile);
......@@ -775,7 +809,7 @@ void Config::check()
}
}
// Test to see if HTML footer is valid
QCString &footerFile = getString("HTML_FOOTER");
QCString &footerFile = getString(__FILE__,__LINE__,"HTML_FOOTER");
if (!footerFile.isEmpty())
{
QFileInfo fi(footerFile);
......@@ -787,7 +821,7 @@ void Config::check()
}
}
// Test to see if LaTeX header is valid
QCString &latexHeaderFile = getString("LATEX_HEADER");
QCString &latexHeaderFile = getString(__FILE__,__LINE__,"LATEX_HEADER");
if (!latexHeaderFile.isEmpty())
{
QFileInfo fi(latexHeaderFile);
......@@ -799,7 +833,7 @@ void Config::check()
}
}
// check include path
QStrList &includePath = getList("INCLUDE_PATH");
QStrList &includePath = getList(__FILE__,__LINE__,"INCLUDE_PATH");
char *s=includePath.first();
while (s)
{
......@@ -813,7 +847,7 @@ void Config::check()
}
// check aliases
QStrList &aliasList = getList("ALIASES");
QStrList &aliasList = getList(__FILE__,__LINE__,"ALIASES");
s=aliasList.first();
while (s)
{
......@@ -828,7 +862,7 @@ void Config::check()
}
// check dot path
QCString &dotPath = getString("DOT_PATH");
QCString &dotPath = getString(__FILE__,__LINE__,"DOT_PATH");
if (!dotPath.isEmpty())
{
if (dotPath.find('\\')!=-1)
......@@ -870,7 +904,7 @@ void Config::check()
}
// check input
QStrList &inputSources=getList("INPUT");
QStrList &inputSources=getList(__FILE__,__LINE__,"INPUT");
if (inputSources.count()==0)
{
err("Error: tag INPUT: no input files specified after the INPUT tag.\n");
......@@ -892,38 +926,38 @@ void Config::check()
}
// add default pattern if needed
QStrList &filePatternList = getList("FILE_PATTERNS");
QStrList &filePatternList = getList(__FILE__,__LINE__,"FILE_PATTERNS");
if (filePatternList.isEmpty())
{
filePatternList.append("*");
}
// add default pattern if needed
QStrList &examplePatternList = getList("EXAMPLE_PATTERNS");
QStrList &examplePatternList = getList(__FILE__,__LINE__,"EXAMPLE_PATTERNS");
if (examplePatternList.isEmpty())
{
examplePatternList.append("*");
}
// add default pattern if needed
//QStrList &imagePatternList = getList("IMAGE_PATTERNS");
//QStrList &imagePatternList = getList(__FILE__,__LINE__,"IMAGE_PATTERNS");
//if (imagePatternList.isEmpty())
//{
// imagePatternList.append("*");
//}
// more checks needed if and only if the search engine is enabled.
if (getBool("SEARCHENGINE"))
if (getBool(__FILE__,__LINE__,"SEARCHENGINE"))
{
// check cgi name
QCString &cgiName = getString("CGI_NAME");
QCString &cgiName = getString(__FILE__,__LINE__,"CGI_NAME");
if (cgiName.isEmpty())
{
err("Error: tag CGI_NAME: no cgi script name after the CGI_NAME tag.\n");
exit(1);
}
// check cgi URL
QCString &cgiURL = getString("CGI_URL");
QCString &cgiURL = getString(__FILE__,__LINE__,"CGI_URL");
if (cgiURL.isEmpty())
{
err("Error: tag CGI_URL: no URL to cgi directory specified.\n");
......@@ -938,10 +972,10 @@ void Config::check()
exit(1);
}
// check documentation URL
QCString &docURL = getString("DOC_URL");
QCString &docURL = getString(__FILE__,__LINE__,"DOC_URL");
if (docURL.isEmpty())
{
docURL = getString("OUTPUT_DIRECTORY").copy().prepend("file://").append("html");
docURL = getString(__FILE__,__LINE__,"OUTPUT_DIRECTORY").copy().prepend("file://").append("html");
}
else if (docURL.left(7)!="http://" &&
docURL.left(8)!="https://" &&
......@@ -953,10 +987,10 @@ void Config::check()
exit(1);
}
// check absolute documentation path
QCString &docAbsPath = getString("DOC_ABSPATH");
QCString &docAbsPath = getString(__FILE__,__LINE__,"DOC_ABSPATH");
if (docAbsPath.isEmpty())
{
docAbsPath = getString("OUTPUT_DIRECTORY")+"/html";
docAbsPath = getString(__FILE__,__LINE__,"OUTPUT_DIRECTORY")+"/html";
}
else if (docAbsPath[0]!='/' && docAbsPath[1]!=':')
{
......@@ -964,7 +998,7 @@ void Config::check()
exit(1);
}
// check path to doxysearch
QCString &binAbsPath = getString("BIN_ABSPATH");
QCString &binAbsPath = getString(__FILE__,__LINE__,"BIN_ABSPATH");
if (binAbsPath.isEmpty())
{
err("Error: tag BIN_ABSPATH: no absolute path to doxysearch "
......@@ -979,7 +1013,7 @@ void Config::check()
// check perl path
bool found=FALSE;
QCString &perlPath = getString("PERL_PATH");
QCString &perlPath = getString(__FILE__,__LINE__,"PERL_PATH");
if (perlPath.isEmpty())
{
QFileInfo fi;
......@@ -1017,7 +1051,7 @@ void Config::check()
#else
#define PUTENV putenv
#endif
if (getBool("HAVE_DOT")) PUTENV("DOTFONTPATH=.");
if (getBool(__FILE__,__LINE__,"HAVE_DOT")) PUTENV("DOTFONTPATH=.");
}
......@@ -1048,18 +1082,18 @@ void Config::create()
//-----------------------------------------------------------------------------------------------
cs = addString(//"projectName",
cs = addString(
"PROJECT_NAME",
"The PROJECT_NAME tag is a single word (or a sequence of words surrounded \n"
"by quotes) that should identify the project. "
);
cs = addString(//"projectNumber",
cs = addString(
"PROJECT_NUMBER",
"The PROJECT_NUMBER tag can be used to enter a project or revision number. \n"
"This could be handy for archiving the generated documentation or \n"
"if some version control system is used.\n"
);
cs = addString(//"outputDir",
cs = addString(
"OUTPUT_DIRECTORY",
"The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) \n"
"base path where the generated documentation will be put. \n"
......@@ -1067,7 +1101,7 @@ void Config::create()
"where doxygen was started. If left blank the current directory will be used.\n"
);
cs->setWidgetType(ConfigString::Dir);
ce = addEnum(//"outputLanguage",
ce = addEnum(
"OUTPUT_LANGUAGE",
"The OUTPUT_LANGUAGE tag is used to specify the language in which all \n"
"documentation generated by doxygen is written. Doxygen will use this \n"
......@@ -1098,7 +1132,7 @@ void Config::create()
ce->addValue("Slovene");
ce->addValue("Spanish");
ce->addValue("Swedish");
cb = addBool( //"extractAllFlag",
cb = addBool(
"EXTRACT_ALL",
"If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in \n"
"documentation are documented, even if no documentation was available. \n"
......@@ -1106,19 +1140,19 @@ void Config::create()
"the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES \n",
FALSE
);
cb = addBool( //"extractPrivateFlag",
cb = addBool(
"EXTRACT_PRIVATE",
"If the EXTRACT_PRIVATE tag is set to YES all private members of a class \n"
"will be included in the documentation. \n",
FALSE
);
cb = addBool( //"extractStaticFlag",
cb = addBool(
"EXTRACT_STATIC",
"If the EXTRACT_STATIC tag is set to YES all static members of a file \n"
"will be included in the documentation. \n",
FALSE
);
cb = addBool( //"hideMemberFlag",
cb = addBool(
"HIDE_UNDOC_MEMBERS",
"If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all \n"
"undocumented members of documented classes, files or namespaces. \n"
......@@ -1127,7 +1161,7 @@ void Config::create()
"This option has no effect if EXTRACT_ALL is enabled. \n",
FALSE
);
cb = addBool( //"hideClassFlag",
cb = addBool(
"HIDE_UNDOC_CLASSES",
"If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all \n"
"undocumented classes that are normally visible in the class hierarchy. \n"
......@@ -1135,7 +1169,7 @@ void Config::create()
"overviews. This option has no effect if EXTRACT_ALL is enabled. \n",
FALSE
);
cb = addBool( //"briefMemDescFlag",
cb = addBool(
"BRIEF_MEMBER_DESC",
"If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will \n"
"include brief member descriptions after the members that are listed in \n"
......@@ -1143,7 +1177,7 @@ void Config::create()
"Set to NO to disable this. \n",
TRUE
);
cb = addBool( //"repeatBriefFlag",
cb = addBool(
"REPEAT_BRIEF",
"If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend \n"
"the brief description of a member or function before the detailed description. \n"
......@@ -1151,21 +1185,21 @@ void Config::create()
"brief descriptions will be completely suppressed. \n",
TRUE
);
cb = addBool( //"alwaysDetailsFlag",
cb = addBool(
"ALWAYS_DETAILED_SEC",
"If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then \n"
"Doxygen will generate a detailed section even if there is only a brief \n"
"description. \n",
FALSE
);
cb = addBool( //"fullPathNameFlag",
cb = addBool(
"FULL_PATH_NAMES",
"If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full \n"
"path before files name in the file list and in the header files. If set \n"
"to NO the shortest path that makes the file name unique will be used. \n",
FALSE
);
cl = addList( //"stripFromPath",
cl = addList(
"STRIP_FROM_PATH",
"If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag \n"
"can be used to strip a user defined part of the path. Stripping is \n"
......@@ -1173,7 +1207,7 @@ void Config::create()
"the path. It is allowed to use relative paths in the argument list.\n"
);
cl->addDependency("FULL_PATH_NAMES");
cb = addBool( //"internalDocsFlag",
cb = addBool(
"INTERNAL_DOCS",
"The INTERNAL_DOCS tag determines if documentation \n"
"that is typed after a \\internal command is included. If the tag is set \n"
......@@ -1181,33 +1215,33 @@ void Config::create()
"Set it to YES to include the internal documentation. \n",
FALSE
);
cb = addBool( //"classDiagramFlag",
cb = addBool(
"CLASS_DIAGRAMS",
"If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will \n"
"generate a class diagram (in Html and LaTeX) for classes with base or \n"
"super classes. Setting the tag to NO turns the diagrams off. \n",
TRUE
);
cb = addBool( //"sourceBrowseFlag",
cb = addBool(
"SOURCE_BROWSER",
"If the SOURCE_BROWSER tag is set to YES then a list of source files will \n"
"be generated. Documented entities will be cross-referenced with these sources. \n",
FALSE
);
cb = addBool( //"inlineSourceFlag",
cb = addBool(
"INLINE_SOURCES",
"Setting the INLINE_SOURCES tag to YES will include the body \n"
"of functions and classes directly in the documentation. \n",
FALSE
);
cb = addBool( //"stripCommentsFlag",
cb = addBool(
"STRIP_CODE_COMMENTS",
"Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct \n"
"doxygen to hide any special comment blocks from generated source code \n"
"fragments. Normal C and C++ comments will always remain visible. \n",
TRUE
);
cb = addBool( //"caseSensitiveNames",
cb = addBool(
"CASE_SENSE_NAMES",
"If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate \n"
"file names in lower case letters. If set to YES upper case letters are also \n"
......@@ -1216,28 +1250,35 @@ void Config::create()
"users are adviced to set this option to NO.\n",
TRUE
);
cb = addBool( //"hideScopeNames",
cb = addBool(
"SHORT_NAMES",
"If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter \n"
"(but less readable) file names. This can be useful is your file systems \n"
"doesn't support long names like on DOS, Mac, or CD-ROM. \n",
FALSE
);
cb = addBool(
"HIDE_SCOPE_NAMES",
"If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen \n"
"will show members with their full class and namespace scopes in the \n"
"documentation. If set to YES the scope will be hidden. \n",
FALSE
);
cb = addBool( //"verbatimHeaderFlag",
cb = addBool(
"VERBATIM_HEADERS",
"If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen \n"
"will generate a verbatim copy of the header file for each class for \n"
"which an include is specified. Set to NO to disable this. \n",
TRUE
);
cb = addBool( //"showIncFileFlag",
cb = addBool(
"SHOW_INCLUDE_FILES",
"If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen \n"
"will put list of the files that are included by a file in the documentation \n"
"of that file. \n",
TRUE
);
cb = addBool( //"autoBriefFlag",
cb = addBool(
"JAVADOC_AUTOBRIEF",
"If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen \n"
"will interpret the first line (until the first dot) of a JavaDoc-style \n"
......@@ -1246,20 +1287,20 @@ void Config::create()
"explict @brief command for a brief description. \n",
FALSE
);
cb = addBool( //"inheritDocsFlag",
cb = addBool(
"INHERIT_DOCS",
"If the INHERIT_DOCS tag is set to YES (the default) then an undocumented \n"
"member inherits the documentation from any documented member that it \n"
"reimplements. \n",
TRUE
);
cb = addBool( //"inlineInfoFlag",
cb = addBool(
"INLINE_INFO",
"If the INLINE_INFO tag is set to YES (the default) then a tag [inline] \n"
"is inserted in the documentation for inline members. \n",
TRUE
);
cb = addBool( //"sortMembersFlag",
cb = addBool(
"SORT_MEMBER_DOCS",
"If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen \n"
"will sort the (detailed) documentation of file and class members \n"
......@@ -1267,7 +1308,7 @@ void Config::create()
"declaration order. \n",
TRUE
);
cb = addBool( //"distributeDocFlag",
cb = addBool(
"DISTRIBUTE_GROUP_DOC",
"If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC \n"
"tag is set to YES, then doxygen will reuse the documentation of the first \n"
......@@ -1275,39 +1316,39 @@ void Config::create()
"all members of a group must be documented explicitly.\n",
FALSE
);
ci = addInt( //"tabSize",
ci = addInt(
"TAB_SIZE",
"The TAB_SIZE tag can be used to set the number of spaces in a tab. \n"
"Doxygen uses this value to replace tabs by spaces in code fragments. \n",
1,16,8
);
cl = addList( //"sectionFilterList",
cl = addList(
"ENABLED_SECTIONS",
"The ENABLE_SECTIONS tag can be used to enable conditional \n"
"The ENABLED_SECTIONS tag can be used to enable conditional \n"
"documentation sections, marked by \\if sectionname ... \\endif. \n"
);
cb = addBool( //"generateTodoList",
cb = addBool(
"GENERATE_TODOLIST",
"The GENERATE_TODOLIST tag can be used to enable (YES) or \n"
"disable (NO) the todo list. This list is created by putting \\todo \n"
"commands in the documentation.\n",
TRUE
);
cb = addBool( //"generateTestList",
cb = addBool(
"GENERATE_TESTLIST",
"The GENERATE_TESTLIST tag can be used to enable (YES) or \n"
"disable (NO) the test list. This list is created by putting \\test \n"
"commands in the documentation.\n",
TRUE
);
cb = addBool( //"generateBugList",
cb = addBool(
"GENERATE_BUGLIST",
"The GENERATE_BUGLIST tag can be used to enable (YES) or \n"
"disable (NO) the bug list. This list is created by putting \\bug \n"
"commands in the documentation.\n",
TRUE
);
cl = addList( //"aliasList",
cl = addList(
"ALIASES",
"This tag can be used to specify a number of aliases that acts \n"
"as commands in the documentation. An alias has the form \"name=value\". \n"
......@@ -1316,7 +1357,7 @@ void Config::create()
"will result in a user defined paragraph with heading \"Side Effects:\". \n"
"You can put \\n's in the value part of an alias to insert newlines. \n"
);
ci = addInt( //"maxInitLines",
ci = addInt(
"MAX_INITIALIZER_LINES",
"The MAX_INITIALIZER_LINES tag determines the maximum number of lines \n"
"the initial value of a variable or define consist of for it to appear in \n"
......@@ -1327,7 +1368,7 @@ void Config::create()
"command in the documentation regardless of this setting. \n",
0,10000,30
);
cb = addBool( //"optimizeForCFlag",
cb = addBool(
"OPTIMIZE_OUTPUT_FOR_C",
"Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources \n"
"only. Doxygen will then generate output that is more tailored for C. \n"
......@@ -1335,7 +1376,7 @@ void Config::create()
"of all members will be omitted, etc. \n",
FALSE
);
cb = addBool( //"showUsedFilesFlag",
cb = addBool(
"SHOW_USED_FILES",
"Set the SHOW_USED_FILES tag to NO to disable the list of files generated \n"
"at the bottom of the documentation of classes and structs. If set to YES the \n"
......@@ -1346,27 +1387,27 @@ void Config::create()
addInfo( "Messages","configuration options related to warning and progress messages");
//-----------------------------------------------------------------------------------------------
cb = addBool( //"quietFlag",
cb = addBool(
"QUIET",
"The QUIET tag can be used to turn on/off the messages that are generated \n"
"by doxygen. Possible values are YES and NO. If left blank NO is used. \n",
FALSE
);
cb = addBool( //"warningFlag",
cb = addBool(
"WARNINGS",
"The WARNINGS tag can be used to turn on/off the warning messages that are \n"
"generated by doxygen. Possible values are YES and NO. If left blank \n"
"NO is used. \n",
TRUE
);
cb = addBool( //"warningUndocFlag",
cb = addBool(
"WARN_IF_UNDOCUMENTED",
"If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings \n"
"for undocumented members. If EXTRACT_ALL is set to YES then this flag will \n"
"automatically be disabled. \n",
TRUE
);
cs = addString(//"warnFormat",
cs = addString(
"WARN_FORMAT",
"The WARN_FORMAT tag determines the format of the warning messages that \n"
"doxygen can produce. The string should contain the $file, $line, and $text \n"
......@@ -1374,7 +1415,7 @@ void Config::create()
"warning originated and the warning text. \n"
);
cs->setDefaultValue("$file:$line: $text");
cs = addString(//"warnLogFile",
cs = addString(
"WARN_LOGFILE",
"The WARN_LOGFILE tag can be used to specify a file to which warning \n"
"and error messages should be written. If left blank the output is written \n"
......@@ -1383,7 +1424,7 @@ void Config::create()
//-----------------------------------------------------------------------------------------------
addInfo( "Input","configuration options related to the input files");
//-----------------------------------------------------------------------------------------------
cl = addList( //"inputSources",
cl = addList(
"INPUT",
"The INPUT tag can be used to specify the files and/or directories that contain \n"
"documented source files. You may enter file names like \"myfile.cpp\" or \n"
......@@ -1391,55 +1432,55 @@ void Config::create()
"with spaces. \n"
);
cl->setWidgetType(ConfigList::FileAndDir);
cl = addList( //"filePatternList",
cl = addList(
"FILE_PATTERNS",
"If the value of the INPUT tag contains directories, you can use the \n"
"FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp \n"
"and *.h) to filter out the source-files in the directories. If left \n"
"blank all files are included. \n"
);
cb = addBool( //"recursiveFlag",
cb = addBool(
"RECURSIVE",
"The RECURSIVE tag can be used to turn specify whether or not subdirectories \n"
"should be searched for input files as well. Possible values are YES and NO. \n"
"If left blank NO is used. \n",
FALSE
);
cl = addList( //"excludeSources",
cl = addList(
"EXCLUDE",
"The EXCLUDE tag can be used to specify files and/or directories that should \n"
"excluded from the INPUT source files. This way you can easily exclude a \n"
"subdirectory from a directory tree whose root is specified with the INPUT tag. \n"
);
cl->setWidgetType(ConfigList::FileAndDir);
cl = addList( //"excludePatternList",
cl = addList(
"EXCLUDE_PATTERNS",
"If the value of the INPUT tag contains directories, you can use the \n"
"EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude \n"
"certain files from those directories. \n"
);
cl = addList( //"examplePath",
cl = addList(
"EXAMPLE_PATH",
"The EXAMPLE_PATH tag can be used to specify one or more files or \n"
"directories that contain example code fragments that are included (see \n"
"the \\include command). \n"
);
cl->setWidgetType(ConfigList::Dir);
cl = addList( //"examplePatternList",
cl = addList(
"EXAMPLE_PATTERNS",
"If the value of the EXAMPLE_PATH tag contains directories, you can use the \n"
"EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp \n"
"and *.h) to filter out the source-files in the directories. If left \n"
"blank all files are included. \n"
);
cl = addList( //"imagePath",
cl = addList(
"IMAGE_PATH",
"The IMAGE_PATH tag can be used to specify one or more files or \n"
"directories that contain image that are included in the documentation (see \n"
"the \\image command). \n"
);
cl->setWidgetType(ConfigList::Dir);
cs = addString(//"inputFilter",
cs = addString(
"INPUT_FILTER",
"The INPUT_FILTER tag can be used to specify a program that doxygen should \n"
"invoke to filter for each input file. Doxygen will invoke the filter program \n"
......@@ -1449,7 +1490,7 @@ void Config::create()
"to standard output. \n"
);
cl->setWidgetType(ConfigList::File);
cb = addBool( //"filterForSourceFlag",
cb = addBool(
"FILTER_SOURCE_FILES",
"If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using \n"
"INPUT_FILTER) will be used to filter the input files when producing source \n"
......@@ -1461,21 +1502,21 @@ void Config::create()
addInfo( "Index","configuration options related to the alphabetical class index");
//-----------------------------------------------------------------------------------------------
cb = addBool( //"alphaIndexFlag",
cb = addBool(
"ALPHABETICAL_INDEX",
"If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index \n"
"of all compounds will be generated. Enable this if the project \n"
"contains a lot of classes, structs, unions or interfaces. \n",
FALSE
);
ci = addInt( //"colsInAlphaIndex",
ci = addInt(
"COLS_IN_ALPHA_INDEX",
"If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then \n"
"the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns \n"
"in which this list will be split (can be a number in the range [1..20]) \n",
1,20,5
);
cl = addList( //"ignorePrefixList",
cl = addList(
"IGNORE_PREFIX",
"In case all classes in a project start with a common prefix, all \n"
"classes will be put under the same header in the alphabetical index. \n"
......@@ -1485,13 +1526,13 @@ void Config::create()
//-----------------------------------------------------------------------------------------------
addInfo( "HTML","configuration options related to the HTML output");
//-----------------------------------------------------------------------------------------------
cb = addBool( //"generateHtml",
cb = addBool(
"GENERATE_HTML",
"If the GENERATE_HTML tag is set to YES (the default) Doxygen will \n"
"generate HTML output. \n",
TRUE
);
cs = addString(//"htmlOutputDir",
cs = addString(
"HTML_OUTPUT",
"The HTML_OUTPUT tag is used to specify where the HTML docs will be put. \n"
"If a relative path is entered the value of OUTPUT_DIRECTORY will be \n"
......@@ -1500,7 +1541,7 @@ void Config::create()
cs->setDefaultValue("html");
cs->setWidgetType(ConfigString::Dir);
cs->addDependency("GENERATE_HTML");
cs = addString(//"headerFile",
cs = addString(
"HTML_HEADER",
"The HTML_HEADER tag can be used to specify a personal HTML header for \n"
"each generated HTML page. If it is left blank doxygen will generate a \n"
......@@ -1508,7 +1549,7 @@ void Config::create()
);
cs->setWidgetType(ConfigString::File);
cs->addDependency("GENERATE_HTML");
cs = addString(//"footerFile",
cs = addString(
"HTML_FOOTER",
"The HTML_FOOTER tag can be used to specify a personal HTML footer for \n"
"each generated HTML page. If it is left blank doxygen will generate a \n"
......@@ -1516,7 +1557,7 @@ void Config::create()
);
cs->setWidgetType(ConfigString::File);
cs->addDependency("GENERATE_HTML");
cs = addString(//"htmlStyleSheet",
cs = addString(
"HTML_STYLESHEET",
"The HTML_STYLESHEET tag can be used to specify a user defined cascading \n"
"style sheet that is used by each HTML page. It can be used to \n"
......@@ -1525,7 +1566,7 @@ void Config::create()
);
cs->setWidgetType(ConfigString::File);
cs->addDependency("GENERATE_HTML");
cb = addBool( //"htmlAlignMemberFlag",
cb = addBool(
"HTML_ALIGN_MEMBERS",
"If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, \n"
"files or namespaces will be aligned in HTML using tables. If set to \n"
......@@ -1533,7 +1574,7 @@ void Config::create()
TRUE
);
cb->addDependency("GENERATE_HTML");
cb = addBool( //"htmlHelpFlag",
cb = addBool(
"GENERATE_HTMLHELP",
"If the GENERATE_HTMLHELP tag is set to YES, additional index files \n"
"will be generated that can be used as input for tools like the \n"
......@@ -1542,7 +1583,7 @@ void Config::create()
FALSE
);
cb->addDependency("GENERATE_HTML");
cb = addBool( //"htmlHelpChiFlag",
cb = addBool(
"GENERATE_CHI",
"If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag \n"
"controls if a separate .chi index file is generated (YES) or that \n"
......@@ -1550,7 +1591,7 @@ void Config::create()
FALSE
);
cb->addDependency("GENERATE_HTML");
cb = addBool( //"htmlHelpTocFlag",
cb = addBool(
"BINARY_TOC",
"If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag \n"
"controls whether a binary table of contents is generated (YES) or a \n"
......@@ -1558,14 +1599,14 @@ void Config::create()
FALSE
);
cb->addDependency("GENERATE_HTML");
cb = addBool( //"htmlHelpTocExpandFlag",
cb = addBool(
"TOC_EXPAND",
"The TOC_EXPAND flag can be set YES to add extra items for group members \n"
"to the contents of the Html help documentation and to the tree view. \n",
FALSE
);
cb->addDependency("GENERATE_HTML");
cb = addBool( //"noIndexFlag",
cb = addBool(
"DISABLE_INDEX",
"The DISABLE_INDEX tag can be used to turn on/off the condensed index at \n"
"top of each HTML page. The value NO (the default) enables the index and \n"
......@@ -1573,14 +1614,14 @@ void Config::create()
FALSE
);
cb->addDependency("GENERATE_HTML");
ci = addInt( //"enumValuesPerLine",
ci = addInt(
"ENUM_VALUES_PER_LINE",
"This tag can be used to set the number of enum values (range [1..20]) \n"
"that doxygen will group on one line in the generated HTML documentation. \n",
1,20,4
);
ci->addDependency("GENERATE_HTML");
cb = addBool( //"ftvHelpFlag",
cb = addBool(
"GENERATE_TREEVIEW",
"If the GENERATE_TREEVIEW tag is set to YES, a side panel will be\n"
"generated containing a tree-like index structure (just like the one that \n"
......@@ -1590,7 +1631,7 @@ void Config::create()
FALSE
);
cb->addDependency("GENERATE_HTML");
ci = addInt( //"treeViewWidth",
ci = addInt(
"TREEVIEW_WIDTH",
"If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be \n"
"used to set the initial width (in pixels) of the frame in which the tree \n"
......@@ -1602,13 +1643,13 @@ void Config::create()
//-----------------------------------------------------------------------------------------------
addInfo( "LaTeX","configuration options related to the LaTeX output");
//-----------------------------------------------------------------------------------------------
cb = addBool( //"generateLatex",
cb = addBool(
"GENERATE_LATEX",
"If the GENERATE_LATEX tag is set to YES (the default) Doxygen will \n"
"generate Latex output. \n",
TRUE
);
cs = addString(//"latexOutputDir",
cs = addString(
"LATEX_OUTPUT",
"The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. \n"
"If a relative path is entered the value of OUTPUT_DIRECTORY will be \n"
......@@ -1617,7 +1658,7 @@ void Config::create()
cs->setDefaultValue("latex");
cs->setWidgetType(ConfigString::Dir);
cs->addDependency("GENERATE_LATEX");
cb = addBool( //"compactLatexFlag",
cb = addBool(
"COMPACT_LATEX",
"If the COMPACT_LATEX tag is set to YES Doxygen generates more compact \n"
"LaTeX documents. This may be useful for small projects and may help to \n"
......@@ -1625,7 +1666,7 @@ void Config::create()
FALSE
);
cb->addDependency("GENERATE_LATEX");
ce = addEnum(//"paperType",
ce = addEnum(
"PAPER_TYPE",
"The PAPER_TYPE tag can be used to set the paper type that is used \n"
"by the printer. Possible values are: a4, a4wide, letter, legal and \n"
......@@ -1638,13 +1679,13 @@ void Config::create()
ce->addValue("legal");
ce->addValue("executive");
ce->addDependency("GENERATE_LATEX");
cl = addList( //"extraPackageList",
cl = addList(
"EXTRA_PACKAGES",
"The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX \n"
"packages that should be included in the LaTeX output. \n"
);
cl->addDependency("GENERATE_LATEX");
cs = addString(//"latexHeaderFile",
cs = addString(
"LATEX_HEADER",
"The LATEX_HEADER tag can be used to specify a personal LaTeX header for \n"
"the generated latex document. The header should contain everything until \n"
......@@ -1653,7 +1694,7 @@ void Config::create()
);
cs->setWidgetType(ConfigString::File);
cs->addDependency("GENERATE_LATEX");
cb = addBool( //"pdfHyperFlag",
cb = addBool(
"PDF_HYPERLINKS",
"If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated \n"
"is prepared for conversion to pdf (using ps2pdf). The pdf file will \n"
......@@ -1662,7 +1703,7 @@ void Config::create()
FALSE
);
cb->addDependency("GENERATE_LATEX");
cb = addBool( //"usePDFLatexFlag",
cb = addBool(
"USE_PDFLATEX",
"If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of \n"
"plain latex in the generated Makefile. Set this option to YES to get a \n"
......@@ -1670,7 +1711,7 @@ void Config::create()
FALSE
);
cb->addDependency("GENERATE_LATEX");
cb = addBool( //"latexBatchModeFlag",
cb = addBool(
"LATEX_BATCHMODE",
"If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\\\batchmode. \n"
"command to the generated LaTeX files. This will instruct LaTeX to keep \n"
......@@ -1682,14 +1723,14 @@ void Config::create()
//-----------------------------------------------------------------------------------------------
addInfo( "RTF","configuration options related to the RTF output");
//-----------------------------------------------------------------------------------------------
cb = addBool( //"generateRTF",
cb = addBool(
"GENERATE_RTF",
"If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output \n"
"The RTF output is optimised for Word 97 and may not look very pretty with \n"
"other RTF readers or editors.\n",
TRUE
);
cs = addString(//"rtfOutputDir",
cs = addString(
"RTF_OUTPUT",
"The RTF_OUTPUT tag is used to specify where the RTF docs will be put. \n"
"If a relative path is entered the value of OUTPUT_DIRECTORY will be \n"
......@@ -1698,7 +1739,7 @@ void Config::create()
cs->setDefaultValue("rtf");
cs->setWidgetType(ConfigString::Dir);
cs->addDependency("GENERATE_RTF");
cb = addBool( //"compactRTFFlag",
cb = addBool(
"COMPACT_RTF",
"If the COMPACT_RTF tag is set to YES Doxygen generates more compact \n"
"RTF documents. This may be useful for small projects and may help to \n"
......@@ -1706,7 +1747,7 @@ void Config::create()
FALSE
);
cb->addDependency("GENERATE_RTF");
cb = addBool( //"rtfHyperFlag",
cb = addBool(
"RTF_HYPERLINKS",
"If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated \n"
"will contain hyperlink fields. The RTF file will \n"
......@@ -1717,7 +1758,7 @@ void Config::create()
FALSE
);
cb->addDependency("GENERATE_RTF");
cs = addString(//"rtfStylesheetFile",
cs = addString(
"RTF_STYLESHEET_FILE",
"Load stylesheet definitions from file. Syntax is similar to doxygen's \n"
"config file, i.e. a series of assigments. You only have to provide \n"
......@@ -1725,7 +1766,7 @@ void Config::create()
);
cs->setWidgetType(ConfigString::File);
cs->addDependency("GENERATE_RTF");
cs = addString(//"rtfExtentionsFile",
cs = addString(
"RTF_EXTENSIONS_FILE",
"Set optional variables used in the generation of an rtf document. \n"
"Syntax is similar to doxygen's config file.\n"
......@@ -1736,13 +1777,13 @@ void Config::create()
//-----------------------------------------------------------------------------------------------
addInfo( "Man","configuration options related to the man page output");
//-----------------------------------------------------------------------------------------------
cb = addBool( //"generateMan",
cb = addBool(
"GENERATE_MAN",
"If the GENERATE_MAN tag is set to YES (the default) Doxygen will \n"
"generate man pages \n",
TRUE
);
cs = addString(//"manOutputDir",
cs = addString(
"MAN_OUTPUT",
"The MAN_OUTPUT tag is used to specify where the man pages will be put. \n"
"If a relative path is entered the value of OUTPUT_DIRECTORY will be \n"
......@@ -1751,7 +1792,7 @@ void Config::create()
cs->setDefaultValue("man");
cs->setWidgetType(ConfigString::Dir);
cs->addDependency("GENERATE_MAN");
cs = addString(//"manExtension",
cs = addString(
"MAN_EXTENSION",
"The MAN_EXTENSION tag determines the extension that is added to \n"
"the generated man pages (default is the subroutine's section .3) \n"
......@@ -1773,14 +1814,14 @@ void Config::create()
//-----------------------------------------------------------------------------------------------
addInfo( "Preprocessor","Configuration options related to the preprocessor ");
//-----------------------------------------------------------------------------------------------
cb = addBool( //"preprocessingFlag",
cb = addBool(
"ENABLE_PREPROCESSING",
"If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will \n"
"evaluate all C-preprocessor directives found in the sources and include \n"
"files. \n",
TRUE
);
cb = addBool( //"macroExpansionFlag",
cb = addBool(
"MACRO_EXPANSION",
"If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro \n"
"names in the source code. If set to NO (the default) only conditional \n"
......@@ -1789,7 +1830,7 @@ void Config::create()
FALSE
);
cb->addDependency("ENABLE_PREPROCESSING");
cb = addBool( //"onlyPredefinedFlag",
cb = addBool(
"EXPAND_ONLY_PREDEF",
"If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES \n"
"then the macro expansion is limited to the macros specified with the \n"
......@@ -1797,14 +1838,14 @@ void Config::create()
FALSE
);
cb->addDependency("ENABLE_PREPROCESSING");
cb = addBool( //"searchIncludeFlag",
cb = addBool(
"SEARCH_INCLUDES",
"If the SEARCH_INCLUDES tag is set to YES (the default) the includes files \n"
"in the INCLUDE_PATH (see below) will be search if a #include is found. \n",
TRUE
);
cb->addDependency("ENABLE_PREPROCESSING");
cl = addList( //"includePath",
cl = addList(
"INCLUDE_PATH",
"The INCLUDE_PATH tag can be used to specify one or more directories that \n"
"contain include files that are not input files but should be processed by \n"
......@@ -1812,7 +1853,7 @@ void Config::create()
);
cl->setWidgetType(ConfigList::Dir);
cl->addDependency("ENABLE_PREPROCESSING");
cl = addList( //"includeFilePatternList",
cl = addList(
"INCLUDE_FILE_PATTERNS",
"You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard \n"
"patterns (like *.h and *.hpp) to filter out the header-files in the \n"
......@@ -1820,7 +1861,7 @@ void Config::create()
"be used. \n"
);
cl->addDependency("ENABLE_PREPROCESSING");
cl = addList( //"predefined",
cl = addList(
"PREDEFINED",
"The PREDEFINED tag can be used to specify one or more macro names that \n"
"are defined before the preprocessor is started (similar to the -D option of \n"
......@@ -1829,7 +1870,7 @@ void Config::create()
"omitted =1 is assumed. \n"
);
cl->addDependency("ENABLE_PREPROCESSING");
cl = addList( //"expandAsDefinedList",
cl = addList(
"EXPAND_AS_DEFINED",
"If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then \n"
"this tag can be used to specify a list of macro names that should be expanded. \n"
......@@ -1840,25 +1881,25 @@ void Config::create()
//-----------------------------------------------------------------------------------------------
addInfo( "External","Configuration::addtions related to external references ");
//-----------------------------------------------------------------------------------------------
cl = addList( //"tagFileList",
cl = addList(
"TAGFILES",
"The TAGFILES tag can be used to specify one or more tagfiles. \n"
);
cl->setWidgetType(ConfigList::File);
cs = addString(//"genTagFile",
cs = addString(
"GENERATE_TAGFILE",
"When a file name is specified after GENERATE_TAGFILE, doxygen will create \n"
"a tag file that is based on the input files it reads. \n"
);
cs->setWidgetType(ConfigString::File);
cb = addBool( //"allExtFlag",
cb = addBool(
"ALLEXTERNALS",
"If the ALLEXTERNALS tag is set to YES all external classes will be listed \n"
"in the class index. If set to NO only the inherited external classes \n"
"will be listed. \n",
FALSE
);
cs = addString(//"perlPath",
cs = addString(
"PERL_PATH",
"The PERL_PATH should be the absolute path and name of the perl script \n"
"interpreter (i.e. the result of `which perl'). \n"
......@@ -1869,7 +1910,7 @@ void Config::create()
//-----------------------------------------------------------------------------------------------
addInfo( "Dot","Configuration options related to the dot tool ");
//-----------------------------------------------------------------------------------------------
cb = addBool( //"haveDotFlag",
cb = addBool(
"HAVE_DOT",
"If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is \n"
"available from the path. This tool is part of Graphviz, a graph visualization \n"
......@@ -1877,7 +1918,7 @@ void Config::create()
"have no effect if this option is set to NO (the default) \n",
FALSE
);
cb = addBool( //"classGraphFlag",
cb = addBool(
"CLASS_GRAPH",
"If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen \n"
"will generate a graph for each documented class showing the direct and \n"
......@@ -1886,7 +1927,7 @@ void Config::create()
TRUE
);
cb->addDependency("HAVE_DOT");
cb = addBool( //"collGraphFlag",
cb = addBool(
"COLLABORATION_GRAPH",
"If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen \n"
"will generate a graph for each documented class showing the direct and \n"
......@@ -1895,7 +1936,7 @@ void Config::create()
TRUE
);
cb->addDependency("HAVE_DOT");
cb = addBool( //"includeGraphFlag",
cb = addBool(
"INCLUDE_GRAPH",
"If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to \n"
"YES then doxygen will generate a graph for each documented file showing \n"
......@@ -1904,7 +1945,7 @@ void Config::create()
TRUE
);
cb->addDependency("HAVE_DOT");
cb = addBool( //"includedByGraphFlag",
cb = addBool(
"INCLUDED_BY_GRAPH",
"If the ENABLE_PREPROCESSING, INCLUDED_BY_GRAPH, and HAVE_DOT tags are set to \n"
"YES then doxygen will generate a graph for each documented header file showing \n"
......@@ -1912,21 +1953,21 @@ void Config::create()
TRUE
);
cb->addDependency("HAVE_DOT");
cb = addBool( //"gfxHierarchyFlag",
cb = addBool(
"GRAPHICAL_HIERARCHY",
"If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen \n"
"will graphical hierarchy of all classes instead of a textual one. \n",
TRUE
);
cb->addDependency("HAVE_DOT");
cs = addString(//"dotPath",
cs = addString(
"DOT_PATH",
"The tag DOT_PATH can be used to specify the path where the dot tool can be \n"
"found. If left blank, it is assumed the dot tool can be found on the path. \n"
);
cs->setWidgetType(ConfigString::Dir);
cs->addDependency("HAVE_DOT");
ci = addInt( //"maxDotGraphWidth",
ci = addInt(
"MAX_DOT_GRAPH_WIDTH",
"The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width \n"
"(in pixels) of the graphs generated by dot. If a graph becomes larger than \n"
......@@ -1936,7 +1977,7 @@ void Config::create()
100,30000, 1024
);
ci->addDependency("HAVE_DOT");
ci = addInt( //"maxDotGraphHeight",
ci = addInt(
"MAX_DOT_GRAPH_HEIGHT",
"The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height \n"
"(in pixels) of the graphs generated by dot. If a graph becomes larger than \n"
......@@ -1946,7 +1987,7 @@ void Config::create()
100,30000,1024
);
ci->addDependency("HAVE_DOT");
cb = addBool( //"generateLegend",
cb = addBool(
"GENERATE_LEGEND",
"If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will \n"
"generate a legend page explaining the meaning of the various boxes and \n"
......@@ -1954,7 +1995,7 @@ void Config::create()
TRUE
);
cb->addDependency("HAVE_DOT");
cb = addBool( //"dotCleanUp",
cb = addBool(
"DOT_CLEANUP",
"If the DOT_CLEANUP tag is set to YES (the default) Doxygen will \n"
"remove the intermedate dot files that are used to generate \n"
......@@ -1966,13 +2007,13 @@ void Config::create()
//-----------------------------------------------------------------------------------------------
addInfo( "Search","Configuration::addtions related to the search engine ");
//-----------------------------------------------------------------------------------------------
cb = addBool( //"searchEngineFlag",
cb = addBool(
"SEARCHENGINE",
"The SEARCHENGINE tag specifies whether or not a search engine should be \n"
"used. If set to NO the values of all tags below this one will be ignored. \n",
FALSE
);
cs = addString(//"cgiName",
cs = addString(
"CGI_NAME",
"The CGI_NAME tag should be the name of the CGI script that \n"
"starts the search engine (doxysearch) with the correct parameters. \n"
......@@ -1980,21 +2021,21 @@ void Config::create()
);
cs->setDefaultValue("search.cgi");
cs->addDependency("SEARCHENGINE");
cs = addString(//"cgiURL",
cs = addString(
"CGI_URL",
"The CGI_URL tag should be the absolute URL to the directory where the \n"
"cgi binaries are located. See the documentation of your http daemon for \n"
"details. \n"
);
cs->addDependency("SEARCHENGINE");
cs = addString(//"docURL",
cs = addString(
"DOC_URL",
"The DOC_URL tag should be the absolute URL to the directory where the \n"
"documentation is located. If left blank the absolute path to the \n"
"documentation, with file:// prepended to it, will be used. \n"
);
cs->addDependency("SEARCHENGINE");
cs = addString(//"docAbsPath",
cs = addString(
"DOC_ABSPATH",
"The DOC_ABSPATH tag should be the absolute path to the directory where the \n"
"documentation is located. If left blank the directory on the local machine \n"
......@@ -2002,7 +2043,7 @@ void Config::create()
);
cs->setWidgetType(ConfigString::Dir);
cs->addDependency("SEARCHENGINE");
cs = addString(//"binAbsPath",
cs = addString(
"BIN_ABSPATH",
"The BIN_ABSPATH tag must point to the directory where the doxysearch binary \n"
"is installed. \n"
......@@ -2010,7 +2051,7 @@ void Config::create()
cs->setDefaultValue("/usr/local/bin/");
cs->setWidgetType(ConfigString::Dir);
cs->addDependency("SEARCHENGINE");
cl = addList( //"extDocPathList",
cl = addList(
"EXT_DOC_PATHS",
"The EXT_DOC_PATHS tag can be used to specify one or more paths to \n"
"documentation generated for other projects. This allows doxysearch to search \n"
......
......@@ -42,5 +42,5 @@ Define::~Define()
bool Define::hasDocumentation()
{
return definition && (doc || Config::instance()->getBool("EXTRACT_ALL"));
return definition && (doc || Config_getBool("EXTRACT_ALL"));
}
......@@ -17,6 +17,7 @@
#include "qtbc.h"
#include <ctype.h>
#include <qregexp.h>
#include "config.h"
#include "definition.h"
#include "doxygen.h"
......@@ -25,7 +26,7 @@
#include "outputlist.h"
#include "doc.h"
#include "code.h"
#include <qregexp.h>
#include "util.h"
Definition::Definition(const char *df,int dl,
const char *name,const char *b,const char *d)
......@@ -52,37 +53,6 @@ Definition::~Definition()
delete sourceRefDict;
}
QCString Definition::nameToFile(const char *name,bool allowDots)
{
return convertNameToFile(name,allowDots);
#if 0
QCString result;
char c;
const char *p=name;
while ((c=*p++)!=0)
{
switch(c)
{
case ':': result+="_"; break;
case '<': result+="_lt"; break;
case '>': result+="_gt"; break;
case '*': result+="_ast"; break;
case '&': result+="_amp"; break;
case '|': result+="_p_"; break;
case '!': result+="_e_"; break;
case ',': result+="_x_"; break;
case ' ': break;
default:
if (Config::instance()->getBool("CASE_SENSE_NAMES"))
result+=c;
else
result+=tolower(c);
break;
}
}
return result;
#endif
}
void Definition::addSectionsToDefinition(QList<QCString> *anchorList)
{
......@@ -111,7 +81,7 @@ void Definition::addSectionsToDefinition(QList<QCString> *anchorList)
void Definition::writeDocAnchorsToTagFile()
{
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty() && sectionDict)
if (!Config_getString("GENERATE_TAGFILE").isEmpty() && sectionDict)
{
QDictIterator<SectionInfo> sdi(*sectionDict);
SectionInfo *si;
......@@ -183,7 +153,7 @@ static bool readCodeFragment(const char *fileName,
}
else if (c=='\t')
{
col+=Config::instance()->getInt("TAB_SIZE") - (col%Config::instance()->getInt("TAB_SIZE"));
col+=Config_getInt("TAB_SIZE") - (col%Config_getInt("TAB_SIZE"));
}
else
{
......@@ -249,7 +219,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *)
{
ol.pushGeneratorState();
//printf("Definition::writeSourceRef %d %p\n",bodyLine,bodyDef);
if (Config::instance()->getBool("SOURCE_BROWSER") && startBodyLine!=-1 && bodyDef)
if (Config_getBool("SOURCE_BROWSER") && startBodyLine!=-1 && bodyDef)
{
//ol.disable(OutputGenerator::RTF);
ol.newParagraph();
......@@ -269,7 +239,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *)
parseText(ol,refText.left(lineMarkerPos));
ol.disableAllBut(OutputGenerator::Html);
// write line link (HTML only)
ol.writeObjectLink(0,bodyDef->sourceName(),
ol.writeObjectLink(0,bodyDef->getSourceFileBase(),
anchorStr,lineStr);
ol.enableAll();
ol.disable(OutputGenerator::Html);
......@@ -283,7 +253,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *)
ol.disableAllBut(OutputGenerator::Html);
// write file link (HTML only)
ol.writeObjectLink(0,bodyDef->sourceName(),
ol.writeObjectLink(0,bodyDef->getSourceFileBase(),
0,bodyDef->name());
ol.enableAll();
ol.disable(OutputGenerator::Html);
......@@ -301,7 +271,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *)
parseText(ol,refText.left(fileMarkerPos));
ol.disableAllBut(OutputGenerator::Html);
// write file link (HTML only)
ol.writeObjectLink(0,bodyDef->sourceName(),
ol.writeObjectLink(0,bodyDef->getSourceFileBase(),
0,bodyDef->name());
ol.enableAll();
ol.disable(OutputGenerator::Html);
......@@ -315,7 +285,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *)
ol.disableAllBut(OutputGenerator::Html);
// write line link (HTML only)
ol.writeObjectLink(0,bodyDef->sourceName(),
ol.writeObjectLink(0,bodyDef->getSourceFileBase(),
anchorStr,lineStr);
ol.enableAll();
ol.disable(OutputGenerator::Html);
......@@ -346,7 +316,7 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName)
ol.pushGeneratorState();
//printf("Source Fragment %s: %d-%d bodyDef=%p\n",name().data(),
// startBodyLine,endBodyLine,bodyDef);
if (Config::instance()->getBool("INLINE_SOURCES") && startBodyLine!=-1 &&
if (Config_getBool("INLINE_SOURCES") && startBodyLine!=-1 &&
endBodyLine>=startBodyLine && bodyDef)
{
QCString codeFragment;
......@@ -373,7 +343,7 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName)
void Definition::writeSourceRefs(OutputList &ol,const char *scopeName)
{
ol.pushGeneratorState();
if (Config::instance()->getBool("SOURCE_BROWSER") && sourceRefList)
if (Config_getBool("SOURCE_BROWSER") && sourceRefList)
{
ol.newParagraph();
parseText(ol,theTranslator->trReferencedBy());
......@@ -406,7 +376,7 @@ void Definition::writeSourceRefs(OutputList &ol,const char *scopeName)
ol.disableAllBut(OutputGenerator::Html);
QCString lineStr,anchorStr;
anchorStr.sprintf("l%05d",md->getStartBodyLine());
ol.writeObjectLink(0,md->getBodyDef()->sourceName(),anchorStr,name);
ol.writeObjectLink(0,md->getBodyDef()->getSourceFileBase(),anchorStr,name);
ol.popGeneratorState();
// for the other output formats just mention the name
......@@ -434,7 +404,7 @@ bool Definition::hasDocumentation()
{
return !doc.isEmpty() || // has detailed docs
!brief.isEmpty() || // has brief description
Config::instance()->getBool("EXTRACT_ALL"); // extract everything
Config_getBool("EXTRACT_ALL"); // extract everything
}
void Definition::addSourceReference(MemberDef *md)
......
......@@ -53,7 +53,7 @@ class Definition
*/
virtual QCString getOutputFileBase() const = 0;
/*! Returns the name of the source listing of this file. */
const QCString sourceName() const { return getOutputFileBase()+"-source"; }
const QCString getSourceFileBase() const { ASSERT(0); return "NULL"; }
/*! Returns the detailed description of this definition */
const QCString& documentation() const { return doc; }
/*! Returns the brief description of this definition */
......@@ -81,14 +81,6 @@ class Definition
void setReference(const char *r) { ref=r; }
QCString getReference() const { return ref; }
/*! returns the base file name that corresponds with the \a name of this
* definition. This replaces a number of special characters in the
* name by string that are more suitable to use in file names.
* The function getOutputFileBase() also uses this function in most cases.
* \sa setName(),Definition()
*/
QCString nameToFile(const char *name,bool allowDot=FALSE);
/*! Add the list of anchors that mark the sections that are found in the
* documentation.
*/
......
......@@ -205,7 +205,7 @@ QCString DiagramItem::label() const
{
result=classDef->name();
}
if (Config::instance()->getBool("HIDE_SCOPE_NAMES")) result=stripScope(result);
if (Config_getBool("HIDE_SCOPE_NAMES")) result=stripScope(result);
return result;
}
......@@ -1233,7 +1233,7 @@ void ClassDiagram::writeFigure(QTextStream &output,const char *path,
super->drawConnectors(t,0,FALSE,FALSE,baseRows,superRows,0,0);
f1.close();
if (Config::instance()->getBool("USE_PDFLATEX"))
if (Config_getBool("USE_PDFLATEX"))
{
QCString epstopdfArgs(4096);
epstopdfArgs.sprintf("\"%s.eps\" --outfile=\"%s.pdf\"",
......
......@@ -547,7 +547,7 @@ static void addListItemMarker(const char *marker,int dashPos,bool enumerated)
//printf("Parsed[%d]=%d\n",i,marker[i]);
if (marker[i]=='\t')
{
indent+=Config::instance()->getInt("TAB_SIZE") - (indent%Config::instance()->getInt("TAB_SIZE"));
indent+=Config_getInt("TAB_SIZE") - (indent%Config_getInt("TAB_SIZE"));
}
else if (marker[i]=='\n')
{
......@@ -678,13 +678,13 @@ static QCString findAndCopyImage(const char *fileName,ImageTypes type)
switch(type)
{
case IT_Html:
outputDir = Config::instance()->getString("HTML_OUTPUT");
outputDir = Config_getString("HTML_OUTPUT");
break;
case IT_Latex:
outputDir = Config::instance()->getString("LATEX_OUTPUT");
outputDir = Config_getString("LATEX_OUTPUT");
break;
case IT_RTF:
outputDir = Config::instance()->getString("RTF_OUTPUT");
outputDir = Config_getString("RTF_OUTPUT");
break;
}
QCString outputFile = outputDir+"/"+result;
......@@ -1009,7 +1009,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
outDoc->codify(c);
}
<DocScan>{CMD}"internal"/{BN} {
if (!Config::instance()->getBool("INTERNAL_DOCS"))
if (!Config_getBool("INTERNAL_DOCS"))
{
outDoc->newParagraph();
scanString(theTranslator->trForInternalUseOnly()+"\n");
......@@ -1328,7 +1328,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
}
}
<DocScan>"\\todo "[0-9]+ { // this tag is generated in an earlier pass
if (Config::instance()->getBool("GENERATE_TODOLIST"))
if (Config_getBool("GENERATE_TODOLIST"))
{
QCString numStr=yytext;
numStr=numStr.right(numStr.length()-6);
......@@ -1350,7 +1350,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
}
}
<DocScan>"\\test "[0-9]+ { // this tag is generated in an earlier pass
if (Config::instance()->getBool("GENERATE_TESTLIST"))
if (Config_getBool("GENERATE_TESTLIST"))
{
QCString numStr=yytext;
numStr=numStr.right(numStr.length()-6);
......@@ -1372,7 +1372,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
}
}
<DocScan>"\\bug "[0-9]+ { // this tag is generated in an earlier pass
if (Config::instance()->getBool("GENERATE_BUGLIST"))
if (Config_getBool("GENERATE_BUGLIST"))
{
QCString numStr=yytext;
numStr=numStr.right(numStr.length()-5);
......@@ -1656,7 +1656,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
}
}
<DocIf>[^\n\t ]+ {
if (Config::instance()->getList("ENABLED_SECTIONS").find(yytext)==-1)
if (Config_getList("ENABLED_SECTIONS").find(yytext)==-1)
{
outDoc->disableAll();
}
......
......@@ -167,9 +167,9 @@ static bool isLeaf(ClassDef *cd)
// if class is not a leaf
if (!isLeaf(bClass)) return FALSE;
// or class is not documented in this project
if (!Config::instance()->getBool("ALLEXTERNALS") && !bClass->isLinkableInProject()) return FALSE;
if (!Config_getBool("ALLEXTERNALS") && !bClass->isLinkableInProject()) return FALSE;
// or class is not documented and all ALLEXTERNALS = YES
if (Config::instance()->getBool("ALLEXTERNALS") && !bClass->isLinkable()) return FALSE;
if (Config_getBool("ALLEXTERNALS") && !bClass->isLinkable()) return FALSE;
}
}
return TRUE;
......@@ -549,7 +549,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
DotNode *n;
for (dnli.toFirst();(n=dnli.current());++dnli)
{
QCString baseName;
QCString baseName="inherit_graph_";
QCString diskName=n->m_url.copy();
int i=diskName.find('$');
if (i!=-1)
......@@ -558,9 +558,9 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
}
else /* take the label name as the file name (and strip any template stuff) */
{
diskName=convertNameToFile(n->m_label);
diskName=n->m_label;
}
baseName.sprintf("inherit_graph_%s",diskName.data());
baseName = convertNameToFile(baseName+diskName);
QCString dotName=baseName+".dot";
QCString gifName=baseName+".gif";
QCString mapName=baseName+".map";
......@@ -583,7 +583,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
QCString dotArgs(4096);
dotArgs.sprintf("-Tgif \"%s\" -o \"%s\"",dotName.data(),gifName.data());
//printf("Running: dot -Tgif %s -o %s\n",dotName.data(),gifName.data());
if (iSystem(Config::instance()->getString("DOT_PATH")+"dot",dotArgs)!=0)
if (iSystem(Config_getString("DOT_PATH")+"dot",dotArgs)!=0)
{
err("Problems running dot. Check your installation!\n");
out << "</table>" << endl;
......@@ -591,7 +591,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
}
dotArgs.sprintf("-Timap \"%s\" -o \"%s\"",dotName.data(),mapName.data());
//printf("Running: dot -Timap %s -o %s\n",dotName.data(),mapName.data());
if (iSystem(Config::instance()->getString("DOT_PATH")+"dot",dotArgs)!=0)
if (iSystem(Config_getString("DOT_PATH")+"dot",dotArgs)!=0)
{
err("Problems running dot. Check your installation!\n");
out << "</table>" << endl;
......@@ -602,7 +602,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
out << "<map name=\"" << n->m_label << "_map\">" << endl;
convertMapFile(out,mapName);
out << "</map>" << endl;
if (Config::instance()->getBool("DOT_CLEANUP")) thisDir.remove(dotName);
if (Config_getBool("DOT_CLEANUP")) thisDir.remove(dotName);
thisDir.remove(mapName);
}
out << "</table>" << endl;
......@@ -819,7 +819,7 @@ void DotClassGraph::addClass(ClassDef *cd,DotNode *n,int prot,
else // new class
{
QCString displayName=className;
if (Config::instance()->getBool("HIDE_SCOPE_NAMES")) displayName=stripScope(displayName);
if (Config_getBool("HIDE_SCOPE_NAMES")) displayName=stripScope(displayName);
QCString tmp_url;
if (cd->isLinkable()) tmp_url=cd->getReference()+"$"+cd->getOutputFileBase();
bn = new DotNode(m_curNodeNumber++,
......@@ -912,7 +912,7 @@ DotClassGraph::DotClassGraph(ClassDef *cd,GraphType t,int maxRecursionDepth)
buildGraph(cd,m_startNode,1,TRUE);
if (t==Inheritance) buildGraph(cd,m_startNode,1,FALSE);
}
m_diskName = cd->getOutputFileBase().copy();
m_diskName = cd->getFileBase().copy();
}
bool DotClassGraph::isTrivial() const
......@@ -996,7 +996,7 @@ static void findMaximalDotGraph(DotNode *root,
int height=0;
// binary search for the maximal inheritance depth that fits in a reasonable
// sized image (dimensions: Config::instance()->getInt("MAX_DOT_GRAPH_WIDTH"), Config::instance()->getInt("MAX_DOT_GRAPH_HEIGHT"))
// sized image (dimensions: Config_getInt("MAX_DOT_GRAPH_WIDTH"), Config_getInt("MAX_DOT_GRAPH_HEIGHT"))
do
{
writeDotGraph(root,format,baseName,lrRank,renderParents,
......@@ -1005,7 +1005,7 @@ static void findMaximalDotGraph(DotNode *root,
QCString dotArgs(4096);
// create annotated dot file
dotArgs.sprintf("-Tdot \"%s.dot\" -o \"%s_tmp.dot\"",baseName.data(),baseName.data());
if (iSystem(Config::instance()->getString("DOT_PATH")+"dot",dotArgs)!=0)
if (iSystem(Config_getString("DOT_PATH")+"dot",dotArgs)!=0)
{
err("Problems running dot. Check your installation!\n");
return;
......@@ -1016,9 +1016,9 @@ static void findMaximalDotGraph(DotNode *root,
width = width *96/72; // 96 pixels/inch, 72 points/inch
height = height*96/72; // 96 pixels/inch, 72 points/inch
//printf("Found bounding box (%d,%d) max (%d,%d)\n",width,height,
// Config::instance()->getInt("MAX_DOT_GRAPH_WIDTH"),Config::instance()->getInt("MAX_DOT_GRAPH_HEIGHT"));
// Config_getInt("MAX_DOT_GRAPH_WIDTH"),Config_getInt("MAX_DOT_GRAPH_HEIGHT"));
lastFit=(width<Config::instance()->getInt("MAX_DOT_GRAPH_WIDTH") && height<Config::instance()->getInt("MAX_DOT_GRAPH_HEIGHT"));
lastFit=(width<Config_getInt("MAX_DOT_GRAPH_WIDTH") && height<Config_getInt("MAX_DOT_GRAPH_HEIGHT"));
if (lastFit) // image is small enough
{
minDistance=curDistance;
......@@ -1042,7 +1042,7 @@ static void findMaximalDotGraph(DotNode *root,
writeDotGraph(root,
format,
baseName,
lrRank || (curDistance==1 && width>Config::instance()->getInt("MAX_DOT_GRAPH_WIDTH")),
lrRank || (curDistance==1 && width>Config_getInt("MAX_DOT_GRAPH_WIDTH")),
renderParents,
minDistance,
backArrows
......@@ -1090,18 +1090,16 @@ void DotClassGraph::writeGraph(QTextStream &out,
switch (m_graphType)
{
case Implementation:
baseName.sprintf("%s_coll_graph",m_diskName.data());
mapName="coll_map";
break;
case Interface:
baseName.sprintf("%s_intf_graph",m_diskName.data());
mapName="intf_map";
break;
case Inheritance:
baseName.sprintf("%s_inherit_graph",m_diskName.data());
mapName="inherit_map";
break;
}
baseName = convertNameToFile(diskName());
findMaximalDotGraph(m_startNode,m_maxDistance,baseName,
thisDir,format,!isTBRank,m_graphType==Inheritance);
......@@ -1111,7 +1109,7 @@ void DotClassGraph::writeGraph(QTextStream &out,
QCString dotArgs(4096);
dotArgs.sprintf("-Tgif \"%s.dot\" -o \"%s.gif\"",
baseName.data(),baseName.data());
if (iSystem(Config::instance()->getString("DOT_PATH")+"dot",dotArgs)!=0)
if (iSystem(Config_getString("DOT_PATH")+"dot",dotArgs)!=0)
{
err("Error: Problems running dot. Check your installation!\n");
QDir::setCurrent(oldDir);
......@@ -1121,7 +1119,7 @@ void DotClassGraph::writeGraph(QTextStream &out,
{
// run dot again to create an image map
dotArgs.sprintf("-Timap \"%s.dot\" -o \"%s.map\"",baseName.data(),baseName.data());
if (iSystem(Config::instance()->getString("DOT_PATH")+"dot",dotArgs)!=0)
if (iSystem(Config_getString("DOT_PATH")+"dot",dotArgs)!=0)
{
err("Error: Problems running dot. Check your installation!\n");
QDir::setCurrent(oldDir);
......@@ -1152,7 +1150,7 @@ void DotClassGraph::writeGraph(QTextStream &out,
{
QCString dotArgs(4096);
dotArgs.sprintf("-Tps \"%s.dot\" -o \"%s.eps\"",baseName.data(),baseName.data());
if (iSystem(Config::instance()->getString("DOT_PATH")+"dot",dotArgs)!=0)
if (iSystem(Config_getString("DOT_PATH")+"dot",dotArgs)!=0)
{
err("Error: Problems running dot. Check your installation!\n");
QDir::setCurrent(oldDir);
......@@ -1165,7 +1163,7 @@ void DotClassGraph::writeGraph(QTextStream &out,
QDir::setCurrent(oldDir);
return;
}
if (Config::instance()->getBool("USE_PDFLATEX"))
if (Config_getBool("USE_PDFLATEX"))
{
QCString epstopdfArgs(4096);
epstopdfArgs.sprintf("\"%s.eps\" --outfile=\"%s.pdf\"",
......@@ -1187,7 +1185,7 @@ void DotClassGraph::writeGraph(QTextStream &out,
"\\end{center}\n"
"\\end{figure}\n";
}
if (Config::instance()->getBool("DOT_CLEANUP")) thisDir.remove(baseName+".dot");
if (Config_getBool("DOT_CLEANUP")) thisDir.remove(baseName+".dot");
QDir::setCurrent(oldDir);
}
......@@ -1254,8 +1252,8 @@ DotInclDepGraph::DotInclDepGraph(FileDef *fd,bool inverse)
m_maxDistance = 0;
m_inverse = inverse;
ASSERT(fd!=0);
m_diskName = fd->getOutputFileBase().copy();
QCString tmp_url=fd->getReference()+"$"+fd->getOutputFileBase();
m_diskName = fd->getFileBase().copy();
QCString tmp_url=fd->getReference()+"$"+fd->getFileBase();
m_startNode = new DotNode(m_curNodeNumber++,
fd->name(),
tmp_url.data(),
......@@ -1278,7 +1276,7 @@ QCString DotInclDepGraph::diskName() const
QCString result=m_diskName.copy();
if (m_inverse) result+="_dep";
result+="_incl";
return result;
return convertNameToFile(result);
}
void DotInclDepGraph::writeGraph(QTextStream &out,
......@@ -1301,6 +1299,7 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
QCString baseName=m_diskName;
if (m_inverse) baseName+="_dep";
baseName+="_incl";
baseName=convertNameToFile(baseName);
QCString mapName=m_startNode->m_label.copy();
if (m_inverse) mapName+="dep";
......@@ -1313,7 +1312,7 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
QCString dotArgs(4096);
dotArgs.sprintf("-Tgif \"%s.dot\" -o \"%s.gif\"",
baseName.data(),baseName.data());
if (iSystem(Config::instance()->getString("DOT_PATH")+"dot",dotArgs)!=0)
if (iSystem(Config_getString("DOT_PATH")+"dot",dotArgs)!=0)
{
err("Problems running dot. Check your installation!\n");
QDir::setCurrent(oldDir);
......@@ -1325,7 +1324,7 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
// run dot again to create an image map
dotArgs.sprintf("-Timap \"%s.dot\" -o \"%s.map\"",
baseName.data(),baseName.data());
if (iSystem(Config::instance()->getString("DOT_PATH")+"dot",dotArgs)!=0)
if (iSystem(Config_getString("DOT_PATH")+"dot",dotArgs)!=0)
{
err("Problems running dot. Check your installation!\n");
QDir::setCurrent(oldDir);
......@@ -1349,7 +1348,7 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
QCString dotArgs(4096);
dotArgs.sprintf("-Tps \"%s.dot\" -o \"%s.eps\"",
baseName.data(),baseName.data());
if (iSystem(Config::instance()->getString("DOT_PATH")+"dot",dotArgs)!=0)
if (iSystem(Config_getString("DOT_PATH")+"dot",dotArgs)!=0)
{
err("Problems running dot. Check your installation!\n");
QDir::setCurrent(oldDir);
......@@ -1362,7 +1361,7 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
QDir::setCurrent(oldDir);
return;
}
if (Config::instance()->getBool("USE_PDFLATEX"))
if (Config_getBool("USE_PDFLATEX"))
{
QCString epstopdfArgs(4096);
epstopdfArgs.sprintf("\"%s.eps\" --outfile=\"%s.pdf\"",
......@@ -1387,7 +1386,7 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
"\\end{figure}\n";
}
if (Config::instance()->getBool("DOT_CLEANUP")) thisDir.remove(baseName+".dot");
if (Config_getBool("DOT_CLEANUP")) thisDir.remove(baseName+".dot");
QDir::setCurrent(oldDir);
}
......@@ -1440,7 +1439,7 @@ void generateGraphLegend(const char *path)
// run dot to generate the a .gif image from the graph
QCString dotArgs(4096);
dotArgs.sprintf("-Tgif graph_legend.dot -o graph_legend.gif");
if (iSystem(Config::instance()->getString("DOT_PATH")+"dot",dotArgs)!=0)
if (iSystem(Config_getString("DOT_PATH")+"dot",dotArgs)!=0)
{
err("Problems running dot. Check your installation!\n");
QDir::setCurrent(oldDir);
......
......@@ -231,7 +231,7 @@ static void addRelatedPage(const char *name,const QCString &ptitle,
}
QCString pageName;
if (Config::instance()->getBool("CASE_SENSE_NAMES"))
if (Config_getBool("CASE_SENSE_NAMES"))
pageName=pi->name.copy();
else
pageName=pi->name.lower();
......@@ -292,7 +292,7 @@ static void addRefItem(int todoId,int testId,int bugId,const char *prefix,
// add item to the todo list
////////////////////////////////////////////////////////////
if (todoId>0 && Config::instance()->getBool("GENERATE_TODOLIST"))
if (todoId>0 && Config_getBool("GENERATE_TODOLIST"))
{
RefItem *item = todoList.getRefItem(todoId);
ASSERT(item!=0);
......@@ -322,7 +322,7 @@ static void addRefItem(int todoId,int testId,int bugId,const char *prefix,
// add item to the test list
////////////////////////////////////////////////////////////
if (testId>0 && Config::instance()->getBool("GENERATE_TESTLIST"))
if (testId>0 && Config_getBool("GENERATE_TESTLIST"))
{
RefItem *item = testList.getRefItem(testId);
ASSERT(item!=0);
......@@ -351,7 +351,7 @@ static void addRefItem(int todoId,int testId,int bugId,const char *prefix,
// add item to the bug list
////////////////////////////////////////////////////////////
if (bugId>0 && Config::instance()->getBool("GENERATE_BUGLIST"))
if (bugId>0 && Config_getBool("GENERATE_BUGLIST"))
{
RefItem *item = bugList.getRefItem(bugId);
ASSERT(item!=0);
......@@ -443,7 +443,7 @@ static void organizeSubGroups(Entry *root)
static void buildFileList(Entry *root)
{
if (((root->section==Entry::FILEDOC_SEC) ||
((root->section & Entry::FILE_MASK) && Config::instance()->getBool("EXTRACT_ALL"))) &&
((root->section & Entry::FILE_MASK) && Config_getBool("EXTRACT_ALL"))) &&
!root->name.isEmpty() && !root->tagInfo // skip any file coming from tag files
)
{
......@@ -518,7 +518,7 @@ static void addIncludeFile(ClassDef *cd,FileDef *ifd,Entry *root)
if (
(!root->doc.stripWhiteSpace().isEmpty() ||
!root->brief.stripWhiteSpace().isEmpty() ||
Config::instance()->getBool("EXTRACT_ALL")
Config_getBool("EXTRACT_ALL")
) && root->protection!=Private
)
{
......@@ -654,7 +654,7 @@ static void buildClassList(Entry *root)
cd->setTemplateArguments(root->tArgList);
}
if (!root->doc.isEmpty() || !root->brief.isEmpty() ||
(root->bodyLine!=-1 && Config::instance()->getBool("SOURCE_BROWSER"))
(root->bodyLine!=-1 && Config_getBool("SOURCE_BROWSER"))
)
// block contains something that ends up in the docs
{
......@@ -1140,7 +1140,7 @@ static MemberDef *addVariableToClass(
QCString def;
if (!root->type.isEmpty())
{
if (mtype==MemberDef::Friend || Config::instance()->getBool("HIDE_SCOPE_NAMES"))
if (mtype==MemberDef::Friend || Config_getBool("HIDE_SCOPE_NAMES"))
{
def=root->type+" "+name+root->args;
}
......@@ -1151,7 +1151,7 @@ static MemberDef *addVariableToClass(
}
else
{
if (Config::instance()->getBool("HIDE_SCOPE_NAMES"))
if (Config_getBool("HIDE_SCOPE_NAMES"))
{
def=name+root->args;
}
......@@ -1273,7 +1273,7 @@ static MemberDef *addVariableToFile(
QCString def;
// determine the definition of the global variable
if (nd && !nd->name().isEmpty() && nd->name().at(0)!='@' &&
!Config::instance()->getBool("HIDE_SCOPE_NAMES")
!Config_getBool("HIDE_SCOPE_NAMES")
)
// variable is inside a namespace, so put the scope before the name
{
......@@ -1722,7 +1722,7 @@ static void buildMemberList(Entry *root)
//md->setScopeTemplateArguments(root->tArgList);
md->addSectionsToDefinition(root->anchors);
QCString def;
if (!root->relates.isEmpty() || isFriend || Config::instance()->getBool("HIDE_SCOPE_NAMES"))
if (!root->relates.isEmpty() || isFriend || Config_getBool("HIDE_SCOPE_NAMES"))
{
if (!root->type.isEmpty())
{
......@@ -2122,7 +2122,7 @@ static void transferFunctionDocumentation()
FileDef *fdec = mdec->getFileDef();
// check if not in different but documented files
if (Config::instance()->getBool("EXTRACT_ALL") ||
if (Config_getBool("EXTRACT_ALL") ||
fdef==fdec ||
(fdef!=0 && (!fdef->hasDocumentation() || !mdec->hasDocumentation()))
)
......@@ -2609,7 +2609,7 @@ static void addTodoTestBugReferences()
if (d==0) d=md->getFileDef();
// TODO: i18n this
QCString memLabel="member";
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) memLabel="field";
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) memLabel="field";
if (d)
{
addRefItem(md->todoId(),md->testId(),md->bugId(),memLabel,d->getOutputFileBase()+":"+md->anchor(),scopeName+"::"+md->name(),md->argsString());
......@@ -2630,7 +2630,7 @@ static void addTodoTestBugReferences()
if (d==0) d=md->getFileDef();
// TODO: i18n this
QCString memLabel="member";
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) memLabel="global";
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) memLabel="global";
if (d)
{
addRefItem(md->todoId(),md->testId(),md->bugId(),memLabel,d->getOutputFileBase()+":"+md->anchor(),md->name(),md->argsString());
......@@ -3318,7 +3318,7 @@ static void findMember(Entry *root,
//printf("scopeName=`%s' className=`%s'\n",scopeName.data(),className.data());
// rebuild the function declaration (needed to get the scope right).
if (!scopeName.isEmpty() && !isRelated && !isFriend && !Config::instance()->getBool("HIDE_SCOPE_NAMES"))
if (!scopeName.isEmpty() && !isRelated && !isFriend && !Config_getBool("HIDE_SCOPE_NAMES"))
{
if (!funcType.isEmpty())
{
......@@ -3995,7 +3995,7 @@ static void findEnums(Entry *root)
md->setRefItems(root->todoId,root->testId,root->bugId);
if (nd && !nd->name().isEmpty() && nd->name().at(0)!='@')
{
if (Config::instance()->getBool("HIDE_SCOPE_NAMES"))
if (Config_getBool("HIDE_SCOPE_NAMES"))
{
md->setDefinition(name);
}
......@@ -4023,7 +4023,7 @@ static void findEnums(Entry *root)
}
else if (cd)
{
if (Config::instance()->getBool("HIDE_SCOPE_NAMES"))
if (Config_getBool("HIDE_SCOPE_NAMES"))
{
md->setDefinition(name);
}
......@@ -4488,9 +4488,9 @@ static void addSourceReferences()
static void generateClassDocs()
{
// write the installdox script if necessary
if (Config::instance()->getBool("GENERATE_HTML") &&
(Config::instance()->getList("TAGFILES").count()>0 ||
Config::instance()->getBool("SEARCHENGINE")
if (Config_getBool("GENERATE_HTML") &&
(Config_getList("TAGFILES").count()>0 ||
Config_getBool("SEARCHENGINE")
)
)
{
......@@ -4500,7 +4500,7 @@ static void generateClassDocs()
msg("Generating annotated compound index...\n");
writeAnnotatedIndex(*outputList);
if (Config::instance()->getBool("ALPHABETICAL_INDEX"))
if (Config_getBool("ALPHABETICAL_INDEX"))
{
msg("Generating alphabetical compound index...\n");
writeAlphabeticalIndex(*outputList);
......@@ -4925,7 +4925,7 @@ static void generatePageDocs()
msg("Generating docs for page %s...\n",pi->name.data());
outputList->disable(OutputGenerator::Man);
QCString pageName;
if (Config::instance()->getBool("CASE_SENSE_NAMES"))
if (Config_getBool("CASE_SENSE_NAMES"))
pageName=pi->name.copy();
else
pageName=pi->name.lower();
......@@ -4945,7 +4945,7 @@ static void generatePageDocs()
endFile(*outputList);
outputList->enable(OutputGenerator::Man);
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty() && pi->name!="todo" && pi->name!="test")
if (!Config_getString("GENERATE_TAGFILE").isEmpty() && pi->name!="todo" && pi->name!="test")
{
Doxygen::tagFile << " <compound kind=\"page\">" << endl;
Doxygen::tagFile << " <name>" << pi->name << "</name>" << endl;
......@@ -4979,11 +4979,7 @@ static void buildExampleList(Entry *root)
{
PageInfo *pi=new PageInfo(root->fileName,root->startLine,
root->name,root->doc,root->args);
//setFileNameForSections(root->anchors,
// convertFileName(pi->name)+"-example",
// pi
// );
pi->fileName = convertFileName(pi->name)+"-example";
pi->fileName = convertNameToFile(pi->name+"-example");
pi->addSections(root->anchors);
Doxygen::exampleSDict->inSort(root->name,pi);
......@@ -4991,13 +4987,6 @@ static void buildExampleList(Entry *root)
}
}
}
//EntryList *entryList=root->sublist;
//Entry *e = entryList->first();
//while (e)
//{
// buildExampleList(e);
// e=entryList->next();
//}
EntryListIterator eli(*root->sublist);
Entry *e;
for (;(e=eli.current());++eli)
......@@ -5017,7 +5006,7 @@ static void generateExampleDocs()
for (pdi.toFirst();(pi=pdi.current());++pdi)
{
msg("Generating docs for example %s...\n",pi->name.data());
QCString n=convertFileName(pi->name)+"-example";
QCString n=convertNameToFile(pi->name+"-example");
startFile(*outputList,n,"Example Documentation");
startTitle(*outputList,n);
outputList->docify(pi->name);
......@@ -5107,24 +5096,24 @@ static QCString fixSlashes(QCString &s)
static void generateSearchIndex()
{
if (Config::instance()->getBool("SEARCHENGINE") && Config::instance()->getBool("GENERATE_HTML"))
if (Config_getBool("SEARCHENGINE") && Config_getBool("GENERATE_HTML"))
{
// create search index
QCString fileName;
writeSearchButton(Config::instance()->getString("HTML_OUTPUT"));
writeSearchButton(Config_getString("HTML_OUTPUT"));
#if !defined(_WIN32)
// create cgi script
fileName = Config::instance()->getString("HTML_OUTPUT")+"/"+Config::instance()->getString("CGI_NAME");
fileName = Config_getString("HTML_OUTPUT")+"/"+Config_getString("CGI_NAME");
QFile f(fileName);
if (f.open(IO_WriteOnly))
{
QTextStream t(&f);
t << "#!/bin/sh" << endl
<< "DOXYSEARCH=" << Config::instance()->getString("BIN_ABSPATH") << "/doxysearch" << endl
<< "DOXYPATH=" << Config::instance()->getString("DOC_ABSPATH") << " ";
<< "DOXYSEARCH=" << Config_getString("BIN_ABSPATH") << "/doxysearch" << endl
<< "DOXYPATH=" << Config_getString("DOC_ABSPATH") << " ";
QStrList &extDocPaths=Config::instance()->getList("EXT_DOC_PATHS");
QStrList &extDocPaths=Config_getList("EXT_DOC_PATHS");
char *s= extDocPaths.first();
while (s)
{
......@@ -5153,11 +5142,11 @@ static void generateSearchIndex()
}
#else /* Windows platform */
// create cgi program
fileName = Config::instance()->getString("CGI_NAME").copy();
fileName = Config_getString("CGI_NAME").copy();
if (fileName.right(4)==".cgi")
fileName=fileName.left(fileName.length()-4);
fileName+=".c";
fileName.prepend(Config::instance()->getString("HTML_OUTPUT")+"/");
fileName.prepend(Config_getString("HTML_OUTPUT")+"/");
QFile f(fileName);
if (f.open(IO_WriteOnly))
{
......@@ -5167,9 +5156,9 @@ static void generateSearchIndex()
t << "#include <process.h>" << endl;
t << endl;
t << "const char *DOXYSEARCH = \"" <<
fixSlashes(Config::instance()->getString("BIN_ABSPATH")) << "\\\\doxysearch.exe\";" << endl;
fixSlashes(Config_getString("BIN_ABSPATH")) << "\\\\doxysearch.exe\";" << endl;
t << "const char *DOXYPATH = \"" <<
fixSlashes(Config::instance()->getString("DOC_ABSPATH")) << "\";" << endl;
fixSlashes(Config_getString("DOC_ABSPATH")) << "\";" << endl;
t << endl;
t << "int main(void)" << endl;
t << "{" << endl;
......@@ -5192,13 +5181,13 @@ static void generateSearchIndex()
#endif /* !defined(_WIN32) */
// create config file
fileName = Config::instance()->getString("HTML_OUTPUT")+"/search.cfg";
fileName = Config_getString("HTML_OUTPUT")+"/search.cfg";
f.setName(fileName);
if (f.open(IO_WriteOnly))
{
QTextStream t(&f);
t << Config::instance()->getString("DOC_URL") << "/" << endl
<< Config::instance()->getString("CGI_URL") << "/" << Config::instance()->getString("CGI_NAME") << endl;
t << Config_getString("DOC_URL") << "/" << endl
<< Config_getString("CGI_URL") << "/" << Config_getString("CGI_NAME") << endl;
f.close();
}
else
......@@ -5360,7 +5349,7 @@ static void copyAndFilterFile(const char *fileName,BufStr &dest)
QFileInfo fi(fileName);
if (!fi.exists()) return;
if (Config::instance()->getString("INPUT_FILTER").isEmpty())
if (Config_getString("INPUT_FILTER").isEmpty())
{
QFile f(fileName);
if (!f.open(IO_ReadOnly))
......@@ -5379,11 +5368,11 @@ static void copyAndFilterFile(const char *fileName,BufStr &dest)
}
else
{
QCString cmd=Config::instance()->getString("INPUT_FILTER")+" "+fileName;
QCString cmd=Config_getString("INPUT_FILTER")+" "+fileName;
FILE *f=popen(cmd,"r");
if (!f)
{
err("Error: could not execute filter %s\n",Config::instance()->getString("INPUT_FILTER").data());
err("Error: could not execute filter %s\n",Config_getString("INPUT_FILTER").data());
return;
}
const int bufSize=1024;
......@@ -5411,14 +5400,14 @@ static void copyAndFilterFile(const char *fileName,BufStr &dest)
//----------------------------------------------------------------------------
static void copyStyleSheet()
{
QCString &htmlStyleSheet = Config::instance()->getString("HTML_STYLESHEET");
QCString &htmlStyleSheet = Config_getString("HTML_STYLESHEET");
if (!htmlStyleSheet.isEmpty())
{
QFile cssf(htmlStyleSheet);
QFileInfo cssfi(htmlStyleSheet);
if (cssf.open(IO_ReadOnly))
{
QCString destFileName = Config::instance()->getString("HTML_OUTPUT")+"/"+cssfi.fileName().data();
QCString destFileName = Config_getString("HTML_OUTPUT")+"/"+cssfi.fileName().data();
QFile df(destFileName);
if (df.open(IO_WriteOnly))
{
......@@ -5435,7 +5424,7 @@ static void copyStyleSheet()
}
else
{
err("Error: could not open user specified style sheet %s\n",Config::instance()->getString("HTML_STYLESHEET").data());
err("Error: could not open user specified style sheet %s\n",Config_getString("HTML_STYLESHEET").data());
htmlStyleSheet.resize(0); // revert to the default
}
}
......@@ -5463,7 +5452,7 @@ static void readFiles(BufStr &output)
// add end filename marker
output.addChar(0x06);
output.addChar('\n');
if (Config::instance()->getBool("ENABLE_PREPROCESSING"))
if (Config_getBool("ENABLE_PREPROCESSING"))
{
msg("Preprocessing %s...\n",s->data());
preprocessFile(fileName,output);
......@@ -5547,7 +5536,7 @@ static int readDir(QFileInfo *fi,
if (resultList) resultList->append(rs);
if (resultDict) resultDict->insert(cfi->absFilePath(),rs);
}
else if (Config::instance()->getBool("RECURSIVE") &&
else if (Config_getBool("RECURSIVE") &&
cfi->isDir() && cfi->fileName()!="." &&
cfi->fileName()!="..")
{
......@@ -5664,7 +5653,7 @@ static int readFileOrDirectory(const char *s,
static void readFormulaRepository()
{
QFile f(Config::instance()->getString("HTML_OUTPUT")+"/formula.repository");
QFile f(Config_getString("HTML_OUTPUT")+"/formula.repository");
if (f.open(IO_ReadOnly)) // open repository
{
msg("Reading formula repository...\n");
......@@ -5698,7 +5687,7 @@ static void readFormulaRepository()
static void usage(const char *name)
{
msg("Doxygen version %s\nCopyright Dimitri van Heesch 1997-2001\n\n",versionString);
msg("You can use doxygen in four ways:\n\n");
msg("You can use doxygen in a number of ways:\n\n");
msg("1) Use doxygen to generate a template configuration file:\n");
msg(" %s [-s] -g [configName]\n\n",name);
msg(" If - is used for configName doxygen will write to standard output.\n\n");
......@@ -5989,20 +5978,20 @@ void parseInput()
Doxygen::exampleNameDict = new FileNameDict(1009);
Doxygen::imageNameDict = new FileNameDict(257);
if (!Config::instance()->getString("DOC_URL").isEmpty())
if (!Config_getString("DOC_URL").isEmpty())
{
Doxygen::tagDestinationDict.insert("_doc",new QCString(Config::instance()->getString("DOC_URL")));
Doxygen::tagDestinationDict.insert("_doc",new QCString(Config_getString("DOC_URL")));
}
if (!Config::instance()->getString("CGI_URL").isEmpty())
if (!Config_getString("CGI_URL").isEmpty())
{
Doxygen::tagDestinationDict.insert("_cgi",new QCString(Config::instance()->getString("CGI_URL")+"/"+Config::instance()->getString("CGI_NAME")));
Doxygen::tagDestinationDict.insert("_cgi",new QCString(Config_getString("CGI_URL")+"/"+Config_getString("CGI_NAME")));
}
/**************************************************************************
* Initialize some global constants
**************************************************************************/
int &tabSize = Config::instance()->getInt("TAB_SIZE");
int &tabSize = Config_getInt("TAB_SIZE");
spaces.resize(tabSize+1);
int sp;for (sp=0;sp<tabSize;sp++) spaces.at(sp)=' ';
spaces.at(tabSize)='\0';
......@@ -6019,33 +6008,33 @@ void parseInput()
// gather names of all files in the include path
msg("Searching for include files...\n");
QStrList &includePathList = Config::instance()->getList("INCLUDE_PATH");
QStrList &includePathList = Config_getList("INCLUDE_PATH");
char *s=includePathList.first();
while (s)
{
QStrList &pl = Config::instance()->getList("INCLUDE_FILE_PATTERNS");
QStrList &pl = Config_getList("INCLUDE_FILE_PATTERNS");
if (pl.count()==0)
{
pl = Config::instance()->getList("FILE_PATTERNS");
pl = Config_getList("FILE_PATTERNS");
}
readFileOrDirectory(s,0,Doxygen::includeNameDict,0,&pl,
&Config::instance()->getList("EXCLUDE_PATTERNS"),0,0);
&Config_getList("EXCLUDE_PATTERNS"),0,0);
s=includePathList.next();
}
msg("Searching for example files...\n");
QStrList &examplePathList = Config::instance()->getList("EXAMPLE_PATH");
QStrList &examplePathList = Config_getList("EXAMPLE_PATH");
s=examplePathList.first();
while (s)
{
readFileOrDirectory(s,0,Doxygen::exampleNameDict,0,
&Config::instance()->getList("EXAMPLE_PATTERNS"),
&Config_getList("EXAMPLE_PATTERNS"),
0,0,0);
s=examplePathList.next();
}
msg("Searching for images...\n");
QStrList &imagePathList=Config::instance()->getList("IMAGE_PATH");
QStrList &imagePathList=Config_getList("IMAGE_PATH");
s=imagePathList.first();
while (s)
{
......@@ -6055,18 +6044,18 @@ void parseInput()
}
msg("Searching for files to exclude\n");
QStrList &excludeList = Config::instance()->getList("EXCLUDE");
QStrList &excludeList = Config_getList("EXCLUDE");
s=excludeList.first();
while (s)
{
readFileOrDirectory(s,0,0,0,&Config::instance()->getList("FILE_PATTERNS"),
readFileOrDirectory(s,0,0,0,&Config_getList("FILE_PATTERNS"),
0,0,&excludeNameDict,FALSE);
s=excludeList.next();
}
msg("Reading input files...\n");
int inputSize=0;
QStrList &inputList=Config::instance()->getList("INPUT");
QStrList &inputList=Config_getList("INPUT");
s=inputList.first();
while (s)
{
......@@ -6077,14 +6066,14 @@ void parseInput()
inputSize+=readFileOrDirectory(path,&Doxygen::inputNameList,
Doxygen::inputNameDict,&excludeNameDict,
&Config::instance()->getList("FILE_PATTERNS"),
&Config::instance()->getList("EXCLUDE_PATTERNS"),
&Config_getList("FILE_PATTERNS"),
&Config_getList("EXCLUDE_PATTERNS"),
&inputFiles,0);
s=inputList.next();
}
// add predefined macro name to a dictionary
QStrList &expandAsDefinedList =Config::instance()->getList("EXPAND_AS_DEFINED");
QStrList &expandAsDefinedList =Config_getList("EXPAND_AS_DEFINED");
s=expandAsDefinedList.first();
while (s)
{
......@@ -6097,7 +6086,7 @@ void parseInput()
// add aliases to a dictionary
Doxygen::aliasDict.setAutoDelete(TRUE);
QStrList &aliasList = Config::instance()->getList("ALIASES");
QStrList &aliasList = Config_getList("ALIASES");
s=aliasList.first();
while (s)
{
......@@ -6169,7 +6158,7 @@ void parseInput()
* Check/create output directorties *
**************************************************************************/
QCString &outputDirectory = Config::instance()->getString("OUTPUT_DIRECTORY");
QCString &outputDirectory = Config_getString("OUTPUT_DIRECTORY");
if (outputDirectory.isEmpty())
{
outputDirectory=QDir::currentDirPath();
......@@ -6186,7 +6175,7 @@ void parseInput()
"exist and cannot be created\n",outputDirectory.data());
exit(1);
}
else if (!Config::instance()->getBool("QUIET"))
else if (!Config_getBool("QUIET"))
{
err("Notice: Output directory `%s' does not exist. "
"I have created it for you.\n", outputDirectory.data());
......@@ -6196,8 +6185,8 @@ void parseInput()
outputDirectory=dir.absPath();
}
QCString &htmlOutput = Config::instance()->getString("HTML_OUTPUT");
bool &generateHtml = Config::instance()->getBool("GENERATE_HTML");
QCString &htmlOutput = Config_getString("HTML_OUTPUT");
bool &generateHtml = Config_getBool("GENERATE_HTML");
if (htmlOutput.isEmpty() && generateHtml)
{
htmlOutput=outputDirectory+"/html";
......@@ -6213,8 +6202,8 @@ void parseInput()
exit(1);
}
QCString &latexOutput = Config::instance()->getString("LATEX_OUTPUT");
bool &generateLatex = Config::instance()->getBool("GENERATE_LATEX");
QCString &latexOutput = Config_getString("LATEX_OUTPUT");
bool &generateLatex = Config_getBool("GENERATE_LATEX");
if (latexOutput.isEmpty() && generateLatex)
{
latexOutput=outputDirectory+"/latex";
......@@ -6230,8 +6219,8 @@ void parseInput()
exit(1);
}
QCString &rtfOutput = Config::instance()->getString("RTF_OUTPUT");
bool &generateRtf = Config::instance()->getBool("GENERATE_RTF");
QCString &rtfOutput = Config_getString("RTF_OUTPUT");
bool &generateRtf = Config_getBool("GENERATE_RTF");
if (rtfOutput.isEmpty() && generateRtf)
{
rtfOutput=outputDirectory+"/rtf";
......@@ -6247,8 +6236,8 @@ void parseInput()
exit(1);
}
QCString &manOutput = Config::instance()->getString("MAN_OUTPUT");
bool &generateMan = Config::instance()->getBool("GENERATE_MAN");
QCString &manOutput = Config_getString("MAN_OUTPUT");
bool &generateMan = Config_getBool("GENERATE_MAN");
if (manOutput.isEmpty() && generateMan)
{
manOutput=outputDirectory+"/man";
......@@ -6266,7 +6255,7 @@ void parseInput()
// Notice: the order of the function calls below is very important!
if (Config::instance()->getBool("GENERATE_HTML"))
if (Config_getBool("GENERATE_HTML"))
{
readFormulaRepository();
}
......@@ -6281,7 +6270,7 @@ void parseInput()
msg("Reading tag files\n");
QStrList &tagFileList = Config::instance()->getList("TAGFILES");
QStrList &tagFileList = Config_getList("TAGFILES");
s=tagFileList.first();
while (s)
{
......@@ -6370,7 +6359,7 @@ void parseInput()
msg("Adding classes to their packages...\n");
addClassesToPackages();
if (Config::instance()->getBool("HAVE_DOT") && Config::instance()->getBool("COLLABORATION_GRAPH"))
if (Config_getBool("HAVE_DOT") && Config_getBool("COLLABORATION_GRAPH"))
{
msg("Computing class implementation usage relations...\n");
computeClassImplUsageRelations();
......@@ -6379,7 +6368,7 @@ void parseInput()
msg("Adding members to member groups.\n");
addMembersToMemberGroup();
if (Config::instance()->getBool("DISTRIBUTE_GROUP_DOC"))
if (Config_getBool("DISTRIBUTE_GROUP_DOC"))
{
msg("Distributing member group documentation.\n");
distributeMemberGroupDocumentation();
......@@ -6388,7 +6377,7 @@ void parseInput()
msg("Building full member lists recursively...\n");
buildCompleteMemberLists();
if (Config::instance()->getBool("INHERIT_DOCS"))
if (Config_getBool("INHERIT_DOCS"))
{
msg("Inheriting documentation...\n");
inheritDocumentation();
......@@ -6409,25 +6398,25 @@ void generateOutput()
**************************************************************************/
outputList = new OutputList(TRUE);
if (Config::instance()->getBool("GENERATE_HTML"))
if (Config_getBool("GENERATE_HTML"))
{
outputList->add(new HtmlGenerator);
HtmlGenerator::init();
if (Config::instance()->getBool("GENERATE_HTMLHELP")) HtmlHelp::getInstance()->initialize();
if (Config::instance()->getBool("GENERATE_TREEVIEW")) FTVHelp::getInstance()->initialize();
if (Config_getBool("GENERATE_HTMLHELP")) HtmlHelp::getInstance()->initialize();
if (Config_getBool("GENERATE_TREEVIEW")) FTVHelp::getInstance()->initialize();
copyStyleSheet();
}
if (Config::instance()->getBool("GENERATE_LATEX"))
if (Config_getBool("GENERATE_LATEX"))
{
outputList->add(new LatexGenerator);
LatexGenerator::init();
}
if (Config::instance()->getBool("GENERATE_MAN"))
if (Config_getBool("GENERATE_MAN"))
{
outputList->add(new ManGenerator);
ManGenerator::init();
}
if (Config::instance()->getBool("GENERATE_RTF"))
if (Config_getBool("GENERATE_RTF"))
{
outputList->add(new RTFGenerator);
RTFGenerator::init();
......@@ -6438,7 +6427,7 @@ void generateOutput()
**************************************************************************/
QFile *tag=0;
QCString &generateTagFile = Config::instance()->getString("GENERATE_TAGFILE");
QCString &generateTagFile = Config_getString("GENERATE_TAGFILE");
if (!generateTagFile.isEmpty())
{
tag=new QFile(generateTagFile);
......@@ -6453,8 +6442,8 @@ void generateOutput()
Doxygen::tagFile << "<tagfile>" << endl;
}
if (Config::instance()->getBool("GENERATE_HTML")) writeDoxFont(Config::instance()->getString("HTML_OUTPUT"));
if (Config::instance()->getBool("GENERATE_RTF")) writeDoxFont(Config::instance()->getString("RTF_OUTPUT"));
if (Config_getBool("GENERATE_HTML")) writeDoxFont(Config_getString("HTML_OUTPUT"));
if (Config_getBool("GENERATE_RTF")) writeDoxFont(Config_getString("RTF_OUTPUT"));
//statistics();
......@@ -6517,7 +6506,7 @@ void generateOutput()
msg("Generating page index...\n");
writePageIndex(*outputList);
if (Config::instance()->getBool("GENERATE_LEGEND"))
if (Config_getBool("GENERATE_LEGEND"))
{
msg("Generating graph info page...\n");
writeGraphInfo(*outputList);
......@@ -6530,63 +6519,63 @@ void generateOutput()
outputList->writeStyleInfo(0); // write first part
outputList->disableAllBut(OutputGenerator::Latex);
parseText(*outputList,
theTranslator->trGeneratedAt(dateToString(TRUE),Config::instance()->getString("PROJECT_NAME"))
theTranslator->trGeneratedAt(dateToString(TRUE),Config_getString("PROJECT_NAME"))
);
outputList->writeStyleInfo(1); // write second part
parseText(*outputList,theTranslator->trWrittenBy());
outputList->writeStyleInfo(2); // write third part
parseText(*outputList,
theTranslator->trGeneratedAt(dateToString(TRUE),Config::instance()->getString("PROJECT_NAME"))
theTranslator->trGeneratedAt(dateToString(TRUE),Config_getString("PROJECT_NAME"))
);
outputList->writeStyleInfo(3); // write fourth part
parseText(*outputList,theTranslator->trWrittenBy());
outputList->writeStyleInfo(4); // write last part
outputList->enableAll();
if (Config::instance()->getBool("GENERATE_RTF"))
if (Config_getBool("GENERATE_RTF"))
{
msg("Combining RTF output...\n");
if (!RTFGenerator::preProcessFileInplace(Config::instance()->getString("RTF_OUTPUT"),"refman.rtf"))
if (!RTFGenerator::preProcessFileInplace(Config_getString("RTF_OUTPUT"),"refman.rtf"))
{
err("An error occurred during post-processing the RTF files!\n");
}
}
if (Config::instance()->getBool("HAVE_DOT") && Config::instance()->getBool("GRAPHICAL_HIERARCHY"))
if (Config_getBool("HAVE_DOT") && Config_getBool("GRAPHICAL_HIERARCHY"))
{
msg("Generating graphical class hierarchy...\n");
writeGraphicalClassHierarchy(*outputList);
}
if (Doxygen::formulaList.count()>0 && Config::instance()->getBool("GENERATE_HTML"))
if (Doxygen::formulaList.count()>0 && Config_getBool("GENERATE_HTML"))
{
msg("Generating bitmaps for formulas in HTML...\n");
Doxygen::formulaList.generateBitmaps(Config::instance()->getString("HTML_OUTPUT"));
Doxygen::formulaList.generateBitmaps(Config_getString("HTML_OUTPUT"));
}
if (Config::instance()->getBool("SEARCHENGINE") || Config::instance()->getList("TAGFILES").count()>0)
if (Config_getBool("SEARCHENGINE") || Config_getList("TAGFILES").count()>0)
{
msg("\nNow copy the file\n\n %s\n\nto the directory where the CGI binaries are "
"located and don't forget to run\n\n",(Config::instance()->getString("HTML_OUTPUT")+"/"+Config::instance()->getString("CGI_NAME")).data());
"located and don't forget to run\n\n",(Config_getString("HTML_OUTPUT")+"/"+Config_getString("CGI_NAME")).data());
msg(" %s/installdox\n\nto replace any dummy links.\n\n",
Config::instance()->getString("HTML_OUTPUT").data());
Config_getString("HTML_OUTPUT").data());
}
if (Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP"))
if (Config_getBool("GENERATE_HTML") && Config_getBool("GENERATE_HTMLHELP"))
{
HtmlHelp::getInstance()->finalize();
}
if (Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW"))
if (Config_getBool("GENERATE_HTML") && Config_getBool("GENERATE_TREEVIEW"))
{
FTVHelp::getInstance()->finalize();
}
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << "</tagfile>" << endl;
delete tag;
}
if (Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("DOT_CLEANUP")) removeDoxFont(Config::instance()->getString("HTML_OUTPUT"));
if (Config::instance()->getBool("GENERATE_RTF") && Config::instance()->getBool("DOT_CLEANUP")) removeDoxFont(Config::instance()->getString("RTF_OUTPUT"));
if (Config_getBool("GENERATE_HTML") && Config_getBool("DOT_CLEANUP")) removeDoxFont(Config_getString("HTML_OUTPUT"));
if (Config_getBool("GENERATE_RTF") && Config_getBool("DOT_CLEANUP")) removeDoxFont(Config_getString("RTF_OUTPUT"));
}
......@@ -41,8 +41,8 @@ FileDef::FileDef(const char *p,const char *nm,const char *lref)
{
path=p;
filepath=path+nm;
filename=nameToFile(nm,TRUE);
diskname=nameToFile(nm,FALSE);
filename=nm;
diskname=nm;
setReference(lref);
classList = new ClassList;
includeList = new QList<IncludeInfo>;
......@@ -60,7 +60,7 @@ FileDef::FileDef(const char *p,const char *nm,const char *lref)
package = 0;
isSource = FALSE;
docname = nm;
if (Config::instance()->getBool("FULL_PATH_NAMES"))
if (Config_getBool("FULL_PATH_NAMES"))
{
docname.prepend(stripFromPath(path.copy()));
}
......@@ -109,7 +109,7 @@ void FileDef::writeDocumentation(OutputList &ol)
//funcList->countDecMembers();
//QCString fn = name();
//if (Config::instance()->getBool("FULL_PATH_NAMES"))
//if (Config_getBool("FULL_PATH_NAMES"))
//{
// fn.prepend(stripFromPath(getPath().copy()));
//}
......@@ -117,18 +117,18 @@ void FileDef::writeDocumentation(OutputList &ol)
//printf("WriteDocumentation %p diskname=%s\n",this,diskname.data());
QCString pageTitle=name()+" File Reference";
startFile(ol,diskname,pageTitle);
startFile(ol,getOutputFileBase(),pageTitle);
startTitle(ol,getOutputFileBase());
parseText(ol,theTranslator->trFileReference(docname));
endTitle(ol,getOutputFileBase(),docName());
//ol.newParagraph();
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <compound kind=\"file\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(name()) << "</name>" << endl;
Doxygen::tagFile << " <path>" << convertToXML(getPath()) << "</path>" << endl;
Doxygen::tagFile << " <filename>" << convertToXML(diskname) << ".html</filename>" << endl;
Doxygen::tagFile << " <filename>" << convertToXML(getOutputFileBase()) << ".html</filename>" << endl;
}
ol.startTextBlock();
......@@ -153,7 +153,7 @@ void FileDef::writeDocumentation(OutputList &ol)
}
ol.writeSynopsis();
if (Config::instance()->getBool("SHOW_INCLUDE_FILES"))
if (Config_getBool("SHOW_INCLUDE_FILES"))
{
ol.startTextBlock(TRUE);
QListIterator<IncludeInfo> ili(*includeList);
......@@ -200,7 +200,7 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.endTextBlock();
}
if (Config::instance()->getBool("HAVE_DOT") && Config::instance()->getBool("INCLUDE_GRAPH"))
if (Config_getBool("HAVE_DOT") && Config_getBool("INCLUDE_GRAPH"))
{
//printf("Graph for file %s\n",name().data());
DotInclDepGraph incDepGraph(this,FALSE);
......@@ -213,10 +213,10 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.endInclDepGraph(incDepGraph);
ol.enableAll();
}
//incDepGraph.writeGraph(Config::instance()->getString("HTML_OUTPUT"),fd->getOutputFileBase());
//incDepGraph.writeGraph(Config_getString("HTML_OUTPUT"),fd->getOutputFileBase());
}
if (Config::instance()->getBool("HAVE_DOT") && Config::instance()->getBool("INCLUDED_BY_GRAPH"))
if (Config_getBool("HAVE_DOT") && Config_getBool("INCLUDED_BY_GRAPH"))
{
//printf("Graph for file %s\n",name().data());
DotInclDepGraph incDepGraph(this,TRUE);
......@@ -229,7 +229,7 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.endInclDepGraph(incDepGraph);
ol.enableAll();
}
//incDepGraph.writeGraph(Config::instance()->getString("HTML_OUTPUT"),fd->getOutputFileBase());
//incDepGraph.writeGraph(Config_getString("HTML_OUTPUT"),fd->getOutputFileBase());
}
//printf("%s: generateSourceFile()=%d\n",name().data(),generateSourceFile());
......@@ -280,7 +280,7 @@ void FileDef::writeDocumentation(OutputList &ol)
0,
nd->name()
);
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <namespace>" << convertToXML(nd->name()) << "</namespace>" << endl;
}
......@@ -317,7 +317,7 @@ void FileDef::writeDocumentation(OutputList &ol)
//doc=doc.stripWhiteSpace();
//int bl=brief.length();
//int dl=doc.length();
if ((!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF")) ||
if ((!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) ||
!documentation().isEmpty()
/* || startBodyLine!=-1 */
)
......@@ -334,11 +334,11 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.startGroupHeader();
parseText(ol,theTranslator->trDetailedDescription());
ol.endGroupHeader();
if (!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF"))
if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF"))
{
ol+=briefOutput;
}
if (!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF") &&
if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF") &&
!documentation().isEmpty())
{
ol.newParagraph();
......@@ -350,7 +350,7 @@ void FileDef::writeDocumentation(OutputList &ol)
parseDoc(ol,filepath,1,0,0,documentation()+"\n");
}
//printf("Writing source ref for file %s\n",name().data());
if (Config::instance()->getBool("SOURCE_BROWSER"))
if (Config_getBool("SOURCE_BROWSER"))
{
ol.newParagraph();
QCString refText = theTranslator->trDefinedInSourceFile();
......@@ -358,7 +358,7 @@ void FileDef::writeDocumentation(OutputList &ol)
if (fileMarkerPos!=-1) // should always pass this.
{
parseText(ol,refText.left(fileMarkerPos)); //text left from marker 1
ol.writeObjectLink(0,sourceName(),
ol.writeObjectLink(0,getSourceFileBase(),
0,name());
parseText(ol,refText.right(
refText.length()-fileMarkerPos-2)); // text right from marker 2
......@@ -431,10 +431,10 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.startGroupHeader();
parseText(ol,theTranslator->trAuthor());
ol.endGroupHeader();
parseText(ol,theTranslator->trGeneratedAutomatically(Config::instance()->getString("PROJECT_NAME")));
parseText(ol,theTranslator->trGeneratedAutomatically(Config_getString("PROJECT_NAME")));
ol.enableAll();
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
writeDocAnchorsToTagFile();
Doxygen::tagFile << " </compound>" << endl;
......@@ -447,7 +447,7 @@ void FileDef::writeDocumentation(OutputList &ol)
void FileDef::writeSource(OutputList &ol)
{
ol.disableAllBut(OutputGenerator::Html);
startFile(ol,sourceName(),docname+" Source File");
startFile(ol,getSourceFileBase(),docname+" Source File");
startTitle(ol,0);
parseText(ol,docname);
endTitle(ol,0,0);
......@@ -462,7 +462,7 @@ void FileDef::writeSource(OutputList &ol)
initParseCodeContext();
ol.startCodeFragment();
parseCode(ol,0,
fileToString(absFilePath(),Config::instance()->getBool("FILTER_SOURCE_FILES")),
fileToString(absFilePath(),Config_getBool("FILTER_SOURCE_FILES")),
FALSE,0,this
);
ol.endCodeFragment();
......@@ -517,28 +517,29 @@ void FileDef::insertMember(MemberDef *md)
{
//printf("%s:FileDef::insertMember(%s)\n",name().data(),md->name().data());
allMemberList.append(md);
bool sortMemberDocs = Config_getBool("SORT_MEMBER_DOCS");
switch(md->memberType())
{
case MemberDef::Variable:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (sortMemberDocs)
varMembers.inSort(md);
else
varMembers.append(md);
break;
case MemberDef::Function:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (sortMemberDocs)
funcMembers.inSort(md);
else
funcMembers.append(md);
break;
case MemberDef::Typedef:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (sortMemberDocs)
typedefMembers.inSort(md);
else
typedefMembers.append(md);
break;
case MemberDef::Enumeration:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (sortMemberDocs)
enumMembers.inSort(md);
else
enumMembers.append(md);
......@@ -546,13 +547,13 @@ void FileDef::insertMember(MemberDef *md)
case MemberDef::EnumValue: // enum values are shown inside their enums
break;
case MemberDef::Prototype:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (sortMemberDocs)
protoMembers.inSort(md);
else
protoMembers.append(md);
break;
case MemberDef::Define:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (sortMemberDocs)
defineMembers.inSort(md);
else
defineMembers.append(md);
......@@ -566,7 +567,7 @@ void FileDef::insertMember(MemberDef *md)
/*! Adds compound definition \a cd to the list of all compounds of this file */
void FileDef::insertClass(ClassDef *cd)
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
classList->inSort(cd);
else
classList->append(cd);
......@@ -577,7 +578,7 @@ void FileDef::insertNamespace(NamespaceDef *nd)
{
if (!nd->name().isEmpty() && namespaceDict->find(nd->name())==0)
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
namespaceList->inSort(nd);
else
namespaceList->append(nd);
......@@ -670,8 +671,8 @@ bool FileDef::generateSourceFile() const
{
QCString extension = name().right(4);
return !isReference() &&
(Config::instance()->getBool("SOURCE_BROWSER") ||
(Config::instance()->getBool("VERBATIM_HEADERS") && guessSection(name())==Entry::HEADER_SEC)
(Config_getBool("SOURCE_BROWSER") ||
(Config_getBool("VERBATIM_HEADERS") && guessSection(name())==Entry::HEADER_SEC)
) &&
extension!=".doc" && extension!=".txt" && extension!=".dox";
}
......
......@@ -25,6 +25,7 @@
#include "config.h"
#include "definition.h"
#include "memberlist.h"
#include "util.h"
class FileDef;
class FileList;
......@@ -72,19 +73,28 @@ class FileDef : public Definition
/*! Returns the unique file name (this may include part of the path). */
QCString name() const
{
if (Config::instance()->getBool("FULL_PATH_NAMES"))
if (Config_getBool("FULL_PATH_NAMES"))
return filename;
else
return Definition::name();
}
QCString getOutputFileBase() const { return diskname; }
QCString getOutputFileBase() const
{ return convertNameToFile(diskname); }
QCString getFileBase() const
{ return diskname; }
QCString getSourceFileBase() const
{ return convertNameToFile(diskname+"-source"); }
/*! Returns the name of the verbatim copy of this file (if any). */
QCString includeName() const
{ return convertNameToFile(diskname+"-source"); }
/*! Returns the absolute path including the file name. */
QCString absFilePath() const { return filepath; }
/*! Returns the name of the verbatim copy of this file (if any). */
QCString includeName() const { return diskname+"-source"; }
/*! Returns the name as it is used in the documentation */
QCString docName() const { return docname; }
......@@ -178,34 +188,6 @@ class FileDef : public Definition
PackageDef *package;
};
#if 0 // obsolete
/*! \class FileList filedef.h
\brief This class is list of file definitions.
It is based on QList.
*/
class FileList : public QList<FileDef>
{
public:
FileList();
~FileList();
int compareItems(GCI item1,GCI item2);
};
/*! \class FileListIterator filedef.h
\brief This class represents a file list iterator.
It is based on QListIterator.
*/
class FileListIterator : public QListIterator<FileDef>
{
public:
FileListIterator(const FileList &list);
};
#endif
class FileList : public QList<FileDef>
{
......
......@@ -41,7 +41,7 @@ void FileName::generateDiskNames()
// skip references
while (fd && fd->isReference()) fd=next();
// name if unique, so diskname is simply the name
fd->diskname=convertFileName(name);
fd->diskname=name.copy();
}
else if (count>1) // multiple occurrences of the same file name
{
......@@ -83,7 +83,7 @@ void FileName::generateDiskNames()
{
QCString prefix = fd->path.right(fd->path.length()-j-1);
fd->setName(prefix+name);
fd->diskname=convertFileName(prefix+name);
fd->diskname=prefix+name;
}
fd=next();
}
......@@ -126,7 +126,7 @@ int FileNameList::compareItems(GCI item1, GCI item2)
FileName *f2=(FileName *)item2;
//printf("FileNameList::compareItems `%s'<->`%s'\n",
// f1->fileName(),f2->fileName());
return Config::instance()->getBool("FULL_PATH_NAMES") ?
return Config_getBool("FULL_PATH_NAMES") ?
stricmp(f1->fullName(),f2->fullName()) :
stricmp(f1->fileName(),f2->fileName());
}
......
......@@ -62,7 +62,7 @@ class FileNameDict : public QDict<FileName>
{
public:
FileNameDict(uint size) :
QDict<FileName>(size,Config::instance()->getBool("CASE_SENSE_NAMES")) {}
QDict<FileName>(size,Config_getBool("CASE_SENSE_NAMES")) {}
~FileNameDict() {}
};
......
......@@ -70,14 +70,14 @@ void FormulaList::generateBitmaps(const char *path)
if (f.open(IO_WriteOnly))
{
QTextStream t(&f);
if (Config::instance()->getBool("LATEX_BATCHMODE")) t << "\\batchmode" << endl;
if (Config_getBool("LATEX_BATCHMODE")) t << "\\batchmode" << endl;
t << "\\documentclass{article}" << endl;
t << "\\usepackage{epsfig}" << endl; // for those who want to include images
const char *s=Config::instance()->getList("EXTRA_PACKAGES").first();
const char *s=Config_getList("EXTRA_PACKAGES").first();
while (s)
{
t << "\\usepackage{" << s << "}\n";
s=Config::instance()->getList("EXTRA_PACKAGES").next();
s=Config_getList("EXTRA_PACKAGES").next();
}
t << "\\pagestyle{empty}" << endl;
t << "\\begin{document}" << endl;
......
......@@ -249,7 +249,7 @@ struct ImageInfo
static void generateFolderTreeViewData()
{
// Generate tree view script
QCString fileName=Config::instance()->getString("HTML_OUTPUT")+"/treeview.js";
QCString fileName=Config_getString("HTML_OUTPUT")+"/treeview.js";
QFile f(fileName);
if (!f.open(IO_WriteOnly))
{
......@@ -264,7 +264,7 @@ static void generateFolderTreeViewData()
}
// Generate alternative index.html as a frame
fileName=Config::instance()->getString("HTML_OUTPUT")+"/index.html";
fileName=Config_getString("HTML_OUTPUT")+"/index.html";
f.setName(fileName);
if (!f.open(IO_WriteOnly))
{
......@@ -278,16 +278,16 @@ static void generateFolderTreeViewData()
t << "<meta http-equiv=\"Content-Type\" content=\"text/html;charset="
<< theTranslator->idLanguageCharset() << "\">\n";
t << "<title>";
if (Config::instance()->getString("PROJECT_NAME").isEmpty())
if (Config_getString("PROJECT_NAME").isEmpty())
{
t << "Doxygen Documentation";
}
else
{
t << Config::instance()->getString("PROJECT_NAME");
t << Config_getString("PROJECT_NAME");
}
t << "</title></head>" << endl;
t << "<frameset cols=\"" << Config::instance()->getInt("TREEVIEW_WIDTH") << ",*\">" << endl;
t << "<frameset cols=\"" << Config_getInt("TREEVIEW_WIDTH") << ",*\">" << endl;
t << " <frame src=\"tree.html\" name=\"treefrm\">" << endl;
t << " <frame src=\"main.html\" name=\"basefrm\">" << endl;
t << "</frameset>" << endl;
......@@ -296,7 +296,7 @@ static void generateFolderTreeViewData()
}
// Generate tree view frame
fileName=Config::instance()->getString("HTML_OUTPUT")+"/tree.html";
fileName=Config_getString("HTML_OUTPUT")+"/tree.html";
f.setName(fileName);
if (!f.open(IO_WriteOnly))
{
......@@ -308,13 +308,13 @@ static void generateFolderTreeViewData()
QTextStream t(&f);
t << "<html><head>" << endl;
t << "<link rel=\"stylesheet\" href=\"";
if (Config::instance()->getString("HTML_STYLESHEET").isEmpty())
if (Config_getString("HTML_STYLESHEET").isEmpty())
{
t << "doxygen.css";
}
else
{
QFileInfo cssfi(Config::instance()->getString("HTML_STYLESHEET"));
QFileInfo cssfi(Config_getString("HTML_STYLESHEET"));
if (!cssfi.exists())
{
err("Error: user specified HTML style sheet file does not exist!\n");
......@@ -338,7 +338,7 @@ static void generateFolderTreeViewData()
ImageInfo *p = image_info;
while (p->name)
{
QCString fileName=Config::instance()->getString("HTML_OUTPUT")+"/"+p->name;
QCString fileName=Config_getString("HTML_OUTPUT")+"/"+p->name;
QFile f(fileName);
if (f.open(IO_WriteOnly))
f.writeBlock((char *)p->data,p->len);
......@@ -380,7 +380,7 @@ FTVHelp *FTVHelp::getInstance()
void FTVHelp::initialize()
{
/* open the contents file */
QCString fName = Config::instance()->getString("HTML_OUTPUT") + "/tree.js";
QCString fName = Config_getString("HTML_OUTPUT") + "/tree.js";
m_cf = new QFile(fName);
if (!m_cf->open(IO_WriteOnly))
{
......@@ -390,13 +390,13 @@ void FTVHelp::initialize()
/* Write the header of the contents file */
m_cts.setDevice(m_cf);
m_cts << "foldersTree = gFld(\"<b>";
if (Config::instance()->getString("PROJECT_NAME").isEmpty())
if (Config_getString("PROJECT_NAME").isEmpty())
{
m_cts << "Root";
}
else
{
m_cts << Config::instance()->getString("PROJECT_NAME");
m_cts << Config_getString("PROJECT_NAME");
}
m_cts << "</b>\", \"\", \"\")\n";
}
......
......@@ -51,7 +51,7 @@ GroupDef::GroupDef(const char *df,int dl,const char *na,const char *t) :
title = na;
title.at(0)=toupper(title.at(0));
}
fileName = "group_"+nameToFile(na);
fileName = (QCString)"group_"+na;
memberGroupList = new MemberGroupList;
memberGroupList->setAutoDelete(TRUE);
memberGroupDict = new MemberGroupDict(1009);
......@@ -86,7 +86,7 @@ void GroupDef::distributeMemberGroupDocumentation()
void GroupDef::addFile(const FileDef *def)
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
fileList->inSort(def);
else
fileList->append(def);
......@@ -94,7 +94,7 @@ void GroupDef::addFile(const FileDef *def)
void GroupDef::addClass(const ClassDef *def)
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
classList->inSort(def);
else
classList->append(def);
......@@ -102,7 +102,7 @@ void GroupDef::addClass(const ClassDef *def)
void GroupDef::addNamespace(const NamespaceDef *def)
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
namespaceList->inSort(def);
else
namespaceList->append(def);
......@@ -189,43 +189,43 @@ void GroupDef::insertMember(MemberDef *md)
switch(md->memberType())
{
case MemberDef::Variable:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
varMembers.inSort(md);
else
varMembers.append(md);
break;
case MemberDef::Function:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
funcMembers.inSort(md);
else
funcMembers.append(md);
break;
case MemberDef::Typedef:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
typedefMembers.inSort(md);
else
typedefMembers.append(md);
break;
case MemberDef::Enumeration:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
enumMembers.inSort(md);
else
enumMembers.append(md);
break;
case MemberDef::EnumValue:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
enumValMembers.inSort(md);
else
enumValMembers.append(md);
break;
case MemberDef::Prototype:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
protoMembers.inSort(md);
else
protoMembers.append(md);
break;
case MemberDef::Define:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
defineMembers.inSort(md);
else
defineMembers.append(md);
......@@ -238,7 +238,7 @@ void GroupDef::insertMember(MemberDef *md)
void GroupDef::addGroup(const GroupDef *def)
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
groupList->inSort(def);
else
groupList->append(def);
......@@ -246,7 +246,7 @@ void GroupDef::addGroup(const GroupDef *def)
void GroupDef::addParentGroup(const GroupDef *def)
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
parentGroupList->inSort(def);
else
parentGroupList->append(def);
......@@ -279,7 +279,7 @@ void GroupDef::writeDocumentation(OutputList &ol)
{
ol.pushGeneratorState();
//ol.disable(OutputGenerator::Man);
startFile(ol,fileName,title);
startFile(ol,getOutputFileBase(),title);
startTitle(ol,getOutputFileBase());
ol.docify(title);
endTitle(ol,getOutputFileBase(),title);
......@@ -302,12 +302,12 @@ void GroupDef::writeDocumentation(OutputList &ol)
ol.popGeneratorState();
}
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <compound kind=\"group\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(name()) << "</name>" << endl;
Doxygen::tagFile << " <title>" << convertToXML(title) << "</title>" << endl;
Doxygen::tagFile << " <filename>" << convertToXML(fileName) << ".html</filename>" << endl;
Doxygen::tagFile << " <filename>" << convertToXML(getOutputFileBase()) << ".html</filename>" << endl;
}
ol.startMemberSections();
......@@ -324,12 +324,12 @@ void GroupDef::writeDocumentation(OutputList &ol)
ol.docify("file ");
ol.insertMemberAlign();
ol.writeObjectLink(fd->getReference(),fd->getOutputFileBase(),0,fd->name());
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <file>" << convertToXML(fd->name()) << "</file>" << endl;
}
ol.endMemberItem(FALSE);
if (!fd->briefDescription().isEmpty() && Config::instance()->getBool("BRIEF_MEMBER_DESC"))
if (!fd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
{
ol.startMemberDescription();
parseDoc(ol,defFileName,defLine,0,0,fd->briefDescription());
......@@ -353,12 +353,12 @@ void GroupDef::writeDocumentation(OutputList &ol)
ol.docify("namespace ");
ol.insertMemberAlign();
ol.writeObjectLink(nd->getReference(),nd->getOutputFileBase(),0,nd->name());
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <namespace>" << convertToXML(nd->name()) << "</namespace>" << endl;
}
ol.endMemberItem(FALSE);
if (!nd->briefDescription().isEmpty() && Config::instance()->getBool("BRIEF_MEMBER_DESC"))
if (!nd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
{
ol.startMemberDescription();
parseDoc(ol,defFileName,defLine,0,0,nd->briefDescription());
......@@ -381,12 +381,12 @@ void GroupDef::writeDocumentation(OutputList &ol)
ol.startMemberItem(0);
//ol.insertMemberAlign();
ol.writeObjectLink(gd->getReference(),gd->getOutputFileBase(),0,gd->groupTitle());
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <subgroup>" << convertToXML(gd->name()) << "</subgroup>" << endl;
}
ol.endMemberItem(FALSE);
if (!gd->briefDescription().isEmpty() && Config::instance()->getBool("BRIEF_MEMBER_DESC"))
if (!gd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
{
ol.startMemberDescription();
parseDoc(ol,defFileName,defLine,0,0,gd->briefDescription());
......@@ -431,7 +431,7 @@ void GroupDef::writeDocumentation(OutputList &ol)
ol.endGroupHeader();
// repeat brief description
if (!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF"))
if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF"))
{
ol+=briefOutput;
ol.newParagraph();
......@@ -452,7 +452,7 @@ void GroupDef::writeDocumentation(OutputList &ol)
{
QCString pageName = pi->getOutputFileBase();
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <page>" << convertToXML(pageName) << "</page>" << endl;
}
......@@ -531,7 +531,7 @@ void GroupDef::writeDocumentation(OutputList &ol)
varMembers.writeDocumentation(ol,name(),this);
}
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
writeDocAnchorsToTagFile();
Doxygen::tagFile << " </compound>" << endl;
......@@ -635,4 +635,7 @@ void addExampleToGroups(Entry *root,PageInfo *eg)
}
}
QCString GroupDef::getOutputFileBase() const
{
return convertNameToFile(fileName);
}
......@@ -46,7 +46,7 @@ class GroupDef : public Definition
GroupDef(const char *fileName,int line,const char *name,const char *title);
~GroupDef();
DefType definitionType() { return TypeGroup; }
QCString getOutputFileBase() const { return fileName; }
QCString getOutputFileBase() const;
const char *groupTitle() const { return title; }
void addFile(const FileDef *def);
void addClass(const ClassDef *def);
......
......@@ -63,7 +63,7 @@ static QCString g_footer;
HtmlGenerator::HtmlGenerator() : OutputGenerator()
{
dir=Config::instance()->getString("HTML_OUTPUT");
dir=Config_getString("HTML_OUTPUT");
col=0;
}
......@@ -80,15 +80,15 @@ void HtmlGenerator::append(const OutputGenerator *g)
void HtmlGenerator::init()
{
QDir d(Config::instance()->getString("HTML_OUTPUT"));
if (!d.exists() && !d.mkdir(Config::instance()->getString("HTML_OUTPUT")))
QDir d(Config_getString("HTML_OUTPUT"));
if (!d.exists() && !d.mkdir(Config_getString("HTML_OUTPUT")))
{
err("Could not create output directory %s\n",Config::instance()->getString("HTML_OUTPUT").data());
err("Could not create output directory %s\n",Config_getString("HTML_OUTPUT").data());
exit(1);
}
writeLogo(Config::instance()->getString("HTML_OUTPUT"));
if (!Config::instance()->getString("HTML_HEADER").isEmpty()) g_header=fileToString(Config::instance()->getString("HTML_HEADER"));
if (!Config::instance()->getString("HTML_FOOTER").isEmpty()) g_footer=fileToString(Config::instance()->getString("HTML_FOOTER"));
writeLogo(Config_getString("HTML_OUTPUT"));
if (!Config_getString("HTML_HEADER").isEmpty()) g_header=fileToString(Config_getString("HTML_HEADER"));
if (!Config_getString("HTML_FOOTER").isEmpty()) g_footer=fileToString(Config_getString("HTML_FOOTER"));
}
void HtmlGenerator::writeStyleSheetFile(QFile &file)
......@@ -107,17 +107,17 @@ static void writeDefaultHeaderFile(QTextStream &t,const char *title,
"<title>" << title << "</title>\n";
t << "<link ";
if (external)
t << "doxygen=\"_doc:" << Config::instance()->getString("DOC_URL")
<< "\" href=\"" << Config::instance()->getString("DOC_URL") << "/";
t << "doxygen=\"_doc:" << Config_getString("DOC_URL")
<< "\" href=\"" << Config_getString("DOC_URL") << "/";
else
t << "href=\"";
if (Config::instance()->getString("HTML_STYLESHEET").isEmpty())
if (Config_getString("HTML_STYLESHEET").isEmpty())
{
t << "doxygen.css";
}
else
{
QFileInfo cssfi(Config::instance()->getString("HTML_STYLESHEET"));
QFileInfo cssfi(Config_getString("HTML_STYLESHEET"));
if (!cssfi.exists())
{
err("Error: user specified HTML style sheet file does not exist!\n");
......@@ -157,7 +157,7 @@ void HtmlGenerator::startFile(const char *name,const char *title,bool external)
lastTitle=title;
if (fileName.right(5)!=".html") fileName+=".html";
startPlainFile(fileName);
if (Config::instance()->getBool("GENERATE_HTMLHELP"))
if (Config_getBool("GENERATE_HTMLHELP"))
{
HtmlHelp::getInstance()->addIndexFile(fileName);
}
......@@ -220,8 +220,8 @@ void HtmlGenerator::writeFooter(int part,bool external)
t << endl << "<img ";
if (external)
{
t << "doxygen=\"_doc:" << Config::instance()->getString("DOC_URL")
<< "\" src=\"" << Config::instance()->getString("DOC_URL") << "/";
t << "doxygen=\"_doc:" << Config_getString("DOC_URL")
<< "\" src=\"" << Config_getString("DOC_URL") << "/";
}
else
{
......@@ -260,7 +260,7 @@ void HtmlGenerator::writeStyleInfo(int part)
{
if (part==0)
{
if (Config::instance()->getString("HTML_STYLESHEET").isEmpty()) // write default style sheet
if (Config_getString("HTML_STYLESHEET").isEmpty()) // write default style sheet
{
startPlainFile("doxygen.css");
......@@ -273,15 +273,15 @@ void HtmlGenerator::writeStyleInfo(int part)
}
else // write user defined style sheet
{
QFileInfo cssfi(Config::instance()->getString("HTML_STYLESHEET"));
QFileInfo cssfi(Config_getString("HTML_STYLESHEET"));
if (!cssfi.exists() || !cssfi.isFile() || !cssfi.isReadable())
{
err("Error: style sheet %s does not exist or is not readable!", Config::instance()->getString("HTML_STYLESHEET").data());
err("Error: style sheet %s does not exist or is not readable!", Config_getString("HTML_STYLESHEET").data());
}
else
{
startPlainFile(cssfi.fileName());
t << fileToString(Config::instance()->getString("HTML_STYLESHEET"));
t << fileToString(Config_getString("HTML_STYLESHEET"));
endPlainFile();
}
}
......@@ -347,7 +347,7 @@ void HtmlGenerator::writeIndexItem(const char *ref,const char *f,
{
t << "</b>";
}
//if (Config::instance()->getBool("GENERATE_HTMLHELP") && f)
//if (Config_getBool("GENERATE_HTMLHELP") && f)
//{
// htmlHelp->addItem(name,((QCString)f)+".html");
//}
......@@ -361,7 +361,7 @@ void HtmlGenerator::writeStartAnnoItem(const char *,const char *f,
t << "<a class=\"el\" href=\"" << f << ".html\">";
docify(name);
t << "</a> ";
//if (Config::instance()->getBool("GENERATE_HTMLHELP") && f)
//if (Config_getBool("GENERATE_HTMLHELP") && f)
//{
// htmlHelp->addItem(name, ((QCString)f)+".html");
//}
......@@ -438,7 +438,7 @@ void HtmlGenerator::endTextLink()
void HtmlGenerator::startHtmlLink(const char *url)
{
t << "<a ";
if (Config::instance()->getBool("GENERATE_TREEVIEW")) t << "target=\"top\" ";
if (Config_getBool("GENERATE_TREEVIEW")) t << "target=\"top\" ";
t << "href=\"";
if (url) t << url;
t << "\">";
......@@ -555,7 +555,7 @@ void HtmlGenerator::codify(const char *str)
switch(c)
{
case '\t': spacesToNextTabStop =
Config::instance()->getInt("TAB_SIZE") - (col%Config::instance()->getInt("TAB_SIZE"));
Config_getInt("TAB_SIZE") - (col%Config_getInt("TAB_SIZE"));
t << spaces.left(spacesToNextTabStop);
col+=spacesToNextTabStop;
break;
......@@ -639,7 +639,7 @@ void HtmlGenerator::writeFormula(const char *n,const char *text)
void HtmlGenerator::startMemberList()
{
DBG_HTML(t << "<!-- startMemberList -->" << endl)
if (Config::instance()->getBool("HTML_ALIGN_MEMBERS"))
if (Config_getBool("HTML_ALIGN_MEMBERS"))
{
}
else
......@@ -651,7 +651,7 @@ void HtmlGenerator::startMemberList()
void HtmlGenerator::endMemberList()
{
DBG_HTML(t << "<!-- endMemberList -->" << endl)
if (Config::instance()->getBool("HTML_ALIGN_MEMBERS"))
if (Config_getBool("HTML_ALIGN_MEMBERS"))
{
}
else
......@@ -667,7 +667,7 @@ void HtmlGenerator::endMemberList()
void HtmlGenerator::startMemberItem(int annoType)
{
DBG_HTML(t << "<!-- startMemberItem() -->" << endl)
if (Config::instance()->getBool("HTML_ALIGN_MEMBERS"))
if (Config_getBool("HTML_ALIGN_MEMBERS"))
{
t << "<tr>";
switch(annoType)
......@@ -686,7 +686,7 @@ void HtmlGenerator::startMemberItem(int annoType)
void HtmlGenerator::endMemberItem(bool)
{
//DBG_HTML(t << "<!-- endMemberItem(" << (int)inGroup << "," << fileName << "," << headerName << " -->" << endl)
if (Config::instance()->getBool("HTML_ALIGN_MEMBERS"))
if (Config_getBool("HTML_ALIGN_MEMBERS"))
{
t << "</td></tr>";
}
......@@ -697,7 +697,7 @@ void HtmlGenerator::endMemberItem(bool)
void HtmlGenerator::insertMemberAlign()
{
DBG_HTML(t << "<!-- insertMemberAlign -->" << endl)
if (Config::instance()->getBool("HTML_ALIGN_MEMBERS"))
if (Config_getBool("HTML_ALIGN_MEMBERS"))
{
t << "&nbsp;</td><td valign=bottom>";
}
......@@ -706,7 +706,7 @@ void HtmlGenerator::insertMemberAlign()
void HtmlGenerator::startMemberDescription()
{
DBG_HTML(t << "<!-- startMemberDescription -->" << endl)
if (Config::instance()->getBool("HTML_ALIGN_MEMBERS"))
if (Config_getBool("HTML_ALIGN_MEMBERS"))
{
//t << "<tr><td><img src=null.gif></td><td><img src=null.gif></td>"
// "<td></td><td><font size=-1><em>";
......@@ -721,7 +721,7 @@ void HtmlGenerator::startMemberDescription()
void HtmlGenerator::endMemberDescription()
{
DBG_HTML(t << "<!-- endMemberDescription -->" << endl)
if (Config::instance()->getBool("HTML_ALIGN_MEMBERS"))
if (Config_getBool("HTML_ALIGN_MEMBERS"))
{
t << "</em></font><br><br></td></tr>" << endl;
}
......@@ -734,7 +734,7 @@ void HtmlGenerator::endMemberDescription()
void HtmlGenerator::startMemberSections()
{
DBG_HTML(t << "<!-- startMemberSections -->" << endl)
if (Config::instance()->getBool("HTML_ALIGN_MEMBERS"))
if (Config_getBool("HTML_ALIGN_MEMBERS"))
{
t << "<table border=0 cellpadding=0 cellspacing=0>" << endl;
}
......@@ -743,7 +743,7 @@ void HtmlGenerator::startMemberSections()
void HtmlGenerator::endMemberSections()
{
DBG_HTML(t << "<!-- endMemberSections -->" << endl)
if (Config::instance()->getBool("HTML_ALIGN_MEMBERS"))
if (Config_getBool("HTML_ALIGN_MEMBERS"))
{
t << "</table>" << endl;
}
......@@ -752,7 +752,7 @@ void HtmlGenerator::endMemberSections()
void HtmlGenerator::startMemberHeader()
{
DBG_HTML(t << "<!-- startMemberHeader -->" << endl)
if (Config::instance()->getBool("HTML_ALIGN_MEMBERS"))
if (Config_getBool("HTML_ALIGN_MEMBERS"))
{
t << "<tr><td colspan=2><br><h2>";
}
......@@ -765,7 +765,7 @@ void HtmlGenerator::startMemberHeader()
void HtmlGenerator::endMemberHeader()
{
DBG_HTML(t << "<!-- endMemberHeader -->" << endl)
if (Config::instance()->getBool("HTML_ALIGN_MEMBERS"))
if (Config_getBool("HTML_ALIGN_MEMBERS"))
{
t << "</h2></td></tr>" << endl;
}
......@@ -778,19 +778,19 @@ void HtmlGenerator::endMemberHeader()
void HtmlGenerator::startMemberSubtitle()
{
DBG_HTML(t << "<!-- startMemberSubtitle -->" << endl)
if (Config::instance()->getBool("HTML_ALIGN_MEMBERS")) t << "<tr><td colspan=2>";
if (Config_getBool("HTML_ALIGN_MEMBERS")) t << "<tr><td colspan=2>";
}
void HtmlGenerator::endMemberSubtitle()
{
DBG_HTML(t << "<!-- endMemberSubtitle -->" << endl)
if (Config::instance()->getBool("HTML_ALIGN_MEMBERS")) t << "<br><br></td></tr>" << endl;
if (Config_getBool("HTML_ALIGN_MEMBERS")) t << "<br><br></td></tr>" << endl;
}
void HtmlGenerator::startIndexList()
{
t << "<ul>" << endl;
//if (Config::instance()->getBool("GENERATE_HTMLHELP"))
//if (Config_getBool("GENERATE_HTMLHELP"))
//{
// if (htmlHelp->depth()==0) htmlHelp->addItem(lastTitle,lastFile);
// htmlHelp->incDepth();
......@@ -800,7 +800,7 @@ void HtmlGenerator::startIndexList()
void HtmlGenerator::endIndexList()
{
t << "</ul>" << endl;
//if (Config::instance()->getBool("GENERATE_HTMLHELP"))
//if (Config_getBool("GENERATE_HTMLHELP"))
//{
// htmlHelp->decDepth();
//}
......@@ -936,7 +936,7 @@ void HtmlGenerator::startDotGraph()
void HtmlGenerator::endDotGraph(DotClassGraph &g)
{
g.writeGraph(t,GIF,Config::instance()->getString("HTML_OUTPUT"));
g.writeGraph(t,GIF,Config_getString("HTML_OUTPUT"));
}
void HtmlGenerator::startInclDepGraph()
......@@ -945,12 +945,12 @@ void HtmlGenerator::startInclDepGraph()
void HtmlGenerator::endInclDepGraph(DotInclDepGraph &g)
{
g.writeGraph(t,GIF,Config::instance()->getString("HTML_OUTPUT"));
g.writeGraph(t,GIF,Config_getString("HTML_OUTPUT"));
}
void HtmlGenerator::writeGraphicalHierarchy(DotGfxHierarchyTable &g)
{
g.writeGraph(t,Config::instance()->getString("HTML_OUTPUT"));
g.writeGraph(t,Config_getString("HTML_OUTPUT"));
}
void HtmlGenerator::startMemberGroupHeader(bool)
......
......@@ -255,7 +255,7 @@ HtmlHelp *HtmlHelp::getInstance()
void HtmlHelp::initialize()
{
/* open the contents file */
QCString fName = Config::instance()->getString("HTML_OUTPUT") + "/index.hhc";
QCString fName = Config_getString("HTML_OUTPUT") + "/index.hhc";
cf = new QFile(fName);
if (!cf->open(IO_WriteOnly))
{
......@@ -272,7 +272,7 @@ void HtmlHelp::initialize()
"<UL>\n";
/* open the contents file */
fName = Config::instance()->getString("HTML_OUTPUT") + "/index.hhk";
fName = Config_getString("HTML_OUTPUT") + "/index.hhk";
kf = new QFile(fName);
if (!kf->open(IO_WriteOnly))
{
......@@ -292,13 +292,13 @@ void HtmlHelp::initialize()
void HtmlHelp::createProjectFile()
{
/* Write the project file */
QCString fName = Config::instance()->getString("HTML_OUTPUT") + "/index.hhp";
QCString fName = Config_getString("HTML_OUTPUT") + "/index.hhp";
QFile f(fName);
if (f.open(IO_WriteOnly))
{
QTextStream t(&f);
QCString indexName="index.html";
if (Config::instance()->getBool("GENERATE_TREEVIEW")) indexName="main.html";
if (Config_getBool("GENERATE_TREEVIEW")) indexName="main.html";
t << "[OPTIONS]\n"
"Compatibility=1.1\n"
"Full-text search=Yes\n"
......@@ -306,12 +306,12 @@ void HtmlHelp::createProjectFile()
"Default Window=main\n"
"Default topic=" << indexName << "\n"
"Index file=index.hhk\n";
if (Config::instance()->getBool("BINARY_TOC")) t << "Binary TOC=YES\n";
if (Config::instance()->getBool("GENERATE_CHI")) t << "Create CHI file=YES\n";
t << "Title=" << Config::instance()->getString("PROJECT_NAME") << endl << endl;
if (Config_getBool("BINARY_TOC")) t << "Binary TOC=YES\n";
if (Config_getBool("GENERATE_CHI")) t << "Create CHI file=YES\n";
t << "Title=" << Config_getString("PROJECT_NAME") << endl << endl;
t << "[WINDOWS]" << endl;
t << "main=\"" << Config::instance()->getString("PROJECT_NAME") << "\",\"index.hhc\","
t << "main=\"" << Config_getString("PROJECT_NAME") << "\",\"index.hhc\","
"\"index.hhk\",\"" << indexName << "\",\"" <<
indexName << "\",,,,,0x23520,,0x3006,,,,,,,,0" << endl << endl;
......@@ -389,7 +389,7 @@ void HtmlHelp::addContentsItem(bool isDir,
const char *anchor)
{
// If we're using a binary toc then folders cannot have links.
if(Config::instance()->getBool("BINARY_TOC") && isDir)
if(Config_getBool("BINARY_TOC") && isDir)
{
ref = 0;
anchor = 0;
......
......@@ -155,7 +155,7 @@ void writeQuickLinks(OutputList &ol,bool compact ,bool ext=FALSE)
if (compact) ol.startCenter(); else ol.startItemList();
if (!compact) ol.writeListItem();
if (Config::instance()->getBool("GENERATE_TREEVIEW"))
if (Config_getBool("GENERATE_TREEVIEW"))
{
ol.startQuickIndexItem(extLink,"main.html");
}
......@@ -196,7 +196,7 @@ void writeQuickLinks(OutputList &ol,bool compact ,bool ext=FALSE)
}
if (annotatedClasses>0)
{
if (Config::instance()->getBool("ALPHABETICAL_INDEX"))
if (Config_getBool("ALPHABETICAL_INDEX"))
{
if (!compact) ol.writeListItem();
ol.startQuickIndexItem(extLink,"classes.html");
......@@ -215,14 +215,14 @@ void writeQuickLinks(OutputList &ol,bool compact ,bool ext=FALSE)
parseText(ol,theTranslator->trFileList());
ol.endQuickIndexItem();
}
//if (documentedIncludeFiles>0 && Config::instance()->getBool("VERBATIM_HEADERS"))
//if (documentedIncludeFiles>0 && Config_getBool("VERBATIM_HEADERS"))
//{
// if (!compact) ol.writeListItem();
// ol.startQuickIndexItem(extLink,"headers.html");
// parseText(ol,theTranslator->trHeaderFiles());
// ol.endQuickIndexItem();
//}
//if (Config::instance()->getBool("SOURCE_BROWSER"))
//if (Config_getBool("SOURCE_BROWSER"))
//{
// if (!compact) ol.writeListItem();
// ol.startQuickIndexItem(extLink,"sources.html");
......@@ -264,7 +264,7 @@ void writeQuickLinks(OutputList &ol,bool compact ,bool ext=FALSE)
parseText(ol,theTranslator->trExamples());
ol.endQuickIndexItem();
}
if (Config::instance()->getBool("SEARCHENGINE"))
if (Config_getBool("SEARCHENGINE"))
{
if (!compact) ol.writeListItem();
ol.startQuickIndexItem("_cgi","");
......@@ -303,7 +303,7 @@ void endTitle(OutputList &ol,const char *fileName,const char *name)
void startFile(OutputList &ol,const char *name,const char *title,bool external)
{
ol.startFile(name,title,external);
if (!Config::instance()->getBool("DISABLE_INDEX")) writeQuickLinks(ol,TRUE,external);
if (!Config_getBool("DISABLE_INDEX")) writeQuickLinks(ol,TRUE,external);
}
void endFile(OutputList &ol,bool external)
......@@ -311,15 +311,15 @@ void endFile(OutputList &ol,bool external)
ol.pushGeneratorState();
ol.disableAllBut(OutputGenerator::Html);
ol.writeFooter(0,external); // write the footer
if (Config::instance()->getString("HTML_FOOTER").isEmpty())
if (Config_getString("HTML_FOOTER").isEmpty())
{
parseText(ol,theTranslator->trGeneratedAt(
dateToString(TRUE),
Config::instance()->getString("PROJECT_NAME")
Config_getString("PROJECT_NAME")
));
}
ol.writeFooter(1,external); // write the link to the picture
if (Config::instance()->getString("HTML_FOOTER").isEmpty())
if (Config_getString("HTML_FOOTER").isEmpty())
{
parseText(ol,theTranslator->trWrittenBy());
}
......@@ -334,8 +334,9 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper)
{
HtmlHelp *htmlHelp=0;
FTVHelp *ftvHelp=0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/;
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp)
{
htmlHelp = HtmlHelp::getInstance();
......@@ -415,8 +416,9 @@ void writeClassTree(BaseClassList *cl)
{
HtmlHelp *htmlHelp=0;
FTVHelp *ftvHelp=0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW");
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp)
{
htmlHelp = HtmlHelp::getInstance();
......@@ -471,8 +473,9 @@ void writeClassTree(ClassList *cl)
{
HtmlHelp *htmlHelp=0;
FTVHelp *ftvHelp=0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW");
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp)
{
htmlHelp = HtmlHelp::getInstance();
......@@ -521,8 +524,9 @@ void writeClassHierarchy(OutputList &ol)
HtmlHelp *htmlHelp=0;
FTVHelp *ftvHelp=0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/;
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp)
{
htmlHelp = HtmlHelp::getInstance();
......@@ -627,23 +631,26 @@ void writeHierarchicalIndex(OutputList &ol)
QCString title = theTranslator->trClassHierarchy();
QCString htmlHelpTitle = title;
QCString ftvHelpTitle = title;
if (!Config::instance()->getString("PROJECT_NAME").isEmpty()) title.prepend(Config::instance()->getString("PROJECT_NAME")+" ");
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
parseText(ol,title);
endTitle(ol,0,0);
ol.startTextBlock();
HtmlHelp *htmlHelp = 0;
FTVHelp *ftvHelp = 0;
if (Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/)
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp)
{
htmlHelp = HtmlHelp::getInstance();
htmlHelp->addContentsItem(TRUE,htmlHelpTitle,"hierarchy");
}
if (Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/)
if (hasFtvHelp)
{
ftvHelp = FTVHelp::getInstance();
ftvHelp->addContentsItem(TRUE,0,"hierarchy",0,ftvHelpTitle);
}
if (Config::instance()->getBool("HAVE_DOT") && Config::instance()->getBool("GRAPHICAL_HIERARCHY"))
if (Config_getBool("HAVE_DOT") && Config_getBool("GRAPHICAL_HIERARCHY"))
{
ol.disable(OutputGenerator::Latex);
ol.disable(OutputGenerator::RTF);
......@@ -674,18 +681,21 @@ void writeGraphicalClassHierarchy(OutputList &ol)
QCString title = theTranslator->trGraphicalHierarchy();
QCString htmlHelpTitle = title;
QCString ftvHelpTitle = title;
if (!Config::instance()->getString("PROJECT_NAME").isEmpty()) title.prepend(Config::instance()->getString("PROJECT_NAME")+" ");
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
parseText(ol,title);
endTitle(ol,0,0);
ol.startTextBlock();
HtmlHelp *htmlHelp = 0;
FTVHelp *ftvHelp = 0;
if (Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP"))
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp)
{
htmlHelp = HtmlHelp::getInstance();
htmlHelp->addContentsItem(FALSE,htmlHelpTitle,"inherits");
}
if (Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW"))
if (hasFtvHelp)
{
ftvHelp = FTVHelp::getInstance();
ftvHelp->addContentsItem(FALSE,0,"inherits",0,ftvHelpTitle);
......@@ -750,14 +760,15 @@ void writeFileIndex(OutputList &ol)
QCString title = theTranslator->trFileList();
QCString htmlHelpTitle = title;
QCString ftvHelpTitle = title;
if (!Config::instance()->getString("PROJECT_NAME").isEmpty()) title.prepend(Config::instance()->getString("PROJECT_NAME")+" ");
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
parseText(ol,title);
endTitle(ol,0,0);
ol.startTextBlock();
HtmlHelp *htmlHelp = 0;
FTVHelp *ftvHelp = 0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/;
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp)
{
htmlHelp = HtmlHelp::getInstance();
......@@ -771,7 +782,7 @@ void writeFileIndex(OutputList &ol)
ftvHelp->incContentsDepth();
}
//ol.newParagraph();
parseText(ol,theTranslator->trFileListDescription(Config::instance()->getBool("EXTRACT_ALL")));
parseText(ol,theTranslator->trFileListDescription(Config_getBool("EXTRACT_ALL")));
//ol.newParagraph();
ol.endTextBlock();
......@@ -779,7 +790,7 @@ void writeFileIndex(OutputList &ol)
OutputNameList outputNameList;
outputNameList.setAutoDelete(TRUE);
if (Config::instance()->getBool("FULL_PATH_NAMES"))
if (Config_getBool("FULL_PATH_NAMES"))
{
// re-sort input files in (dir,file) output order instead of (file,dir) input order
FileName *fn=Doxygen::inputNameList.first();
......@@ -812,7 +823,7 @@ void writeFileIndex(OutputList &ol)
ol.startIndexList();
FileList *fl=0;
if (Config::instance()->getBool("FULL_PATH_NAMES"))
if (Config_getBool("FULL_PATH_NAMES"))
{
fl = outputNameList.first();
}
......@@ -834,7 +845,7 @@ void writeFileIndex(OutputList &ol)
!fd->isReference())
{
QCString path;
if (Config::instance()->getBool("FULL_PATH_NAMES"))
if (Config_getBool("FULL_PATH_NAMES"))
{
path=stripFromPath(fd->getPath().copy());
}
......@@ -920,7 +931,7 @@ void writeFileIndex(OutputList &ol)
}
fd=fl->next();
}
if (Config::instance()->getBool("FULL_PATH_NAMES"))
if (Config_getBool("FULL_PATH_NAMES"))
{
fl=outputNameList.next();
}
......@@ -968,14 +979,15 @@ void writeNamespaceIndex(OutputList &ol)
QCString title = theTranslator->trNamespaceList();
QCString htmlHelpTitle = title;
QCString ftvHelpTitle = title;
if (!Config::instance()->getString("PROJECT_NAME").isEmpty()) title.prepend(Config::instance()->getString("PROJECT_NAME")+" ");
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
parseText(ol,title);
endTitle(ol,0,0);
ol.startTextBlock();
HtmlHelp *htmlHelp = 0;
FTVHelp *ftvHelp = 0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/;
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp)
{
htmlHelp = HtmlHelp::getInstance();
......@@ -989,7 +1001,7 @@ void writeNamespaceIndex(OutputList &ol)
ftvHelp->incContentsDepth();
}
//ol.newParagraph();
parseText(ol,theTranslator->trNamespaceListDescription(Config::instance()->getBool("EXTRACT_ALL")));
parseText(ol,theTranslator->trNamespaceListDescription(Config_getBool("EXTRACT_ALL")));
//ol.newParagraph();
ol.endTextBlock();
......@@ -1065,8 +1077,9 @@ int countAnnotatedClasses()
void writeAnnotatedClassList(OutputList &ol)
{
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/;
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
ol.startIndexList();
//ClassDef *cd=Doxygen::classList.first();
//while (cd)
......@@ -1107,8 +1120,9 @@ void writeAnnotatedClassList(OutputList &ol)
void writePackageList(OutputList &ol)
{
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/;
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
ol.startIndexList();
PackageSDict::Iterator pdi(Doxygen::packageDict);
PackageDef *pd;
......@@ -1168,7 +1182,7 @@ void writeAlphabeticalClassList(OutputList &ol)
}
// the number of columns in the table
const int columns = Config::instance()->getInt("COLS_IN_ALPHA_INDEX");
const int columns = Config_getInt("COLS_IN_ALPHA_INDEX");
int i,j;
int totalItems = headerItems + annotatedClasses; // number of items in the table
......@@ -1249,7 +1263,7 @@ void writeAlphabeticalClassList(OutputList &ol)
{
QCString cname;
QCString namesp;
if (Config::instance()->getBool("HIDE_SCOPE_NAMES"))
if (Config_getBool("HIDE_SCOPE_NAMES"))
{
cname=cd->displayName();
}
......@@ -1304,7 +1318,7 @@ void writeAlphabeticalIndex(OutputList &ol)
ol.disableAllBut(OutputGenerator::Html);
startFile(ol,"classes.html","Alphabetical index");
startTitle(ol,0);
parseText(ol,Config::instance()->getString("PROJECT_NAME")+" "+theTranslator->trCompoundIndex());
parseText(ol,Config_getString("PROJECT_NAME")+" "+theTranslator->trCompoundIndex());
endTitle(ol,0,0);
writeAlphabeticalClassList(ol);
endFile(ol);
......@@ -1315,8 +1329,9 @@ void writeAlphabeticalIndex(OutputList &ol)
void writeAnnotatedIndex(OutputList &ol)
{
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/;
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (annotatedClasses==0) return;
......@@ -1327,7 +1342,7 @@ void writeAnnotatedIndex(OutputList &ol)
QCString title = theTranslator->trCompoundList();
QCString htmlHelpTitle = title;
QCString ftvHelpTitle = title;
if (!Config::instance()->getString("PROJECT_NAME").isEmpty()) title.prepend(Config::instance()->getString("PROJECT_NAME")+" ");
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
parseText(ol,title);
endTitle(ol,0,0);
ol.startTextBlock();
......@@ -1365,8 +1380,9 @@ void writeAnnotatedIndex(OutputList &ol)
void writePackageIndex(OutputList &ol)
{
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/;
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (documentedPackages==0) return;
......@@ -1377,7 +1393,7 @@ void writePackageIndex(OutputList &ol)
QCString title = theTranslator->trPackageList();
QCString htmlHelpTitle = title;
QCString ftvHelpTitle = title;
if (!Config::instance()->getString("PROJECT_NAME").isEmpty()) title.prepend(Config::instance()->getString("PROJECT_NAME")+" ");
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
parseText(ol,title);
endTitle(ol,0,0);
ol.startTextBlock();
......@@ -1568,7 +1584,7 @@ void writeMemberIndex(OutputList &ol)
QCString title = theTranslator->trCompoundMembers();
QCString htmlHelpTitle = title;
QCString ftvHelpTitle = title;
if (!Config::instance()->getString("PROJECT_NAME").isEmpty()) title.prepend(Config::instance()->getString("PROJECT_NAME")+" ");
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
startTitle(ol,0);
parseText(ol,title);
endTitle(ol,0,0);
......@@ -1577,8 +1593,9 @@ void writeMemberIndex(OutputList &ol)
{
writeQuickMemberIndex(ol,g_memberIndexLetterUsed);
}
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW");
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp)
{
HtmlHelp *htmlHelp = HtmlHelp::getInstance();
......@@ -1589,7 +1606,7 @@ void writeMemberIndex(OutputList &ol)
FTVHelp *ftvHelp = FTVHelp::getInstance();
ftvHelp->addContentsItem(FALSE,0,"functions",0,ftvHelpTitle);
}
parseText(ol,theTranslator->trCompoundMembersDescription(Config::instance()->getBool("EXTRACT_ALL")));
parseText(ol,theTranslator->trCompoundMembersDescription(Config_getBool("EXTRACT_ALL")));
writeMemberList(ol,quickIndex);
endFile(ol);
ol.popGeneratorState();
......@@ -1824,7 +1841,7 @@ void writeFileMemberIndex(OutputList &ol)
QCString title = theTranslator->trFileMembers();
QCString htmlHelpTitle = title;
QCString ftvHelpTitle = title;
if (!Config::instance()->getString("PROJECT_NAME").isEmpty()) title.prepend(Config::instance()->getString("PROJECT_NAME")+" ");
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
startTitle(ol,0);
parseText(ol,title);
endTitle(ol,0,0);
......@@ -1833,8 +1850,9 @@ void writeFileMemberIndex(OutputList &ol)
{
writeQuickMemberIndex(ol,g_fileIndexLetterUsed);
}
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW");
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp)
{
HtmlHelp *htmlHelp = HtmlHelp::getInstance();
......@@ -1845,7 +1863,7 @@ void writeFileMemberIndex(OutputList &ol)
FTVHelp *ftvHelp = FTVHelp::getInstance();
ftvHelp->addContentsItem(FALSE,0,"globals",0,ftvHelpTitle);
}
parseText(ol,theTranslator->trFileMembersDescription(Config::instance()->getBool("EXTRACT_ALL")));
parseText(ol,theTranslator->trFileMembersDescription(Config_getBool("EXTRACT_ALL")));
writeFileMemberList(ol,quickIndex);
endFile(ol);
ol.popGeneratorState();
......@@ -1862,7 +1880,7 @@ void writeNamespaceMemberIndex(OutputList &ol)
QCString title = theTranslator->trNamespaceMembers();
QCString htmlHelpTitle = title;
QCString ftvHelpTitle = title;
if (!Config::instance()->getString("PROJECT_NAME").isEmpty()) title.prepend(Config::instance()->getString("PROJECT_NAME")+" ");
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
startTitle(ol,0);
parseText(ol,title);
endTitle(ol,0,0);
......@@ -1871,8 +1889,9 @@ void writeNamespaceMemberIndex(OutputList &ol)
{
writeQuickMemberIndex(ol,g_namespaceIndexLetterUsed);
}
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW");
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp)
{
HtmlHelp *htmlHelp = HtmlHelp::getInstance();
......@@ -1883,7 +1902,7 @@ void writeNamespaceMemberIndex(OutputList &ol)
FTVHelp *ftvHelp = FTVHelp::getInstance();
ftvHelp->addContentsItem(FALSE,0,"namespacemembers",0,ftvHelpTitle);
}
parseText(ol,theTranslator->trNamespaceMemberDescription(Config::instance()->getBool("EXTRACT_ALL")));
parseText(ol,theTranslator->trNamespaceMemberDescription(Config_getBool("EXTRACT_ALL")));
writeNamespaceMemberList(ol,quickIndex);
endFile(ol);
ol.popGeneratorState();
......@@ -1901,14 +1920,15 @@ void writeExampleIndex(OutputList &ol)
QCString title = theTranslator->trExamples();
QCString htmlHelpTitle = title;
QCString ftvHelpTitle = title;
if (!Config::instance()->getString("PROJECT_NAME").isEmpty()) title.prepend(Config::instance()->getString("PROJECT_NAME")+" ");
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
parseText(ol,title);
endTitle(ol,0,0);
ol.startTextBlock();
HtmlHelp *htmlHelp = 0;
FTVHelp *ftvHelp = 0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/;
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp)
{
htmlHelp = HtmlHelp::getInstance();
......@@ -1930,7 +1950,7 @@ void writeExampleIndex(OutputList &ol)
for (pdi.toFirst();(pi=pdi.current());++pdi)
{
ol.writeListItem();
QCString n=convertFileName(pi->name)+"-example";
QCString n=convertNameToFile(pi->name+"-example");
if (!pi->title.isEmpty())
{
ol.writeObjectLink(0,n,0,pi->title);
......@@ -1968,7 +1988,7 @@ void countRelatedPages(int &docPages,int &indexPages)
PageInfo *pi=0;
for (pdi.toFirst();(pi=pdi.current());++pdi)
{
if (!pi->inGroup)
if (!pi->inGroup && (!pi->isReference() || Config_getBool("ALLEXTERNALS")))
{
indexPages++;
if (!pi->isReference()) docPages++;
......@@ -2005,14 +2025,15 @@ void writePageIndex(OutputList &ol)
QCString title = theTranslator->trRelatedPages();
QCString htmlHelpTitle = title;
QCString ftvHelpTitle = title;
if (!Config::instance()->getString("PROJECT_NAME").isEmpty()) title.prepend(Config::instance()->getString("PROJECT_NAME")+" ");
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
parseText(ol,title);
endTitle(ol,0,0);
ol.startTextBlock();
HtmlHelp *htmlHelp = 0;
FTVHelp *ftvHelp = 0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/;
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp)
{
htmlHelp = HtmlHelp::getInstance();
......@@ -2033,11 +2054,11 @@ void writePageIndex(OutputList &ol)
PageInfo *pi=0;
for (pdi.toFirst();(pi=pdi.current());++pdi)
{
if (!pi->inGroup /*&& !pi->isReference()*/)
if (!pi->inGroup && (!pi->isReference() || Config_getBool("ALLEXTERNALS")))
{
QCString pageName,pageTitle;
if (Config::instance()->getBool("CASE_SENSE_NAMES"))
if (Config_getBool("CASE_SENSE_NAMES"))
pageName=pi->name.copy();
else
pageName=pi->name.lower();
......@@ -2099,19 +2120,19 @@ int countGroups()
void writeGraphInfo(OutputList &ol)
{
if (!Config::instance()->getBool("HAVE_DOT") || !Config::instance()->getBool("GENERATE_HTML")) return;
if (!Config_getBool("HAVE_DOT") || !Config_getBool("GENERATE_HTML")) return;
ol.pushGeneratorState();
ol.disableAllBut(OutputGenerator::Html);
generateGraphLegend(Config::instance()->getString("HTML_OUTPUT"));
generateGraphLegend(Config_getString("HTML_OUTPUT"));
startFile(ol,"graph_legend","Graph Legend");
startTitle(ol,0);
parseText(ol,theTranslator->trLegendTitle());
endTitle(ol,0,0);
bool oldStripCommentsState = Config::instance()->getBool("STRIP_CODE_COMMENTS");
bool oldStripCommentsState = Config_getBool("STRIP_CODE_COMMENTS");
// temporarily disable the stripping of comments for our own code example!
Config::instance()->getBool("STRIP_CODE_COMMENTS") = FALSE;
Config_getBool("STRIP_CODE_COMMENTS") = FALSE;
parseDoc(ol,"graph_legend",1,0,0,theTranslator->trLegendDocs());
Config::instance()->getBool("STRIP_CODE_COMMENTS") = oldStripCommentsState;
Config_getBool("STRIP_CODE_COMMENTS") = oldStripCommentsState;
endFile(ol);
ol.popGeneratorState();
}
......@@ -2126,8 +2147,9 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,bool subLevel)
{
HtmlHelp *htmlHelp=0;
FTVHelp *ftvHelp = 0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW");
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp)
{
htmlHelp = HtmlHelp::getInstance();
......@@ -2206,7 +2228,7 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,bool subLevel)
}
if (Config::instance()->getBool("TOC_EXPAND"))
if (Config_getBool("TOC_EXPAND"))
{
// write members
struct MemInfo
......@@ -2375,11 +2397,11 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,bool subLevel)
{
if(htmlHelp)
{
htmlHelp->addContentsItem(FALSE,convertToHtml(pi->name),convertNameToFile(pi->name)+"-example");
htmlHelp->addContentsItem(FALSE,convertToHtml(pi->name),convertNameToFile(pi->name+"-example"));
}
if(ftvHelp)
{
ftvHelp->addContentsItem(FALSE,pi->getReference(),convertToHtml(pi->name)+"-example",0,convertNameToFile(pi->name));
ftvHelp->addContentsItem(FALSE,pi->getReference(),convertToHtml(pi->name+"-example"),0,convertNameToFile(pi->name));
}
pi=++eli;
}
......@@ -2413,8 +2435,8 @@ void writeGroupHierarchy(OutputList &ol)
#if 0
void writeGroupList(OutputList &ol)
{
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW");
bool hasHtmlHelp = Config_getBool("GENERATE_HTML") && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = Config_getBool("GENERATE_HTML") && Config_getBool("GENERATE_TREEVIEW");
HtmlHelp *htmlHelp = 0;
FTVHelp *ftvHelp = 0;
if (hasHtmlHelp) htmlHelp = HtmlHelp::getInstance();
......@@ -2476,14 +2498,15 @@ void writeGroupIndex(OutputList &ol)
QCString title = theTranslator->trModules();
QCString htmlHelpTitle = title;
QCString ftvHelpTitle = title;
if (!Config::instance()->getString("PROJECT_NAME").isEmpty()) title.prepend(Config::instance()->getString("PROJECT_NAME")+" ");
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
parseText(ol,title);
endTitle(ol,0,0);
ol.startTextBlock();
HtmlHelp *htmlHelp = 0;
FTVHelp *ftvHelp = 0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW");
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp)
{
htmlHelp = HtmlHelp::getInstance();
......@@ -2527,9 +2550,9 @@ void writeIndex(OutputList &ol)
ol.pushGeneratorState();
QCString projPrefix;
if (!Config::instance()->getString("PROJECT_NAME").isEmpty())
if (!Config_getString("PROJECT_NAME").isEmpty())
{
projPrefix=Config::instance()->getString("PROJECT_NAME")+" ";
projPrefix=Config_getString("PROJECT_NAME")+" ";
}
//--------------------------------------------------------------------
......@@ -2553,19 +2576,22 @@ void writeIndex(OutputList &ol)
}
QCString indexName="index";
if (Config::instance()->getBool("GENERATE_TREEVIEW")) indexName="main";
if (Config_getBool("GENERATE_TREEVIEW")) indexName="main";
ol.startFile(indexName,title,FALSE);
if (Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP"))
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp)
{
HtmlHelp::getInstance()->addContentsItem(FALSE,title,indexName);
}
if (Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW"))
if (hasFtvHelp)
{
FTVHelp::getInstance()->addContentsItem(FALSE,0,indexName,0,title);
}
if (!Config::instance()->getBool("DISABLE_INDEX")) writeQuickLinks(ol,TRUE);
if (!Config_getBool("DISABLE_INDEX")) writeQuickLinks(ol,TRUE);
ol.startTitleHead(0);
if (Doxygen::mainPage && !Doxygen::mainPage->title.isEmpty())
{
......@@ -2577,13 +2603,13 @@ void writeIndex(OutputList &ol)
}
ol.endTitleHead(0,0);
ol.newParagraph();
if (!Config::instance()->getString("PROJECT_NUMBER").isEmpty())
if (!Config_getString("PROJECT_NUMBER").isEmpty())
{
ol.startProjectNumber();
parseDoc(ol,defFileName,defLine,0,0,Config::instance()->getString("PROJECT_NUMBER"));
parseDoc(ol,defFileName,defLine,0,0,Config_getString("PROJECT_NUMBER"));
ol.endProjectNumber();
}
if (Config::instance()->getBool("DISABLE_INDEX") && Doxygen::mainPage==0) writeQuickLinks(ol,FALSE);
if (Config_getBool("DISABLE_INDEX") && Doxygen::mainPage==0) writeQuickLinks(ol,FALSE);
if (Doxygen::mainPage)
{
......@@ -2601,16 +2627,16 @@ void writeIndex(OutputList &ol)
ol.startFile("refman",0,FALSE);
ol.startIndexSection(isTitlePageStart);
if (!Config::instance()->getString("LATEX_HEADER").isEmpty())
if (!Config_getString("LATEX_HEADER").isEmpty())
{
ol.disable(OutputGenerator::Latex);
}
parseText(ol,projPrefix+theTranslator->trReferenceManual());
if (!Config::instance()->getString("PROJECT_NUMBER").isEmpty())
if (!Config_getString("PROJECT_NUMBER").isEmpty())
{
ol.startProjectNumber();
parseDoc(ol,defFileName,defLine,0,0,Config::instance()->getString("PROJECT_NUMBER"));
parseDoc(ol,defFileName,defLine,0,0,Config_getString("PROJECT_NUMBER"));
ol.endProjectNumber();
}
ol.endIndexSection(isTitlePageStart);
......
......@@ -30,14 +30,14 @@
void writeInstallScript()
{
QCString fileName=Config::instance()->getString("HTML_OUTPUT")+"/installdox";
QCString fileName=Config_getString("HTML_OUTPUT")+"/installdox";
QFile f(fileName);
if (f.open(IO_WriteOnly))
{
QTextStream t(&f);
t << "#!" << Config::instance()->getString("PERL_PATH") << endl << endl << "%subst = ( ";
t << "#!" << Config_getString("PERL_PATH") << endl << endl << "%subst = ( ";
char *s=Config::instance()->getList("TAGFILES").first();
char *s=Config_getList("TAGFILES").first();
while (s)
{
QCString tagLine=s;
......@@ -53,7 +53,7 @@ void writeInstallScript()
}
QFileInfo fi(fileName);
t << "\"" << fi.fileName() << "\", \"\"";
s=Config::instance()->getList("TAGFILES").next();
s=Config_getList("TAGFILES").next();
if (s) t << ", ";
}
......@@ -108,7 +108,7 @@ void writeInstallScript()
t << " print STDERR \"No substitute given for tag file `$sub'\\n\";\n";
t << " &usage();\n";
t << " }\n";
t << " elsif ( ! $quiet && $sub!=\"_doc\" && $sub!=\"_cgi\" )\n";
t << " elsif ( ! $quiet && $sub ne \"_doc\" && $sub ne \"_cgi\" )\n";
t << " {\n";
t << " print \"Substituting $subst{$sub} for each occurence of tag file $sub\\n\"; \n";
t << " }\n";
......
......@@ -93,7 +93,7 @@ static QCString escapeMakeIndexChars(LatexGenerator *g,QTextStream &t,const char
LatexGenerator::LatexGenerator() : OutputGenerator()
{
dir=Config::instance()->getString("LATEX_OUTPUT");
dir=Config_getString("LATEX_OUTPUT");
col=0;
//printf("LatexGenerator::LatexGenerator() insideTabbing=FALSE\n");
insideTabbing=FALSE;
......@@ -132,7 +132,7 @@ OutputGenerator *LatexGenerator::copy()
void LatexGenerator::init()
{
QCString dir=Config::instance()->getString("LATEX_OUTPUT");
QCString dir=Config_getString("LATEX_OUTPUT");
QDir d(dir);
if (!d.exists() && !d.mkdir(dir))
{
......@@ -162,7 +162,7 @@ void LatexGenerator::init()
<< "\tdvips -o refman.ps refman.dvi" << endl
<< endl
<< "refman.pdf: refman.ps" << endl;
if (Config::instance()->getBool("USE_PDFLATEX")) // use pdflatex instead of latex
if (Config_getBool("USE_PDFLATEX")) // use pdflatex instead of latex
{
t << "\tpdflatex refman.tex" << endl;
t << "\tmakeindex refman.idx" << endl;
......@@ -207,16 +207,16 @@ static void writeDefaultHeaderPart1(QTextStream &t)
// part 1
QCString paperName;
if (Config::instance()->getBool("LATEX_BATCHMODE")) t << "\\batchmode" << endl;
QCString &paperType=Config::instance()->getEnum("PAPER_TYPE");
if (Config_getBool("LATEX_BATCHMODE")) t << "\\batchmode" << endl;
QCString &paperType=Config_getEnum("PAPER_TYPE");
if (paperType=="a4wide")
paperName="a4";
else
paperName=paperType;
t << "\\documentclass[" << paperName << "paper";
//if (Config::instance()->getBool("PDF_HYPERLINKS")) t << ",ps2pdf";
//if (Config_getBool("PDF_HYPERLINKS")) t << ",ps2pdf";
t << "]{";
if (Config::instance()->getBool("COMPACT_LATEX")) t << "article"; else t << "book";
if (Config_getBool("COMPACT_LATEX")) t << "article"; else t << "book";
t << "}\n";
if (paperType=="a4wide") t << "\\usepackage{a4wide}\n";
t << "\\usepackage{makeidx}\n"
......@@ -225,7 +225,7 @@ static void writeDefaultHeaderPart1(QTextStream &t)
"\\usepackage{float}\n"
"\\usepackage{alltt}\n"
"\\usepackage{doxygen}\n";
if (Config::instance()->getBool("PDF_HYPERLINKS"))
if (Config_getBool("PDF_HYPERLINKS"))
{
t << "\\usepackage{times}" << endl;
t << "\\ifx\\pdfoutput\\undefined" << endl
......@@ -275,7 +275,7 @@ static void writeDefaultHeaderPart1(QTextStream &t)
}
}
QStrList &extraPackages = Config::instance()->getList("EXTRA_PACKAGES");
QStrList &extraPackages = Config_getList("EXTRA_PACKAGES");
const char *s=extraPackages.first();
while (s)
{
......@@ -309,10 +309,10 @@ static void writeDefaultHeaderPart3(QTextStream &t)
<< "{\\small " << dateToString(TRUE) << "}\\\\" << endl
<< "\\end{center}" << endl
<< "\\end{titlepage}" << endl;
if (!Config::instance()->getBool("COMPACT_LATEX")) t << "\\clearemptydoublepage\n";
if (!Config_getBool("COMPACT_LATEX")) t << "\\clearemptydoublepage\n";
t << "\\pagenumbering{roman}\n";
t << "\\tableofcontents\n";
if (!Config::instance()->getBool("COMPACT_LATEX")) t << "\\clearemptydoublepage\n";
if (!Config_getBool("COMPACT_LATEX")) t << "\\clearemptydoublepage\n";
t << "\\pagenumbering{arabic}\n";
}
......@@ -328,7 +328,7 @@ static void writeDefaultStyleSheetPart1(QTextStream &t)
t << "\\addtolength{\\headwidth}{\\marginparwidth}\n";
t << "\\newcommand{\\clearemptydoublepage}{\\newpage{\\pagestyle{empty}";
t << "\\cleardoublepage}}\n";
if (!Config::instance()->getBool("COMPACT_LATEX"))
if (!Config_getBool("COMPACT_LATEX"))
t << "\\renewcommand{\\chaptermark}[1]{\\markboth{#1}{}}\n";
t << "\\renewcommand{\\sectionmark}[1]{\\markright{\\thesection\\ #1}}\n";
t << "\\lhead[\\fancyplain{}{\\bfseries\\thepage}]\n";
......@@ -413,7 +413,7 @@ void LatexGenerator::writeStyleSheetFile(QFile &f)
{
QTextStream t(&f);
writeDefaultStyleSheetPart1(t);
QCString &projectName = Config::instance()->getString("PROJECT_NAME");
QCString &projectName = Config_getString("PROJECT_NAME");
t << "Generated at " << dateToString(TRUE);
if (projectName.isEmpty())
{
......@@ -454,8 +454,8 @@ void LatexGenerator::startProjectNumber()
void LatexGenerator::startIndexSection(IndexSections is)
{
bool &compactLatex = Config::instance()->getBool("COMPACT_LATEX");
QCString &latexHeader = Config::instance()->getString("LATEX_HEADER");
bool &compactLatex = Config_getBool("COMPACT_LATEX");
QCString &latexHeader = Config_getString("LATEX_HEADER");
switch (is)
{
case isTitlePageStart:
......@@ -616,8 +616,8 @@ void LatexGenerator::startIndexSection(IndexSections is)
void LatexGenerator::endIndexSection(IndexSections is)
{
bool &compactLatex = Config::instance()->getBool("COMPACT_LATEX");
QCString &latexHeader = Config::instance()->getString("LATEX_HEADER");
bool &compactLatex = Config_getBool("COMPACT_LATEX");
QCString &latexHeader = Config_getString("LATEX_HEADER");
switch (is)
{
case isTitlePageStart:
......@@ -630,7 +630,7 @@ void LatexGenerator::endIndexSection(IndexSections is)
break;
case isMainPage:
t << "}\n\\label{index}";
if (Config::instance()->getBool("PDF_HYPERLINKS")) t << "\\hypertarget{index}{}";
if (Config_getBool("PDF_HYPERLINKS")) t << "\\hypertarget{index}{}";
t << "\\input{index}\n";
break;
case isPackageIndex:
......@@ -782,12 +782,12 @@ void LatexGenerator::endIndexSection(IndexSections is)
PageInfo *pi=pdi.toFirst();
if (pi)
{
t << "\\input{" << convertFileName(pi->name) << "-example}\n";
t << "\\input{" << convertNameToFile(pi->name+"-example") << "}\n";
}
for (++pdi;(pi=pdi.current());++pdi)
{
if (compactLatex) t << "\\input" ; else t << "\\include";
t << "{" << convertFileName(pi->name) << "-example}\n";
t << "{" << convertNameToFile(pi->name+"-example") << "}\n";
}
}
break;
......@@ -802,7 +802,7 @@ void LatexGenerator::endIndexSection(IndexSections is)
if (!pi->inGroup && !pi->isReference())
{
QCString pageName;
if (Config::instance()->getBool("CASE_SENSE_NAMES"))
if (Config_getBool("CASE_SENSE_NAMES"))
pageName=pi->name.copy();
else
pageName=pi->name.lower();
......@@ -825,7 +825,7 @@ void LatexGenerator::writeStyleInfo(int part)
{
case 0:
{
//QCString pname=Config::instance()->getString("PROJECT_NAME").stripWhiteSpace();
//QCString pname=Config_getString("PROJECT_NAME").stripWhiteSpace();
startPlainFile("doxygen.sty");
writeDefaultStyleSheetPart1(t);
}
......@@ -885,7 +885,7 @@ void LatexGenerator::writeIndexItem(const char *ref,const char *fn,
void LatexGenerator::startHtmlLink(const char *url)
{
if (Config::instance()->getBool("PDF_HYPERLINKS"))
if (Config_getBool("PDF_HYPERLINKS"))
{
t << "\\href{";
t << url;
......@@ -901,7 +901,7 @@ void LatexGenerator::endHtmlLink()
void LatexGenerator::writeMailLink(const char *url)
{
if (Config::instance()->getBool("PDF_HYPERLINKS"))
if (Config_getBool("PDF_HYPERLINKS"))
{
t << "\\href{mailto:";
t << url;
......@@ -936,7 +936,7 @@ void LatexGenerator::writeEndAnnoItem(const char *name)
void LatexGenerator::startTextLink(const char *f,const char *anchor)
{
if (Config::instance()->getBool("PDF_HYPERLINKS"))
if (Config_getBool("PDF_HYPERLINKS"))
{
t << "\\hyperlink{";
if (f) t << f;
......@@ -957,7 +957,7 @@ void LatexGenerator::endTextLink()
void LatexGenerator::writeObjectLink(const char *ref, const char *f,
const char *anchor, const char *text)
{
if (!ref && Config::instance()->getBool("PDF_HYPERLINKS"))
if (!ref && Config_getBool("PDF_HYPERLINKS"))
{
t << "\\hyperlink{";
if (f) t << f;
......@@ -997,11 +997,11 @@ void LatexGenerator::writeCodeLink(const char *,const char *,
void LatexGenerator::startTitleHead(const char *fileName)
{
if (Config::instance()->getBool("PDF_HYPERLINKS") && fileName)
if (Config_getBool("PDF_HYPERLINKS") && fileName)
{
t << "\\hypertarget{" << fileName << "}{" << endl;
}
if (Config::instance()->getBool("COMPACT_LATEX"))
if (Config_getBool("COMPACT_LATEX"))
{
t << "\\subsection{";
}
......@@ -1021,7 +1021,7 @@ void LatexGenerator::endTitleHead(const char *fileName,const char *name)
docify(name);
t << "}}" << endl;
}
if (Config::instance()->getBool("PDF_HYPERLINKS") && fileName)
if (Config_getBool("PDF_HYPERLINKS") && fileName)
{
t << "}" << endl;
}
......@@ -1029,7 +1029,7 @@ void LatexGenerator::endTitleHead(const char *fileName,const char *name)
void LatexGenerator::startTitle()
{
if (Config::instance()->getBool("COMPACT_LATEX"))
if (Config_getBool("COMPACT_LATEX"))
{
t << "\\subsection{";
}
......@@ -1041,7 +1041,7 @@ void LatexGenerator::startTitle()
void LatexGenerator::startGroupHeader()
{
if (Config::instance()->getBool("COMPACT_LATEX"))
if (Config_getBool("COMPACT_LATEX"))
{
t << "\\subsubsection{";
}
......@@ -1058,7 +1058,7 @@ void LatexGenerator::endGroupHeader()
void LatexGenerator::startMemberHeader()
{
if (Config::instance()->getBool("COMPACT_LATEX"))
if (Config_getBool("COMPACT_LATEX"))
{
t << "\\subsubsection*{";
}
......@@ -1102,8 +1102,8 @@ void LatexGenerator::startMemberDoc(const char *clname,
}
t << "}" << endl;
}
if (Config::instance()->getBool("COMPACT_LATEX")) t << "\\paragraph"; else t << "\\subsubsection";
if (Config::instance()->getBool("PDF_HYPERLINKS") && memname)
if (Config_getBool("COMPACT_LATEX")) t << "\\paragraph"; else t << "\\subsubsection";
if (Config_getBool("PDF_HYPERLINKS") && memname)
{
t << "[";
escapeMakeIndexChars(this,t,memname);
......@@ -1116,13 +1116,13 @@ void LatexGenerator::startMemberDoc(const char *clname,
void LatexGenerator::endMemberDoc()
{
t << "}";
if (Config::instance()->getBool("COMPACT_LATEX")) t << "\\hfill";
if (Config_getBool("COMPACT_LATEX")) t << "\\hfill";
}
void LatexGenerator::startDoxyAnchor(const char *fName,const char *anchor,
const char *)
{
if (Config::instance()->getBool("PDF_HYPERLINKS"))
if (Config_getBool("PDF_HYPERLINKS"))
{
t << "\\hypertarget{";
if (fName) t << fName;
......@@ -1133,7 +1133,7 @@ void LatexGenerator::startDoxyAnchor(const char *fName,const char *anchor,
void LatexGenerator::endDoxyAnchor(const char *fName,const char *anchor)
{
if (Config::instance()->getBool("PDF_HYPERLINKS"))
if (Config_getBool("PDF_HYPERLINKS"))
{
t << "}" << endl;
}
......@@ -1146,7 +1146,7 @@ void LatexGenerator::endDoxyAnchor(const char *fName,const char *anchor)
void LatexGenerator::writeAnchor(const char *fName,const char *name)
{
t << "\\label{" << name << "}" << endl;
if (fName && Config::instance()->getBool("PDF_HYPERLINKS"))
if (fName && Config_getBool("PDF_HYPERLINKS"))
{
t << "\\hypertarget{" << fName << "_" << name << "}{}" << endl;
}
......@@ -1178,12 +1178,12 @@ void LatexGenerator::addIndexItem(const char *s1,const char *s2)
void LatexGenerator::startSection(const char *lab,const char *,bool sub)
{
if (Config::instance()->getBool("PDF_HYPERLINKS"))
if (Config_getBool("PDF_HYPERLINKS"))
{
t << "\\hypertarget{" << lab << "}{}";
}
t << "\\";
if (Config::instance()->getBool("COMPACT_LATEX"))
if (Config_getBool("COMPACT_LATEX"))
{
if (sub) t << "subsubsection{"; else t << "subsection{";
}
......@@ -1207,7 +1207,7 @@ void LatexGenerator::writeSectionRef(const char *ref,const char *,
}
else // local reference
{
if (text && Config::instance()->getBool("PDF_HYPERLINKS"))
if (text && Config_getBool("PDF_HYPERLINKS"))
{
t << "\\hyperlink{";
if (lab) t << lab;
......@@ -1300,13 +1300,13 @@ void LatexGenerator::docify(const char *str)
case '>': t << "$>$"; break;
case '|': t << "$|$"; break;
case '~': t << "$\\sim$"; break;
case '[': if (Config::instance()->getBool("PDF_HYPERLINKS"))
case '[': if (Config_getBool("PDF_HYPERLINKS"))
t << "\\mbox{[}";
else
t << "[";
break;
case ']': if (pc=='[') t << "$\\,$";
if (Config::instance()->getBool("PDF_HYPERLINKS"))
if (Config_getBool("PDF_HYPERLINKS"))
t << "\\mbox{]}";
else
t << "]";
......@@ -1447,7 +1447,7 @@ void LatexGenerator::codify(const char *str)
const char *p=str;
char c;
int spacesToNextTabStop;
int &tabSize = Config::instance()->getInt("TAB_SIZE");
int &tabSize = Config_getInt("TAB_SIZE");
while (*p)
{
c=*p++;
......@@ -1476,7 +1476,7 @@ void LatexGenerator::writeChar(char c)
void LatexGenerator::startClassDiagram()
{
//if (Config::instance()->getBool("COMPACT_LATEX")) t << "\\subsubsection"; else t << "\\subsection";
//if (Config_getBool("COMPACT_LATEX")) t << "\\subsubsection"; else t << "\\subsection";
//t << "{";
}
......@@ -1610,7 +1610,7 @@ void LatexGenerator::startDotGraph()
void LatexGenerator::endDotGraph(DotClassGraph &g)
{
g.writeGraph(t,EPS,Config::instance()->getString("LATEX_OUTPUT"));
g.writeGraph(t,EPS,Config_getString("LATEX_OUTPUT"));
}
void LatexGenerator::startInclDepGraph()
......@@ -1619,7 +1619,7 @@ void LatexGenerator::startInclDepGraph()
void LatexGenerator::endInclDepGraph(DotInclDepGraph &g)
{
g.writeGraph(t,EPS,Config::instance()->getString("LATEX_OUTPUT"));
g.writeGraph(t,EPS,Config_getString("LATEX_OUTPUT"));
}
void LatexGenerator::startDescription()
......
......@@ -27,7 +27,7 @@
ManGenerator::ManGenerator() : OutputGenerator()
{
dir=Config::instance()->getString("MAN_OUTPUT")+"/man3";
dir=Config_getString("MAN_OUTPUT")+"/man3";
firstCol=TRUE;
paragraph=FALSE;
col=0;
......@@ -56,16 +56,16 @@ void ManGenerator::append(const OutputGenerator *g)
void ManGenerator::init()
{
QDir d(Config::instance()->getString("MAN_OUTPUT"));
if (!d.exists() && !d.mkdir(Config::instance()->getString("MAN_OUTPUT")))
QDir d(Config_getString("MAN_OUTPUT"));
if (!d.exists() && !d.mkdir(Config_getString("MAN_OUTPUT")))
{
err("Could not create output directory %s\n",Config::instance()->getString("MAN_OUTPUT").data());
err("Could not create output directory %s\n",Config_getString("MAN_OUTPUT").data());
exit(1);
}
d.setPath(Config::instance()->getString("MAN_OUTPUT")+"/man3");
if (!d.exists() && !d.mkdir(Config::instance()->getString("MAN_OUTPUT")+"/man3"))
d.setPath(Config_getString("MAN_OUTPUT")+"/man3");
if (!d.exists() && !d.mkdir(Config_getString("MAN_OUTPUT")+"/man3"))
{
err("Could not create output directory %s/man3\n",Config::instance()->getString("MAN_OUTPUT").data());
err("Could not create output directory %s/man3\n",Config_getString("MAN_OUTPUT").data());
exit(1);
}
}
......@@ -105,9 +105,9 @@ void ManGenerator::startFile(const char *name,const char *,bool)
{
fileName=fileName.left(i);
}
if (convertToQCString(fileName.right(2))!=Config::instance()->getString("MAN_EXTENSION"))
if (convertToQCString(fileName.right(2))!=Config_getString("MAN_EXTENSION"))
{
fileName+=Config::instance()->getString("MAN_EXTENSION");
fileName+=Config_getString("MAN_EXTENSION");
}
startPlainFile(fileName);
firstCol=TRUE;
......@@ -121,10 +121,10 @@ void ManGenerator::endFile()
void ManGenerator::endTitleHead(const char *,const char *name)
{
t << ".TH \"" << name << "\" 3 \"" << dateToString(FALSE) << "\" \"";
if (Config::instance()->getString("PROJECT_NAME").isEmpty())
if (Config_getString("PROJECT_NAME").isEmpty())
t << "Doxygen";
else
t << Config::instance()->getString("PROJECT_NAME");
t << Config_getString("PROJECT_NAME");
t << "\" \\\" -*- nroff -*-" << endl;
t << ".ad l" << endl;
t << ".nh" << endl;
......@@ -248,7 +248,7 @@ void ManGenerator::codify(const char *str)
switch(c)
{
case '\t': spacesToNextTabStop =
Config::instance()->getInt("TAB_SIZE") - (col%Config::instance()->getInt("TAB_SIZE"));
Config_getInt("TAB_SIZE") - (col%Config_getInt("TAB_SIZE"));
t << spaces.left(spacesToNextTabStop);
col+=spacesToNextTabStop;
break;
......
......@@ -279,7 +279,7 @@ MemberDef::MemberDef(const char *df,int dl,
indDepth=0;
section=0;
explExt=FALSE;
maxInitLines=Config::instance()->getInt("MAX_INITIALIZER_LINES");
maxInitLines=Config_getInt("MAX_INITIALIZER_LINES");
userInitLines=-1;
docEnumValues=FALSE;
// copy function template arguments (if any)
......@@ -484,19 +484,19 @@ void MemberDef::writeDeclaration(OutputList &ol,
// (they are displayed by there parent placeholder)
if (annScope) return;
// hide undocumented members unless overwritten by the configuration
if (!hasDocs && Config::instance()->getBool("HIDE_UNDOC_MEMBERS")) return;
if (!hasDocs && Config_getBool("HIDE_UNDOC_MEMBERS")) return;
// hide members with no detailed desciption and brief descriptions explicitly
// disabled.
if (Config::instance()->getBool("HIDE_UNDOC_MEMBERS") && documentation().isEmpty() &&
!Config::instance()->getBool("BRIEF_MEMBER_DESC") && !Config::instance()->getBool("REPEAT_BRIEF")
if (Config_getBool("HIDE_UNDOC_MEMBERS") && documentation().isEmpty() &&
!Config_getBool("BRIEF_MEMBER_DESC") && !Config_getBool("REPEAT_BRIEF")
) return;
// hide static file & namespace members unless extract static is on
if (cd==0 && isStatic() && !Config::instance()->getBool("EXTRACT_STATIC")) return;
if (cd==0 && isStatic() && !Config_getBool("EXTRACT_STATIC")) return;
// hide private member that are put into a member group. Non-grouped
// members are not rendered anyway.
//printf("md->name()=`%s' Protection=%d\n",name().data(),protection());
if (inGroup && protection()==Private && !Config::instance()->getBool("EXTRACT_PRIVATE")) return;
if (inGroup && protection()==Private && !Config_getBool("EXTRACT_PRIVATE")) return;
QCString ltype=type.copy();
// strip `static' keyword from ltype
......@@ -508,7 +508,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
if ((ltype.isEmpty() || (i=r.match(ltype,0,&l))==-1) || !enumUsed())
{
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <member kind=\"";
switch (mtype)
......@@ -586,7 +586,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
//}
HtmlHelp *htmlHelp=0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP");
bool hasHtmlHelp = Config_getBool("GENERATE_HTML") && Config_getBool("GENERATE_HTMLHELP");
if (hasHtmlHelp) htmlHelp = HtmlHelp::getInstance();
// search for the last anonymous scope in the member type
......@@ -627,7 +627,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
// If there is no detailed description we need to write the anchor here.
bool detailsVisible = detailsAreVisible();
if (!detailsVisible && !Config::instance()->getBool("EXTRACT_ALL") && !annMemb)
if (!detailsVisible && !Config_getBool("EXTRACT_ALL") && !annMemb)
{
QCString doxyName=name().copy();
if (!cname.isEmpty()) doxyName.prepend(cname+"::");
......@@ -711,7 +711,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
linkifyText(TextGeneratorOLImpl(ol),cname,name(),ltype,TRUE);
}
bool htmlOn = ol.isEnabled(OutputGenerator::Html);
if (htmlOn && Config::instance()->getBool("HTML_ALIGN_MEMBERS") && !ltype.isEmpty())
if (htmlOn && Config_getBool("HTML_ALIGN_MEMBERS") && !ltype.isEmpty())
{
ol.disable(OutputGenerator::Html);
}
......@@ -810,7 +810,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
}
}
if (!detailsVisible && !Config::instance()->getBool("EXTRACT_ALL") && !annMemb)
if (!detailsVisible && !Config_getBool("EXTRACT_ALL") && !annMemb)
{
ol.endDoxyAnchor(cfname,anchor());
}
......@@ -819,7 +819,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
//ol.endMemberItem(gId!=-1,gFile,gHeader,annoClassDef || annMemb);
// write brief description
if (!briefDescription().isEmpty() && Config::instance()->getBool("BRIEF_MEMBER_DESC") && !annMemb)
if (!briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC") && !annMemb)
{
ol.startMemberDescription();
parseDoc(ol,defFileName,defLine,cname,name(),briefDescription());
......@@ -858,7 +858,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
)
{
// hide global static functions unless extractStaticFlag is enabled
if (getClassDef()==0 && isStatic() && !Config::instance()->getBool("EXTRACT_STATIC")) return;
if (getClassDef()==0 && isStatic() && !Config_getBool("EXTRACT_STATIC")) return;
// hide member that are documented in their own group
if (group!=0 && container->definitionType()!=TypeGroup) return;
......@@ -874,7 +874,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
bool hasDocs = detailsAreVisible();
//printf("MemberDef::writeDocumentation(): type=`%s' def=`%s'\n",type.data(),definition());
if (
Config::instance()->getBool("EXTRACT_ALL") || hasDocs
Config_getBool("EXTRACT_ALL") || hasDocs
|| /* member is part of an anonymous scope that is the type of
* another member in the list.
*/
......@@ -910,7 +910,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
ol.pushGeneratorState();
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP");
bool hasHtmlHelp = Config_getBool("GENERATE_HTML") && Config_getBool("GENERATE_HTMLHELP");
HtmlHelp *htmlHelp = 0;
if (hasHtmlHelp) htmlHelp = HtmlHelp::getInstance();
......@@ -979,7 +979,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
//if (cd && (!isRelated() || templateArguments()!=0) &&
// ((al=scopeDefTemplateArguments()) || (al=cd->templateArguments()))
// )
if (!Config::instance()->getBool("HIDE_SCOPE_NAMES"))
if (!Config_getBool("HIDE_SCOPE_NAMES"))
{
if (scopeAl && !related) // class template prefix
{
......@@ -1049,7 +1049,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
if (protection()!=Public || lvirt!=Normal ||
isFriend() || isRelated() || isExplicit() ||
isMutable() || (isInline() && Config::instance()->getBool("INLINE_INFO")) ||
isMutable() || (isInline() && Config_getBool("INLINE_INFO")) ||
isSignal() || isSlot() ||
isStatic()
)
......@@ -1063,7 +1063,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
else if (isRelated()) sl.append("related");
else
{
if (Config::instance()->getBool("INLINE_INFO") && isInline())
if (Config_getBool("INLINE_INFO") && isInline())
sl.append("inline");
if (isExplicit()) sl.append("explicit");
if (isMutable()) sl.append("mutable");
......@@ -1115,8 +1115,8 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
/* write brief description */
if (!briefDescription().isEmpty() &&
(Config::instance()->getBool("REPEAT_BRIEF")
/* || (!Config::instance()->getBool("BRIEF_MEMBER_DESC") && documentation().isEmpty())*/
(Config_getBool("REPEAT_BRIEF")
/* || (!Config_getBool("BRIEF_MEMBER_DESC") && documentation().isEmpty())*/
) /* || !annMemb */
)
{
......@@ -1195,7 +1195,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
ol.addIndexItem(fmd->name(),cname);
ol.addIndexItem(cname,fmd->name());
if (Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP"))
if (Config_getBool("GENERATE_HTML") && Config_getBool("GENERATE_HTMLHELP"))
{
HtmlHelp::getInstance()->addIndexItem(cname,fmd->name(),cfname,fmd->anchor());
}
......@@ -1275,7 +1275,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
{
ol.writeObjectLink(bcd->getReference(),bcd->getOutputFileBase(),
bmd->anchor(),bcd->name());
if ( bcd->isLinkableInProject()/* && !Config::instance()->getBool("PDF_HYPERLINKS")*/ )
if ( bcd->isLinkableInProject()/* && !Config_getBool("PDF_HYPERLINKS")*/ )
{
writePageRef(ol,bcd->getOutputFileBase(),bmd->anchor());
}
......@@ -1284,7 +1284,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
{
ol.writeObjectLink(bcd->getReference(),bcd->getOutputFileBase(),
0,bcd->name());
if (bcd->isLinkableInProject()/* && !Config::instance()->getBool("PDF_HYPERLINKS")*/ )
if (bcd->isLinkableInProject()/* && !Config_getBool("PDF_HYPERLINKS")*/ )
{
writePageRef(ol,bcd->getOutputFileBase(),0);
}
......@@ -1350,7 +1350,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
{
ol.writeObjectLink(bcd->getReference(),bcd->getOutputFileBase(),
bmd->anchor(),bcd->name());
if (bcd->isLinkableInProject()/* && !Config::instance()->getBool("PDF_HYPERLINKS")*/ )
if (bcd->isLinkableInProject()/* && !Config_getBool("PDF_HYPERLINKS")*/ )
{
writePageRef(ol,bcd->getOutputFileBase(),bmd->anchor());
}
......@@ -1385,7 +1385,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
ol.endIndent();
// enable LaTeX again
//if (Config::instance()->getBool("EXTRACT_ALL") && !hasDocs) ol.enable(OutputGenerator::Latex);
//if (Config_getBool("EXTRACT_ALL") && !hasDocs) ol.enable(OutputGenerator::Latex);
ol.popGeneratorState();
}
......@@ -1420,8 +1420,8 @@ bool MemberDef::isLinkableInProject()
return !name().isEmpty() && name().at(0)!='@' &&
((hasDocumentation() && !isReference())
) &&
(prot!=Private || Config::instance()->getBool("EXTRACT_PRIVATE") || isFriend()) && // not a private class member
(classDef!=0 || Config::instance()->getBool("EXTRACT_STATIC") || !isStatic()); // not a static file/namespace member
(prot!=Private || Config_getBool("EXTRACT_PRIVATE") || isFriend()) && // not a private class member
(classDef!=0 || Config_getBool("EXTRACT_STATIC") || !isStatic()); // not a static file/namespace member
}
bool MemberDef::isLinkable()
......@@ -1432,12 +1432,12 @@ bool MemberDef::isLinkable()
bool MemberDef::detailsAreVisible() const
{
return !documentation().isEmpty() || // has detailed docs
//((Config::instance()->getBool("SOURCE_BROWSER") || Config::instance()->getBool("INLINE_SOURCES")) && startBodyLine!=-1 && bodyDef) || // has reference to sources
//((Config_getBool("SOURCE_BROWSER") || Config_getBool("INLINE_SOURCES")) && startBodyLine!=-1 && bodyDef) || // has reference to sources
(mtype==Enumeration && docEnumValues) || // has enum values
(mtype==EnumValue && !briefDescription().isEmpty()) || // is doc enum value
(!briefDescription().isEmpty() &&
(!Config::instance()->getBool("BRIEF_MEMBER_DESC") || Config::instance()->getBool("ALWAYS_DETAILED_SEC")) &&
Config::instance()->getBool("REPEAT_BRIEF") // has brief description inside detailed area
(!Config_getBool("BRIEF_MEMBER_DESC") || Config_getBool("ALWAYS_DETAILED_SEC")) &&
Config_getBool("REPEAT_BRIEF") // has brief description inside detailed area
) ||
(initLines>0 && initLines<maxInitLines) ||
(argList!=0 && argList->hasDocumentation())
......
......@@ -54,18 +54,18 @@ void MemberList::countDecMembers(bool inGroup,bool countSubGroups,bool sectionPe
{
//printf("md=%p md->name()=`%s' inGroup=%d getMemberGroup()=%p\n",
// md,md->name().data(),inGroup,md->getMemberGroup());
if (!(md->getClassDef()==0 && md->isStatic() && !Config::instance()->getBool("EXTRACT_STATIC")) &&
(!Config::instance()->getBool("HIDE_UNDOC_MEMBERS") || md->hasDocumentation()) &&
if (!(md->getClassDef()==0 && md->isStatic() && !Config_getBool("EXTRACT_STATIC")) &&
(!Config_getBool("HIDE_UNDOC_MEMBERS") || md->hasDocumentation()) &&
(
(!Config::instance()->getBool("HIDE_UNDOC_MEMBERS") || !md->documentation().isEmpty() ||
Config::instance()->getBool("BRIEF_MEMBER_DESC") || Config::instance()->getBool("REPEAT_BRIEF")
) || Config::instance()->getBool("EXTRACT_ALL") ||
(!Config_getBool("HIDE_UNDOC_MEMBERS") || !md->documentation().isEmpty() ||
Config_getBool("BRIEF_MEMBER_DESC") || Config_getBool("REPEAT_BRIEF")
) || Config_getBool("EXTRACT_ALL") ||
(md->isEnumerate() &&
md->hasDocumentedEnumValues()
)
) &&
inGroup==md->visibleMemberGroup(sectionPerType) &&
!(inGroup && md->protection()==Private && !Config::instance()->getBool("EXTRACT_PRIVATE"))
!(inGroup && md->protection()==Private && !Config_getBool("EXTRACT_PRIVATE"))
)
{
switch(md->memberType())
......@@ -83,7 +83,7 @@ void MemberList::countDecMembers(bool inGroup,bool countSubGroups,bool sectionPe
case MemberDef::EnumValue: enumValCnt++,m_count++; break;
case MemberDef::Typedef: typeCnt++,m_count++; break;
case MemberDef::Prototype: protoCnt++,m_count++; break;
case MemberDef::Define: if (Config::instance()->getBool("EXTRACT_ALL") ||
case MemberDef::Define: if (Config_getBool("EXTRACT_ALL") ||
md->argsString() ||
!md->initializer().isEmpty() ||
md->hasDocumentation()
......@@ -122,12 +122,12 @@ void MemberList::countDocMembers(bool listOfGroup)
//printf("%s MemberList::countDocMembers() details=%d\n",
// md->name().data(),md->detailsAreVisible());
bool visibleIfStatic =
!(md->getClassDef()==0 && md->isStatic() && !Config::instance()->getBool("EXTRACT_STATIC"));
!(md->getClassDef()==0 && md->isStatic() && !Config_getBool("EXTRACT_STATIC"));
bool inOwnGroup = (md->getGroupDef()!=0 && !listOfGroup);
if (visibleIfStatic && !inOwnGroup &&
(Config::instance()->getBool("EXTRACT_ALL") || md->detailsAreVisible())
(Config_getBool("EXTRACT_ALL") || md->detailsAreVisible())
)
{
if (md->memberType()!=MemberDef::EnumValue) m_count++;
......@@ -190,7 +190,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
if (md->isDefine() &&
(md->argsString() || md->hasDocumentation() ||
!md->initializer().isEmpty() ||
Config::instance()->getBool("EXTRACT_ALL")) &&
Config_getBool("EXTRACT_ALL")) &&
inGroup==md->visibleMemberGroup(sectionPerType)
)
{
......@@ -264,21 +264,21 @@ void MemberList::writePlainDeclarations(OutputList &ol,
for ( ; (md=mli.current()) ; ++mli ) // iterate through the members
{
// see if member is hidden by protection
if (md->protection()==Private && !Config::instance()->getBool("EXTRACT_PRIVATE")) continue;
if (md->protection()==Private && !Config_getBool("EXTRACT_PRIVATE")) continue;
QCString type=md->typeString();
type=type.stripWhiteSpace(); // TODO: is this really needed?
// filter out enums that are in a group iff inGroup holds
if (md->isEnumerate() && inGroup==md->visibleMemberGroup(sectionPerType) /*&& (hasDocs || !Config::instance()->getBool("HIDE_UNDOC_MEMBERS"))*/)
if (md->isEnumerate() && inGroup==md->visibleMemberGroup(sectionPerType) /*&& (hasDocs || !Config_getBool("HIDE_UNDOC_MEMBERS"))*/)
{
// filter out invisible enums
if ( !Config::instance()->getBool("HIDE_UNDOC_MEMBERS") || // do not hide undocumented members or
if ( !Config_getBool("HIDE_UNDOC_MEMBERS") || // do not hide undocumented members or
!md->documentation().isEmpty() || // member has detailed descr. or
md->hasDocumentedEnumValues() || // member has documented enum vales.
(
!md->briefDescription().isEmpty() &&
Config::instance()->getBool("BRIEF_MEMBER_DESC") // brief descr. is shown or
Config_getBool("BRIEF_MEMBER_DESC") // brief descr. is shown or
)
)
{
......@@ -290,7 +290,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
{
if (md->isLinkableInProject() || md->hasDocumentedEnumValues())
{
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <member kind=\"enumeration\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(md->name()) << "</name>" << endl;
......@@ -311,6 +311,8 @@ void MemberList::writePlainDeclarations(OutputList &ol,
int enumMemCount=0;
uint enumValuesPerLine =
(uint)Config_getInt("ENUM_VALUES_PER_LINE");
typeDecl.docify("{ ");
QList<MemberDef> *fmdl=md->enumFieldList();
if (fmdl)
......@@ -319,8 +321,8 @@ void MemberList::writePlainDeclarations(OutputList &ol,
while (fmd)
{
/* in html we start a new line after a number of items */
if (fmdl->count()>(uint)Config::instance()->getInt("ENUM_VALUES_PER_LINE")
&& (enumMemCount%(uint)Config::instance()->getInt("ENUM_VALUES_PER_LINE"))==0
if (fmdl->count()>enumValuesPerLine
&& (enumMemCount%enumValuesPerLine)==0
)
{
typeDecl.pushGeneratorState();
......@@ -332,7 +334,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
if (fmd->hasDocumentation()) // enum value has docs
{
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <member kind=\"enumvalue\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(fmd->name()) << "</name>" << endl;
......@@ -361,7 +363,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
typeDecl.enable(OutputGenerator::Man);
enumMemCount++;
}
if (fmdl->count()>(uint)Config::instance()->getInt("ENUM_VALUES_PER_LINE"))
if (fmdl->count()>enumValuesPerLine)
{
typeDecl.pushGeneratorState();
typeDecl.disableAllBut(OutputGenerator::Html);
......@@ -395,7 +397,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
ol.insertMemberAlign();
ol+=typeDecl; // append the enum values.
ol.endMemberItem(FALSE);
if (!md->briefDescription().isEmpty() && Config::instance()->getBool("BRIEF_MEMBER_DESC"))
if (!md->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
{
ol.startMemberDescription();
parseDoc(ol,
......@@ -486,7 +488,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
ol.writeObjectLink(cd->getReference(),cd->getOutputFileBase(),0,cd->name());
ol.endMemberItem(FALSE);
}
else if (!Config::instance()->getBool("HIDE_UNDOC_MEMBERS")) // no documentation
else if (!Config_getBool("HIDE_UNDOC_MEMBERS")) // no documentation
{
ol.startMemberItem(0);
ol.docify("class ");
......
......@@ -32,9 +32,9 @@ static FILE *warnFile = stderr;
void initWarningFormat()
{
int filePos = Config::instance()->getString("WARN_FORMAT").find("$file");
int linePos = Config::instance()->getString("WARN_FORMAT").find("$line");
int textPos = Config::instance()->getString("WARN_FORMAT").find("$text");
int filePos = Config_getString("WARN_FORMAT").find("$file");
int linePos = Config_getString("WARN_FORMAT").find("$line");
int textPos = Config_getString("WARN_FORMAT").find("$text");
// sort items on position (there are 6 cases)
warnFormatOrder = 1;
......@@ -68,7 +68,7 @@ void initWarningFormat()
substitute(
substitute(
substitute(
Config::instance()->getString("WARN_FORMAT"),
Config_getString("WARN_FORMAT"),
"$file","%s"
),
"$text","%s"
......@@ -81,16 +81,16 @@ void initWarningFormat()
// replace(QRegExp("\\$line"),"%d")+
// '\n';
if (!Config::instance()->getString("WARN_LOGFILE").isEmpty())
if (!Config_getString("WARN_LOGFILE").isEmpty())
{
warnFile = fopen(Config::instance()->getString("WARN_LOGFILE"),"w");
warnFile = fopen(Config_getString("WARN_LOGFILE"),"w");
}
}
void msg(const char *fmt, ...)
{
if (!Config::instance()->getBool("QUIET"))
if (!Config_getBool("QUIET"))
{
va_list args;
va_start(args, fmt);
......@@ -101,7 +101,7 @@ void msg(const char *fmt, ...)
void warn(const char *file,int line,const char *fmt, ...)
{
if (Config::instance()->getBool("WARNINGS"))
if (Config_getBool("WARNINGS"))
{
if (file==0) file="<unknown>";
char text[4096];
......@@ -125,7 +125,7 @@ void warn(const char *file,int line,const char *fmt, ...)
void warn_cont(const char *fmt, ...)
{
if (Config::instance()->getBool("WARNINGS"))
if (Config_getBool("WARNINGS"))
{
va_list args;
va_start(args, fmt);
......@@ -136,7 +136,7 @@ void warn_cont(const char *fmt, ...)
void warn_undoc(const char *file,int line,const char *fmt, ...)
{
if (Config::instance()->getBool("WARN_IF_UNDOCUMENTED"))
if (Config_getBool("WARN_IF_UNDOCUMENTED"))
{
if (file==0) file="<unknwon>";
char text[4096];
......
......@@ -31,7 +31,7 @@ NamespaceDef::NamespaceDef(const char *df,int dl,
const char *name,const char *lref) :
Definition(df,dl,name)
{
fileName="namespace_"+nameToFile(name);
fileName=(QCString)"namespace_"+name;
classList = new ClassList;
classDict = new ClassDict(1009);
//memList = new MemberList;
......@@ -68,7 +68,7 @@ void NamespaceDef::insertUsedFile(const char *f)
{
if (files.find(f)==-1)
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
files.inSort(f);
else
files.append(f);
......@@ -79,7 +79,7 @@ void NamespaceDef::insertClass(ClassDef *cd)
{
if (classDict->find(cd->name())==0)
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
classList->inSort(cd);
else
classList->append(cd);
......@@ -131,43 +131,43 @@ void NamespaceDef::insertMember(MemberDef *md)
switch(md->memberType())
{
case MemberDef::Variable:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
varMembers.inSort(md);
else
varMembers.append(md);
break;
case MemberDef::Function:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
funcMembers.inSort(md);
else
funcMembers.append(md);
break;
case MemberDef::Typedef:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
typedefMembers.inSort(md);
else
typedefMembers.append(md);
break;
case MemberDef::Enumeration:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
enumMembers.inSort(md);
else
enumMembers.append(md);
break;
case MemberDef::EnumValue:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
enumValMembers.inSort(md);
else
enumValMembers.append(md);
break;
case MemberDef::Prototype:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
protoMembers.inSort(md);
else
protoMembers.append(md);
break;
case MemberDef::Define:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
defineMembers.inSort(md);
else
defineMembers.append(md);
......@@ -192,17 +192,17 @@ void NamespaceDef::computeAnchors()
void NamespaceDef::writeDocumentation(OutputList &ol)
{
QCString pageTitle=name()+" Namespace Reference";
startFile(ol,fileName,pageTitle);
startFile(ol,getOutputFileBase(),pageTitle);
startTitle(ol,getOutputFileBase());
//ol.docify(pageTitle);
parseText(ol,theTranslator->trNamespaceReference(name()));
endTitle(ol,getOutputFileBase(),name());
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <compound kind=\"namespace\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(name()) << "</name>" << endl;
Doxygen::tagFile << " <filename>" << convertToXML(fileName) << ".html</filename>" << endl;
Doxygen::tagFile << " <filename>" << convertToXML(getOutputFileBase()) << ".html</filename>" << endl;
}
ol.startTextBlock();
......@@ -241,7 +241,7 @@ void NamespaceDef::writeDocumentation(OutputList &ol)
allMemberList.writeDeclarations(ol,0,this,0,0,0,0);
ol.endMemberSections();
if ((!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF")) ||
if ((!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) ||
!documentation().isEmpty())
{
ol.writeRuler();
......@@ -256,11 +256,11 @@ void NamespaceDef::writeDocumentation(OutputList &ol)
parseText(ol,theTranslator->trDetailedDescription());
ol.endGroupHeader();
ol.startTextBlock();
if (!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF"))
if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF"))
{
ol+=briefOutput;
}
if (!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF") &&
if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF") &&
!documentation().isEmpty())
{
ol.newParagraph();
......@@ -350,9 +350,9 @@ void NamespaceDef::writeDocumentation(OutputList &ol)
ol.startGroupHeader();
parseText(ol,theTranslator->trAuthor());
ol.endGroupHeader();
parseText(ol,theTranslator->trGeneratedAutomatically(Config::instance()->getString("PROJECT_NAME")));
parseText(ol,theTranslator->trGeneratedAutomatically(Config_getString("PROJECT_NAME")));
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
writeDocAnchorsToTagFile();
Doxygen::tagFile << " </compound>" << endl;
......@@ -385,3 +385,9 @@ void NamespaceDef::addUsingDeclaration(ClassDef *cd)
}
usingDeclList->append(cd);
}
QCString NamespaceDef::getOutputFileBase() const
{
return convertNameToFile(fileName);
}
......@@ -40,7 +40,7 @@ class NamespaceDef : public Definition
const char *name,const char *ref=0);
~NamespaceDef();
DefType definitionType() { return TypeNamespace; }
QCString getOutputFileBase() const { return fileName; }
QCString getOutputFileBase() const;
void insertUsedFile(const char *fname);
void writeDocumentation(OutputList &ol);
void insertClass(ClassDef *cd);
......
......@@ -31,7 +31,7 @@ PackageDef::PackageDef(const char *df,int dl,const char *na,const char *ref) :
Definition(df,dl,na)
{
classList = new ClassList;
packageFileName = "package_"+convertFileName(na);
packageFileName = (QCString)"package_"+na;
setReference(ref);
}
......@@ -42,7 +42,7 @@ PackageDef::~PackageDef()
void PackageDef::addClass(const ClassDef *def)
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
classList->inSort(def);
else
classList->append(def);
......@@ -73,7 +73,7 @@ void PackageDef::writeDocumentation(OutputList &ol)
ol.popGeneratorState();
}
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <compound kind=\"package\">" << endl;
}
......@@ -86,7 +86,7 @@ void PackageDef::writeDocumentation(OutputList &ol)
classList->writeDeclaration(ol,&ct,theTranslator->trClasses());
ol.endMemberSections();
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
writeDocAnchorsToTagFile();
Doxygen::tagFile << " </compound>" << endl;
......@@ -105,7 +105,7 @@ void PackageDef::writeDocumentation(OutputList &ol)
ol.endGroupHeader();
// repeat brief description
if (!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF"))
if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF"))
{
ol+=briefOutput;
ol.newParagraph();
......@@ -122,3 +122,8 @@ void PackageDef::writeDocumentation(OutputList &ol)
ol.popGeneratorState();
}
QCString PackageDef::getOutputFileBase() const
{
return convertNameToFile(packageFileName);
}
......@@ -35,7 +35,7 @@ class PackageDef : public Definition
PackageDef(const char *fName,int line, const char *name,const char *ref=0);
~PackageDef();
DefType definitionType() { return TypePackage; }
QCString getOutputFileBase() const { return packageFileName; }
QCString getOutputFileBase() const ;
void addClass(const ClassDef *def);
void writeDocumentation(OutputList &ol);
bool isLinkableInProject()
......
......@@ -76,7 +76,7 @@ class PageInfo
void writeDocAnchorsToTagFile()
{
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty() && sectionDict)
if (!Config_getString("GENERATE_TAGFILE").isEmpty() && sectionDict)
{
QDictIterator<SectionInfo> sdi(*sectionDict);
SectionInfo *si;
......
......@@ -167,9 +167,9 @@ static FILE *checkAndOpenFile(const QCString &absName)
QFileInfo fi(absName);
if (fi.exists() && fi.isFile())
{
if (!Config::instance()->getString("INPUT_FILTER").isEmpty())
if (!Config_getString("INPUT_FILTER").isEmpty())
{
QCString cmd = Config::instance()->getString("INPUT_FILTER")+" "+absName;
QCString cmd = Config_getString("INPUT_FILTER")+" "+absName;
f=popen(cmd,"r");
if (!f) err("Error: could not execute filter %s\n",cmd.data());
}
......@@ -892,7 +892,7 @@ static inline void outputArray(const char *a,int len)
static void readIncludeFile(const QCString &inc)
{
if (!Config::instance()->getBool("SEARCH_INCLUDES")) return; // do not read include files
if (!Config_getBool("SEARCH_INCLUDES")) return; // do not read include files
uint i=0;
// find the start of the include file name
......@@ -1703,7 +1703,7 @@ BN [ \t\r\n]
{
FileState *fs=g_includeStack.pop();
//fileDefineCache->merge(g_yyFileName,fs->fileName);
if (Config::instance()->getString("INPUT_FILTER").isEmpty())
if (Config_getString("INPUT_FILTER").isEmpty())
fclose(fs->filePtr);
else
pclose(fs->filePtr);
......@@ -1846,8 +1846,8 @@ void preprocessFile(const char *fileName,BufStr &output)
uint orgOffset=output.curPos();
//#endif
g_macroExpansion = Config::instance()->getBool("MACRO_EXPANSION");
g_expandOnlyPredef = Config::instance()->getBool("EXPAND_ONLY_PREDEF");
g_macroExpansion = Config_getBool("MACRO_EXPANSION");
g_expandOnlyPredef = Config_getBool("EXPAND_ONLY_PREDEF");
g_curlyCount=0;
g_nospaces=FALSE;
g_outputBuf=&output;
......@@ -1859,7 +1859,7 @@ void preprocessFile(const char *fileName,BufStr &output)
g_expandedDict->clear();
// add predefined macros
char *defStr = Config::instance()->getList("PREDEFINED").first();
char *defStr = Config_getList("PREDEFINED").first();
while (defStr)
{
//printf("Predefined: `%s'\n",defStr);
......@@ -1948,10 +1948,10 @@ void preprocessFile(const char *fileName,BufStr &output)
// def->name.data(),def->definition.data(),def->nargs);
}
defStr=Config::instance()->getList("PREDEFINED").next();
defStr=Config_getList("PREDEFINED").next();
}
QCString &inputFilter = Config::instance()->getString("INPUT_FILTER");
QCString &inputFilter = Config_getString("INPUT_FILTER");
if (inputFilter.isEmpty())
{
preYYin = fopen(fileName,"r");
......
......@@ -102,7 +102,7 @@ static QCString dateToRTFDateString()
RTFGenerator::RTFGenerator() : OutputGenerator()
{
dir=Config::instance()->getString("RTF_OUTPUT");
dir=Config_getString("RTF_OUTPUT");
col=0;
//insideTabbing=FALSE;
m_listLevel = 0;
......@@ -695,7 +695,7 @@ static void loadExtensions(const char *name)
void RTFGenerator::init()
{
QCString dir=Config::instance()->getString("RTF_OUTPUT");
QCString dir=Config_getString("RTF_OUTPUT");
QDir d(dir);
if (!d.exists() && !d.mkdir(dir))
{
......@@ -716,14 +716,14 @@ void RTFGenerator::init()
}
// overwrite some (or all) definitions from file
QCString &rtfStyleSheetFile = Config::instance()->getString("RTF_STYLESHEET_FILE");
QCString &rtfStyleSheetFile = Config_getString("RTF_STYLESHEET_FILE");
if (!rtfStyleSheetFile.isEmpty())
{
loadStylesheet(rtfStyleSheetFile, Rtf_Style);
}
// If user has defined an extension file, load its contents.
QCString &rtfExtensionsFile = Config::instance()->getString("RTF_EXTENSIONS_FILE");
QCString &rtfExtensionsFile = Config_getString("RTF_EXTENSIONS_FILE");
if (!rtfExtensionsFile.isEmpty())
{
loadExtensions(rtfExtensionsFile);
......@@ -820,7 +820,7 @@ void RTFGenerator::beginRTFChapter()
t << Rtf_Style_Reset;
// if we are compact, no extra page breaks...
if (Config::instance()->getBool("COMPACT_RTF"))
if (Config_getBool("COMPACT_RTF"))
{
// t <<"\\sect\\sectd\\sbknone\n";
t <<"\\sect\\sbknone\n";
......@@ -840,7 +840,7 @@ void RTFGenerator::beginRTFSection()
t << Rtf_Style_Reset;
// if we are compact, no extra page breaks...
if (Config::instance()->getBool("COMPACT_RTF"))
if (Config_getBool("COMPACT_RTF"))
{
// t <<"\\sect\\sectd\\sbknone\n";
t <<"\\sect\\sbknone\n";
......@@ -1051,7 +1051,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
// User has overridden document title in extensions file
t << "}" << title;
else
t << "}" << Config::instance()->getString("PROJECT_NAME");
t << "}" << Config_getString("PROJECT_NAME");
break;
case isTitlePageAuthor:
{
......@@ -1096,7 +1096,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
t << Rtf_Style_Reset << Rtf_Style["SubTitle"]->reference << endl; // set to subtitle style
t << "{\\field\\fldedit {\\*\\fldinst AUTHOR \\\\*MERGEFORMAT}{\\fldrslt AUTHOR}}\\par" << endl;
t << "Version " << Config::instance()->getString("PROJECT_NUMBER") << "\\par";
t << "Version " << Config_getString("PROJECT_NUMBER") << "\\par";
t << "{\\field\\fldedit {\\*\\fldinst CREATEDATE \\\\*MERGEFORMAT}"
"{\\fldrslt CREATEDATE}}\\par"<<endl;
t << "\\page\\page";
......@@ -1292,16 +1292,16 @@ void RTFGenerator::endIndexSection(IndexSections is)
{
t << "\\par " << Rtf_Style_Reset << endl;
t << "{\\field\\fldedit{\\*\\fldinst INCLUDETEXT \"";
t << convertFileName(pi->name);
t << "-example.rtf\" \\\\*MERGEFORMAT}{\\fldrslt includedstuff}}\n";
t << convertNameToFile(pi->name+"-example");
t << ".rtf\" \\\\*MERGEFORMAT}{\\fldrslt includedstuff}}\n";
}
for (++pdi;(pi=pdi.current());++pdi)
{
t << "\\par " << Rtf_Style_Reset << endl;
beginRTFSection();
t << "{\\field\\fldedit{\\*\\fldinst INCLUDETEXT \"";
t << convertFileName(pi->name);
t << "-example.rtf\" \\\\*MERGEFORMAT}{\\fldrslt includedstuff}}\n";
t << convertNameToFile(pi->name+"-example");
t << ".rtf\" \\\\*MERGEFORMAT}{\\fldrslt includedstuff}}\n";
}
}
break;
......@@ -1316,7 +1316,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
if (!pi->inGroup && !pi->isReference())
{
QCString pageName;
if (Config::instance()->getBool("CASE_SENSE_NAMES"))
if (Config_getBool("CASE_SENSE_NAMES"))
pageName=pi->name.copy();
else
pageName=pi->name.lower();
......@@ -1485,7 +1485,7 @@ void RTFGenerator::writeIndexItem(const char *ref,const char *fn,
void RTFGenerator::startHtmlLink(const char *url)
{
if (Config::instance()->getBool("RTF_HYPERLINKS"))
if (Config_getBool("RTF_HYPERLINKS"))
{
t << "{\\field {\\*\\fldinst { HYPERLINK \\\\l \"";
t << url;
......@@ -1500,7 +1500,7 @@ void RTFGenerator::startHtmlLink(const char *url)
void RTFGenerator::endHtmlLink()
{
if (Config::instance()->getBool("RTF_HYPERLINKS"))
if (Config_getBool("RTF_HYPERLINKS"))
{
t << "}}}" << endl;
}
......@@ -1523,7 +1523,7 @@ void RTFGenerator::writeStartAnnoItem(const char *,const char *f,
DBG_RTF(t << "{\\comment (writeStartAnnoItem)}" << endl)
t << "{\\b ";
if (path) docify(path);
if (f && Config::instance()->getBool("RTF_HYPERLINKS"))
if (f && Config_getBool("RTF_HYPERLINKS"))
{
t << "{\\field {\\*\\fldinst { HYPERLINK \\\\l \"";
t << formatBmkStr(f);
......@@ -1598,7 +1598,7 @@ void RTFGenerator::endSubsubsection()
void RTFGenerator::startTextLink(const char *f,const char *anchor)
{
if (Config::instance()->getBool("RTF_HYPERLINKS"))
if (Config_getBool("RTF_HYPERLINKS"))
{
QCString ref;
if (f)
......@@ -1620,7 +1620,7 @@ void RTFGenerator::startTextLink(const char *f,const char *anchor)
void RTFGenerator::endTextLink()
{
if (Config::instance()->getBool("RTF_HYPERLINKS"))
if (Config_getBool("RTF_HYPERLINKS"))
{
t << "}}}" << endl;
}
......@@ -1629,7 +1629,7 @@ void RTFGenerator::endTextLink()
void RTFGenerator::writeObjectLink(const char *ref, const char *f,
const char *anchor, const char *text)
{
if (!ref && Config::instance()->getBool("RTF_HYPERLINKS"))
if (!ref && Config_getBool("RTF_HYPERLINKS"))
{
QCString refName;
if (f)
......@@ -1685,7 +1685,7 @@ void RTFGenerator::endPageRef(const char *clname, const char *anchor)
void RTFGenerator::writeCodeLink(const char *ref,const char *f,
const char *anchor,const char *name)
{
if (!ref && Config::instance()->getBool("RTF_HYPERLINKS"))
if (!ref && Config_getBool("RTF_HYPERLINKS"))
{
QCString refName;
if (f)
......@@ -1740,7 +1740,7 @@ void RTFGenerator::endTitleHead(const char *fileName,const char *name)
// writeAnchor(0,name);
//}
//
//if (Config::instance()->getBool("RTF_HYPERLINKS") && fileName)
//if (Config_getBool("RTF_HYPERLINKS") && fileName)
//{
writeAnchor(fileName,0);
//}
......@@ -1750,7 +1750,7 @@ void RTFGenerator::endTitleHead(const char *fileName,const char *name)
void RTFGenerator::startTitle()
{
DBG_RTF(t <<"{\\comment startTitle}" << endl)
if (Config::instance()->getBool("COMPACT_RTF"))
if (Config_getBool("COMPACT_RTF"))
beginRTFSection();
else
beginRTFChapter();
......@@ -2054,7 +2054,7 @@ void RTFGenerator::codify(const char *str)
c=*p++;
switch(c)
{
case '\t': spacesToNextTabStop = Config::instance()->getInt("TAB_SIZE") - (col%Config::instance()->getInt("TAB_SIZE"));
case '\t': spacesToNextTabStop = Config_getInt("TAB_SIZE") - (col%Config_getInt("TAB_SIZE"));
t << spaces.left(spacesToNextTabStop);
col+=spacesToNextTabStop;
break;
......@@ -2528,7 +2528,7 @@ void RTFGenerator::endDotGraph(DotClassGraph &g)
{
newParagraph();
g.writeGraph(t,GIF,Config::instance()->getString("RTF_OUTPUT"),TRUE,FALSE);
g.writeGraph(t,GIF,Config_getString("RTF_OUTPUT"),TRUE,FALSE);
// display the file
t << "{" << endl;
......@@ -2547,7 +2547,7 @@ void RTFGenerator::endInclDepGraph(DotInclDepGraph &g)
{
newParagraph();
g.writeGraph(t,GIF,Config::instance()->getString("RTF_OUTPUT"),FALSE);
g.writeGraph(t,GIF,Config_getString("RTF_OUTPUT"),FALSE);
//QCString diskName = g.diskName();
......
......@@ -1191,7 +1191,7 @@ TITLE [tT][iI][tT][lL][eE]
current->brief.resize(0);
BEGIN(AfterDocLine);
}
else if (yytext[yyleng-2]=='*' && Config::instance()->getBool("JAVADOC_AUTOBRIEF"))
else if (yytext[yyleng-2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF"))
{
current->brief.resize(0);
BEGIN(AfterDocBrief);
......@@ -1211,7 +1211,7 @@ TITLE [tT][iI][tT][lL][eE]
current->brief.resize(0);
BEGIN(AfterDocLine);
}
else if (yytext[yyleng-2]=='*' && Config::instance()->getBool("JAVADOC_AUTOBRIEF"))
else if (yytext[yyleng-2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF"))
{
current->brief.resize(0);
BEGIN(AfterDocBrief);
......@@ -1237,7 +1237,7 @@ TITLE [tT][iI][tT][lL][eE]
current->brief.resize(0);
BEGIN(AfterDocLine);
}
else if (yytext[yyleng-2]=='*' && Config::instance()->getBool("JAVADOC_AUTOBRIEF"))
else if (yytext[yyleng-2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF"))
{
current->brief.resize(0);
BEGIN(AfterDocBrief);
......@@ -2200,7 +2200,7 @@ TITLE [tT][iI][tT][lL][eE]
afterDocTerminator = '}';
if (yytext[yyleng-3]=='/')
BEGIN(AfterDocLine);
else if (yytext[yyleng-2]=='*' && Config::instance()->getBool("JAVADOC_AUTOBRIEF"))
else if (yytext[yyleng-2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF"))
BEGIN(AfterDocBrief);
else
BEGIN(AfterDoc);
......@@ -2522,7 +2522,7 @@ TITLE [tT][iI][tT][lL][eE]
lastDocContext = YY_START;
if (current_root->section & Entry::SCOPE_MASK)
current->inside = current_root->name+"::";
if (!Config::instance()->getBool("JAVADOC_AUTOBRIEF")) // use the Qt style
if (!Config_getBool("JAVADOC_AUTOBRIEF")) // use the Qt style
{
tmpDocType=-1;
if (YY_START==ReadBody)
......
......@@ -117,7 +117,7 @@ class Translator
* for the same purpose. The identification should not be translated.
* It should be replaced by the name of the language in English
* (e.g. Czech, Japanese, Russian, etc.). It should be equal to
* the identification in language.h.
* the identification in language.cpp.
*/
virtual QCString idLanguage()
{ return "english"; }
......@@ -169,7 +169,7 @@ class Translator
/*! header that is put before the list of member attributes. */
virtual QCString trMemberDataDocumentation()
{
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Field Documentation";
}
......@@ -221,6 +221,7 @@ class Translator
virtual QCString trDefinedIn()
{ return "defined in"; }
// TODO: trVerbatimText is no longer used => remove!
/*! put as in introduction in the verbatim header file of a class.
* parameter f is the name of the include file.
*/
......@@ -242,7 +243,7 @@ class Translator
/*! This is put above each page as a link to the list of annotated classes */
virtual QCString trCompoundList()
{
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Structures";
}
......@@ -263,7 +264,7 @@ class Translator
/*! This is put above each page as a link to all members of compounds. */
virtual QCString trCompoundMembers()
{
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Fields";
}
......@@ -276,7 +277,7 @@ class Translator
/*! This is put above each page as a link to all members of files. */
virtual QCString trFileMembers()
{
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Globals";
}
......@@ -317,7 +318,7 @@ class Translator
virtual QCString trCompoundListDescription()
{
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Here are the data structures with brief descriptions:";
}
......@@ -336,7 +337,7 @@ class Translator
{
result+="documented ";
}
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+="struct and union fields";
}
......@@ -347,7 +348,7 @@ class Translator
result+=" with links to ";
if (extractAll)
{
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+="the struct/union documentation for each field:";
}
......@@ -358,7 +359,7 @@ class Translator
}
else
{
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+="the structures/unions they belong to:";
}
......@@ -376,7 +377,7 @@ class Translator
QCString result="Here is a list of all ";
if (!extractAll) result+="documented ";
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+="functions, variables, defines, enums, and typedefs";
}
......@@ -438,7 +439,7 @@ class Translator
*/
virtual QCString trCompoundIndex()
{
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Structure Index";
}
......@@ -581,7 +582,7 @@ class Translator
*/
virtual QCString trCompounds()
{
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Structures";
}
......@@ -740,9 +741,6 @@ class Translator
return result;
}
/*! \mgroup Class sections
* these are for the member sections of a class, struct or union
*/
virtual QCString trPublicMembers()
{ return "Public Methods"; }
virtual QCString trPublicSlots()
......@@ -763,7 +761,6 @@ class Translator
{ return "Private Slots"; }
virtual QCString trStaticPrivateMembers()
{ return "Static Private Methods"; }
/*! \endmgroup */
/*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put.
......@@ -1021,7 +1018,7 @@ class Translator
}
virtual QCString trPublicAttribs()
{
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Fields";
}
......@@ -1063,7 +1060,7 @@ class Translator
// 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()
{
return "Todo";
......@@ -1224,7 +1221,7 @@ class Translator
/*! Used for Java classes in the summary section of Java packages */
virtual QCString trClasses()
{
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Structures";
}
......
......@@ -51,13 +51,6 @@ class TranslatorChinese : public Translator
{ return "成员函数文档"; }
QCString trMemberDataDocumentation()
{ return "成员数据文档"; }
QCString trGeneratedFrom(const char *s,bool single)
{
QCString result=(QCString)"De documentatie voor deze"+s+
" is gegenereerd op grond van de volgende file";
if (single) result+=":"; else result+="s:";
return result;
}
QCString trMore()
{ return "更多..."; }
QCString trListOfAllMembers()
......
......@@ -17,6 +17,31 @@
* Jens Breitenstein (Jens.Breitenstein@tlc.de)
*/
// Updates:
// --------
// RK (who are you?)
// - Update for "new since 1.1.3" version
//
// 2001/03/23 Jens Seidel (jens.seidel@mathematik.tu-chemnitz.de)
// - fixed typos
// - changed trPageDocumentation() "Seitenbeschreibung" to
// "Zus&auml;tzliche Informationen"
// - removed old trGeneratedFrom()
// - /*! ==> /* (documentation is inherited from translator.h;
// INHERIT_DOCS = YES)
// - Update for "new since 1.2.4" version
//
// Todo:
// - translation of all Config_getBool("OPTIMIZE_OUTPUT_FOR_C")
// strings (see translator.h)
// - translation of "compound"
// - see FIXME for further changes
// - use "ä",... (instead of "&auml;") in \code segments (or is there a bug
// in doxygen-1.2.6)?
// - was ist richtig: "Liste aller dokumentierter Elemente" oder
// "Liste aller dokumentierten Elemente" (aktuell)
// (nach "aller" suchen)
#ifndef TRANSLATOR_DE_H
#define TRANSLATOR_DE_H
......@@ -60,19 +85,6 @@ class TranslatorGerman : public Translator
// header that is put before the list of member attributes.
{ return "Dokumentation der Datenelemente"; }
QCString trGeneratedFrom(const char *s,bool single)
{ // here s is one of " Class", " Struct" or " Union"
// single is true implies a single file
QCString result=(QCString)"Die Dokumentation f&uuml;r diese"+s+
" wurde aus ";
if (single)
result+="folgender Datei erzeugt:";
else
result+="folgenden Dateien erzeugt:";
return result;
}
QCString trMore()
// this is the text of a link put after brief descriptions.
{ return "Mehr..."; }
......@@ -121,34 +133,44 @@ class TranslatorGerman : public Translator
"Include-Datei "+f+"."; }
// quick reference sections
QCString trModules()
// This is put above each page as a link to the list of all groups of
// compounds or files (see the \group command).
{ return "Module"; }
QCString trClassHierarchy()
// This is put above each page as a link to the class hierarchy
{ return "Klassenhierarchie"; }
QCString trCompoundList()
// This is put above each page as a link to the list of annotated classes
{ return "&Uuml;bersicht"; }
QCString trFileList()
// This is put above each page as a link to the list of documented files
{ return "Auflistung der Dateien"; }
QCString trHeaderFiles()
// This is put above each page as a link to the list of all verbatim headers
{ return "Auflistung der Header-Dateien"; }
QCString trCompoundMembers()
// This is put above each page as a link to all members of compounds.
{ return "Element&uuml;bersicht"; }
QCString trFileMembers()
// This is put above each page as a link to all members of files.
{ return "Datei-Elemente"; }
QCString trRelatedPages()
// This is put above each page as a link to all related pages.
{ return "Zus&auml;tzliche Informationen"; }
QCString trExamples()
// This is put above each page as a link to all examples.
{ return "Beispiele"; }
QCString trSearch()
// This is put above each page as a link to the search engine.
{ return "Suchen"; }
......@@ -158,6 +180,7 @@ class TranslatorGerman : public Translator
{ return "Die Liste der Ableitungen ist -mit Einschr&auml;nkungen- "
"alphabetisch sortiert:";
}
QCString trFileListDescription(bool extractAll)
// This is an introduction to the list with all files.
{
......@@ -166,88 +189,129 @@ class TranslatorGerman : public Translator
result+="Dateien mit einer Kurzbeschreibung:";
return result;
}
QCString trCompoundListDescription()
// This is an introduction to the annotated compound list
{ return "Hier folgt die Aufz&auml;hlung aller Klassen, Strukturen "
"und Varianten mit einer Kurzbeschreibung:";
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
return "Hier folgt die Aufz&auml;hlung aller Datenstrukturen "
"mit einer Kurzbeschreibung:";
else
return "Hier folgt die Aufz&auml;hlung aller Klassen, Strukturen "
"und Varianten mit einer Kurzbeschreibung:"; // FIXME: "interfaces" = ??
}
QCString trCompoundMembersDescription(bool extractAll)
// This is an introduction to the page with all class members
{
QCString result="Hier folgt die Aufz&auml;hlung aller ";
if (!extractAll) result+="dokumentierten ";
result+="Klassenelemente mit Verweisen auf ";
if (extractAll) result+="die Klassendokumentation zu jedem Element:";
else result+="die zugeh&ouml;rigen Klassen:";
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
result+="Strukturen und Varianten mit Verweisen auf ";
else
result+="Klassenelemente mit Verweisen auf ";
if (extractAll) {
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
result+="die struct/union Dokumentation zu jedem Element:";
else
result+="die Klassendokumentation zu jedem Element:";
} else {
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
result+="die zugeh&ouml;rigen Elemente:";
else
result+="die zugeh&ouml;rigen Klassen:";
}
return result;
}
QCString trFileMembersDescription(bool extractAll)
// This is an introduction to the page with all file members
{
QCString result="Hier folgt die Aufz&auml;hlung aller ";
if (!extractAll) result+="dokumentierter ";
if (!extractAll) result+="dokumentierten ";
result+="Dateielemente mit Verweisen auf ";
if (extractAll) result+="die Dateidokumentation zu jedem Element:";
else result+="die zugeh&ouml;rigen Dateien:";
return result;
}
QCString trHeaderFilesDescription()
// This is an introduction to the page with the list of all header files
{ return "Hier folgen die Headerdateien, welche die API definieren:"; }
QCString trExamplesDescription()
// This is an introduction to the page with the list of all examples
{ return "Hier folgt eine Liste mit allen Beispielen:"; }
QCString trRelatedPagesDescription()
// This is an introduction to the page with the list of related pages
{ return "Hier folgt eine Liste mit zusammengeh&ouml;rigen Themengebieten:"; }
QCString trModulesDescription()
// This is an introduction to the page with the list of class/file groups
{ return "Hier folgt die Aufz&auml;hlung aller Module:"; }
QCString trNoDescriptionAvailable()
// This sentences is used in the annotated class/file lists if no brief
// description is given.
{ return "Keine Beschreibung verf&uuml;gbar"; }
// index titles (the project name is prepended for these)
QCString trDocumentation()
// This is used in HTML as the title of index.html.
{ return "Dokumentation"; }
QCString trModuleIndex()
// This is used in LaTeX as the title of the chapter with the
// index of all groups.
{ return "Modul-Verzeichnis"; }
QCString trHierarchicalIndex()
// This is used in LaTeX as the title of the chapter with the
// class hierarchy.
{ return "Hierarchie-Verzeichnis"; }
QCString trCompoundIndex()
// This is used in LaTeX as the title of the chapter with the
// annotated compound index
{ return "Compound-Verzeichnis"; }
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
return "Datenstruktur-Verzeichnis";
else
return "Datenstruktur-Verzeichnis"; // FIXME: war compound
}
QCString trFileIndex()
// This is used in LaTeX as the title of the chapter with the
// list of all files.
{ return "Datei-Verzeichnis"; }
QCString trModuleDocumentation()
// This is used in LaTeX as the title of the chapter containing
// the documentation of all groups.
{ return "Modul-Dokumentation"; }
QCString trClassDocumentation()
// This is used in LaTeX as the title of the chapter containing
// the documentation of all classes, structs and unions.
{ return "Klassen-Dokumentation"; }
QCString trFileDocumentation()
// This is used in LaTeX as the title of the chapter containing
// the documentation of all files.
{ return "Datei-Dokumentation"; }
QCString trExampleDocumentation()
// This is used in LaTeX as the title of the chapter containing
// the documentation of all examples.
{ return "Dokumentation der Beispiele"; }
QCString trPageDocumentation()
// This is used in LaTeX as the title of the chapter containing
// the documentation of all related pages.
{ return "Seitenbeschreibung"; }
{ return "Zus&auml;tzliche Informationen"; }
QCString trReferenceManual()
// This is used in LaTeX as the title of the document
{ return "Nachschlagewerk"; }
......@@ -256,26 +320,32 @@ class TranslatorGerman : public Translator
// This is used in the documentation of a file as a header before the
// list of defines
{ return "Makrodefinitionen"; }
QCString trFuncProtos()
// This is used in the documentation of a file as a header before the
// list of function prototypes
{ return "Funktionsprototypen"; }
QCString trTypedefs()
// This is used in the documentation of a file as a header before the
// list of typedefs
{ return "Typendefinitionen"; }
QCString trEnumerations()
// This is used in the documentation of a file as a header before the
// list of enumerations
{ return "Aufz&auml;hlungen"; }
QCString trFunctions()
// This is used in the documentation of a file as a header before the
// list of (global) functions
{ return "Funktionen"; }
QCString trVariables()
// This is used in the documentation of a file as a header before the
// list of (global) variables
{ return "Variablen"; }
QCString trEnumerationValues()
// This is used in the documentation of a file as a header before the
// list of (global) variables
......@@ -289,34 +359,42 @@ class TranslatorGerman : public Translator
// This is used in the documentation of a file before the list of
// documentation blocks for defines
{ return "Makro-Dokumentation"; }
QCString trFunctionPrototypeDocumentation()
// This is used in the documentation of a file/namespace before the list
// of documentation blocks for function prototypes
{ return "Funktionsprototypen Dokumentation"; }
QCString trTypedefDocumentation()
// This is used in the documentation of a file/namespace before the list
// of documentation blocks for typedefs
{ return "Dokumentation der benutzerdefinerten Typen"; }
QCString trEnumerationTypeDocumentation()
// This is used in the documentation of a file/namespace before the list
// of documentation blocks for enumeration types
{ return "Dokumentation der Aufz&auml;hlungstypen"; }
QCString trEnumerationValueDocumentation()
// This is used in the documentation of a file/namespace before the list
// of documentation blocks for enumeration values
{ return "Dokumentation des Wertebereiches der Aufz&auml;hlungstypen"; }
QCString trFunctionDocumentation()
// This is used in the documentation of a file/namespace before the list
// of documentation blocks for functions
{ return "Dokumentation der Funktionen"; }
QCString trVariableDocumentation()
// This is used in the documentation of a file/namespace before the list
// of documentation blocks for variables
{ return "Variablen-Dokumentation"; }
QCString trCompounds()
// This is used in the documentation of a file/namespace/group before
// the list of links to documented compounds
{ return "&Uuml;bersicht"; }
QCString trFiles()
// This is used in the documentation of a group before the list of
// links to documented files
......@@ -329,6 +407,7 @@ class TranslatorGerman : public Translator
result+=(QCString)" von";
return result;
}
QCString trWrittenBy()
{
return "geschrieben von";
......@@ -343,55 +422,69 @@ class TranslatorGerman : public Translator
QCString trForInternalUseOnly()
// this text is generated when the \internal command is used.
{ return "Nur f&uuml;r den internen Gebrauch."; }
QCString trReimplementedForInternalReasons()
// this text is generated when the \reimp command is used.
{ return "Aus internen Gr&uuml;nden neu implementiert. "
"Das API wird davon nicht ber&uuml;hrt.";
}
"Das API wird davon nicht ber&uuml;hrt."; }
QCString trWarning()
// this text is generated when the \warning command is used.
{ return "Warnung"; }
QCString trBugsAndLimitations()
// this text is generated when the \bug command is used.
{ return "Fehler und Einschr&auml;nkungen"; }
QCString trVersion()
// this text is generated when the \version command is used.
{ return "Version"; }
QCString trDate()
// this text is generated when the \date command is used.
{ return "Datum"; }
QCString trAuthors()
// this text is generated when the \author command is used.
{ return "Autor(en)"; }
QCString trReturns()
// this text is generated when the \return command is used.
{ return "R&uuml;ckgabe"; }
QCString trSeeAlso()
// this text is generated when the \sa command is used.
{ return "Siehe auch"; }
QCString trParameters()
// this text is generated when the \param command is used.
{ return "Parameter"; }
QCString trExceptions()
// this text is generated when the \exception command is used.
{ return "Ausnahmebehandlung"; }
QCString trGeneratedBy()
// this text is used in the title page of a LaTeX document.
{ return "Erzeugt von"; }
// new since 0.49-990307
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990307
//////////////////////////////////////////////////////////////////////////
QCString trNamespaceList()
// used as the title of page containing all the index of all namespaces.
{ return "Liste aller Namensbereiche"; }
QCString trNamespaceListDescription(bool extractAll)
// used as an introduction to the namespace list
{
QCString result="Lister aller ";
if (!extractAll) result+="dokumentierter ";
QCString result="Liste aller ";
if (!extractAll) result+="dokumentierten ";
result+="Namensbereiche mit Kurzbeschreibung:";
return result;
}
QCString trFriends()
// used in the class documentation as a header before the list of all
// friends of a class
......@@ -427,6 +520,7 @@ class TranslatorGerman : public Translator
result+="referenz";
return result;
}
QCString trFileReference(const char *fileName)
// used as the title of the HTML page of a file
{
......@@ -434,6 +528,7 @@ class TranslatorGerman : public Translator
result+=" Dateireferenz";
return result;
}
QCString trNamespaceReference(const char *namespaceName)
// used as the title of the HTML page of a namespace
{
......@@ -445,24 +540,34 @@ class TranslatorGerman : public Translator
// these are for the member sections of a class, struct or union
QCString trPublicMembers()
{ return "&Ouml;ffentliche Datenelemente"; }
QCString trPublicSlots()
{ return "&Ouml;ffentliche Slots"; }
QCString trSignals()
{ return "Signale"; }
QCString trStaticPublicMembers()
{ return "&Ouml;ffentliche, statische Datenelemente"; }
QCString trProtectedMembers()
{ return "Gesch&uuml;tzte Datenelemente"; }
QCString trProtectedSlots()
{ return "Gesch&uuml;tzte Slots"; }
QCString trStaticProtectedMembers()
{ return "Gesch&uuml;tzte, statische Datenelemente"; }
QCString trPrivateMembers()
{ return "Private Datenelemente"; }
QCString trPrivateSlots()
{ return "Private Slots"; }
QCString trStaticPrivateMembers()
{ return "Private, statische Datenelemente"; }
// end of member sections
QCString trWriteList(int numEntries)
......@@ -483,7 +588,7 @@ class TranslatorGerman : public Translator
if (i<numEntries-2) // not the fore last entry
result+=", ";
else // the fore last entry
result+=", und ";
result+=" und ";
}
}
return result;
......@@ -495,18 +600,21 @@ class TranslatorGerman : public Translator
{
return "Abgeleitet von "+trWriteList(numEntries)+".";
}
QCString trInheritedByList(int numEntries)
// used in class documentation to produce a list of super classes,
// if class diagrams are disabled.
{
return "Basisklasse f&uuml;r "+trWriteList(numEntries)+".";
}
QCString trReimplementedFromList(int numEntries)
// used in member documentation blocks to produce a list of
// members that are hidden by this one.
{
return "Implementiert von "+trWriteList(numEntries)+".";
return "Erneute Implementation von "+trWriteList(numEntries)+".";
}
QCString trReimplementedInList(int numEntries)
{
// used in member documentation blocks to produce a list of
......@@ -517,11 +625,12 @@ class TranslatorGerman : public Translator
QCString trNamespaceMembers()
// This is put above each page as a link to all members of namespaces.
{ return "Elemente eines Namensbereiches"; }
QCString trNamespaceMemberDescription(bool extractAll)
// This is an introduction to the page with all namespace members
{
QCString result="Hier folgt die Aufz&auml;hlung aller ";
if (!extractAll) result+="dokumentierter ";
if (!extractAll) result+="dokumentierten ";
result+="Namensbereichselemente mit Verweisen auf ";
if (extractAll)
result+="die Namensbereichsdokumentation f&uuml;r jedes Element:";
......@@ -529,21 +638,22 @@ class TranslatorGerman : public Translator
result+="die zugeh&ouml;rigen Dateien:";
return result;
}
QCString trNamespaceIndex()
// This is used in LaTeX as the title of the chapter with the
// index of all namespaces.
{ return "Verzeichnis der Namensbereiche"; }
QCString trNamespaceDocumentation()
// This is used in LaTeX as the title of the chapter containing
// the documentation of all namespaces.
{ return "Dokumentation der Namensbereiche"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990522
//////////////////////////////////////////////////////////////////////////
/*! This is used in the documentation before the list of all
/* This is used in the documentation before the list of all
* namespaces in a file.
*/
virtual QCString trNamespaces()
......@@ -553,7 +663,7 @@ class TranslatorGerman : public Translator
// new since 0.49-990728
//////////////////////////////////////////////////////////////////////////
/*! This is put at the bottom of a class documentation page and is
/* This is put at the bottom of a class documentation page and is
* followed by a list of files that were used to generate the page.
*/
virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
......@@ -574,7 +684,7 @@ class TranslatorGerman : public Translator
return result;
}
/*! This is in the (quick) index as a link to the alphabetical compound
/* This is in the (quick) index as a link to the alphabetical compound
* list.
*/
virtual QCString trAlphabeticalList()
......@@ -584,16 +694,16 @@ class TranslatorGerman : public Translator
// new since 0.49-990901
//////////////////////////////////////////////////////////////////////////
/*! This is used as the heading text for the retval command. */
/* This is used as the heading text for the retval command. */
virtual QCString trReturnValues()
{ return "R&uuml;ckgabewerte"; }
/*! This is in the (quick) index as a link to the main page (index.html)
/* This is in the (quick) index as a link to the main page (index.html)
*/
virtual QCString trMainPage()
{ return "Hauptseite"; }
/*! This is used in references to page that are put in the LaTeX
/* This is used in references to page that are put in the LaTeX
* documentation. It should be an abbreviation of the word page.
*/
virtual QCString trPageAbbreviation()
......@@ -607,10 +717,12 @@ class TranslatorGerman : public Translator
{
return "Quellen";
}
virtual QCString trDefinedAtLineInSourceFile()
{
return "Definiert in Zeile @0 der Datei @1.";
}
virtual QCString trDefinedInSourceFile()
{
return "Definiert in Datei @0.";
......@@ -629,69 +741,82 @@ class TranslatorGerman : public Translator
// new since 1.0.0
//////////////////////////////////////////////////////////////////////////
/*! this text is put before a collaboration diagram */
/* this text is put before a collaboration diagram */
virtual QCString trCollaborationDiagram(const char *clName)
{
return (QCString)"Zusammengeh&ouml;rigkeiten von "+clName+":";
}
//RK: Apparently Jens missed the Umlaut here. Corrected that.
/*! this text is put before an include dependency graph */
/* this text is put before an include dependency graph */
virtual QCString trInclDepGraph(const char *fName)
{
return (QCString)"Include-Abh&auml;ngigkeitsdiagramm f&uuml;r "+fName+":";
}
/*! header that is put before the list of constructor/destructors. */
/* header that is put before the list of constructor/destructors. */
virtual QCString trConstructorDocumentation()
{
return "Beschreibung der Konstruktoren und Destruktoren";
}
/*! 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()
{
return "gehe zum Quellcode dieser Datei";
}
/*! Used in the file sources to point to the corresponding documentation. */
/* Used in the file sources to point to the corresponding documentation. */
virtual QCString trGotoDocumentation()
{
return "gehe zur Dokumentation dieser Datei";
}
/*! Text for the \pre command */
/* Text for the \pre command */
virtual QCString trPrecondition()
{
return "Vorbedingung";
}
/*! Text for the \post command */
/* Text for the \post command */
virtual QCString trPostcondition()
{
return "Nachbedingung";
}
/*! Text for the \invariant command */
/* Text for the \invariant command */
virtual QCString trInvariant()
{
return "Invariant";
}
/*! Text shown before a multi-line variable/enum initialization */
/* Text shown before a multi-line variable/enum initialization */
virtual QCString trInitialValue()
{
return "Initialisierung:";
}
/*! Text used the source code in the file index */
/* Text used the source code in the file index */
virtual QCString trCode()
{
return "code";
}
virtual QCString trGraphicalHierarchy()
{
return "Grafische Darstellung der Klassenhierarchie";
}
virtual QCString trGotoGraphicalHierarchy()
{
return "gehe zur grafischen Darstellung der Klassenhierarchie";
}
virtual QCString trGotoTextualHierarchy()
{
return "gehe zur textbasierten Darstellung der Klassenhierarchie";
}
virtual QCString trPageIndex()
{
return "Seitenindex";
......@@ -711,34 +836,42 @@ class TranslatorGerman : public Translator
{
return "&Ouml;ffentliche Typen";
}
virtual QCString trPublicAttribs()
{
return "&Ouml;ffentliche Attribute";
}
virtual QCString trStaticPublicAttribs()
{
return "Statische &ouml;ffentliche Attribute";
}
virtual QCString trProtectedTypes()
{
return "Gesch&uuml;tzte Typen";
}
virtual QCString trProtectedAttribs()
{
return "Gesch&uuml;tzte Attribute";
}
virtual QCString trStaticProtectedAttribs()
{
return "Statische gesch&uuml;tzte Attribute";
}
virtual QCString trPrivateTypes()
{
return "Private Typen";
}
virtual QCString trPrivateAttribs()
{
return "Private Attribute";
}
virtual QCString trStaticPrivateAttribs()
{
return "Statische private Attribute";
......@@ -749,12 +882,13 @@ class TranslatorGerman : public Translator
//////////////////////////////////////////////////////////////////////////
//RK: Started from here
/*! 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()
{
return "Noch zu erledigen";
}
/*! Used as the header of the todo list */
/* Used as the header of the todo list */
virtual QCString trTodoList()
{
return "Liste der zu erledigenden Dinge";
......@@ -768,19 +902,23 @@ class TranslatorGerman : public Translator
{
return "Wird benutzt von";
}
virtual QCString trRemarks()
{
return "Bemerkungen";
}
virtual QCString trAttention()
{
return "Achtung";
}
virtual QCString trInclByDepGraph()
{
return "Dieser Graph zeigt, welche Datei direkt oder "
"indirekt diese Datei enth&auml;lt:";
}
virtual QCString trSince()
{
return "Seit";
......@@ -790,12 +928,13 @@ class TranslatorGerman : public Translator
// new since 1.1.5
//////////////////////////////////////////////////////////////////////////
/*! title of the graph legend page */
/* title of the graph legend page */
virtual QCString trLegendTitle()
{
return "Erkl&auml;rung des Graphen";
}
/*! page explaining how the dot graph's should be interpreted */
/* page explaining how the dot graph's should be interpreted */
virtual QCString trLegendDocs()
{
return
......@@ -834,7 +973,7 @@ class TranslatorGerman : public Translator
"Die Rechtecke in obigem Graphen bedeuten:\n"
"<ul>\n"
"<li>Ein schwarz gef&uuml;lltes Rechteck stellt die Struktur oder "
"Klasse dar, f&uuml;r die der Graph erzeug wurde.\n"
"Klasse dar, f&uuml;r die der Graph erzeugt wurde.\n"
"<li>Ein Rechteck mit schwarzem Rahmen kennzeichnet eine dokumentierte "
" Struktur oder Klasse.\n"
"<li>Ein Rechteck mit grauem Rahmen kennzeichnet eine undokumentierte "
......@@ -856,7 +995,8 @@ class TranslatorGerman : public Translator
"an der Pfeilspitze zugegriffen werden kann. \n"
"</ul>\n";
}
/*! text for the link to the legend page */
/* text for the link to the legend page */
virtual QCString trLegend()
{
return "Legende";
......@@ -866,12 +1006,13 @@ class TranslatorGerman : public Translator
// new since 1.2.0
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a test item */
/* Used as a marker that is put before a test item */
virtual QCString trTest()
{
return "Test";
}
/*! Used as the header of the test list */
/* Used as the header of the test list */
virtual QCString trTestList()
{
return "Test-Liste";
......@@ -881,7 +1022,7 @@ class TranslatorGerman : public Translator
// new since 1.2.1
//////////////////////////////////////////////////////////////////////////
/*! Used as a section header for KDE-2 IDL methods */
/* Used as a section header for KDE-2 IDL methods */
virtual QCString trDCOPMethods()
{
return "DCOP Methoden";
......@@ -891,18 +1032,93 @@ class TranslatorGerman : public Translator
// new since 1.2.2
//////////////////////////////////////////////////////////////////////////
/*! Used as a section header for IDL properties */
/* Used as a section header for IDL properties */
virtual QCString trProperties()
{
return "Eigenschaften";
}
/*! Used as a section header for IDL property documentation */
/* Used as a section header for IDL property documentation */
virtual QCString trPropertyDocumentation()
{
return "Dokumentation der Eigenschaften";
}
};
//////////////////////////////////////////////////////////////////////////
// new since 1.2.4
//////////////////////////////////////////////////////////////////////////
/* Used for Java interfaces in the summary section of Java packages */
virtual QCString trInterfaces()
{
return "Schnittstellen";
}
/* Used for Java classes in the summary section of Java packages */
virtual QCString trClasses()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Datenstrukturen";
}
else
{
return "Klassen";
}
}
/* Used as the title of a Java package */
virtual QCString trPackage(const char *name)
{
return (QCString)"Package "+name;
}
/* Title of the package index page */
virtual QCString trPackageList()
{
return "Package Liste";
}
/* The description of the package index page */
virtual QCString trPackageListDescription()
{
return "Hier folgen die packages mit einer Kurzbeschreibung (wenn verfügbar):";
}
/* The link name in the Quick links header for each page */
virtual QCString trPackages()
{
return "Packages";
}
/* Used as a chapter title for Latex & RTF output */
virtual QCString trPackageDocumentation()
{
return "Package Dokumentation";
}
/* Text shown before a multi-line define */
virtual QCString trDefineValue()
{
return "Wert:";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.5
//////////////////////////////////////////////////////////////////////////
/* Used as a marker that is put before a \bug item */
virtual QCString trBug()
{
return "Bug";
}
/* Used as the header of the bug list */
virtual QCString trBugList()
{
return "Bug Liste";
}
};
#endif
......@@ -76,16 +76,6 @@ class TranslatorCroatian : public Translator
{ return "Dokumentacija funkcija"; }
QCString trMemberDataDocumentation()
{ return "Documentacija varijabli"; }
QCString trGeneratedFrom(const char *s,bool single)
{
QCString result= (QCString)"Dokumentacija za "+s+
"je generirana iz ";
if (single)
result+= "datoteke :";
else
result+= "slijedeih datoteka:";
return decode(result);
}
QCString trMore()
{ return decode("Opirnije..."); }
QCString trListOfAllMembers()
......
......@@ -55,14 +55,6 @@ class TranslatorNorwegian : public Translator
QCString trMemberDataDocumentation()
{ return "Dokumentasjon over datamedlemmer"; }
QCString trGeneratedFrom(const char *s,bool single)
{
QCString result=(QCString)"Dokumentasjonen for denne"+s+
" er generert fra flgende fil";
if (single) result+=":"; else result+="er:";
return result;
}
QCString trMore()
{ return "Mer..."; }
......
......@@ -62,7 +62,7 @@ class TranslatorRussian : public Translator
}
QCString trMemberDataDocumentation()
{
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return " ";
}
......@@ -123,7 +123,7 @@ class TranslatorRussian : public Translator
}
QCString trCompoundList()
{
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return " ";
}
......@@ -143,7 +143,7 @@ class TranslatorRussian : public Translator
}
QCString trCompoundMembers()
{
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return " ";
}
......@@ -154,7 +154,7 @@ class TranslatorRussian : public Translator
}
QCString trFileMembers()
{
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return " ";
}
......@@ -192,7 +192,7 @@ class TranslatorRussian : public Translator
}
QCString trCompoundListDescription()
{
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return " : ";
}
......@@ -219,7 +219,7 @@ class TranslatorRussian : public Translator
QCString result=" ";
if (!extractAll) result+=" ";
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+=", , , "
" ";
......@@ -269,7 +269,7 @@ class TranslatorRussian : public Translator
}
QCString trCompoundIndex()
{
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return " ";
}
......@@ -370,7 +370,7 @@ class TranslatorRussian : public Translator
}
QCString trCompounds()
{
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return " ";
}
......@@ -730,7 +730,7 @@ class TranslatorRussian : public Translator
}
QCString trPublicAttribs()
{
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C"))
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return " ";
}
......
......@@ -93,14 +93,6 @@ class TranslatorSwedish : public Translator
QCString trMemberDataDocumentation()
{ return "Dokumentation ver datamedlemmar"; }
QCString trGeneratedFrom(const char *s,bool single)
{
QCString result=(QCString)"Dokumentationen fr denna"+s+
" r skapad utifrn fljande fil";
if (single) result+=":"; else result+="er:";
return result;
}
QCString trMore()
{ return "Mer..."; }
......
......@@ -62,13 +62,6 @@ class TranslatorSlovene : public Translator
{ return "Opis metod"; }
QCString trMemberDataDocumentation()
{ return "Opis atributov"; }
QCString trGeneratedFrom(const char *s,bool single)
{
QCString result=(QCString)"Dokumentacija za "+s+
"je generirana iz ";
if (single) result+="datoteke :"; else result+="naslednih datotek:";
return result;
}
QCString trMore()
{ return "..."; }
QCString trListOfAllMembers()
......
/******************************************************************************
/*****************************************************************************
*
*
*
......@@ -280,8 +280,8 @@ void writePageRef(OutputDocInterface &od,const char *cn,const char *mn)
od.disable(OutputGenerator::Html);
od.disable(OutputGenerator::Man);
if (Config::instance()->getBool("PDF_HYPERLINKS")) od.disable(OutputGenerator::Latex);
if (Config::instance()->getBool("RTF_HYPERLINKS")) od.disable(OutputGenerator::RTF);
if (Config_getBool("PDF_HYPERLINKS")) od.disable(OutputGenerator::Latex);
if (Config_getBool("RTF_HYPERLINKS")) od.disable(OutputGenerator::RTF);
od.startPageRef();
od.docify(theTranslator->trPageAbbreviation());
od.endPageRef(cn,mn);
......@@ -301,11 +301,11 @@ QCString generateMarker(int id)
}
/*! strip part of \a path if it matches
* one of the paths in the Config::instance()->getList("STRIP_FROM_PATH") list
* one of the paths in the Config_getList("STRIP_FROM_PATH") list
*/
QCString stripFromPath(const QCString &path)
{
const char *s=Config::instance()->getList("STRIP_FROM_PATH").first();
const char *s=Config_getList("STRIP_FROM_PATH").first();
while (s)
{
QCString prefix = s;
......@@ -313,7 +313,7 @@ QCString stripFromPath(const QCString &path)
{
return path.right(path.length()-prefix.length());
}
s = Config::instance()->getList("STRIP_FROM_PATH").next();
s = Config_getList("STRIP_FROM_PATH").next();
}
return path;
}
......@@ -812,7 +812,7 @@ QCString fileToString(const char *name,bool filter)
err("Error: file `%s' not found\n",name);
return "";
}
if (Config::instance()->getString("INPUT_FILTER").isEmpty() || !filter)
if (Config_getString("INPUT_FILTER").isEmpty() || !filter)
{
f.setName(name);
fileOpened=f.open(IO_ReadOnly);
......@@ -832,11 +832,11 @@ QCString fileToString(const char *name,bool filter)
}
else // filter the input
{
QCString cmd=Config::instance()->getString("INPUT_FILTER")+" "+name;
QCString cmd=Config_getString("INPUT_FILTER")+" "+name;
FILE *f=popen(cmd,"r");
if (!f)
{
err("Error: could not execute filter %s\n",Config::instance()->getString("INPUT_FILTER").data());
err("Error: could not execute filter %s\n",Config_getString("INPUT_FILTER").data());
return "";
}
const int bSize=4096;
......@@ -1761,7 +1761,7 @@ bool getDefs(const QCString &scName,const QCString &memberName,
//printf(" >Searching for arbitrary member\n");
for (mmli.toFirst();(mmd=mmli.current());++mmli)
{
if (//(mmd->protection()!=Private || Config::instance()->getBool("EXTRACT_PRIVATE")) &&
if (//(mmd->protection()!=Private || Config_getBool("EXTRACT_PRIVATE")) &&
//(
//mmd->hasDocumentation()
/*mmd->detailsAreVisible()*/
......@@ -2073,7 +2073,7 @@ bool generateRef(OutputDocInterface &od,const char *scName,
{
od.writeObjectLink(cd->getReference(),
cd->getOutputFileBase(),0,linkText);
if (!cd->isReference() /*&& !Config::instance()->getBool("PDF_HYPERLINKS")*/)
if (!cd->isReference() /*&& !Config_getBool("PDF_HYPERLINKS")*/)
{
writePageRef(od,cd->getOutputFileBase(),0);
}
......@@ -2082,7 +2082,7 @@ bool generateRef(OutputDocInterface &od,const char *scName,
{
od.writeObjectLink(nd->getReference(),
nd->getOutputFileBase(),0,linkText);
if (!nd->getReference() /*&& !Config::instance()->getBool("PDF_HYPERLINKS")*/)
if (!nd->getReference() /*&& !Config_getBool("PDF_HYPERLINKS")*/)
{
writePageRef(od,nd->getOutputFileBase(),0);
}
......@@ -2279,10 +2279,10 @@ bool generateLink(OutputDocInterface &od,const char *clName,
}
else if ((pi=Doxygen::exampleSDict->find(linkRef))) // link to an example
{
od.writeObjectLink(0,convertFileName(pi->name)+"-example",0,lt);
od.writeObjectLink(0,convertNameToFile(pi->name+"-example"),0,lt);
if (!pi->isReference())
{
writePageRef(od,convertFileName(pi->name)+"-example",0);
writePageRef(od,convertNameToFile(pi->name+"-example"),0);
}
return TRUE;
}
......@@ -2359,33 +2359,6 @@ QCString substituteClassNames(const QCString &s)
}
#endif
//----------------------------------------------------------------------
QCString convertFileName(const QCString &s)
{
QCString result;
int i,l=s.length();
for (i=0;i<l;i++)
{
if (s.at(i)!='/' && s.at(i)!='.')
{
if (Config::instance()->getBool("CASE_SENSE_NAMES"))
{
result+=s[i];
}
else
{
result+=tolower(s[i]);
}
}
else
{
result+="_";
}
}
return result;
}
//----------------------------------------------------------------------
// substitute all occurences of `src' in `s' by `dst'
......@@ -2487,15 +2460,15 @@ QCString substituteKeywords(const QCString &s,const char *title)
result = substitute(result,"$datetime",dateToString(TRUE));
result = substitute(result,"$date",dateToString(FALSE));
result = substitute(result,"$doxygenversion",versionString);
result = substitute(result,"$projectname",Config::instance()->getString("PROJECT_NAME"));
result = substitute(result,"$projectnumber",Config::instance()->getString("PROJECT_NUMBER"));
result = substitute(result,"$projectname",Config_getString("PROJECT_NAME"));
result = substitute(result,"$projectnumber",Config_getString("PROJECT_NUMBER"));
return result;
}
//----------------------------------------------------------------------
/*! Returns the character index within \a name of the first prefix
* in Config::instance()->getList("IGNORE_PREFIX") that matches \a name at the left hand side,
* in Config_getList("IGNORE_PREFIX") that matches \a name at the left hand side,
* or zero if no match was found
*/
int getPrefixIndex(const QCString &name)
......@@ -2503,7 +2476,7 @@ int getPrefixIndex(const QCString &name)
int ni = name.findRev("::");
if (ni==-1) ni=0; else ni+=2;
//printf("getPrefixIndex(%s) ni=%d\n",name.data(),ni);
char *s = Config::instance()->getList("IGNORE_PREFIX").first();
char *s = Config_getList("IGNORE_PREFIX").first();
while (s)
{
const char *ps=s;
......@@ -2514,7 +2487,7 @@ int getPrefixIndex(const QCString &name)
{
return ni+i;
}
s = Config::instance()->getList("IGNORE_PREFIX").next();
s = Config_getList("IGNORE_PREFIX").next();
}
return ni;
}
......@@ -2562,35 +2535,106 @@ bool hasVisibleRoot(BaseClassList *bcl)
return FALSE;
}
QCString convertNameToFile(const char *name,bool allowDots)
//----------------------------------------------------------------------
#if 0
QCString convertFileName(const QCString &s)
{
if (Config_getBool("SHORT_NAMES"))
{
printf("convertFileName(%s)\n",s.data());
return convertNameToFile(s,FALSE);
}
QCString result;
char c;
const char *p=name;
while ((c=*p++)!=0)
{
switch(c)
{
case ':': result+="_"; break;
case '<': result+="_lt"; break;
case '>': result+="_gt"; break;
case '*': result+="_ast"; break;
case '&': result+="_amp"; break;
case '|': result+="_p_"; break;
case '!': result+="_e_"; break;
case ',': result+="_x_"; break;
case '.': if (allowDots) result+="."; else result+="_"; break;
case ' ': break;
default:
if (Config::instance()->getBool("CASE_SENSE_NAMES"))
result+=c;
else
result+=tolower(c);
break;
int i,l=s.length();
for (i=0;i<l;i++)
{
if (s.at(i)!='/' && s.at(i)!='.')
{
if (Config_getBool("CASE_SENSE_NAMES"))
{
result+=s[i];
}
else
{
result+=tolower(s[i]);
}
}
else
{
result+="_";
}
}
return result;
}
#endif
/*! This function determines the file name on disk of an item
* given its name, which could be a class name with templete
* arguments, so special characters need to be escaped.
*/
QCString convertNameToFile(const char *name,bool allowDots)
{
if (Config_getBool("SHORT_NAMES"))
{
static QDict<void> usedNames(10007);
static int count=1;
void *value=usedNames.find(name);
int num;
if (value==0)
{
usedNames.insert(name,(void *)count);
num = count++;
}
else
{
num = (int)value;
}
QCString result;
result.sprintf("a%05d",num);
return result;
}
else // long names
{
QCString result;
char c;
const char *p=name;
while ((c=*p++)!=0)
{
switch(c)
{
case '_': result+="__"; break;
case '-': result+="-"; break;
case ':': result+="_1"; break;
case '/': result+="_2"; break;
case '<': result+="_3"; break;
case '>': result+="_4"; break;
case '*': result+="_5"; break;
case '&': result+="_6"; break;
case '|': result+="_7"; break;
case '.': if (allowDots) result+="."; else result+="_8"; break;
case '!': result+="_9"; break;
case ',': result+="_00"; break;
case ' ': result+="_01"; break;
default:
if (Config_getBool("CASE_SENSE_NAMES") || !isupper(c))
{
result+=c;
}
else
{
result+="_";
result+=tolower(c);
}
break;
}
}
return result;
}
}
/*! Input is a scopeName, output is the scopename split into a
* namespace part (as large as possible) and a classname part.
......
......@@ -97,7 +97,7 @@ extern bool matchArguments(ArgumentList *,ArgumentList *,
NamespaceList *usingList=0);
extern void mergeArguments(ArgumentList *,ArgumentList *);
extern QCString substituteClassNames(const QCString &s);
extern QCString convertFileName(const QCString &s);
//extern QCString convertFileName(const QCString &s);
extern QCString substitute(const char *s,const char *src,const char *dst);
extern QCString resolveDefines(const char *n);
extern ClassDef *getClass(const char *key);
......
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