Commit c0848481 authored by dimitri's avatar dimitri

Doxygen-1.2.6-20010408

parent 790edce0
...@@ -53,7 +53,7 @@ WARN_LOGFILE = ...@@ -53,7 +53,7 @@ WARN_LOGFILE =
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
INPUT = src INPUT = src
FILE_PATTERNS = *.h \ FILE_PATTERNS = *.h \
*.cpp \ *.cpp
RECURSIVE = NO RECURSIVE = NO
EXCLUDE = src/code.cpp \ EXCLUDE = src/code.cpp \
src/config.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. 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. Please read INSTALL for compilation instructions.
...@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at ...@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
Enjoy, 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. * Copyright (C) 1997-2001 by Dimitri van Heesch.
* *
......
/****************************************************************************** /******************************************************************************
* *
* * $Id$
* *
* Copyright (C) 1997-2001 by Dimitri van Heesch. * Copyright (C) 1997-2001 by Dimitri van Heesch.
* *
......
...@@ -191,7 +191,7 @@ Doxygen. Unrecognized commands are treated as normal text. ...@@ -191,7 +191,7 @@ Doxygen. Unrecognized commands are treated as normal text.
Indicates that a comment block contains documentation for a Indicates that a comment block contains documentation for a
\ref modules "group" of classes, files or namespaces. This can be used to \ref modules "group" of classes, files or namespaces. This can be used to
categorize classes, files or namespaces, and document those 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. thus building a hierarchy of groups.
The \<name\> argument should an single word identifier. The \<name\> argument should an single word identifier.
...@@ -639,7 +639,7 @@ Public/Protected/Private/... section. ...@@ -639,7 +639,7 @@ Public/Protected/Private/... section.
\addindex \if \addindex \if
Starts a conditional documentation section. The section ends Starts a conditional documentation section. The section ends
with a matching \c \endif command. A conditional section is 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" section-label after the \ref cfg_enabled_sections "ENABLED_SECTIONS"
tag in the configuration tag in the configuration
file. Conditional blocks can be nested. A nested section is file. Conditional blocks can be nested. A nested section is
...@@ -900,7 +900,7 @@ Public/Protected/Private/... section. ...@@ -900,7 +900,7 @@ Public/Protected/Private/... section.
\subsection cmdanchor \anchor <word> \subsection cmdanchor \anchor <word>
\addindex \anchor \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. to which you can refer with the \\ref command.
\sa section \ref cmdref "\\ref". \sa section \ref cmdref "\\ref".
...@@ -1235,13 +1235,13 @@ Public/Protected/Private/... section. ...@@ -1235,13 +1235,13 @@ Public/Protected/Private/... section.
will result in the following text:<br><br> will result in the following text:<br><br>
... this is a \e really good example ... ... this is a \e really good example ...
Equvalent to \ref cmdem "\\em" Equivalent to \ref cmdem "\\em"
<hr> <hr>
\subsection cmdem \em <word> \subsection cmdem \em <word>
\addindex \e \addindex \e
Displays the argument \<word\> in italics. Displayis the argument \<word\> in italics.
Use this command to emphasize words. Use this command to emphasize words.
\par Example: \par Example:
......
...@@ -68,7 +68,7 @@ follow these steps: ...@@ -68,7 +68,7 @@ follow these steps:
documentation. Apart from the documentation, Doxygen will create the documentation. Apart from the documentation, Doxygen will create the
following files: following files:
<ul> <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. \c CGI_NAME tag in the configuration file.
The script is a small wrapper that calls \c doxysearch with The script is a small wrapper that calls \c doxysearch with
the correct parameters. Using this script allows multiple the correct parameters. Using this script allows multiple
......
...@@ -73,7 +73,7 @@ Alternatively, you can put all members in a group (or module) ...@@ -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 using the \\ingroup command and then document the group using a comment
block containing the \\defgroup command. 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> <p>
You can use Doxygen's preprocessor for this: You can use Doxygen's preprocessor for this:
If you put If you put
...@@ -164,7 +164,7 @@ In the HEAD section of the HTML page. ...@@ -164,7 +164,7 @@ In the HEAD section of the HTML page.
<li><b>Why does doxygen use Qt?</b> <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, Unices and Windows by means of the QFile, QFileInfo, QDir, QDate,
QTime and QIODevice classes. QTime and QIODevice classes.
Another reason is for the nice and bug free utility classes, like QList, Another reason is for the nice and bug free utility classes, like QList,
......
...@@ -111,11 +111,11 @@ format. ...@@ -111,11 +111,11 @@ format.
The default output directory is the directory in which \c doxygen The default output directory is the directory in which \c doxygen
is started. The directory to which the output is written can be changed is started. The directory to which the output is written can be changed
using the \ref cfg_output_directory "OUTPUT_DIRECTORY" , using the \ref cfg_output_directory "OUTPUT_DIRECTORY",
\ref cfg_html_output "HTML_OUTPUT", \ref cfg_latex_output "LATEX_OUTPUT", \ref cfg_html_output "HTML_OUTPUT", \ref cfg_rtf_output "RTF_OUTPUT",
and \ref cfg_man_output "MAN_OUTPUT" tags of the configuration file. \ref cfg_latex_output "LATEX_OUTPUT", and \ref cfg_man_output "MAN_OUTPUT"
If the output directory does not exist, \c doxygen will try to create it tags of the configuration file. If the output directory does not exist,
for you. \c doxygen will try to create it for you.
\addindex browser \addindex browser
The generated HTML documentation can be viewed by pointing a HTML browser The generated HTML documentation can be viewed by pointing a HTML browser
......
...@@ -28,11 +28,13 @@ type makeconfig > doc\Makefile ...@@ -28,11 +28,13 @@ type makeconfig > doc\Makefile
type doc\Makefile.win_%MAKE%.in >>doc\Makefile type doc\Makefile.win_%MAKE%.in >>doc\Makefile
REM build in release or debug mode REM build in release or debug mode
type qtools\qtools.pro.in | sed "s/\$extraopts/%MODE%/g" >qtools\qtools.pro REM sed is used to replace $extraopts by either debug or release while copying
type src\libdoxygen.pro.in | sed "s/\$extraopts/%MODE%/g" >src\libdoxygen.pro sed "s/\$extraopts/%MODE%/g" qtools\qtools.pro.in >qtools\qtools.pro
type src\doxygen.pro.in | sed "s/\$extraopts/%MODE%/g" >src\doxygen.pro sed "s/\$extraopts/%MODE%/g" src\libdoxygen.pro.in >src\libdoxygen.pro
type src\doxytag.pro.in | sed "s/\$extraopts/%MODE%/g" >src\doxytag.pro sed "s/\$extraopts/%MODE%/g" src\libdoxycfg.pro.in >src\libdoxycfg.pro
type src\doxysearch.pro.in | sed "s/\$extraopts/%MODE%/g" >src\doxysearch.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 REM run make
%MAKE%.exe %MAKE%.exe
......
Name: doxygen Name: doxygen
Version: 1.2.6-20010401 Version: 1.2.6-20010408
Summary: documentation system for C, C++ and IDL Summary: documentation system for C, C++ and IDL
Release: 1 Release: 1
Source0: doxygen-%{version}.src.tar.gz Source0: doxygen_%{version}.src.tar.gz
Copyright: GPL Copyright: GPL
Group: unsorted Group: unsorted
......
...@@ -54,9 +54,13 @@ ClassDef::ClassDef( ...@@ -54,9 +54,13 @@ ClassDef::ClassDef(
compType=ct; compType=ct;
QCString compoundName=compoundTypeString(); QCString compoundName=compoundTypeString();
if (fName) if (fName)
{
fileName=stripExtension(fName); fileName=stripExtension(fName);
}
else else
fileName=compoundName+"_"+nameToFile(nm); {
fileName=compoundName+nm;
}
if (lref) if (lref)
{ {
//url=(QCString)"doxygen=\""+lref+":\" href=\""+fileName; //url=(QCString)"doxygen=\""+lref+":\" href=\""+fileName;
...@@ -69,7 +73,7 @@ ClassDef::ClassDef( ...@@ -69,7 +73,7 @@ ClassDef::ClassDef(
exampleList = new ExampleList; exampleList = new ExampleList;
exampleDict = new ExampleDict(17); exampleDict = new ExampleDict(17);
} }
memListFileName=compoundName+"_"+nameToFile(nm)+"-members"; memListFileName=convertNameToFile(compoundName+nm+"-members");
inherits = new BaseClassList; inherits = new BaseClassList;
inherits->setAutoDelete(TRUE); inherits->setAutoDelete(TRUE);
inheritedBy = new BaseClassList; inheritedBy = new BaseClassList;
...@@ -119,7 +123,7 @@ ClassDef::~ClassDef() ...@@ -119,7 +123,7 @@ ClassDef::~ClassDef()
QCString ClassDef::displayName() const QCString ClassDef::displayName() const
{ {
if (Config::instance()->getBool("HIDE_SCOPE_NAMES")) if (Config_getBool("HIDE_SCOPE_NAMES"))
{ {
return stripScope(name()); return stripScope(name());
} }
...@@ -209,7 +213,7 @@ void ClassDef::insertMember(MemberDef *md) ...@@ -209,7 +213,7 @@ void ClassDef::insertMember(MemberDef *md)
/********************************************/ /********************************************/
/* insert member in the declaration section */ /* 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); related.append(md);
md->setSectionList(&related); md->setSectionList(&related);
...@@ -357,11 +361,11 @@ void ClassDef::insertMember(MemberDef *md) ...@@ -357,11 +361,11 @@ void ClassDef::insertMember(MemberDef *md)
/* insert member in the detailed documentation section */ /* insert member in the detailed documentation section */
/*******************************************************/ /*******************************************************/
if ((md->isRelated() && if ((md->isRelated() &&
(Config::instance()->getBool("EXTRACT_PRIVATE") || md->protection()!=Private) (Config_getBool("EXTRACT_PRIVATE") || md->protection()!=Private)
) || md->isFriend() ) || md->isFriend()
) )
{ {
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
relatedMembers.inSort(md); relatedMembers.inSort(md);
else else
relatedMembers.append(md); relatedMembers.append(md);
...@@ -371,14 +375,14 @@ void ClassDef::insertMember(MemberDef *md) ...@@ -371,14 +375,14 @@ void ClassDef::insertMember(MemberDef *md)
switch (md->memberType()) switch (md->memberType())
{ {
case MemberDef::Property: case MemberDef::Property:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
propertyMembers.inSort(md); propertyMembers.inSort(md);
else else
propertyMembers.append(md); propertyMembers.append(md);
break; break;
case MemberDef::Signal: // fall through case MemberDef::Signal: // fall through
case MemberDef::DCOP: case MemberDef::DCOP:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
functionMembers.inSort(md); functionMembers.inSort(md);
else else
functionMembers.append(md); functionMembers.append(md);
...@@ -387,21 +391,21 @@ void ClassDef::insertMember(MemberDef *md) ...@@ -387,21 +391,21 @@ void ClassDef::insertMember(MemberDef *md)
switch (md->protection()) switch (md->protection())
{ {
case Protected: case Protected:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
functionMembers.inSort(md); functionMembers.inSort(md);
else else
functionMembers.append(md); functionMembers.append(md);
break; break;
case Public: case Public:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
functionMembers.inSort(md); functionMembers.inSort(md);
else else
functionMembers.append(md); functionMembers.append(md);
break; break;
case Private: 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); functionMembers.inSort(md);
else else
functionMembers.append(md); functionMembers.append(md);
...@@ -410,24 +414,24 @@ void ClassDef::insertMember(MemberDef *md) ...@@ -410,24 +414,24 @@ void ClassDef::insertMember(MemberDef *md)
} }
break; break;
default: // any of the other members 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()) switch (md->memberType())
{ {
case MemberDef::Typedef: case MemberDef::Typedef:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
typedefMembers.inSort(md); typedefMembers.inSort(md);
else else
typedefMembers.append(md); typedefMembers.append(md);
break; break;
case MemberDef::Enumeration: case MemberDef::Enumeration:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
enumMembers.inSort(md); enumMembers.inSort(md);
else else
enumMembers.append(md); enumMembers.append(md);
break; break;
case MemberDef::EnumValue: case MemberDef::EnumValue:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
enumValMembers.inSort(md); enumValMembers.inSort(md);
else else
enumValMembers.append(md); enumValMembers.append(md);
...@@ -443,14 +447,14 @@ void ClassDef::insertMember(MemberDef *md) ...@@ -443,14 +447,14 @@ void ClassDef::insertMember(MemberDef *md)
} }
else else
{ {
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
functionMembers.inSort(md); functionMembers.inSort(md);
else else
functionMembers.append(md); functionMembers.append(md);
} }
break; break;
case MemberDef::Variable: case MemberDef::Variable:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
variableMembers.inSort(md); variableMembers.inSort(md);
else else
variableMembers.append(md); variableMembers.append(md);
...@@ -653,7 +657,7 @@ void ClassDef::writeDocumentation(OutputList &ol) ...@@ -653,7 +657,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
pageType+=cType; pageType+=cType;
pageTitle+=pageType+" Reference"; pageTitle+=pageType+" Reference";
if (outerTempArgList) pageTitle.prepend(" Template"); if (outerTempArgList) pageTitle.prepend(" Template");
startFile(ol,fileName,pageTitle); startFile(ol,getOutputFileBase(),pageTitle);
startTitle(ol,getOutputFileBase()); startTitle(ol,getOutputFileBase());
parseText(ol,theTranslator->trCompoundReference(name(),compType,outerTempArgList!=0)); parseText(ol,theTranslator->trCompoundReference(name(),compType,outerTempArgList!=0));
endTitle(ol,getOutputFileBase(),name()); endTitle(ol,getOutputFileBase(),name());
...@@ -720,16 +724,16 @@ void ClassDef::writeDocumentation(OutputList &ol) ...@@ -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 << " <compound kind=\"" << compoundTypeString();
Doxygen::tagFile << "\">" << endl; Doxygen::tagFile << "\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(name()) << "</name>" << 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 // write subclasses
...@@ -753,7 +757,7 @@ void ClassDef::writeDocumentation(OutputList &ol) ...@@ -753,7 +757,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
ClassDef *cd=bcd->classDef; ClassDef *cd=bcd->classDef;
if (cd->isLinkable()) if (cd->isLinkable())
{ {
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty()) if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{ {
Doxygen::tagFile << " <base"; Doxygen::tagFile << " <base";
if (bcd->prot==Protected) if (bcd->prot==Protected)
...@@ -819,7 +823,7 @@ void ClassDef::writeDocumentation(OutputList &ol) ...@@ -819,7 +823,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol.newParagraph(); ol.newParagraph();
} }
if (Config::instance()->getBool("CLASS_DIAGRAMS")) ol.enableAll(); if (Config_getBool("CLASS_DIAGRAMS")) ol.enableAll();
count=0; count=0;
...@@ -840,7 +844,7 @@ void ClassDef::writeDocumentation(OutputList &ol) ...@@ -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 // write class diagram using dot
{ {
DotClassGraph inheritanceGraph(this,DotClassGraph::Inheritance); DotClassGraph inheritanceGraph(this,DotClassGraph::Inheritance);
...@@ -851,7 +855,7 @@ void ClassDef::writeDocumentation(OutputList &ol) ...@@ -851,7 +855,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol.startDotGraph(); ol.startDotGraph();
parseText(ol,theTranslator->trClassDiagram(name())); parseText(ol,theTranslator->trClassDiagram(name()));
ol.endDotGraph(inheritanceGraph); ol.endDotGraph(inheritanceGraph);
if (Config::instance()->getBool("GENERATE_LEGEND")) if (Config_getBool("GENERATE_LEGEND"))
{ {
ol.pushGeneratorState(); ol.pushGeneratorState();
ol.disableAllBut(OutputGenerator::Html); ol.disableAllBut(OutputGenerator::Html);
...@@ -865,7 +869,7 @@ void ClassDef::writeDocumentation(OutputList &ol) ...@@ -865,7 +869,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol.popGeneratorState(); 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 // write class diagram using build-in generator
{ {
ClassDiagram diagram(this); // create a diagram of this class. ClassDiagram diagram(this); // create a diagram of this class.
...@@ -873,10 +877,10 @@ void ClassDef::writeDocumentation(OutputList &ol) ...@@ -873,10 +877,10 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol.disable(OutputGenerator::Man); ol.disable(OutputGenerator::Man);
parseText(ol,theTranslator->trClassDiagram(name())); parseText(ol,theTranslator->trClassDiagram(name()));
ol.enable(OutputGenerator::Man); 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); DotClassGraph usageImplGraph(this,DotClassGraph::Implementation);
if (!usageImplGraph.isTrivial()) if (!usageImplGraph.isTrivial())
...@@ -886,7 +890,7 @@ void ClassDef::writeDocumentation(OutputList &ol) ...@@ -886,7 +890,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol.startDotGraph(); ol.startDotGraph();
parseText(ol,theTranslator->trCollaborationDiagram(name())); parseText(ol,theTranslator->trCollaborationDiagram(name()));
ol.endDotGraph(usageImplGraph); ol.endDotGraph(usageImplGraph);
if (Config::instance()->getBool("GENERATE_LEGEND")) if (Config_getBool("GENERATE_LEGEND"))
{ {
ol.pushGeneratorState(); ol.pushGeneratorState();
ol.disableAllBut(OutputGenerator::Html); ol.disableAllBut(OutputGenerator::Html);
...@@ -902,7 +906,7 @@ void ClassDef::writeDocumentation(OutputList &ol) ...@@ -902,7 +906,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
} }
// write link to list of all members (HTML only) // 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.disableAllBut(OutputGenerator::Html);
ol.startTextLink(memListFileName,0); ol.startTextLink(memListFileName,0);
...@@ -953,7 +957,7 @@ void ClassDef::writeDocumentation(OutputList &ol) ...@@ -953,7 +957,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
proStaticMembers.writeDeclarations(ol,this,0,0,0,theTranslator->trStaticProtectedMembers(),0); proStaticMembers.writeDeclarations(ol,this,0,0,0,theTranslator->trStaticProtectedMembers(),0);
proStaticAttribs.writeDeclarations(ol,this,0,0,0,theTranslator->trStaticProtectedAttribs(),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 // private non-static members
priTypes.writeDeclarations(ol,this,0,0,0,theTranslator->trPrivateTypes(),0); priTypes.writeDeclarations(ol,this,0,0,0,theTranslator->trPrivateTypes(),0);
...@@ -973,9 +977,9 @@ void ClassDef::writeDocumentation(OutputList &ol) ...@@ -973,9 +977,9 @@ void ClassDef::writeDocumentation(OutputList &ol)
// write detailed description // write detailed description
bool exampleFlag=hasExamples(); bool exampleFlag=hasExamples();
if ((!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF")) || if ((!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) ||
!documentation().isEmpty() || !documentation().isEmpty() ||
/*(Config::instance()->getBool("SOURCE_BROWSER") && startBodyLine!=-1 && bodyDef) ||*/ /*(Config_getBool("SOURCE_BROWSER") && startBodyLine!=-1 && bodyDef) ||*/
exampleFlag) exampleFlag)
{ {
ol.writeRuler(); ol.writeRuler();
...@@ -992,11 +996,11 @@ void ClassDef::writeDocumentation(OutputList &ol) ...@@ -992,11 +996,11 @@ void ClassDef::writeDocumentation(OutputList &ol)
writeTemplateSpec(ol,outerTempArgList,pageType,name()); writeTemplateSpec(ol,outerTempArgList,pageType,name());
// repeat brief description // repeat brief description
if (!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF")) if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF"))
{ {
ol+=briefOutput; ol+=briefOutput;
} }
if (!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF") && if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF") &&
!documentation().isEmpty()) !documentation().isEmpty())
{ {
ol.newParagraph(); ol.newParagraph();
...@@ -1118,7 +1122,7 @@ void ClassDef::writeDocumentation(OutputList &ol) ...@@ -1118,7 +1122,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
// write the list of used files (not for man pages) // write the list of used files (not for man pages)
ol.pushGeneratorState(); ol.pushGeneratorState();
if (Config::instance()->getBool("SHOW_USED_FILES")) if (Config_getBool("SHOW_USED_FILES"))
{ {
ol.disable(OutputGenerator::Man); ol.disable(OutputGenerator::Man);
ol.writeRuler(); ol.writeRuler();
...@@ -1140,14 +1144,14 @@ void ClassDef::writeDocumentation(OutputList &ol) ...@@ -1140,14 +1144,14 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol.writeListItem(); ol.writeListItem();
QCString path=fd->getPath().copy(); QCString path=fd->getPath().copy();
if (Config::instance()->getBool("FULL_PATH_NAMES")) if (Config_getBool("FULL_PATH_NAMES"))
{ {
ol.docify(stripFromPath(path)); ol.docify(stripFromPath(path));
} }
if (fd->generateSourceFile()) if (fd->generateSourceFile())
{ {
ol.writeObjectLink(0,fd->sourceName(),0,fd->name()); ol.writeObjectLink(0,fd->getSourceFileBase(),0,fd->name());
} }
else if (fd->isLinkable()) else if (fd->isLinkable())
{ {
...@@ -1171,12 +1175,12 @@ void ClassDef::writeDocumentation(OutputList &ol) ...@@ -1171,12 +1175,12 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol.startGroupHeader(); ol.startGroupHeader();
parseText(ol,theTranslator->trAuthor()); parseText(ol,theTranslator->trAuthor());
ol.endGroupHeader(); ol.endGroupHeader();
parseText(ol,theTranslator->trGeneratedAutomatically(Config::instance()->getString("PROJECT_NAME"))); parseText(ol,theTranslator->trGeneratedAutomatically(Config_getString("PROJECT_NAME")));
ol.popGeneratorState(); ol.popGeneratorState();
ol.endTextBlock(); ol.endTextBlock();
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty()) if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{ {
writeDocAnchorsToTagFile(); writeDocAnchorsToTagFile();
Doxygen::tagFile << " </compound>" << endl; Doxygen::tagFile << " </compound>" << endl;
...@@ -1188,7 +1192,7 @@ void ClassDef::writeDocumentation(OutputList &ol) ...@@ -1188,7 +1192,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
// write the list of all (inherited) members for this class // write the list of all (inherited) members for this class
void ClassDef::writeMemberList(OutputList &ol) 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 // only for HTML
ol.pushGeneratorState(); ol.pushGeneratorState();
ol.disableAllBut(OutputGenerator::Html); ol.disableAllBut(OutputGenerator::Html);
...@@ -1198,7 +1202,7 @@ void ClassDef::writeMemberList(OutputList &ol) ...@@ -1198,7 +1202,7 @@ void ClassDef::writeMemberList(OutputList &ol)
parseText(ol,name()+" "+theTranslator->trMemberList()); parseText(ol,name()+" "+theTranslator->trMemberList());
endTitle(ol,0,0); endTitle(ol,0,0);
parseText(ol,theTranslator->trThisIsTheListOfAllMembers()); parseText(ol,theTranslator->trThisIsTheListOfAllMembers());
ol.writeObjectLink(getReference(),fileName,0,name()); ol.writeObjectLink(getReference(),getOutputFileBase(),0,name());
parseText(ol,theTranslator->trIncludingInheritedMembers()); parseText(ol,theTranslator->trIncludingInheritedMembers());
ol.startItemList(); ol.startItemList();
...@@ -1238,7 +1242,7 @@ void ClassDef::writeMemberList(OutputList &ol) ...@@ -1238,7 +1242,7 @@ void ClassDef::writeMemberList(OutputList &ol)
( (
md->isFriend() || md->isFriend() ||
(/*mi->prot!=Private &&*/ (/*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) ...@@ -1265,7 +1269,7 @@ void ClassDef::writeMemberList(OutputList &ol)
ol.writeString("\n"); ol.writeString("\n");
memberWritten=TRUE; 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. // generate link to the class instead.
{ {
ol.writeListItem(); ol.writeListItem();
...@@ -1297,7 +1301,7 @@ void ClassDef::writeMemberList(OutputList &ol) ...@@ -1297,7 +1301,7 @@ void ClassDef::writeMemberList(OutputList &ol)
} }
if ((prot!=Public || virt!=Normal || if ((prot!=Public || virt!=Normal ||
md->isFriend() || md->isRelated() || md->isExplicit() || 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->isSignal() || md->isSlot() ||
md->isStatic() md->isStatic()
) )
...@@ -1310,7 +1314,7 @@ void ClassDef::writeMemberList(OutputList &ol) ...@@ -1310,7 +1314,7 @@ void ClassDef::writeMemberList(OutputList &ol)
else if (md->isRelated()) sl.append("related"); else if (md->isRelated()) sl.append("related");
else else
{ {
if (Config::instance()->getBool("INLINE_INFO") && md->isInline()) if (Config_getBool("INLINE_INFO") && md->isInline())
sl.append("inline"); sl.append("inline");
if (md->isExplicit()) sl.append("explicit"); if (md->isExplicit()) sl.append("explicit");
if (md->isMutable()) sl.append("mutable"); if (md->isMutable()) sl.append("mutable");
...@@ -1401,12 +1405,7 @@ void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup) ...@@ -1401,12 +1405,7 @@ void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup)
if (inGroup && md && md->getClassDef()==this) return; if (inGroup && md && md->getClassDef()==this) return;
switch(compType) ol.docify(compoundTypeString());
{
case Class: ol.docify("class"); break;
case Struct: ol.docify("struct"); break;
default: ol.docify("union"); break;
}
int ri=name().findRev("::"); int ri=name().findRev("::");
if (ri==-1) ri=name().length(); if (ri==-1) ri=name().length();
QCString cn=name().right(name().length()-ri-2); QCString cn=name().right(name().length()-ri-2);
...@@ -1445,7 +1444,7 @@ void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup) ...@@ -1445,7 +1444,7 @@ void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup)
proSlots.writePlainDeclarations(ol,this,0,0,0); proSlots.writePlainDeclarations(ol,this,0,0,0);
proStaticMembers.writePlainDeclarations(ol,this,0,0,0); proStaticMembers.writePlainDeclarations(ol,this,0,0,0);
proStaticAttribs.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); priTypes.writePlainDeclarations(ol,this,0,0,0);
priMembers.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) ...@@ -1463,20 +1462,20 @@ void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup)
bool ClassDef::isLinkableInProject() bool ClassDef::isLinkableInProject()
{ {
return !name().isEmpty() && name().find('@')==-1 && return !name().isEmpty() && name().find('@')==-1 &&
(prot!=Private || Config::instance()->getBool("EXTRACT_PRIVATE")) && (prot!=Private || Config_getBool("EXTRACT_PRIVATE")) &&
hasDocumentation() && !isReference(); hasDocumentation() && !isReference();
} }
/*! the class is visible in a class diagram, or class hierarchy */ /*! the class is visible in a class diagram, or class hierarchy */
bool ClassDef::isVisibleInHierarchy() bool ClassDef::isVisibleInHierarchy()
{ return // show all classes or a subclass is visible { return // show all classes or a subclass is visible
(Config::instance()->getBool("ALLEXTERNALS") || hasNonReferenceSuperClass()) && (Config_getBool("ALLEXTERNALS") || hasNonReferenceSuperClass()) &&
// and not an annonymous compound // and not an annonymous compound
name().find('@')==-1 && name().find('@')==-1 &&
// and not privately inherited // 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 // 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 ...@@ -1900,3 +1899,18 @@ QCString ClassDef::compoundTypeString() const
return "unknown"; 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 ...@@ -66,7 +66,9 @@ class ClassDef : public Definition
Exception=Entry::EXCEPTION_SEC Exception=Entry::EXCEPTION_SEC
}; };
DefType definitionType() { return TypeClass; } 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 */ /*! Returns the name as it is appears in the documentation */
QCString displayName() const; QCString displayName() const;
......
...@@ -61,7 +61,7 @@ void ClassList::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *fi ...@@ -61,7 +61,7 @@ void ClassList::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *fi
) )
{ {
bool isLink = cd->isLinkable(); bool isLink = cd->isLinkable();
if (isLink || !Config::instance()->getBool("HIDE_UNDOC_CLASSES")) if (isLink || !Config_getBool("HIDE_UNDOC_CLASSES"))
{ {
if (!found) if (!found)
{ {
...@@ -78,7 +78,7 @@ void ClassList::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *fi ...@@ -78,7 +78,7 @@ void ClassList::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *fi
ol.startMemberList(); ol.startMemberList();
found=TRUE; found=TRUE;
} }
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty()) if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{ {
Doxygen::tagFile << " <class kind=\"" << cd->compoundTypeString() Doxygen::tagFile << " <class kind=\"" << cd->compoundTypeString()
<< "\">" << convertToXML(cd->name()) << "</class>" << endl; << "\">" << convertToXML(cd->name()) << "</class>" << endl;
...@@ -107,7 +107,7 @@ void ClassList::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *fi ...@@ -107,7 +107,7 @@ void ClassList::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *fi
{ {
ol.startMemberDescription(); ol.startMemberDescription();
parseDoc(ol,cd->getDefFileName(),cd->getDefLine(),cd->name(),0,cd->briefDescription()); 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()) !cd->documentation().isEmpty())
{ {
ol.pushGeneratorState(); ol.pushGeneratorState();
......
...@@ -1361,7 +1361,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned" ...@@ -1361,7 +1361,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
<RemoveSpecialCComment>\n { g_yyLineNr++; } <RemoveSpecialCComment>\n { g_yyLineNr++; }
<RemoveSpecialCComment>. <RemoveSpecialCComment>.
<*>\n({B}*"//"[!/][^\n]*\n)+ { // remove special one-line comment <*>\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'); g_yyLineNr+=((QCString)yytext).contains('\n');
endCodeLine(); endCodeLine();
...@@ -1378,7 +1378,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned" ...@@ -1378,7 +1378,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
} }
} }
<*>\n{B}*"//@"[{}].*\n { // remove one-line group marker <*>\n{B}*"//@"[{}].*\n { // remove one-line group marker
if (Config::instance()->getBool("STRIP_CODE_COMMENTS")) if (Config_getBool("STRIP_CODE_COMMENTS"))
{ {
g_yyLineNr+=2; g_yyLineNr+=2;
endCodeLine(); endCodeLine();
...@@ -1395,7 +1395,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned" ...@@ -1395,7 +1395,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
} }
} }
<*>\n{B}*"/*@"[{}] { // remove one-line group marker <*>\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_lastSpecialCContext = YY_START;
g_yyLineNr++; g_yyLineNr++;
...@@ -1414,7 +1414,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned" ...@@ -1414,7 +1414,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
} }
} }
<*>^{B}*"//@"[{}].*\n { // remove one-line group marker <*>^{B}*"//@"[{}].*\n { // remove one-line group marker
if (Config::instance()->getBool("STRIP_CODE_COMMENTS")) if (Config_getBool("STRIP_CODE_COMMENTS"))
{ {
g_yyLineNr++; g_yyLineNr++;
endCodeLine(); endCodeLine();
...@@ -1431,7 +1431,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned" ...@@ -1431,7 +1431,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
} }
} }
<*>^{B}*"/*@"[{}] { // remove multi-line group marker <*>^{B}*"/*@"[{}] { // remove multi-line group marker
if (Config::instance()->getBool("STRIP_CODE_COMMENTS")) if (Config_getBool("STRIP_CODE_COMMENTS"))
{ {
g_lastSpecialCContext = YY_START; g_lastSpecialCContext = YY_START;
BEGIN(RemoveSpecialCComment); BEGIN(RemoveSpecialCComment);
...@@ -1449,7 +1449,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned" ...@@ -1449,7 +1449,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
} }
} }
<*>^{B}*"//"[!/][^\n]*\n { // remove special one-line comment <*>^{B}*"//"[!/][^\n]*\n { // remove special one-line comment
if (Config::instance()->getBool("STRIP_CODE_COMMENTS")) if (Config_getBool("STRIP_CODE_COMMENTS"))
{ {
g_yyLineNr++; g_yyLineNr++;
endCodeLine(); endCodeLine();
...@@ -1466,7 +1466,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned" ...@@ -1466,7 +1466,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
} }
} }
<*>"//"[!/][^\n]*\n { // strip special one-line comment <*>"//"[!/][^\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; char c[2]; c[0]='\n'; c[1]=0;
codifyLines(c); codifyLines(c);
...@@ -1479,7 +1479,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned" ...@@ -1479,7 +1479,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
} }
} }
<*>\n{B}*"/*"[!*]/[^/*] { <*>\n{B}*"/*"[!*]/[^/*] {
if (Config::instance()->getBool("STRIP_CODE_COMMENTS")) if (Config_getBool("STRIP_CODE_COMMENTS"))
{ {
g_lastSpecialCContext = YY_START; g_lastSpecialCContext = YY_START;
g_yyLineNr++; g_yyLineNr++;
...@@ -1498,7 +1498,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned" ...@@ -1498,7 +1498,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
} }
} }
<*>^{B}*"/*"[!*]/[^/*] { // special C comment block at a new line <*>^{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; g_lastSpecialCContext = YY_START;
BEGIN(RemoveSpecialCComment); BEGIN(RemoveSpecialCComment);
...@@ -1516,7 +1516,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned" ...@@ -1516,7 +1516,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
} }
} }
<*>"/*"[!*]/[^/*] { // special C comment block half way a line <*>"/*"[!*]/[^/*] { // 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; g_lastSpecialCContext = YY_START;
BEGIN(RemoveSpecialCComment); BEGIN(RemoveSpecialCComment);
...@@ -1533,7 +1533,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned" ...@@ -1533,7 +1533,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
BEGIN(SkipComment); BEGIN(SkipComment);
} }
} }
<*>"/*"("!"?)"*/" { if (!Config::instance()->getBool("STRIP_CODE_COMMENTS")) <*>"/*"("!"?)"*/" { if (!Config_getBool("STRIP_CODE_COMMENTS"))
{ {
startFontClass("comment"); startFontClass("comment");
g_code->codify(yytext); g_code->codify(yytext);
...@@ -1622,7 +1622,10 @@ void parseCode(OutputDocInterface &od,const char *className,const QCString &s, ...@@ -1622,7 +1622,10 @@ void parseCode(OutputDocInterface &od,const char *className,const QCString &s,
g_searchingForBody = FALSE; g_searchingForBody = FALSE;
g_insideBody = FALSE; g_insideBody = FALSE;
g_bracketCount = 0; g_bracketCount = 0;
g_exampleFile = convertFileName(g_exampleName)+"-example"; if (!g_exampleName.isEmpty())
{
g_exampleFile = convertNameToFile(g_exampleName+"-example");
}
g_includeCodeFragment = inlineFragment; g_includeCodeFragment = inlineFragment;
startCodeLine(); startCodeLine();
g_type.resize(0); g_type.resize(0);
......
...@@ -327,6 +327,12 @@ class ConfigBool : public ConfigOption ...@@ -327,6 +327,12 @@ class ConfigBool : public ConfigOption
bool m_defValue; 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. /*! \brief Singleton for configuration variables.
* *
* This object holds the global static variables * This object holds the global static variables
...@@ -357,11 +363,11 @@ struct Config ...@@ -357,11 +363,11 @@ struct Config
//////////////////////// ////////////////////////
// get functions // get functions
//////////////////////// ////////////////////////
QCString &getString(const char *name) const; QCString &getString(const char *fileName,int num,const char *name) const;
QStrList &getList(const char *name) const; QStrList &getList(const char *fileName,int num,const char *name) const;
QCString &getEnum(const char *name) const; QCString &getEnum(const char *fileName,int num,const char *name) const;
int &getInt(const char *name) const; int &getInt(const char *fileName,int num,const char *name) const;
bool &getBool(const char *name) const; bool &getBool(const char *fileName,int num,const char *name) const;
ConfigOption *get(const char *name) const ConfigOption *get(const char *name) const
{ {
return m_dict->find(name); return m_dict->find(name);
......
...@@ -80,81 +80,81 @@ 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); ConfigOption *opt = m_dict->find(name);
if (opt==0) 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); exit(1);
} }
else if (opt->kind()!=ConfigOption::O_String) 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); exit(1);
} }
return *((ConfigString *)opt)->valueRef(); 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); ConfigOption *opt = m_dict->find(name);
if (opt==0) 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); exit(1);
} }
else if (opt->kind()!=ConfigOption::O_List) 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); exit(1);
} }
return *((ConfigList *)opt)->valueRef(); 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); ConfigOption *opt = m_dict->find(name);
if (opt==0) 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); exit(1);
} }
else if (opt->kind()!=ConfigOption::O_Enum) 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); exit(1);
} }
return *((ConfigEnum *)opt)->valueRef(); 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); ConfigOption *opt = m_dict->find(name);
if (opt==0) 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); exit(1);
} }
else if (opt->kind()!=ConfigOption::O_Int) 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); exit(1);
} }
return *((ConfigInt *)opt)->valueRef(); 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); ConfigOption *opt = m_dict->find(name);
if (opt==0) 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); exit(1);
} }
else if (opt->kind()!=ConfigOption::O_Bool) 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); exit(1);
} }
return *((ConfigBool *)opt)->valueRef(); return *((ConfigBool *)opt)->valueRef();
...@@ -368,6 +368,39 @@ static void readIncludeFile(const char *incName) ...@@ -368,6 +368,39 @@ static void readIncludeFile(const char *incName)
} }
} }
} }
<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=""; } <Start>"@INCLUDE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&includePathList; l->clear(); elemStr=""; }
/* include a config file */ /* include a config file */
<Start>"@INCLUDE"[ \t]*"=" { BEGIN(Include);} <Start>"@INCLUDE"[ \t]*"=" { BEGIN(Include);}
...@@ -675,7 +708,7 @@ void Config::check() ...@@ -675,7 +708,7 @@ void Config::check()
// projectName[0]=toupper(projectName[0]); // projectName[0]=toupper(projectName[0]);
//} //}
QCString &warnFormat = getString("WARN_FORMAT"); QCString &warnFormat = getString(__FILE__,__LINE__,"WARN_FORMAT");
if (warnFormat.isEmpty()) if (warnFormat.isEmpty())
{ {
warnFormat="$file:$line $text"; warnFormat="$file:$line $text";
...@@ -700,14 +733,15 @@ void Config::check() ...@@ -700,14 +733,15 @@ void Config::check()
} }
initWarningFormat(); 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 // set default man page extension if non is given by the user
if (manExtension.isEmpty()) if (manExtension.isEmpty())
{ {
manExtension=".3"; manExtension=".3";
} }
QCString &paperType = getEnum("PAPER_TYPE"); QCString &paperType = getEnum(__FILE__,__LINE__,"PAPER_TYPE");
paperType=paperType.lower().stripWhiteSpace(); paperType=paperType.lower().stripWhiteSpace();
if (paperType.isEmpty()) if (paperType.isEmpty())
{ {
...@@ -719,7 +753,7 @@ void Config::check() ...@@ -719,7 +753,7 @@ void Config::check()
err("Error: Unknown page type specified"); err("Error: Unknown page type specified");
} }
QCString &outputLanguage=getEnum("OUTPUT_LANGUAGE"); QCString &outputLanguage=getEnum(__FILE__,__LINE__,"OUTPUT_LANGUAGE");
outputLanguage=outputLanguage.stripWhiteSpace(); outputLanguage=outputLanguage.stripWhiteSpace();
if (outputLanguage.isEmpty()) if (outputLanguage.isEmpty())
{ {
...@@ -740,7 +774,7 @@ void Config::check() ...@@ -740,7 +774,7 @@ void Config::check()
} }
// expand the relative stripFromPath values // expand the relative stripFromPath values
QStrList &stripFromPath = getList("STRIP_FROM_PATH"); QStrList &stripFromPath = getList(__FILE__,__LINE__,"STRIP_FROM_PATH");
char *sfp = stripFromPath.first(); char *sfp = stripFromPath.first();
while (sfp) while (sfp)
{ {
...@@ -763,7 +797,7 @@ void Config::check() ...@@ -763,7 +797,7 @@ void Config::check()
// Test to see if HTML header is valid // Test to see if HTML header is valid
QCString &headerFile = getString("HTML_HEADER"); QCString &headerFile = getString(__FILE__,__LINE__,"HTML_HEADER");
if (!headerFile.isEmpty()) if (!headerFile.isEmpty())
{ {
QFileInfo fi(headerFile); QFileInfo fi(headerFile);
...@@ -775,7 +809,7 @@ void Config::check() ...@@ -775,7 +809,7 @@ void Config::check()
} }
} }
// Test to see if HTML footer is valid // Test to see if HTML footer is valid
QCString &footerFile = getString("HTML_FOOTER"); QCString &footerFile = getString(__FILE__,__LINE__,"HTML_FOOTER");
if (!footerFile.isEmpty()) if (!footerFile.isEmpty())
{ {
QFileInfo fi(footerFile); QFileInfo fi(footerFile);
...@@ -787,7 +821,7 @@ void Config::check() ...@@ -787,7 +821,7 @@ void Config::check()
} }
} }
// Test to see if LaTeX header is valid // Test to see if LaTeX header is valid
QCString &latexHeaderFile = getString("LATEX_HEADER"); QCString &latexHeaderFile = getString(__FILE__,__LINE__,"LATEX_HEADER");
if (!latexHeaderFile.isEmpty()) if (!latexHeaderFile.isEmpty())
{ {
QFileInfo fi(latexHeaderFile); QFileInfo fi(latexHeaderFile);
...@@ -799,7 +833,7 @@ void Config::check() ...@@ -799,7 +833,7 @@ void Config::check()
} }
} }
// check include path // check include path
QStrList &includePath = getList("INCLUDE_PATH"); QStrList &includePath = getList(__FILE__,__LINE__,"INCLUDE_PATH");
char *s=includePath.first(); char *s=includePath.first();
while (s) while (s)
{ {
...@@ -813,7 +847,7 @@ void Config::check() ...@@ -813,7 +847,7 @@ void Config::check()
} }
// check aliases // check aliases
QStrList &aliasList = getList("ALIASES"); QStrList &aliasList = getList(__FILE__,__LINE__,"ALIASES");
s=aliasList.first(); s=aliasList.first();
while (s) while (s)
{ {
...@@ -828,7 +862,7 @@ void Config::check() ...@@ -828,7 +862,7 @@ void Config::check()
} }
// check dot path // check dot path
QCString &dotPath = getString("DOT_PATH"); QCString &dotPath = getString(__FILE__,__LINE__,"DOT_PATH");
if (!dotPath.isEmpty()) if (!dotPath.isEmpty())
{ {
if (dotPath.find('\\')!=-1) if (dotPath.find('\\')!=-1)
...@@ -870,7 +904,7 @@ void Config::check() ...@@ -870,7 +904,7 @@ void Config::check()
} }
// check input // check input
QStrList &inputSources=getList("INPUT"); QStrList &inputSources=getList(__FILE__,__LINE__,"INPUT");
if (inputSources.count()==0) if (inputSources.count()==0)
{ {
err("Error: tag INPUT: no input files specified after the INPUT tag.\n"); err("Error: tag INPUT: no input files specified after the INPUT tag.\n");
...@@ -892,38 +926,38 @@ void Config::check() ...@@ -892,38 +926,38 @@ void Config::check()
} }
// add default pattern if needed // add default pattern if needed
QStrList &filePatternList = getList("FILE_PATTERNS"); QStrList &filePatternList = getList(__FILE__,__LINE__,"FILE_PATTERNS");
if (filePatternList.isEmpty()) if (filePatternList.isEmpty())
{ {
filePatternList.append("*"); filePatternList.append("*");
} }
// add default pattern if needed // add default pattern if needed
QStrList &examplePatternList = getList("EXAMPLE_PATTERNS"); QStrList &examplePatternList = getList(__FILE__,__LINE__,"EXAMPLE_PATTERNS");
if (examplePatternList.isEmpty()) if (examplePatternList.isEmpty())
{ {
examplePatternList.append("*"); examplePatternList.append("*");
} }
// add default pattern if needed // add default pattern if needed
//QStrList &imagePatternList = getList("IMAGE_PATTERNS"); //QStrList &imagePatternList = getList(__FILE__,__LINE__,"IMAGE_PATTERNS");
//if (imagePatternList.isEmpty()) //if (imagePatternList.isEmpty())
//{ //{
// imagePatternList.append("*"); // imagePatternList.append("*");
//} //}
// more checks needed if and only if the search engine is enabled. // more checks needed if and only if the search engine is enabled.
if (getBool("SEARCHENGINE")) if (getBool(__FILE__,__LINE__,"SEARCHENGINE"))
{ {
// check cgi name // check cgi name
QCString &cgiName = getString("CGI_NAME"); QCString &cgiName = getString(__FILE__,__LINE__,"CGI_NAME");
if (cgiName.isEmpty()) if (cgiName.isEmpty())
{ {
err("Error: tag CGI_NAME: no cgi script name after the CGI_NAME tag.\n"); err("Error: tag CGI_NAME: no cgi script name after the CGI_NAME tag.\n");
exit(1); exit(1);
} }
// check cgi URL // check cgi URL
QCString &cgiURL = getString("CGI_URL"); QCString &cgiURL = getString(__FILE__,__LINE__,"CGI_URL");
if (cgiURL.isEmpty()) if (cgiURL.isEmpty())
{ {
err("Error: tag CGI_URL: no URL to cgi directory specified.\n"); err("Error: tag CGI_URL: no URL to cgi directory specified.\n");
...@@ -938,10 +972,10 @@ void Config::check() ...@@ -938,10 +972,10 @@ void Config::check()
exit(1); exit(1);
} }
// check documentation URL // check documentation URL
QCString &docURL = getString("DOC_URL"); QCString &docURL = getString(__FILE__,__LINE__,"DOC_URL");
if (docURL.isEmpty()) 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://" && else if (docURL.left(7)!="http://" &&
docURL.left(8)!="https://" && docURL.left(8)!="https://" &&
...@@ -953,10 +987,10 @@ void Config::check() ...@@ -953,10 +987,10 @@ void Config::check()
exit(1); exit(1);
} }
// check absolute documentation path // check absolute documentation path
QCString &docAbsPath = getString("DOC_ABSPATH"); QCString &docAbsPath = getString(__FILE__,__LINE__,"DOC_ABSPATH");
if (docAbsPath.isEmpty()) if (docAbsPath.isEmpty())
{ {
docAbsPath = getString("OUTPUT_DIRECTORY")+"/html"; docAbsPath = getString(__FILE__,__LINE__,"OUTPUT_DIRECTORY")+"/html";
} }
else if (docAbsPath[0]!='/' && docAbsPath[1]!=':') else if (docAbsPath[0]!='/' && docAbsPath[1]!=':')
{ {
...@@ -964,7 +998,7 @@ void Config::check() ...@@ -964,7 +998,7 @@ void Config::check()
exit(1); exit(1);
} }
// check path to doxysearch // check path to doxysearch
QCString &binAbsPath = getString("BIN_ABSPATH"); QCString &binAbsPath = getString(__FILE__,__LINE__,"BIN_ABSPATH");
if (binAbsPath.isEmpty()) if (binAbsPath.isEmpty())
{ {
err("Error: tag BIN_ABSPATH: no absolute path to doxysearch " err("Error: tag BIN_ABSPATH: no absolute path to doxysearch "
...@@ -979,7 +1013,7 @@ void Config::check() ...@@ -979,7 +1013,7 @@ void Config::check()
// check perl path // check perl path
bool found=FALSE; bool found=FALSE;
QCString &perlPath = getString("PERL_PATH"); QCString &perlPath = getString(__FILE__,__LINE__,"PERL_PATH");
if (perlPath.isEmpty()) if (perlPath.isEmpty())
{ {
QFileInfo fi; QFileInfo fi;
...@@ -1017,7 +1051,7 @@ void Config::check() ...@@ -1017,7 +1051,7 @@ void Config::check()
#else #else
#define PUTENV putenv #define PUTENV putenv
#endif #endif
if (getBool("HAVE_DOT")) PUTENV("DOTFONTPATH=."); if (getBool(__FILE__,__LINE__,"HAVE_DOT")) PUTENV("DOTFONTPATH=.");
} }
...@@ -1048,18 +1082,18 @@ void Config::create() ...@@ -1048,18 +1082,18 @@ void Config::create()
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
cs = addString(//"projectName", cs = addString(
"PROJECT_NAME", "PROJECT_NAME",
"The PROJECT_NAME tag is a single word (or a sequence of words surrounded \n" "The PROJECT_NAME tag is a single word (or a sequence of words surrounded \n"
"by quotes) that should identify the project. " "by quotes) that should identify the project. "
); );
cs = addString(//"projectNumber", cs = addString(
"PROJECT_NUMBER", "PROJECT_NUMBER",
"The PROJECT_NUMBER tag can be used to enter a project or revision number. \n" "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" "This could be handy for archiving the generated documentation or \n"
"if some version control system is used.\n" "if some version control system is used.\n"
); );
cs = addString(//"outputDir", cs = addString(
"OUTPUT_DIRECTORY", "OUTPUT_DIRECTORY",
"The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) \n" "The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) \n"
"base path where the generated documentation will be put. \n" "base path where the generated documentation will be put. \n"
...@@ -1067,7 +1101,7 @@ void Config::create() ...@@ -1067,7 +1101,7 @@ void Config::create()
"where doxygen was started. If left blank the current directory will be used.\n" "where doxygen was started. If left blank the current directory will be used.\n"
); );
cs->setWidgetType(ConfigString::Dir); cs->setWidgetType(ConfigString::Dir);
ce = addEnum(//"outputLanguage", ce = addEnum(
"OUTPUT_LANGUAGE", "OUTPUT_LANGUAGE",
"The OUTPUT_LANGUAGE tag is used to specify the language in which all \n" "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" "documentation generated by doxygen is written. Doxygen will use this \n"
...@@ -1098,7 +1132,7 @@ void Config::create() ...@@ -1098,7 +1132,7 @@ void Config::create()
ce->addValue("Slovene"); ce->addValue("Slovene");
ce->addValue("Spanish"); ce->addValue("Spanish");
ce->addValue("Swedish"); ce->addValue("Swedish");
cb = addBool( //"extractAllFlag", cb = addBool(
"EXTRACT_ALL", "EXTRACT_ALL",
"If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in \n" "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" "documentation are documented, even if no documentation was available. \n"
...@@ -1106,19 +1140,19 @@ void Config::create() ...@@ -1106,19 +1140,19 @@ void Config::create()
"the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES \n", "the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES \n",
FALSE FALSE
); );
cb = addBool( //"extractPrivateFlag", cb = addBool(
"EXTRACT_PRIVATE", "EXTRACT_PRIVATE",
"If the EXTRACT_PRIVATE tag is set to YES all private members of a class \n" "If the EXTRACT_PRIVATE tag is set to YES all private members of a class \n"
"will be included in the documentation. \n", "will be included in the documentation. \n",
FALSE FALSE
); );
cb = addBool( //"extractStaticFlag", cb = addBool(
"EXTRACT_STATIC", "EXTRACT_STATIC",
"If the EXTRACT_STATIC tag is set to YES all static members of a file \n" "If the EXTRACT_STATIC tag is set to YES all static members of a file \n"
"will be included in the documentation. \n", "will be included in the documentation. \n",
FALSE FALSE
); );
cb = addBool( //"hideMemberFlag", cb = addBool(
"HIDE_UNDOC_MEMBERS", "HIDE_UNDOC_MEMBERS",
"If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all \n" "If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all \n"
"undocumented members of documented classes, files or namespaces. \n" "undocumented members of documented classes, files or namespaces. \n"
...@@ -1127,7 +1161,7 @@ void Config::create() ...@@ -1127,7 +1161,7 @@ void Config::create()
"This option has no effect if EXTRACT_ALL is enabled. \n", "This option has no effect if EXTRACT_ALL is enabled. \n",
FALSE FALSE
); );
cb = addBool( //"hideClassFlag", cb = addBool(
"HIDE_UNDOC_CLASSES", "HIDE_UNDOC_CLASSES",
"If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all \n" "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" "undocumented classes that are normally visible in the class hierarchy. \n"
...@@ -1135,7 +1169,7 @@ void Config::create() ...@@ -1135,7 +1169,7 @@ void Config::create()
"overviews. This option has no effect if EXTRACT_ALL is enabled. \n", "overviews. This option has no effect if EXTRACT_ALL is enabled. \n",
FALSE FALSE
); );
cb = addBool( //"briefMemDescFlag", cb = addBool(
"BRIEF_MEMBER_DESC", "BRIEF_MEMBER_DESC",
"If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will \n" "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" "include brief member descriptions after the members that are listed in \n"
...@@ -1143,7 +1177,7 @@ void Config::create() ...@@ -1143,7 +1177,7 @@ void Config::create()
"Set to NO to disable this. \n", "Set to NO to disable this. \n",
TRUE TRUE
); );
cb = addBool( //"repeatBriefFlag", cb = addBool(
"REPEAT_BRIEF", "REPEAT_BRIEF",
"If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend \n" "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" "the brief description of a member or function before the detailed description. \n"
...@@ -1151,21 +1185,21 @@ void Config::create() ...@@ -1151,21 +1185,21 @@ void Config::create()
"brief descriptions will be completely suppressed. \n", "brief descriptions will be completely suppressed. \n",
TRUE TRUE
); );
cb = addBool( //"alwaysDetailsFlag", cb = addBool(
"ALWAYS_DETAILED_SEC", "ALWAYS_DETAILED_SEC",
"If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then \n" "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" "Doxygen will generate a detailed section even if there is only a brief \n"
"description. \n", "description. \n",
FALSE FALSE
); );
cb = addBool( //"fullPathNameFlag", cb = addBool(
"FULL_PATH_NAMES", "FULL_PATH_NAMES",
"If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full \n" "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" "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", "to NO the shortest path that makes the file name unique will be used. \n",
FALSE FALSE
); );
cl = addList( //"stripFromPath", cl = addList(
"STRIP_FROM_PATH", "STRIP_FROM_PATH",
"If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag \n" "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" "can be used to strip a user defined part of the path. Stripping is \n"
...@@ -1173,7 +1207,7 @@ void Config::create() ...@@ -1173,7 +1207,7 @@ void Config::create()
"the path. It is allowed to use relative paths in the argument list.\n" "the path. It is allowed to use relative paths in the argument list.\n"
); );
cl->addDependency("FULL_PATH_NAMES"); cl->addDependency("FULL_PATH_NAMES");
cb = addBool( //"internalDocsFlag", cb = addBool(
"INTERNAL_DOCS", "INTERNAL_DOCS",
"The INTERNAL_DOCS tag determines if documentation \n" "The INTERNAL_DOCS tag determines if documentation \n"
"that is typed after a \\internal command is included. If the tag is set \n" "that is typed after a \\internal command is included. If the tag is set \n"
...@@ -1181,33 +1215,33 @@ void Config::create() ...@@ -1181,33 +1215,33 @@ void Config::create()
"Set it to YES to include the internal documentation. \n", "Set it to YES to include the internal documentation. \n",
FALSE FALSE
); );
cb = addBool( //"classDiagramFlag", cb = addBool(
"CLASS_DIAGRAMS", "CLASS_DIAGRAMS",
"If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will \n" "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" "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", "super classes. Setting the tag to NO turns the diagrams off. \n",
TRUE TRUE
); );
cb = addBool( //"sourceBrowseFlag", cb = addBool(
"SOURCE_BROWSER", "SOURCE_BROWSER",
"If the SOURCE_BROWSER tag is set to YES then a list of source files will \n" "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", "be generated. Documented entities will be cross-referenced with these sources. \n",
FALSE FALSE
); );
cb = addBool( //"inlineSourceFlag", cb = addBool(
"INLINE_SOURCES", "INLINE_SOURCES",
"Setting the INLINE_SOURCES tag to YES will include the body \n" "Setting the INLINE_SOURCES tag to YES will include the body \n"
"of functions and classes directly in the documentation. \n", "of functions and classes directly in the documentation. \n",
FALSE FALSE
); );
cb = addBool( //"stripCommentsFlag", cb = addBool(
"STRIP_CODE_COMMENTS", "STRIP_CODE_COMMENTS",
"Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct \n" "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" "doxygen to hide any special comment blocks from generated source code \n"
"fragments. Normal C and C++ comments will always remain visible. \n", "fragments. Normal C and C++ comments will always remain visible. \n",
TRUE TRUE
); );
cb = addBool( //"caseSensitiveNames", cb = addBool(
"CASE_SENSE_NAMES", "CASE_SENSE_NAMES",
"If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate \n" "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" "file names in lower case letters. If set to YES upper case letters are also \n"
...@@ -1216,28 +1250,35 @@ void Config::create() ...@@ -1216,28 +1250,35 @@ void Config::create()
"users are adviced to set this option to NO.\n", "users are adviced to set this option to NO.\n",
TRUE 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", "HIDE_SCOPE_NAMES",
"If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen \n" "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" "will show members with their full class and namespace scopes in the \n"
"documentation. If set to YES the scope will be hidden. \n", "documentation. If set to YES the scope will be hidden. \n",
FALSE FALSE
); );
cb = addBool( //"verbatimHeaderFlag", cb = addBool(
"VERBATIM_HEADERS", "VERBATIM_HEADERS",
"If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen \n" "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" "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", "which an include is specified. Set to NO to disable this. \n",
TRUE TRUE
); );
cb = addBool( //"showIncFileFlag", cb = addBool(
"SHOW_INCLUDE_FILES", "SHOW_INCLUDE_FILES",
"If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen \n" "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" "will put list of the files that are included by a file in the documentation \n"
"of that file. \n", "of that file. \n",
TRUE TRUE
); );
cb = addBool( //"autoBriefFlag", cb = addBool(
"JAVADOC_AUTOBRIEF", "JAVADOC_AUTOBRIEF",
"If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen \n" "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" "will interpret the first line (until the first dot) of a JavaDoc-style \n"
...@@ -1246,20 +1287,20 @@ void Config::create() ...@@ -1246,20 +1287,20 @@ void Config::create()
"explict @brief command for a brief description. \n", "explict @brief command for a brief description. \n",
FALSE FALSE
); );
cb = addBool( //"inheritDocsFlag", cb = addBool(
"INHERIT_DOCS", "INHERIT_DOCS",
"If the INHERIT_DOCS tag is set to YES (the default) then an undocumented \n" "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" "member inherits the documentation from any documented member that it \n"
"reimplements. \n", "reimplements. \n",
TRUE TRUE
); );
cb = addBool( //"inlineInfoFlag", cb = addBool(
"INLINE_INFO", "INLINE_INFO",
"If the INLINE_INFO tag is set to YES (the default) then a tag [inline] \n" "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", "is inserted in the documentation for inline members. \n",
TRUE TRUE
); );
cb = addBool( //"sortMembersFlag", cb = addBool(
"SORT_MEMBER_DOCS", "SORT_MEMBER_DOCS",
"If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen \n" "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" "will sort the (detailed) documentation of file and class members \n"
...@@ -1267,7 +1308,7 @@ void Config::create() ...@@ -1267,7 +1308,7 @@ void Config::create()
"declaration order. \n", "declaration order. \n",
TRUE TRUE
); );
cb = addBool( //"distributeDocFlag", cb = addBool(
"DISTRIBUTE_GROUP_DOC", "DISTRIBUTE_GROUP_DOC",
"If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC \n" "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" "tag is set to YES, then doxygen will reuse the documentation of the first \n"
...@@ -1275,39 +1316,39 @@ void Config::create() ...@@ -1275,39 +1316,39 @@ void Config::create()
"all members of a group must be documented explicitly.\n", "all members of a group must be documented explicitly.\n",
FALSE FALSE
); );
ci = addInt( //"tabSize", ci = addInt(
"TAB_SIZE", "TAB_SIZE",
"The TAB_SIZE tag can be used to set the number of spaces in a tab. \n" "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", "Doxygen uses this value to replace tabs by spaces in code fragments. \n",
1,16,8 1,16,8
); );
cl = addList( //"sectionFilterList", cl = addList(
"ENABLED_SECTIONS", "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" "documentation sections, marked by \\if sectionname ... \\endif. \n"
); );
cb = addBool( //"generateTodoList", cb = addBool(
"GENERATE_TODOLIST", "GENERATE_TODOLIST",
"The GENERATE_TODOLIST tag can be used to enable (YES) or \n" "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" "disable (NO) the todo list. This list is created by putting \\todo \n"
"commands in the documentation.\n", "commands in the documentation.\n",
TRUE TRUE
); );
cb = addBool( //"generateTestList", cb = addBool(
"GENERATE_TESTLIST", "GENERATE_TESTLIST",
"The GENERATE_TESTLIST tag can be used to enable (YES) or \n" "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" "disable (NO) the test list. This list is created by putting \\test \n"
"commands in the documentation.\n", "commands in the documentation.\n",
TRUE TRUE
); );
cb = addBool( //"generateBugList", cb = addBool(
"GENERATE_BUGLIST", "GENERATE_BUGLIST",
"The GENERATE_BUGLIST tag can be used to enable (YES) or \n" "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" "disable (NO) the bug list. This list is created by putting \\bug \n"
"commands in the documentation.\n", "commands in the documentation.\n",
TRUE TRUE
); );
cl = addList( //"aliasList", cl = addList(
"ALIASES", "ALIASES",
"This tag can be used to specify a number of aliases that acts \n" "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" "as commands in the documentation. An alias has the form \"name=value\". \n"
...@@ -1316,7 +1357,7 @@ void Config::create() ...@@ -1316,7 +1357,7 @@ void Config::create()
"will result in a user defined paragraph with heading \"Side Effects:\". \n" "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" "You can put \\n's in the value part of an alias to insert newlines. \n"
); );
ci = addInt( //"maxInitLines", ci = addInt(
"MAX_INITIALIZER_LINES", "MAX_INITIALIZER_LINES",
"The MAX_INITIALIZER_LINES tag determines the maximum number of lines \n" "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" "the initial value of a variable or define consist of for it to appear in \n"
...@@ -1327,7 +1368,7 @@ void Config::create() ...@@ -1327,7 +1368,7 @@ void Config::create()
"command in the documentation regardless of this setting. \n", "command in the documentation regardless of this setting. \n",
0,10000,30 0,10000,30
); );
cb = addBool( //"optimizeForCFlag", cb = addBool(
"OPTIMIZE_OUTPUT_FOR_C", "OPTIMIZE_OUTPUT_FOR_C",
"Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources \n" "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" "only. Doxygen will then generate output that is more tailored for C. \n"
...@@ -1335,7 +1376,7 @@ void Config::create() ...@@ -1335,7 +1376,7 @@ void Config::create()
"of all members will be omitted, etc. \n", "of all members will be omitted, etc. \n",
FALSE FALSE
); );
cb = addBool( //"showUsedFilesFlag", cb = addBool(
"SHOW_USED_FILES", "SHOW_USED_FILES",
"Set the SHOW_USED_FILES tag to NO to disable the list of files generated \n" "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" "at the bottom of the documentation of classes and structs. If set to YES the \n"
...@@ -1346,27 +1387,27 @@ void Config::create() ...@@ -1346,27 +1387,27 @@ void Config::create()
addInfo( "Messages","configuration options related to warning and progress messages"); addInfo( "Messages","configuration options related to warning and progress messages");
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
cb = addBool( //"quietFlag", cb = addBool(
"QUIET", "QUIET",
"The QUIET tag can be used to turn on/off the messages that are generated \n" "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", "by doxygen. Possible values are YES and NO. If left blank NO is used. \n",
FALSE FALSE
); );
cb = addBool( //"warningFlag", cb = addBool(
"WARNINGS", "WARNINGS",
"The WARNINGS tag can be used to turn on/off the warning messages that are \n" "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" "generated by doxygen. Possible values are YES and NO. If left blank \n"
"NO is used. \n", "NO is used. \n",
TRUE TRUE
); );
cb = addBool( //"warningUndocFlag", cb = addBool(
"WARN_IF_UNDOCUMENTED", "WARN_IF_UNDOCUMENTED",
"If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings \n" "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" "for undocumented members. If EXTRACT_ALL is set to YES then this flag will \n"
"automatically be disabled. \n", "automatically be disabled. \n",
TRUE TRUE
); );
cs = addString(//"warnFormat", cs = addString(
"WARN_FORMAT", "WARN_FORMAT",
"The WARN_FORMAT tag determines the format of the warning messages that \n" "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" "doxygen can produce. The string should contain the $file, $line, and $text \n"
...@@ -1374,7 +1415,7 @@ void Config::create() ...@@ -1374,7 +1415,7 @@ void Config::create()
"warning originated and the warning text. \n" "warning originated and the warning text. \n"
); );
cs->setDefaultValue("$file:$line: $text"); cs->setDefaultValue("$file:$line: $text");
cs = addString(//"warnLogFile", cs = addString(
"WARN_LOGFILE", "WARN_LOGFILE",
"The WARN_LOGFILE tag can be used to specify a file to which warning \n" "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" "and error messages should be written. If left blank the output is written \n"
...@@ -1383,7 +1424,7 @@ void Config::create() ...@@ -1383,7 +1424,7 @@ void Config::create()
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
addInfo( "Input","configuration options related to the input files"); addInfo( "Input","configuration options related to the input files");
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
cl = addList( //"inputSources", cl = addList(
"INPUT", "INPUT",
"The INPUT tag can be used to specify the files and/or directories that contain \n" "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" "documented source files. You may enter file names like \"myfile.cpp\" or \n"
...@@ -1391,55 +1432,55 @@ void Config::create() ...@@ -1391,55 +1432,55 @@ void Config::create()
"with spaces. \n" "with spaces. \n"
); );
cl->setWidgetType(ConfigList::FileAndDir); cl->setWidgetType(ConfigList::FileAndDir);
cl = addList( //"filePatternList", cl = addList(
"FILE_PATTERNS", "FILE_PATTERNS",
"If the value of the INPUT tag contains directories, you can use the \n" "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" "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" "and *.h) to filter out the source-files in the directories. If left \n"
"blank all files are included. \n" "blank all files are included. \n"
); );
cb = addBool( //"recursiveFlag", cb = addBool(
"RECURSIVE", "RECURSIVE",
"The RECURSIVE tag can be used to turn specify whether or not subdirectories \n" "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" "should be searched for input files as well. Possible values are YES and NO. \n"
"If left blank NO is used. \n", "If left blank NO is used. \n",
FALSE FALSE
); );
cl = addList( //"excludeSources", cl = addList(
"EXCLUDE", "EXCLUDE",
"The EXCLUDE tag can be used to specify files and/or directories that should \n" "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" "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" "subdirectory from a directory tree whose root is specified with the INPUT tag. \n"
); );
cl->setWidgetType(ConfigList::FileAndDir); cl->setWidgetType(ConfigList::FileAndDir);
cl = addList( //"excludePatternList", cl = addList(
"EXCLUDE_PATTERNS", "EXCLUDE_PATTERNS",
"If the value of the INPUT tag contains directories, you can use the \n" "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" "EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude \n"
"certain files from those directories. \n" "certain files from those directories. \n"
); );
cl = addList( //"examplePath", cl = addList(
"EXAMPLE_PATH", "EXAMPLE_PATH",
"The EXAMPLE_PATH tag can be used to specify one or more files or \n" "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" "directories that contain example code fragments that are included (see \n"
"the \\include command). \n" "the \\include command). \n"
); );
cl->setWidgetType(ConfigList::Dir); cl->setWidgetType(ConfigList::Dir);
cl = addList( //"examplePatternList", cl = addList(
"EXAMPLE_PATTERNS", "EXAMPLE_PATTERNS",
"If the value of the EXAMPLE_PATH tag contains directories, you can use the \n" "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" "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" "and *.h) to filter out the source-files in the directories. If left \n"
"blank all files are included. \n" "blank all files are included. \n"
); );
cl = addList( //"imagePath", cl = addList(
"IMAGE_PATH", "IMAGE_PATH",
"The IMAGE_PATH tag can be used to specify one or more files or \n" "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" "directories that contain image that are included in the documentation (see \n"
"the \\image command). \n" "the \\image command). \n"
); );
cl->setWidgetType(ConfigList::Dir); cl->setWidgetType(ConfigList::Dir);
cs = addString(//"inputFilter", cs = addString(
"INPUT_FILTER", "INPUT_FILTER",
"The INPUT_FILTER tag can be used to specify a program that doxygen should \n" "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" "invoke to filter for each input file. Doxygen will invoke the filter program \n"
...@@ -1449,7 +1490,7 @@ void Config::create() ...@@ -1449,7 +1490,7 @@ void Config::create()
"to standard output. \n" "to standard output. \n"
); );
cl->setWidgetType(ConfigList::File); cl->setWidgetType(ConfigList::File);
cb = addBool( //"filterForSourceFlag", cb = addBool(
"FILTER_SOURCE_FILES", "FILTER_SOURCE_FILES",
"If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using \n" "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" "INPUT_FILTER) will be used to filter the input files when producing source \n"
...@@ -1461,21 +1502,21 @@ void Config::create() ...@@ -1461,21 +1502,21 @@ void Config::create()
addInfo( "Index","configuration options related to the alphabetical class index"); addInfo( "Index","configuration options related to the alphabetical class index");
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
cb = addBool( //"alphaIndexFlag", cb = addBool(
"ALPHABETICAL_INDEX", "ALPHABETICAL_INDEX",
"If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index \n" "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" "of all compounds will be generated. Enable this if the project \n"
"contains a lot of classes, structs, unions or interfaces. \n", "contains a lot of classes, structs, unions or interfaces. \n",
FALSE FALSE
); );
ci = addInt( //"colsInAlphaIndex", ci = addInt(
"COLS_IN_ALPHA_INDEX", "COLS_IN_ALPHA_INDEX",
"If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then \n" "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" "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", "in which this list will be split (can be a number in the range [1..20]) \n",
1,20,5 1,20,5
); );
cl = addList( //"ignorePrefixList", cl = addList(
"IGNORE_PREFIX", "IGNORE_PREFIX",
"In case all classes in a project start with a common prefix, all \n" "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" "classes will be put under the same header in the alphabetical index. \n"
...@@ -1485,13 +1526,13 @@ void Config::create() ...@@ -1485,13 +1526,13 @@ void Config::create()
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
addInfo( "HTML","configuration options related to the HTML output"); addInfo( "HTML","configuration options related to the HTML output");
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
cb = addBool( //"generateHtml", cb = addBool(
"GENERATE_HTML", "GENERATE_HTML",
"If the GENERATE_HTML tag is set to YES (the default) Doxygen will \n" "If the GENERATE_HTML tag is set to YES (the default) Doxygen will \n"
"generate HTML output. \n", "generate HTML output. \n",
TRUE TRUE
); );
cs = addString(//"htmlOutputDir", cs = addString(
"HTML_OUTPUT", "HTML_OUTPUT",
"The HTML_OUTPUT tag is used to specify where the HTML docs will be put. \n" "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" "If a relative path is entered the value of OUTPUT_DIRECTORY will be \n"
...@@ -1500,7 +1541,7 @@ void Config::create() ...@@ -1500,7 +1541,7 @@ void Config::create()
cs->setDefaultValue("html"); cs->setDefaultValue("html");
cs->setWidgetType(ConfigString::Dir); cs->setWidgetType(ConfigString::Dir);
cs->addDependency("GENERATE_HTML"); cs->addDependency("GENERATE_HTML");
cs = addString(//"headerFile", cs = addString(
"HTML_HEADER", "HTML_HEADER",
"The HTML_HEADER tag can be used to specify a personal HTML header for \n" "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" "each generated HTML page. If it is left blank doxygen will generate a \n"
...@@ -1508,7 +1549,7 @@ void Config::create() ...@@ -1508,7 +1549,7 @@ void Config::create()
); );
cs->setWidgetType(ConfigString::File); cs->setWidgetType(ConfigString::File);
cs->addDependency("GENERATE_HTML"); cs->addDependency("GENERATE_HTML");
cs = addString(//"footerFile", cs = addString(
"HTML_FOOTER", "HTML_FOOTER",
"The HTML_FOOTER tag can be used to specify a personal HTML footer for \n" "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" "each generated HTML page. If it is left blank doxygen will generate a \n"
...@@ -1516,7 +1557,7 @@ void Config::create() ...@@ -1516,7 +1557,7 @@ void Config::create()
); );
cs->setWidgetType(ConfigString::File); cs->setWidgetType(ConfigString::File);
cs->addDependency("GENERATE_HTML"); cs->addDependency("GENERATE_HTML");
cs = addString(//"htmlStyleSheet", cs = addString(
"HTML_STYLESHEET", "HTML_STYLESHEET",
"The HTML_STYLESHEET tag can be used to specify a user defined cascading \n" "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" "style sheet that is used by each HTML page. It can be used to \n"
...@@ -1525,7 +1566,7 @@ void Config::create() ...@@ -1525,7 +1566,7 @@ void Config::create()
); );
cs->setWidgetType(ConfigString::File); cs->setWidgetType(ConfigString::File);
cs->addDependency("GENERATE_HTML"); cs->addDependency("GENERATE_HTML");
cb = addBool( //"htmlAlignMemberFlag", cb = addBool(
"HTML_ALIGN_MEMBERS", "HTML_ALIGN_MEMBERS",
"If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, \n" "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" "files or namespaces will be aligned in HTML using tables. If set to \n"
...@@ -1533,7 +1574,7 @@ void Config::create() ...@@ -1533,7 +1574,7 @@ void Config::create()
TRUE TRUE
); );
cb->addDependency("GENERATE_HTML"); cb->addDependency("GENERATE_HTML");
cb = addBool( //"htmlHelpFlag", cb = addBool(
"GENERATE_HTMLHELP", "GENERATE_HTMLHELP",
"If the GENERATE_HTMLHELP tag is set to YES, additional index files \n" "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" "will be generated that can be used as input for tools like the \n"
...@@ -1542,7 +1583,7 @@ void Config::create() ...@@ -1542,7 +1583,7 @@ void Config::create()
FALSE FALSE
); );
cb->addDependency("GENERATE_HTML"); cb->addDependency("GENERATE_HTML");
cb = addBool( //"htmlHelpChiFlag", cb = addBool(
"GENERATE_CHI", "GENERATE_CHI",
"If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag \n" "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" "controls if a separate .chi index file is generated (YES) or that \n"
...@@ -1550,7 +1591,7 @@ void Config::create() ...@@ -1550,7 +1591,7 @@ void Config::create()
FALSE FALSE
); );
cb->addDependency("GENERATE_HTML"); cb->addDependency("GENERATE_HTML");
cb = addBool( //"htmlHelpTocFlag", cb = addBool(
"BINARY_TOC", "BINARY_TOC",
"If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag \n" "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" "controls whether a binary table of contents is generated (YES) or a \n"
...@@ -1558,14 +1599,14 @@ void Config::create() ...@@ -1558,14 +1599,14 @@ void Config::create()
FALSE FALSE
); );
cb->addDependency("GENERATE_HTML"); cb->addDependency("GENERATE_HTML");
cb = addBool( //"htmlHelpTocExpandFlag", cb = addBool(
"TOC_EXPAND", "TOC_EXPAND",
"The TOC_EXPAND flag can be set YES to add extra items for group members \n" "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", "to the contents of the Html help documentation and to the tree view. \n",
FALSE FALSE
); );
cb->addDependency("GENERATE_HTML"); cb->addDependency("GENERATE_HTML");
cb = addBool( //"noIndexFlag", cb = addBool(
"DISABLE_INDEX", "DISABLE_INDEX",
"The DISABLE_INDEX tag can be used to turn on/off the condensed index at \n" "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" "top of each HTML page. The value NO (the default) enables the index and \n"
...@@ -1573,14 +1614,14 @@ void Config::create() ...@@ -1573,14 +1614,14 @@ void Config::create()
FALSE FALSE
); );
cb->addDependency("GENERATE_HTML"); cb->addDependency("GENERATE_HTML");
ci = addInt( //"enumValuesPerLine", ci = addInt(
"ENUM_VALUES_PER_LINE", "ENUM_VALUES_PER_LINE",
"This tag can be used to set the number of enum values (range [1..20]) \n" "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", "that doxygen will group on one line in the generated HTML documentation. \n",
1,20,4 1,20,4
); );
ci->addDependency("GENERATE_HTML"); ci->addDependency("GENERATE_HTML");
cb = addBool( //"ftvHelpFlag", cb = addBool(
"GENERATE_TREEVIEW", "GENERATE_TREEVIEW",
"If the GENERATE_TREEVIEW tag is set to YES, a side panel will be\n" "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" "generated containing a tree-like index structure (just like the one that \n"
...@@ -1590,7 +1631,7 @@ void Config::create() ...@@ -1590,7 +1631,7 @@ void Config::create()
FALSE FALSE
); );
cb->addDependency("GENERATE_HTML"); cb->addDependency("GENERATE_HTML");
ci = addInt( //"treeViewWidth", ci = addInt(
"TREEVIEW_WIDTH", "TREEVIEW_WIDTH",
"If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be \n" "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" "used to set the initial width (in pixels) of the frame in which the tree \n"
...@@ -1602,13 +1643,13 @@ void Config::create() ...@@ -1602,13 +1643,13 @@ void Config::create()
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
addInfo( "LaTeX","configuration options related to the LaTeX output"); addInfo( "LaTeX","configuration options related to the LaTeX output");
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
cb = addBool( //"generateLatex", cb = addBool(
"GENERATE_LATEX", "GENERATE_LATEX",
"If the GENERATE_LATEX tag is set to YES (the default) Doxygen will \n" "If the GENERATE_LATEX tag is set to YES (the default) Doxygen will \n"
"generate Latex output. \n", "generate Latex output. \n",
TRUE TRUE
); );
cs = addString(//"latexOutputDir", cs = addString(
"LATEX_OUTPUT", "LATEX_OUTPUT",
"The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. \n" "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" "If a relative path is entered the value of OUTPUT_DIRECTORY will be \n"
...@@ -1617,7 +1658,7 @@ void Config::create() ...@@ -1617,7 +1658,7 @@ void Config::create()
cs->setDefaultValue("latex"); cs->setDefaultValue("latex");
cs->setWidgetType(ConfigString::Dir); cs->setWidgetType(ConfigString::Dir);
cs->addDependency("GENERATE_LATEX"); cs->addDependency("GENERATE_LATEX");
cb = addBool( //"compactLatexFlag", cb = addBool(
"COMPACT_LATEX", "COMPACT_LATEX",
"If the COMPACT_LATEX tag is set to YES Doxygen generates more compact \n" "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" "LaTeX documents. This may be useful for small projects and may help to \n"
...@@ -1625,7 +1666,7 @@ void Config::create() ...@@ -1625,7 +1666,7 @@ void Config::create()
FALSE FALSE
); );
cb->addDependency("GENERATE_LATEX"); cb->addDependency("GENERATE_LATEX");
ce = addEnum(//"paperType", ce = addEnum(
"PAPER_TYPE", "PAPER_TYPE",
"The PAPER_TYPE tag can be used to set the paper type that is used \n" "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" "by the printer. Possible values are: a4, a4wide, letter, legal and \n"
...@@ -1638,13 +1679,13 @@ void Config::create() ...@@ -1638,13 +1679,13 @@ void Config::create()
ce->addValue("legal"); ce->addValue("legal");
ce->addValue("executive"); ce->addValue("executive");
ce->addDependency("GENERATE_LATEX"); ce->addDependency("GENERATE_LATEX");
cl = addList( //"extraPackageList", cl = addList(
"EXTRA_PACKAGES", "EXTRA_PACKAGES",
"The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX \n" "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" "packages that should be included in the LaTeX output. \n"
); );
cl->addDependency("GENERATE_LATEX"); cl->addDependency("GENERATE_LATEX");
cs = addString(//"latexHeaderFile", cs = addString(
"LATEX_HEADER", "LATEX_HEADER",
"The LATEX_HEADER tag can be used to specify a personal LaTeX header for \n" "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" "the generated latex document. The header should contain everything until \n"
...@@ -1653,7 +1694,7 @@ void Config::create() ...@@ -1653,7 +1694,7 @@ void Config::create()
); );
cs->setWidgetType(ConfigString::File); cs->setWidgetType(ConfigString::File);
cs->addDependency("GENERATE_LATEX"); cs->addDependency("GENERATE_LATEX");
cb = addBool( //"pdfHyperFlag", cb = addBool(
"PDF_HYPERLINKS", "PDF_HYPERLINKS",
"If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated \n" "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" "is prepared for conversion to pdf (using ps2pdf). The pdf file will \n"
...@@ -1662,7 +1703,7 @@ void Config::create() ...@@ -1662,7 +1703,7 @@ void Config::create()
FALSE FALSE
); );
cb->addDependency("GENERATE_LATEX"); cb->addDependency("GENERATE_LATEX");
cb = addBool( //"usePDFLatexFlag", cb = addBool(
"USE_PDFLATEX", "USE_PDFLATEX",
"If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of \n" "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" "plain latex in the generated Makefile. Set this option to YES to get a \n"
...@@ -1670,7 +1711,7 @@ void Config::create() ...@@ -1670,7 +1711,7 @@ void Config::create()
FALSE FALSE
); );
cb->addDependency("GENERATE_LATEX"); cb->addDependency("GENERATE_LATEX");
cb = addBool( //"latexBatchModeFlag", cb = addBool(
"LATEX_BATCHMODE", "LATEX_BATCHMODE",
"If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\\\batchmode. \n" "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" "command to the generated LaTeX files. This will instruct LaTeX to keep \n"
...@@ -1682,14 +1723,14 @@ void Config::create() ...@@ -1682,14 +1723,14 @@ void Config::create()
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
addInfo( "RTF","configuration options related to the RTF output"); addInfo( "RTF","configuration options related to the RTF output");
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
cb = addBool( //"generateRTF", cb = addBool(
"GENERATE_RTF", "GENERATE_RTF",
"If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output \n" "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" "The RTF output is optimised for Word 97 and may not look very pretty with \n"
"other RTF readers or editors.\n", "other RTF readers or editors.\n",
TRUE TRUE
); );
cs = addString(//"rtfOutputDir", cs = addString(
"RTF_OUTPUT", "RTF_OUTPUT",
"The RTF_OUTPUT tag is used to specify where the RTF docs will be put. \n" "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" "If a relative path is entered the value of OUTPUT_DIRECTORY will be \n"
...@@ -1698,7 +1739,7 @@ void Config::create() ...@@ -1698,7 +1739,7 @@ void Config::create()
cs->setDefaultValue("rtf"); cs->setDefaultValue("rtf");
cs->setWidgetType(ConfigString::Dir); cs->setWidgetType(ConfigString::Dir);
cs->addDependency("GENERATE_RTF"); cs->addDependency("GENERATE_RTF");
cb = addBool( //"compactRTFFlag", cb = addBool(
"COMPACT_RTF", "COMPACT_RTF",
"If the COMPACT_RTF tag is set to YES Doxygen generates more compact \n" "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" "RTF documents. This may be useful for small projects and may help to \n"
...@@ -1706,7 +1747,7 @@ void Config::create() ...@@ -1706,7 +1747,7 @@ void Config::create()
FALSE FALSE
); );
cb->addDependency("GENERATE_RTF"); cb->addDependency("GENERATE_RTF");
cb = addBool( //"rtfHyperFlag", cb = addBool(
"RTF_HYPERLINKS", "RTF_HYPERLINKS",
"If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated \n" "If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated \n"
"will contain hyperlink fields. The RTF file will \n" "will contain hyperlink fields. The RTF file will \n"
...@@ -1717,7 +1758,7 @@ void Config::create() ...@@ -1717,7 +1758,7 @@ void Config::create()
FALSE FALSE
); );
cb->addDependency("GENERATE_RTF"); cb->addDependency("GENERATE_RTF");
cs = addString(//"rtfStylesheetFile", cs = addString(
"RTF_STYLESHEET_FILE", "RTF_STYLESHEET_FILE",
"Load stylesheet definitions from file. Syntax is similar to doxygen's \n" "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" "config file, i.e. a series of assigments. You only have to provide \n"
...@@ -1725,7 +1766,7 @@ void Config::create() ...@@ -1725,7 +1766,7 @@ void Config::create()
); );
cs->setWidgetType(ConfigString::File); cs->setWidgetType(ConfigString::File);
cs->addDependency("GENERATE_RTF"); cs->addDependency("GENERATE_RTF");
cs = addString(//"rtfExtentionsFile", cs = addString(
"RTF_EXTENSIONS_FILE", "RTF_EXTENSIONS_FILE",
"Set optional variables used in the generation of an rtf document. \n" "Set optional variables used in the generation of an rtf document. \n"
"Syntax is similar to doxygen's config file.\n" "Syntax is similar to doxygen's config file.\n"
...@@ -1736,13 +1777,13 @@ void Config::create() ...@@ -1736,13 +1777,13 @@ void Config::create()
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
addInfo( "Man","configuration options related to the man page output"); addInfo( "Man","configuration options related to the man page output");
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
cb = addBool( //"generateMan", cb = addBool(
"GENERATE_MAN", "GENERATE_MAN",
"If the GENERATE_MAN tag is set to YES (the default) Doxygen will \n" "If the GENERATE_MAN tag is set to YES (the default) Doxygen will \n"
"generate man pages \n", "generate man pages \n",
TRUE TRUE
); );
cs = addString(//"manOutputDir", cs = addString(
"MAN_OUTPUT", "MAN_OUTPUT",
"The MAN_OUTPUT tag is used to specify where the man pages will be put. \n" "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" "If a relative path is entered the value of OUTPUT_DIRECTORY will be \n"
...@@ -1751,7 +1792,7 @@ void Config::create() ...@@ -1751,7 +1792,7 @@ void Config::create()
cs->setDefaultValue("man"); cs->setDefaultValue("man");
cs->setWidgetType(ConfigString::Dir); cs->setWidgetType(ConfigString::Dir);
cs->addDependency("GENERATE_MAN"); cs->addDependency("GENERATE_MAN");
cs = addString(//"manExtension", cs = addString(
"MAN_EXTENSION", "MAN_EXTENSION",
"The MAN_EXTENSION tag determines the extension that is added to \n" "The MAN_EXTENSION tag determines the extension that is added to \n"
"the generated man pages (default is the subroutine's section .3) \n" "the generated man pages (default is the subroutine's section .3) \n"
...@@ -1773,14 +1814,14 @@ void Config::create() ...@@ -1773,14 +1814,14 @@ void Config::create()
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
addInfo( "Preprocessor","Configuration options related to the preprocessor "); addInfo( "Preprocessor","Configuration options related to the preprocessor ");
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
cb = addBool( //"preprocessingFlag", cb = addBool(
"ENABLE_PREPROCESSING", "ENABLE_PREPROCESSING",
"If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will \n" "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" "evaluate all C-preprocessor directives found in the sources and include \n"
"files. \n", "files. \n",
TRUE TRUE
); );
cb = addBool( //"macroExpansionFlag", cb = addBool(
"MACRO_EXPANSION", "MACRO_EXPANSION",
"If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro \n" "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" "names in the source code. If set to NO (the default) only conditional \n"
...@@ -1789,7 +1830,7 @@ void Config::create() ...@@ -1789,7 +1830,7 @@ void Config::create()
FALSE FALSE
); );
cb->addDependency("ENABLE_PREPROCESSING"); cb->addDependency("ENABLE_PREPROCESSING");
cb = addBool( //"onlyPredefinedFlag", cb = addBool(
"EXPAND_ONLY_PREDEF", "EXPAND_ONLY_PREDEF",
"If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES \n" "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" "then the macro expansion is limited to the macros specified with the \n"
...@@ -1797,14 +1838,14 @@ void Config::create() ...@@ -1797,14 +1838,14 @@ void Config::create()
FALSE FALSE
); );
cb->addDependency("ENABLE_PREPROCESSING"); cb->addDependency("ENABLE_PREPROCESSING");
cb = addBool( //"searchIncludeFlag", cb = addBool(
"SEARCH_INCLUDES", "SEARCH_INCLUDES",
"If the SEARCH_INCLUDES tag is set to YES (the default) the includes files \n" "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", "in the INCLUDE_PATH (see below) will be search if a #include is found. \n",
TRUE TRUE
); );
cb->addDependency("ENABLE_PREPROCESSING"); cb->addDependency("ENABLE_PREPROCESSING");
cl = addList( //"includePath", cl = addList(
"INCLUDE_PATH", "INCLUDE_PATH",
"The INCLUDE_PATH tag can be used to specify one or more directories that \n" "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" "contain include files that are not input files but should be processed by \n"
...@@ -1812,7 +1853,7 @@ void Config::create() ...@@ -1812,7 +1853,7 @@ void Config::create()
); );
cl->setWidgetType(ConfigList::Dir); cl->setWidgetType(ConfigList::Dir);
cl->addDependency("ENABLE_PREPROCESSING"); cl->addDependency("ENABLE_PREPROCESSING");
cl = addList( //"includeFilePatternList", cl = addList(
"INCLUDE_FILE_PATTERNS", "INCLUDE_FILE_PATTERNS",
"You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard \n" "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" "patterns (like *.h and *.hpp) to filter out the header-files in the \n"
...@@ -1820,7 +1861,7 @@ void Config::create() ...@@ -1820,7 +1861,7 @@ void Config::create()
"be used. \n" "be used. \n"
); );
cl->addDependency("ENABLE_PREPROCESSING"); cl->addDependency("ENABLE_PREPROCESSING");
cl = addList( //"predefined", cl = addList(
"PREDEFINED", "PREDEFINED",
"The PREDEFINED tag can be used to specify one or more macro names that \n" "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" "are defined before the preprocessor is started (similar to the -D option of \n"
...@@ -1829,7 +1870,7 @@ void Config::create() ...@@ -1829,7 +1870,7 @@ void Config::create()
"omitted =1 is assumed. \n" "omitted =1 is assumed. \n"
); );
cl->addDependency("ENABLE_PREPROCESSING"); cl->addDependency("ENABLE_PREPROCESSING");
cl = addList( //"expandAsDefinedList", cl = addList(
"EXPAND_AS_DEFINED", "EXPAND_AS_DEFINED",
"If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then \n" "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" "this tag can be used to specify a list of macro names that should be expanded. \n"
...@@ -1840,25 +1881,25 @@ void Config::create() ...@@ -1840,25 +1881,25 @@ void Config::create()
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
addInfo( "External","Configuration::addtions related to external references "); addInfo( "External","Configuration::addtions related to external references ");
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
cl = addList( //"tagFileList", cl = addList(
"TAGFILES", "TAGFILES",
"The TAGFILES tag can be used to specify one or more tagfiles. \n" "The TAGFILES tag can be used to specify one or more tagfiles. \n"
); );
cl->setWidgetType(ConfigList::File); cl->setWidgetType(ConfigList::File);
cs = addString(//"genTagFile", cs = addString(
"GENERATE_TAGFILE", "GENERATE_TAGFILE",
"When a file name is specified after GENERATE_TAGFILE, doxygen will create \n" "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" "a tag file that is based on the input files it reads. \n"
); );
cs->setWidgetType(ConfigString::File); cs->setWidgetType(ConfigString::File);
cb = addBool( //"allExtFlag", cb = addBool(
"ALLEXTERNALS", "ALLEXTERNALS",
"If the ALLEXTERNALS tag is set to YES all external classes will be listed \n" "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" "in the class index. If set to NO only the inherited external classes \n"
"will be listed. \n", "will be listed. \n",
FALSE FALSE
); );
cs = addString(//"perlPath", cs = addString(
"PERL_PATH", "PERL_PATH",
"The PERL_PATH should be the absolute path and name of the perl script \n" "The PERL_PATH should be the absolute path and name of the perl script \n"
"interpreter (i.e. the result of `which perl'). \n" "interpreter (i.e. the result of `which perl'). \n"
...@@ -1869,7 +1910,7 @@ void Config::create() ...@@ -1869,7 +1910,7 @@ void Config::create()
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
addInfo( "Dot","Configuration options related to the dot tool "); addInfo( "Dot","Configuration options related to the dot tool ");
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
cb = addBool( //"haveDotFlag", cb = addBool(
"HAVE_DOT", "HAVE_DOT",
"If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is \n" "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" "available from the path. This tool is part of Graphviz, a graph visualization \n"
...@@ -1877,7 +1918,7 @@ void Config::create() ...@@ -1877,7 +1918,7 @@ void Config::create()
"have no effect if this option is set to NO (the default) \n", "have no effect if this option is set to NO (the default) \n",
FALSE FALSE
); );
cb = addBool( //"classGraphFlag", cb = addBool(
"CLASS_GRAPH", "CLASS_GRAPH",
"If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen \n" "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" "will generate a graph for each documented class showing the direct and \n"
...@@ -1886,7 +1927,7 @@ void Config::create() ...@@ -1886,7 +1927,7 @@ void Config::create()
TRUE TRUE
); );
cb->addDependency("HAVE_DOT"); cb->addDependency("HAVE_DOT");
cb = addBool( //"collGraphFlag", cb = addBool(
"COLLABORATION_GRAPH", "COLLABORATION_GRAPH",
"If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen \n" "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" "will generate a graph for each documented class showing the direct and \n"
...@@ -1895,7 +1936,7 @@ void Config::create() ...@@ -1895,7 +1936,7 @@ void Config::create()
TRUE TRUE
); );
cb->addDependency("HAVE_DOT"); cb->addDependency("HAVE_DOT");
cb = addBool( //"includeGraphFlag", cb = addBool(
"INCLUDE_GRAPH", "INCLUDE_GRAPH",
"If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to \n" "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" "YES then doxygen will generate a graph for each documented file showing \n"
...@@ -1904,7 +1945,7 @@ void Config::create() ...@@ -1904,7 +1945,7 @@ void Config::create()
TRUE TRUE
); );
cb->addDependency("HAVE_DOT"); cb->addDependency("HAVE_DOT");
cb = addBool( //"includedByGraphFlag", cb = addBool(
"INCLUDED_BY_GRAPH", "INCLUDED_BY_GRAPH",
"If the ENABLE_PREPROCESSING, INCLUDED_BY_GRAPH, and HAVE_DOT tags are set to \n" "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" "YES then doxygen will generate a graph for each documented header file showing \n"
...@@ -1912,21 +1953,21 @@ void Config::create() ...@@ -1912,21 +1953,21 @@ void Config::create()
TRUE TRUE
); );
cb->addDependency("HAVE_DOT"); cb->addDependency("HAVE_DOT");
cb = addBool( //"gfxHierarchyFlag", cb = addBool(
"GRAPHICAL_HIERARCHY", "GRAPHICAL_HIERARCHY",
"If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen \n" "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", "will graphical hierarchy of all classes instead of a textual one. \n",
TRUE TRUE
); );
cb->addDependency("HAVE_DOT"); cb->addDependency("HAVE_DOT");
cs = addString(//"dotPath", cs = addString(
"DOT_PATH", "DOT_PATH",
"The tag DOT_PATH can be used to specify the path where the dot tool can be \n" "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" "found. If left blank, it is assumed the dot tool can be found on the path. \n"
); );
cs->setWidgetType(ConfigString::Dir); cs->setWidgetType(ConfigString::Dir);
cs->addDependency("HAVE_DOT"); cs->addDependency("HAVE_DOT");
ci = addInt( //"maxDotGraphWidth", ci = addInt(
"MAX_DOT_GRAPH_WIDTH", "MAX_DOT_GRAPH_WIDTH",
"The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width \n" "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" "(in pixels) of the graphs generated by dot. If a graph becomes larger than \n"
...@@ -1936,7 +1977,7 @@ void Config::create() ...@@ -1936,7 +1977,7 @@ void Config::create()
100,30000, 1024 100,30000, 1024
); );
ci->addDependency("HAVE_DOT"); ci->addDependency("HAVE_DOT");
ci = addInt( //"maxDotGraphHeight", ci = addInt(
"MAX_DOT_GRAPH_HEIGHT", "MAX_DOT_GRAPH_HEIGHT",
"The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height \n" "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" "(in pixels) of the graphs generated by dot. If a graph becomes larger than \n"
...@@ -1946,7 +1987,7 @@ void Config::create() ...@@ -1946,7 +1987,7 @@ void Config::create()
100,30000,1024 100,30000,1024
); );
ci->addDependency("HAVE_DOT"); ci->addDependency("HAVE_DOT");
cb = addBool( //"generateLegend", cb = addBool(
"GENERATE_LEGEND", "GENERATE_LEGEND",
"If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will \n" "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" "generate a legend page explaining the meaning of the various boxes and \n"
...@@ -1954,7 +1995,7 @@ void Config::create() ...@@ -1954,7 +1995,7 @@ void Config::create()
TRUE TRUE
); );
cb->addDependency("HAVE_DOT"); cb->addDependency("HAVE_DOT");
cb = addBool( //"dotCleanUp", cb = addBool(
"DOT_CLEANUP", "DOT_CLEANUP",
"If the DOT_CLEANUP tag is set to YES (the default) Doxygen will \n" "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" "remove the intermedate dot files that are used to generate \n"
...@@ -1966,13 +2007,13 @@ void Config::create() ...@@ -1966,13 +2007,13 @@ void Config::create()
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
addInfo( "Search","Configuration::addtions related to the search engine "); addInfo( "Search","Configuration::addtions related to the search engine ");
//----------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------
cb = addBool( //"searchEngineFlag", cb = addBool(
"SEARCHENGINE", "SEARCHENGINE",
"The SEARCHENGINE tag specifies whether or not a search engine should be \n" "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", "used. If set to NO the values of all tags below this one will be ignored. \n",
FALSE FALSE
); );
cs = addString(//"cgiName", cs = addString(
"CGI_NAME", "CGI_NAME",
"The CGI_NAME tag should be the name of the CGI script that \n" "The CGI_NAME tag should be the name of the CGI script that \n"
"starts the search engine (doxysearch) with the correct parameters. \n" "starts the search engine (doxysearch) with the correct parameters. \n"
...@@ -1980,21 +2021,21 @@ void Config::create() ...@@ -1980,21 +2021,21 @@ void Config::create()
); );
cs->setDefaultValue("search.cgi"); cs->setDefaultValue("search.cgi");
cs->addDependency("SEARCHENGINE"); cs->addDependency("SEARCHENGINE");
cs = addString(//"cgiURL", cs = addString(
"CGI_URL", "CGI_URL",
"The CGI_URL tag should be the absolute URL to the directory where the \n" "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" "cgi binaries are located. See the documentation of your http daemon for \n"
"details. \n" "details. \n"
); );
cs->addDependency("SEARCHENGINE"); cs->addDependency("SEARCHENGINE");
cs = addString(//"docURL", cs = addString(
"DOC_URL", "DOC_URL",
"The DOC_URL tag should be the absolute URL to the directory where the \n" "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 is located. If left blank the absolute path to the \n"
"documentation, with file:// prepended to it, will be used. \n" "documentation, with file:// prepended to it, will be used. \n"
); );
cs->addDependency("SEARCHENGINE"); cs->addDependency("SEARCHENGINE");
cs = addString(//"docAbsPath", cs = addString(
"DOC_ABSPATH", "DOC_ABSPATH",
"The DOC_ABSPATH tag should be the absolute path to the directory where the \n" "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" "documentation is located. If left blank the directory on the local machine \n"
...@@ -2002,7 +2043,7 @@ void Config::create() ...@@ -2002,7 +2043,7 @@ void Config::create()
); );
cs->setWidgetType(ConfigString::Dir); cs->setWidgetType(ConfigString::Dir);
cs->addDependency("SEARCHENGINE"); cs->addDependency("SEARCHENGINE");
cs = addString(//"binAbsPath", cs = addString(
"BIN_ABSPATH", "BIN_ABSPATH",
"The BIN_ABSPATH tag must point to the directory where the doxysearch binary \n" "The BIN_ABSPATH tag must point to the directory where the doxysearch binary \n"
"is installed. \n" "is installed. \n"
...@@ -2010,7 +2051,7 @@ void Config::create() ...@@ -2010,7 +2051,7 @@ void Config::create()
cs->setDefaultValue("/usr/local/bin/"); cs->setDefaultValue("/usr/local/bin/");
cs->setWidgetType(ConfigString::Dir); cs->setWidgetType(ConfigString::Dir);
cs->addDependency("SEARCHENGINE"); cs->addDependency("SEARCHENGINE");
cl = addList( //"extDocPathList", cl = addList(
"EXT_DOC_PATHS", "EXT_DOC_PATHS",
"The EXT_DOC_PATHS tag can be used to specify one or more paths to \n" "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" "documentation generated for other projects. This allows doxysearch to search \n"
......
...@@ -42,5 +42,5 @@ Define::~Define() ...@@ -42,5 +42,5 @@ Define::~Define()
bool Define::hasDocumentation() bool Define::hasDocumentation()
{ {
return definition && (doc || Config::instance()->getBool("EXTRACT_ALL")); return definition && (doc || Config_getBool("EXTRACT_ALL"));
} }
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "qtbc.h" #include "qtbc.h"
#include <ctype.h> #include <ctype.h>
#include <qregexp.h>
#include "config.h" #include "config.h"
#include "definition.h" #include "definition.h"
#include "doxygen.h" #include "doxygen.h"
...@@ -25,7 +26,7 @@ ...@@ -25,7 +26,7 @@
#include "outputlist.h" #include "outputlist.h"
#include "doc.h" #include "doc.h"
#include "code.h" #include "code.h"
#include <qregexp.h> #include "util.h"
Definition::Definition(const char *df,int dl, Definition::Definition(const char *df,int dl,
const char *name,const char *b,const char *d) const char *name,const char *b,const char *d)
...@@ -52,37 +53,6 @@ Definition::~Definition() ...@@ -52,37 +53,6 @@ Definition::~Definition()
delete sourceRefDict; 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) void Definition::addSectionsToDefinition(QList<QCString> *anchorList)
{ {
...@@ -111,7 +81,7 @@ void Definition::addSectionsToDefinition(QList<QCString> *anchorList) ...@@ -111,7 +81,7 @@ void Definition::addSectionsToDefinition(QList<QCString> *anchorList)
void Definition::writeDocAnchorsToTagFile() void Definition::writeDocAnchorsToTagFile()
{ {
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty() && sectionDict) if (!Config_getString("GENERATE_TAGFILE").isEmpty() && sectionDict)
{ {
QDictIterator<SectionInfo> sdi(*sectionDict); QDictIterator<SectionInfo> sdi(*sectionDict);
SectionInfo *si; SectionInfo *si;
...@@ -183,7 +153,7 @@ static bool readCodeFragment(const char *fileName, ...@@ -183,7 +153,7 @@ static bool readCodeFragment(const char *fileName,
} }
else if (c=='\t') 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 else
{ {
...@@ -249,7 +219,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *) ...@@ -249,7 +219,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *)
{ {
ol.pushGeneratorState(); ol.pushGeneratorState();
//printf("Definition::writeSourceRef %d %p\n",bodyLine,bodyDef); //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.disable(OutputGenerator::RTF);
ol.newParagraph(); ol.newParagraph();
...@@ -269,7 +239,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *) ...@@ -269,7 +239,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *)
parseText(ol,refText.left(lineMarkerPos)); parseText(ol,refText.left(lineMarkerPos));
ol.disableAllBut(OutputGenerator::Html); ol.disableAllBut(OutputGenerator::Html);
// write line link (HTML only) // write line link (HTML only)
ol.writeObjectLink(0,bodyDef->sourceName(), ol.writeObjectLink(0,bodyDef->getSourceFileBase(),
anchorStr,lineStr); anchorStr,lineStr);
ol.enableAll(); ol.enableAll();
ol.disable(OutputGenerator::Html); ol.disable(OutputGenerator::Html);
...@@ -283,7 +253,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *) ...@@ -283,7 +253,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *)
ol.disableAllBut(OutputGenerator::Html); ol.disableAllBut(OutputGenerator::Html);
// write file link (HTML only) // write file link (HTML only)
ol.writeObjectLink(0,bodyDef->sourceName(), ol.writeObjectLink(0,bodyDef->getSourceFileBase(),
0,bodyDef->name()); 0,bodyDef->name());
ol.enableAll(); ol.enableAll();
ol.disable(OutputGenerator::Html); ol.disable(OutputGenerator::Html);
...@@ -301,7 +271,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *) ...@@ -301,7 +271,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *)
parseText(ol,refText.left(fileMarkerPos)); parseText(ol,refText.left(fileMarkerPos));
ol.disableAllBut(OutputGenerator::Html); ol.disableAllBut(OutputGenerator::Html);
// write file link (HTML only) // write file link (HTML only)
ol.writeObjectLink(0,bodyDef->sourceName(), ol.writeObjectLink(0,bodyDef->getSourceFileBase(),
0,bodyDef->name()); 0,bodyDef->name());
ol.enableAll(); ol.enableAll();
ol.disable(OutputGenerator::Html); ol.disable(OutputGenerator::Html);
...@@ -315,7 +285,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *) ...@@ -315,7 +285,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *)
ol.disableAllBut(OutputGenerator::Html); ol.disableAllBut(OutputGenerator::Html);
// write line link (HTML only) // write line link (HTML only)
ol.writeObjectLink(0,bodyDef->sourceName(), ol.writeObjectLink(0,bodyDef->getSourceFileBase(),
anchorStr,lineStr); anchorStr,lineStr);
ol.enableAll(); ol.enableAll();
ol.disable(OutputGenerator::Html); ol.disable(OutputGenerator::Html);
...@@ -346,7 +316,7 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName) ...@@ -346,7 +316,7 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName)
ol.pushGeneratorState(); ol.pushGeneratorState();
//printf("Source Fragment %s: %d-%d bodyDef=%p\n",name().data(), //printf("Source Fragment %s: %d-%d bodyDef=%p\n",name().data(),
// startBodyLine,endBodyLine,bodyDef); // startBodyLine,endBodyLine,bodyDef);
if (Config::instance()->getBool("INLINE_SOURCES") && startBodyLine!=-1 && if (Config_getBool("INLINE_SOURCES") && startBodyLine!=-1 &&
endBodyLine>=startBodyLine && bodyDef) endBodyLine>=startBodyLine && bodyDef)
{ {
QCString codeFragment; QCString codeFragment;
...@@ -373,7 +343,7 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName) ...@@ -373,7 +343,7 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName)
void Definition::writeSourceRefs(OutputList &ol,const char *scopeName) void Definition::writeSourceRefs(OutputList &ol,const char *scopeName)
{ {
ol.pushGeneratorState(); ol.pushGeneratorState();
if (Config::instance()->getBool("SOURCE_BROWSER") && sourceRefList) if (Config_getBool("SOURCE_BROWSER") && sourceRefList)
{ {
ol.newParagraph(); ol.newParagraph();
parseText(ol,theTranslator->trReferencedBy()); parseText(ol,theTranslator->trReferencedBy());
...@@ -406,7 +376,7 @@ void Definition::writeSourceRefs(OutputList &ol,const char *scopeName) ...@@ -406,7 +376,7 @@ void Definition::writeSourceRefs(OutputList &ol,const char *scopeName)
ol.disableAllBut(OutputGenerator::Html); ol.disableAllBut(OutputGenerator::Html);
QCString lineStr,anchorStr; QCString lineStr,anchorStr;
anchorStr.sprintf("l%05d",md->getStartBodyLine()); anchorStr.sprintf("l%05d",md->getStartBodyLine());
ol.writeObjectLink(0,md->getBodyDef()->sourceName(),anchorStr,name); ol.writeObjectLink(0,md->getBodyDef()->getSourceFileBase(),anchorStr,name);
ol.popGeneratorState(); ol.popGeneratorState();
// for the other output formats just mention the name // for the other output formats just mention the name
...@@ -434,7 +404,7 @@ bool Definition::hasDocumentation() ...@@ -434,7 +404,7 @@ bool Definition::hasDocumentation()
{ {
return !doc.isEmpty() || // has detailed docs return !doc.isEmpty() || // has detailed docs
!brief.isEmpty() || // has brief description !brief.isEmpty() || // has brief description
Config::instance()->getBool("EXTRACT_ALL"); // extract everything Config_getBool("EXTRACT_ALL"); // extract everything
} }
void Definition::addSourceReference(MemberDef *md) void Definition::addSourceReference(MemberDef *md)
......
...@@ -53,7 +53,7 @@ class Definition ...@@ -53,7 +53,7 @@ class Definition
*/ */
virtual QCString getOutputFileBase() const = 0; virtual QCString getOutputFileBase() const = 0;
/*! Returns the name of the source listing of this file. */ /*! Returns the name of the source listing of this file. */
const QCString sourceName() const { return getOutputFileBase()+"-source"; } const QCString getSourceFileBase() const { ASSERT(0); return "NULL"; }
/*! Returns the detailed description of this definition */ /*! Returns the detailed description of this definition */
const QCString& documentation() const { return doc; } const QCString& documentation() const { return doc; }
/*! Returns the brief description of this definition */ /*! Returns the brief description of this definition */
...@@ -81,14 +81,6 @@ class Definition ...@@ -81,14 +81,6 @@ class Definition
void setReference(const char *r) { ref=r; } void setReference(const char *r) { ref=r; }
QCString getReference() const { return ref; } 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 /*! Add the list of anchors that mark the sections that are found in the
* documentation. * documentation.
*/ */
......
...@@ -205,7 +205,7 @@ QCString DiagramItem::label() const ...@@ -205,7 +205,7 @@ QCString DiagramItem::label() const
{ {
result=classDef->name(); result=classDef->name();
} }
if (Config::instance()->getBool("HIDE_SCOPE_NAMES")) result=stripScope(result); if (Config_getBool("HIDE_SCOPE_NAMES")) result=stripScope(result);
return result; return result;
} }
...@@ -1233,7 +1233,7 @@ void ClassDiagram::writeFigure(QTextStream &output,const char *path, ...@@ -1233,7 +1233,7 @@ void ClassDiagram::writeFigure(QTextStream &output,const char *path,
super->drawConnectors(t,0,FALSE,FALSE,baseRows,superRows,0,0); super->drawConnectors(t,0,FALSE,FALSE,baseRows,superRows,0,0);
f1.close(); f1.close();
if (Config::instance()->getBool("USE_PDFLATEX")) if (Config_getBool("USE_PDFLATEX"))
{ {
QCString epstopdfArgs(4096); QCString epstopdfArgs(4096);
epstopdfArgs.sprintf("\"%s.eps\" --outfile=\"%s.pdf\"", epstopdfArgs.sprintf("\"%s.eps\" --outfile=\"%s.pdf\"",
......
...@@ -547,7 +547,7 @@ static void addListItemMarker(const char *marker,int dashPos,bool enumerated) ...@@ -547,7 +547,7 @@ static void addListItemMarker(const char *marker,int dashPos,bool enumerated)
//printf("Parsed[%d]=%d\n",i,marker[i]); //printf("Parsed[%d]=%d\n",i,marker[i]);
if (marker[i]=='\t') 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') else if (marker[i]=='\n')
{ {
...@@ -678,13 +678,13 @@ static QCString findAndCopyImage(const char *fileName,ImageTypes type) ...@@ -678,13 +678,13 @@ static QCString findAndCopyImage(const char *fileName,ImageTypes type)
switch(type) switch(type)
{ {
case IT_Html: case IT_Html:
outputDir = Config::instance()->getString("HTML_OUTPUT"); outputDir = Config_getString("HTML_OUTPUT");
break; break;
case IT_Latex: case IT_Latex:
outputDir = Config::instance()->getString("LATEX_OUTPUT"); outputDir = Config_getString("LATEX_OUTPUT");
break; break;
case IT_RTF: case IT_RTF:
outputDir = Config::instance()->getString("RTF_OUTPUT"); outputDir = Config_getString("RTF_OUTPUT");
break; break;
} }
QCString outputFile = outputDir+"/"+result; QCString outputFile = outputDir+"/"+result;
...@@ -1009,7 +1009,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG}) ...@@ -1009,7 +1009,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
outDoc->codify(c); outDoc->codify(c);
} }
<DocScan>{CMD}"internal"/{BN} { <DocScan>{CMD}"internal"/{BN} {
if (!Config::instance()->getBool("INTERNAL_DOCS")) if (!Config_getBool("INTERNAL_DOCS"))
{ {
outDoc->newParagraph(); outDoc->newParagraph();
scanString(theTranslator->trForInternalUseOnly()+"\n"); scanString(theTranslator->trForInternalUseOnly()+"\n");
...@@ -1328,7 +1328,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG}) ...@@ -1328,7 +1328,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
} }
} }
<DocScan>"\\todo "[0-9]+ { // this tag is generated in an earlier pass <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; QCString numStr=yytext;
numStr=numStr.right(numStr.length()-6); numStr=numStr.right(numStr.length()-6);
...@@ -1350,7 +1350,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG}) ...@@ -1350,7 +1350,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
} }
} }
<DocScan>"\\test "[0-9]+ { // this tag is generated in an earlier pass <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; QCString numStr=yytext;
numStr=numStr.right(numStr.length()-6); numStr=numStr.right(numStr.length()-6);
...@@ -1372,7 +1372,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG}) ...@@ -1372,7 +1372,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
} }
} }
<DocScan>"\\bug "[0-9]+ { // this tag is generated in an earlier pass <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; QCString numStr=yytext;
numStr=numStr.right(numStr.length()-5); numStr=numStr.right(numStr.length()-5);
...@@ -1656,7 +1656,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG}) ...@@ -1656,7 +1656,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
} }
} }
<DocIf>[^\n\t ]+ { <DocIf>[^\n\t ]+ {
if (Config::instance()->getList("ENABLED_SECTIONS").find(yytext)==-1) if (Config_getList("ENABLED_SECTIONS").find(yytext)==-1)
{ {
outDoc->disableAll(); outDoc->disableAll();
} }
......
...@@ -167,9 +167,9 @@ static bool isLeaf(ClassDef *cd) ...@@ -167,9 +167,9 @@ static bool isLeaf(ClassDef *cd)
// if class is not a leaf // if class is not a leaf
if (!isLeaf(bClass)) return FALSE; if (!isLeaf(bClass)) return FALSE;
// or class is not documented in this project // 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 // 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; return TRUE;
...@@ -549,7 +549,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path) ...@@ -549,7 +549,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
DotNode *n; DotNode *n;
for (dnli.toFirst();(n=dnli.current());++dnli) for (dnli.toFirst();(n=dnli.current());++dnli)
{ {
QCString baseName; QCString baseName="inherit_graph_";
QCString diskName=n->m_url.copy(); QCString diskName=n->m_url.copy();
int i=diskName.find('$'); int i=diskName.find('$');
if (i!=-1) if (i!=-1)
...@@ -558,9 +558,9 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path) ...@@ -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) */ 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 dotName=baseName+".dot";
QCString gifName=baseName+".gif"; QCString gifName=baseName+".gif";
QCString mapName=baseName+".map"; QCString mapName=baseName+".map";
...@@ -583,7 +583,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path) ...@@ -583,7 +583,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
QCString dotArgs(4096); QCString dotArgs(4096);
dotArgs.sprintf("-Tgif \"%s\" -o \"%s\"",dotName.data(),gifName.data()); dotArgs.sprintf("-Tgif \"%s\" -o \"%s\"",dotName.data(),gifName.data());
//printf("Running: dot -Tgif %s -o %s\n",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"); err("Problems running dot. Check your installation!\n");
out << "</table>" << endl; out << "</table>" << endl;
...@@ -591,7 +591,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path) ...@@ -591,7 +591,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
} }
dotArgs.sprintf("-Timap \"%s\" -o \"%s\"",dotName.data(),mapName.data()); dotArgs.sprintf("-Timap \"%s\" -o \"%s\"",dotName.data(),mapName.data());
//printf("Running: dot -Timap %s -o %s\n",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"); err("Problems running dot. Check your installation!\n");
out << "</table>" << endl; out << "</table>" << endl;
...@@ -602,7 +602,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path) ...@@ -602,7 +602,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
out << "<map name=\"" << n->m_label << "_map\">" << endl; out << "<map name=\"" << n->m_label << "_map\">" << endl;
convertMapFile(out,mapName); convertMapFile(out,mapName);
out << "</map>" << endl; out << "</map>" << endl;
if (Config::instance()->getBool("DOT_CLEANUP")) thisDir.remove(dotName); if (Config_getBool("DOT_CLEANUP")) thisDir.remove(dotName);
thisDir.remove(mapName); thisDir.remove(mapName);
} }
out << "</table>" << endl; out << "</table>" << endl;
...@@ -819,7 +819,7 @@ void DotClassGraph::addClass(ClassDef *cd,DotNode *n,int prot, ...@@ -819,7 +819,7 @@ void DotClassGraph::addClass(ClassDef *cd,DotNode *n,int prot,
else // new class else // new class
{ {
QCString displayName=className; 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; QCString tmp_url;
if (cd->isLinkable()) tmp_url=cd->getReference()+"$"+cd->getOutputFileBase(); if (cd->isLinkable()) tmp_url=cd->getReference()+"$"+cd->getOutputFileBase();
bn = new DotNode(m_curNodeNumber++, bn = new DotNode(m_curNodeNumber++,
...@@ -912,7 +912,7 @@ DotClassGraph::DotClassGraph(ClassDef *cd,GraphType t,int maxRecursionDepth) ...@@ -912,7 +912,7 @@ DotClassGraph::DotClassGraph(ClassDef *cd,GraphType t,int maxRecursionDepth)
buildGraph(cd,m_startNode,1,TRUE); buildGraph(cd,m_startNode,1,TRUE);
if (t==Inheritance) buildGraph(cd,m_startNode,1,FALSE); if (t==Inheritance) buildGraph(cd,m_startNode,1,FALSE);
} }
m_diskName = cd->getOutputFileBase().copy(); m_diskName = cd->getFileBase().copy();
} }
bool DotClassGraph::isTrivial() const bool DotClassGraph::isTrivial() const
...@@ -996,7 +996,7 @@ static void findMaximalDotGraph(DotNode *root, ...@@ -996,7 +996,7 @@ static void findMaximalDotGraph(DotNode *root,
int height=0; int height=0;
// binary search for the maximal inheritance depth that fits in a reasonable // 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 do
{ {
writeDotGraph(root,format,baseName,lrRank,renderParents, writeDotGraph(root,format,baseName,lrRank,renderParents,
...@@ -1005,7 +1005,7 @@ static void findMaximalDotGraph(DotNode *root, ...@@ -1005,7 +1005,7 @@ static void findMaximalDotGraph(DotNode *root,
QCString dotArgs(4096); QCString dotArgs(4096);
// create annotated dot file // create annotated dot file
dotArgs.sprintf("-Tdot \"%s.dot\" -o \"%s_tmp.dot\"",baseName.data(),baseName.data()); 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"); err("Problems running dot. Check your installation!\n");
return; return;
...@@ -1016,9 +1016,9 @@ static void findMaximalDotGraph(DotNode *root, ...@@ -1016,9 +1016,9 @@ static void findMaximalDotGraph(DotNode *root,
width = width *96/72; // 96 pixels/inch, 72 points/inch width = width *96/72; // 96 pixels/inch, 72 points/inch
height = height*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, //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 if (lastFit) // image is small enough
{ {
minDistance=curDistance; minDistance=curDistance;
...@@ -1042,7 +1042,7 @@ static void findMaximalDotGraph(DotNode *root, ...@@ -1042,7 +1042,7 @@ static void findMaximalDotGraph(DotNode *root,
writeDotGraph(root, writeDotGraph(root,
format, format,
baseName, baseName,
lrRank || (curDistance==1 && width>Config::instance()->getInt("MAX_DOT_GRAPH_WIDTH")), lrRank || (curDistance==1 && width>Config_getInt("MAX_DOT_GRAPH_WIDTH")),
renderParents, renderParents,
minDistance, minDistance,
backArrows backArrows
...@@ -1090,18 +1090,16 @@ void DotClassGraph::writeGraph(QTextStream &out, ...@@ -1090,18 +1090,16 @@ void DotClassGraph::writeGraph(QTextStream &out,
switch (m_graphType) switch (m_graphType)
{ {
case Implementation: case Implementation:
baseName.sprintf("%s_coll_graph",m_diskName.data());
mapName="coll_map"; mapName="coll_map";
break; break;
case Interface: case Interface:
baseName.sprintf("%s_intf_graph",m_diskName.data());
mapName="intf_map"; mapName="intf_map";
break; break;
case Inheritance: case Inheritance:
baseName.sprintf("%s_inherit_graph",m_diskName.data());
mapName="inherit_map"; mapName="inherit_map";
break; break;
} }
baseName = convertNameToFile(diskName());
findMaximalDotGraph(m_startNode,m_maxDistance,baseName, findMaximalDotGraph(m_startNode,m_maxDistance,baseName,
thisDir,format,!isTBRank,m_graphType==Inheritance); thisDir,format,!isTBRank,m_graphType==Inheritance);
...@@ -1111,7 +1109,7 @@ void DotClassGraph::writeGraph(QTextStream &out, ...@@ -1111,7 +1109,7 @@ void DotClassGraph::writeGraph(QTextStream &out,
QCString dotArgs(4096); QCString dotArgs(4096);
dotArgs.sprintf("-Tgif \"%s.dot\" -o \"%s.gif\"", dotArgs.sprintf("-Tgif \"%s.dot\" -o \"%s.gif\"",
baseName.data(),baseName.data()); 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"); err("Error: Problems running dot. Check your installation!\n");
QDir::setCurrent(oldDir); QDir::setCurrent(oldDir);
...@@ -1121,7 +1119,7 @@ void DotClassGraph::writeGraph(QTextStream &out, ...@@ -1121,7 +1119,7 @@ void DotClassGraph::writeGraph(QTextStream &out,
{ {
// run dot again to create an image map // run dot again to create an image map
dotArgs.sprintf("-Timap \"%s.dot\" -o \"%s.map\"",baseName.data(),baseName.data()); 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"); err("Error: Problems running dot. Check your installation!\n");
QDir::setCurrent(oldDir); QDir::setCurrent(oldDir);
...@@ -1152,7 +1150,7 @@ void DotClassGraph::writeGraph(QTextStream &out, ...@@ -1152,7 +1150,7 @@ void DotClassGraph::writeGraph(QTextStream &out,
{ {
QCString dotArgs(4096); QCString dotArgs(4096);
dotArgs.sprintf("-Tps \"%s.dot\" -o \"%s.eps\"",baseName.data(),baseName.data()); 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"); err("Error: Problems running dot. Check your installation!\n");
QDir::setCurrent(oldDir); QDir::setCurrent(oldDir);
...@@ -1165,7 +1163,7 @@ void DotClassGraph::writeGraph(QTextStream &out, ...@@ -1165,7 +1163,7 @@ void DotClassGraph::writeGraph(QTextStream &out,
QDir::setCurrent(oldDir); QDir::setCurrent(oldDir);
return; return;
} }
if (Config::instance()->getBool("USE_PDFLATEX")) if (Config_getBool("USE_PDFLATEX"))
{ {
QCString epstopdfArgs(4096); QCString epstopdfArgs(4096);
epstopdfArgs.sprintf("\"%s.eps\" --outfile=\"%s.pdf\"", epstopdfArgs.sprintf("\"%s.eps\" --outfile=\"%s.pdf\"",
...@@ -1187,7 +1185,7 @@ void DotClassGraph::writeGraph(QTextStream &out, ...@@ -1187,7 +1185,7 @@ void DotClassGraph::writeGraph(QTextStream &out,
"\\end{center}\n" "\\end{center}\n"
"\\end{figure}\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); QDir::setCurrent(oldDir);
} }
...@@ -1254,8 +1252,8 @@ DotInclDepGraph::DotInclDepGraph(FileDef *fd,bool inverse) ...@@ -1254,8 +1252,8 @@ DotInclDepGraph::DotInclDepGraph(FileDef *fd,bool inverse)
m_maxDistance = 0; m_maxDistance = 0;
m_inverse = inverse; m_inverse = inverse;
ASSERT(fd!=0); ASSERT(fd!=0);
m_diskName = fd->getOutputFileBase().copy(); m_diskName = fd->getFileBase().copy();
QCString tmp_url=fd->getReference()+"$"+fd->getOutputFileBase(); QCString tmp_url=fd->getReference()+"$"+fd->getFileBase();
m_startNode = new DotNode(m_curNodeNumber++, m_startNode = new DotNode(m_curNodeNumber++,
fd->name(), fd->name(),
tmp_url.data(), tmp_url.data(),
...@@ -1278,7 +1276,7 @@ QCString DotInclDepGraph::diskName() const ...@@ -1278,7 +1276,7 @@ QCString DotInclDepGraph::diskName() const
QCString result=m_diskName.copy(); QCString result=m_diskName.copy();
if (m_inverse) result+="_dep"; if (m_inverse) result+="_dep";
result+="_incl"; result+="_incl";
return result; return convertNameToFile(result);
} }
void DotInclDepGraph::writeGraph(QTextStream &out, void DotInclDepGraph::writeGraph(QTextStream &out,
...@@ -1301,6 +1299,7 @@ void DotInclDepGraph::writeGraph(QTextStream &out, ...@@ -1301,6 +1299,7 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
QCString baseName=m_diskName; QCString baseName=m_diskName;
if (m_inverse) baseName+="_dep"; if (m_inverse) baseName+="_dep";
baseName+="_incl"; baseName+="_incl";
baseName=convertNameToFile(baseName);
QCString mapName=m_startNode->m_label.copy(); QCString mapName=m_startNode->m_label.copy();
if (m_inverse) mapName+="dep"; if (m_inverse) mapName+="dep";
...@@ -1313,7 +1312,7 @@ void DotInclDepGraph::writeGraph(QTextStream &out, ...@@ -1313,7 +1312,7 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
QCString dotArgs(4096); QCString dotArgs(4096);
dotArgs.sprintf("-Tgif \"%s.dot\" -o \"%s.gif\"", dotArgs.sprintf("-Tgif \"%s.dot\" -o \"%s.gif\"",
baseName.data(),baseName.data()); 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"); err("Problems running dot. Check your installation!\n");
QDir::setCurrent(oldDir); QDir::setCurrent(oldDir);
...@@ -1325,7 +1324,7 @@ void DotInclDepGraph::writeGraph(QTextStream &out, ...@@ -1325,7 +1324,7 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
// run dot again to create an image map // run dot again to create an image map
dotArgs.sprintf("-Timap \"%s.dot\" -o \"%s.map\"", dotArgs.sprintf("-Timap \"%s.dot\" -o \"%s.map\"",
baseName.data(),baseName.data()); 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"); err("Problems running dot. Check your installation!\n");
QDir::setCurrent(oldDir); QDir::setCurrent(oldDir);
...@@ -1349,7 +1348,7 @@ void DotInclDepGraph::writeGraph(QTextStream &out, ...@@ -1349,7 +1348,7 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
QCString dotArgs(4096); QCString dotArgs(4096);
dotArgs.sprintf("-Tps \"%s.dot\" -o \"%s.eps\"", dotArgs.sprintf("-Tps \"%s.dot\" -o \"%s.eps\"",
baseName.data(),baseName.data()); 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"); err("Problems running dot. Check your installation!\n");
QDir::setCurrent(oldDir); QDir::setCurrent(oldDir);
...@@ -1362,7 +1361,7 @@ void DotInclDepGraph::writeGraph(QTextStream &out, ...@@ -1362,7 +1361,7 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
QDir::setCurrent(oldDir); QDir::setCurrent(oldDir);
return; return;
} }
if (Config::instance()->getBool("USE_PDFLATEX")) if (Config_getBool("USE_PDFLATEX"))
{ {
QCString epstopdfArgs(4096); QCString epstopdfArgs(4096);
epstopdfArgs.sprintf("\"%s.eps\" --outfile=\"%s.pdf\"", epstopdfArgs.sprintf("\"%s.eps\" --outfile=\"%s.pdf\"",
...@@ -1387,7 +1386,7 @@ void DotInclDepGraph::writeGraph(QTextStream &out, ...@@ -1387,7 +1386,7 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
"\\end{figure}\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); QDir::setCurrent(oldDir);
} }
...@@ -1440,7 +1439,7 @@ void generateGraphLegend(const char *path) ...@@ -1440,7 +1439,7 @@ void generateGraphLegend(const char *path)
// run dot to generate the a .gif image from the graph // run dot to generate the a .gif image from the graph
QCString dotArgs(4096); QCString dotArgs(4096);
dotArgs.sprintf("-Tgif graph_legend.dot -o graph_legend.gif"); 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"); err("Problems running dot. Check your installation!\n");
QDir::setCurrent(oldDir); QDir::setCurrent(oldDir);
......
...@@ -231,7 +231,7 @@ static void addRelatedPage(const char *name,const QCString &ptitle, ...@@ -231,7 +231,7 @@ static void addRelatedPage(const char *name,const QCString &ptitle,
} }
QCString pageName; QCString pageName;
if (Config::instance()->getBool("CASE_SENSE_NAMES")) if (Config_getBool("CASE_SENSE_NAMES"))
pageName=pi->name.copy(); pageName=pi->name.copy();
else else
pageName=pi->name.lower(); pageName=pi->name.lower();
...@@ -292,7 +292,7 @@ static void addRefItem(int todoId,int testId,int bugId,const char *prefix, ...@@ -292,7 +292,7 @@ static void addRefItem(int todoId,int testId,int bugId,const char *prefix,
// add item to the todo list // 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); RefItem *item = todoList.getRefItem(todoId);
ASSERT(item!=0); ASSERT(item!=0);
...@@ -322,7 +322,7 @@ static void addRefItem(int todoId,int testId,int bugId,const char *prefix, ...@@ -322,7 +322,7 @@ static void addRefItem(int todoId,int testId,int bugId,const char *prefix,
// add item to the test list // 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); RefItem *item = testList.getRefItem(testId);
ASSERT(item!=0); ASSERT(item!=0);
...@@ -351,7 +351,7 @@ static void addRefItem(int todoId,int testId,int bugId,const char *prefix, ...@@ -351,7 +351,7 @@ static void addRefItem(int todoId,int testId,int bugId,const char *prefix,
// add item to the bug list // 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); RefItem *item = bugList.getRefItem(bugId);
ASSERT(item!=0); ASSERT(item!=0);
...@@ -443,7 +443,7 @@ static void organizeSubGroups(Entry *root) ...@@ -443,7 +443,7 @@ static void organizeSubGroups(Entry *root)
static void buildFileList(Entry *root) static void buildFileList(Entry *root)
{ {
if (((root->section==Entry::FILEDOC_SEC) || 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 !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) ...@@ -518,7 +518,7 @@ static void addIncludeFile(ClassDef *cd,FileDef *ifd,Entry *root)
if ( if (
(!root->doc.stripWhiteSpace().isEmpty() || (!root->doc.stripWhiteSpace().isEmpty() ||
!root->brief.stripWhiteSpace().isEmpty() || !root->brief.stripWhiteSpace().isEmpty() ||
Config::instance()->getBool("EXTRACT_ALL") Config_getBool("EXTRACT_ALL")
) && root->protection!=Private ) && root->protection!=Private
) )
{ {
...@@ -654,7 +654,7 @@ static void buildClassList(Entry *root) ...@@ -654,7 +654,7 @@ static void buildClassList(Entry *root)
cd->setTemplateArguments(root->tArgList); cd->setTemplateArguments(root->tArgList);
} }
if (!root->doc.isEmpty() || !root->brief.isEmpty() || 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 // block contains something that ends up in the docs
{ {
...@@ -1140,7 +1140,7 @@ static MemberDef *addVariableToClass( ...@@ -1140,7 +1140,7 @@ static MemberDef *addVariableToClass(
QCString def; QCString def;
if (!root->type.isEmpty()) 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; def=root->type+" "+name+root->args;
} }
...@@ -1151,7 +1151,7 @@ static MemberDef *addVariableToClass( ...@@ -1151,7 +1151,7 @@ static MemberDef *addVariableToClass(
} }
else else
{ {
if (Config::instance()->getBool("HIDE_SCOPE_NAMES")) if (Config_getBool("HIDE_SCOPE_NAMES"))
{ {
def=name+root->args; def=name+root->args;
} }
...@@ -1273,7 +1273,7 @@ static MemberDef *addVariableToFile( ...@@ -1273,7 +1273,7 @@ static MemberDef *addVariableToFile(
QCString def; QCString def;
// determine the definition of the global variable // determine the definition of the global variable
if (nd && !nd->name().isEmpty() && nd->name().at(0)!='@' && 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 // variable is inside a namespace, so put the scope before the name
{ {
...@@ -1722,7 +1722,7 @@ static void buildMemberList(Entry *root) ...@@ -1722,7 +1722,7 @@ static void buildMemberList(Entry *root)
//md->setScopeTemplateArguments(root->tArgList); //md->setScopeTemplateArguments(root->tArgList);
md->addSectionsToDefinition(root->anchors); md->addSectionsToDefinition(root->anchors);
QCString def; 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()) if (!root->type.isEmpty())
{ {
...@@ -2122,7 +2122,7 @@ static void transferFunctionDocumentation() ...@@ -2122,7 +2122,7 @@ static void transferFunctionDocumentation()
FileDef *fdec = mdec->getFileDef(); FileDef *fdec = mdec->getFileDef();
// check if not in different but documented files // check if not in different but documented files
if (Config::instance()->getBool("EXTRACT_ALL") || if (Config_getBool("EXTRACT_ALL") ||
fdef==fdec || fdef==fdec ||
(fdef!=0 && (!fdef->hasDocumentation() || !mdec->hasDocumentation())) (fdef!=0 && (!fdef->hasDocumentation() || !mdec->hasDocumentation()))
) )
...@@ -2609,7 +2609,7 @@ static void addTodoTestBugReferences() ...@@ -2609,7 +2609,7 @@ static void addTodoTestBugReferences()
if (d==0) d=md->getFileDef(); if (d==0) d=md->getFileDef();
// TODO: i18n this // TODO: i18n this
QCString memLabel="member"; QCString memLabel="member";
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) memLabel="field"; if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) memLabel="field";
if (d) if (d)
{ {
addRefItem(md->todoId(),md->testId(),md->bugId(),memLabel,d->getOutputFileBase()+":"+md->anchor(),scopeName+"::"+md->name(),md->argsString()); addRefItem(md->todoId(),md->testId(),md->bugId(),memLabel,d->getOutputFileBase()+":"+md->anchor(),scopeName+"::"+md->name(),md->argsString());
...@@ -2630,7 +2630,7 @@ static void addTodoTestBugReferences() ...@@ -2630,7 +2630,7 @@ static void addTodoTestBugReferences()
if (d==0) d=md->getFileDef(); if (d==0) d=md->getFileDef();
// TODO: i18n this // TODO: i18n this
QCString memLabel="member"; QCString memLabel="member";
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) memLabel="global"; if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) memLabel="global";
if (d) if (d)
{ {
addRefItem(md->todoId(),md->testId(),md->bugId(),memLabel,d->getOutputFileBase()+":"+md->anchor(),md->name(),md->argsString()); 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, ...@@ -3318,7 +3318,7 @@ static void findMember(Entry *root,
//printf("scopeName=`%s' className=`%s'\n",scopeName.data(),className.data()); //printf("scopeName=`%s' className=`%s'\n",scopeName.data(),className.data());
// rebuild the function declaration (needed to get the scope right). // 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()) if (!funcType.isEmpty())
{ {
...@@ -3995,7 +3995,7 @@ static void findEnums(Entry *root) ...@@ -3995,7 +3995,7 @@ static void findEnums(Entry *root)
md->setRefItems(root->todoId,root->testId,root->bugId); md->setRefItems(root->todoId,root->testId,root->bugId);
if (nd && !nd->name().isEmpty() && nd->name().at(0)!='@') 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); md->setDefinition(name);
} }
...@@ -4023,7 +4023,7 @@ static void findEnums(Entry *root) ...@@ -4023,7 +4023,7 @@ static void findEnums(Entry *root)
} }
else if (cd) else if (cd)
{ {
if (Config::instance()->getBool("HIDE_SCOPE_NAMES")) if (Config_getBool("HIDE_SCOPE_NAMES"))
{ {
md->setDefinition(name); md->setDefinition(name);
} }
...@@ -4488,9 +4488,9 @@ static void addSourceReferences() ...@@ -4488,9 +4488,9 @@ static void addSourceReferences()
static void generateClassDocs() static void generateClassDocs()
{ {
// write the installdox script if necessary // write the installdox script if necessary
if (Config::instance()->getBool("GENERATE_HTML") && if (Config_getBool("GENERATE_HTML") &&
(Config::instance()->getList("TAGFILES").count()>0 || (Config_getList("TAGFILES").count()>0 ||
Config::instance()->getBool("SEARCHENGINE") Config_getBool("SEARCHENGINE")
) )
) )
{ {
...@@ -4500,7 +4500,7 @@ static void generateClassDocs() ...@@ -4500,7 +4500,7 @@ static void generateClassDocs()
msg("Generating annotated compound index...\n"); msg("Generating annotated compound index...\n");
writeAnnotatedIndex(*outputList); writeAnnotatedIndex(*outputList);
if (Config::instance()->getBool("ALPHABETICAL_INDEX")) if (Config_getBool("ALPHABETICAL_INDEX"))
{ {
msg("Generating alphabetical compound index...\n"); msg("Generating alphabetical compound index...\n");
writeAlphabeticalIndex(*outputList); writeAlphabeticalIndex(*outputList);
...@@ -4925,7 +4925,7 @@ static void generatePageDocs() ...@@ -4925,7 +4925,7 @@ static void generatePageDocs()
msg("Generating docs for page %s...\n",pi->name.data()); msg("Generating docs for page %s...\n",pi->name.data());
outputList->disable(OutputGenerator::Man); outputList->disable(OutputGenerator::Man);
QCString pageName; QCString pageName;
if (Config::instance()->getBool("CASE_SENSE_NAMES")) if (Config_getBool("CASE_SENSE_NAMES"))
pageName=pi->name.copy(); pageName=pi->name.copy();
else else
pageName=pi->name.lower(); pageName=pi->name.lower();
...@@ -4945,7 +4945,7 @@ static void generatePageDocs() ...@@ -4945,7 +4945,7 @@ static void generatePageDocs()
endFile(*outputList); endFile(*outputList);
outputList->enable(OutputGenerator::Man); 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 << " <compound kind=\"page\">" << endl;
Doxygen::tagFile << " <name>" << pi->name << "</name>" << endl; Doxygen::tagFile << " <name>" << pi->name << "</name>" << endl;
...@@ -4979,11 +4979,7 @@ static void buildExampleList(Entry *root) ...@@ -4979,11 +4979,7 @@ static void buildExampleList(Entry *root)
{ {
PageInfo *pi=new PageInfo(root->fileName,root->startLine, PageInfo *pi=new PageInfo(root->fileName,root->startLine,
root->name,root->doc,root->args); root->name,root->doc,root->args);
//setFileNameForSections(root->anchors, pi->fileName = convertNameToFile(pi->name+"-example");
// convertFileName(pi->name)+"-example",
// pi
// );
pi->fileName = convertFileName(pi->name)+"-example";
pi->addSections(root->anchors); pi->addSections(root->anchors);
Doxygen::exampleSDict->inSort(root->name,pi); Doxygen::exampleSDict->inSort(root->name,pi);
...@@ -4991,13 +4987,6 @@ static void buildExampleList(Entry *root) ...@@ -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); EntryListIterator eli(*root->sublist);
Entry *e; Entry *e;
for (;(e=eli.current());++eli) for (;(e=eli.current());++eli)
...@@ -5017,7 +5006,7 @@ static void generateExampleDocs() ...@@ -5017,7 +5006,7 @@ static void generateExampleDocs()
for (pdi.toFirst();(pi=pdi.current());++pdi) for (pdi.toFirst();(pi=pdi.current());++pdi)
{ {
msg("Generating docs for example %s...\n",pi->name.data()); 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"); startFile(*outputList,n,"Example Documentation");
startTitle(*outputList,n); startTitle(*outputList,n);
outputList->docify(pi->name); outputList->docify(pi->name);
...@@ -5107,24 +5096,24 @@ static QCString fixSlashes(QCString &s) ...@@ -5107,24 +5096,24 @@ static QCString fixSlashes(QCString &s)
static void generateSearchIndex() static void generateSearchIndex()
{ {
if (Config::instance()->getBool("SEARCHENGINE") && Config::instance()->getBool("GENERATE_HTML")) if (Config_getBool("SEARCHENGINE") && Config_getBool("GENERATE_HTML"))
{ {
// create search index // create search index
QCString fileName; QCString fileName;
writeSearchButton(Config::instance()->getString("HTML_OUTPUT")); writeSearchButton(Config_getString("HTML_OUTPUT"));
#if !defined(_WIN32) #if !defined(_WIN32)
// create cgi script // 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); QFile f(fileName);
if (f.open(IO_WriteOnly)) if (f.open(IO_WriteOnly))
{ {
QTextStream t(&f); QTextStream t(&f);
t << "#!/bin/sh" << endl t << "#!/bin/sh" << endl
<< "DOXYSEARCH=" << Config::instance()->getString("BIN_ABSPATH") << "/doxysearch" << endl << "DOXYSEARCH=" << Config_getString("BIN_ABSPATH") << "/doxysearch" << endl
<< "DOXYPATH=" << Config::instance()->getString("DOC_ABSPATH") << " "; << "DOXYPATH=" << Config_getString("DOC_ABSPATH") << " ";
QStrList &extDocPaths=Config::instance()->getList("EXT_DOC_PATHS"); QStrList &extDocPaths=Config_getList("EXT_DOC_PATHS");
char *s= extDocPaths.first(); char *s= extDocPaths.first();
while (s) while (s)
{ {
...@@ -5153,11 +5142,11 @@ static void generateSearchIndex() ...@@ -5153,11 +5142,11 @@ static void generateSearchIndex()
} }
#else /* Windows platform */ #else /* Windows platform */
// create cgi program // create cgi program
fileName = Config::instance()->getString("CGI_NAME").copy(); fileName = Config_getString("CGI_NAME").copy();
if (fileName.right(4)==".cgi") if (fileName.right(4)==".cgi")
fileName=fileName.left(fileName.length()-4); fileName=fileName.left(fileName.length()-4);
fileName+=".c"; fileName+=".c";
fileName.prepend(Config::instance()->getString("HTML_OUTPUT")+"/"); fileName.prepend(Config_getString("HTML_OUTPUT")+"/");
QFile f(fileName); QFile f(fileName);
if (f.open(IO_WriteOnly)) if (f.open(IO_WriteOnly))
{ {
...@@ -5167,9 +5156,9 @@ static void generateSearchIndex() ...@@ -5167,9 +5156,9 @@ static void generateSearchIndex()
t << "#include <process.h>" << endl; t << "#include <process.h>" << endl;
t << endl; t << endl;
t << "const char *DOXYSEARCH = \"" << 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 = \"" << t << "const char *DOXYPATH = \"" <<
fixSlashes(Config::instance()->getString("DOC_ABSPATH")) << "\";" << endl; fixSlashes(Config_getString("DOC_ABSPATH")) << "\";" << endl;
t << endl; t << endl;
t << "int main(void)" << endl; t << "int main(void)" << endl;
t << "{" << endl; t << "{" << endl;
...@@ -5192,13 +5181,13 @@ static void generateSearchIndex() ...@@ -5192,13 +5181,13 @@ static void generateSearchIndex()
#endif /* !defined(_WIN32) */ #endif /* !defined(_WIN32) */
// create config file // create config file
fileName = Config::instance()->getString("HTML_OUTPUT")+"/search.cfg"; fileName = Config_getString("HTML_OUTPUT")+"/search.cfg";
f.setName(fileName); f.setName(fileName);
if (f.open(IO_WriteOnly)) if (f.open(IO_WriteOnly))
{ {
QTextStream t(&f); QTextStream t(&f);
t << Config::instance()->getString("DOC_URL") << "/" << endl t << Config_getString("DOC_URL") << "/" << endl
<< Config::instance()->getString("CGI_URL") << "/" << Config::instance()->getString("CGI_NAME") << endl; << Config_getString("CGI_URL") << "/" << Config_getString("CGI_NAME") << endl;
f.close(); f.close();
} }
else else
...@@ -5360,7 +5349,7 @@ static void copyAndFilterFile(const char *fileName,BufStr &dest) ...@@ -5360,7 +5349,7 @@ static void copyAndFilterFile(const char *fileName,BufStr &dest)
QFileInfo fi(fileName); QFileInfo fi(fileName);
if (!fi.exists()) return; if (!fi.exists()) return;
if (Config::instance()->getString("INPUT_FILTER").isEmpty()) if (Config_getString("INPUT_FILTER").isEmpty())
{ {
QFile f(fileName); QFile f(fileName);
if (!f.open(IO_ReadOnly)) if (!f.open(IO_ReadOnly))
...@@ -5379,11 +5368,11 @@ static void copyAndFilterFile(const char *fileName,BufStr &dest) ...@@ -5379,11 +5368,11 @@ static void copyAndFilterFile(const char *fileName,BufStr &dest)
} }
else else
{ {
QCString cmd=Config::instance()->getString("INPUT_FILTER")+" "+fileName; QCString cmd=Config_getString("INPUT_FILTER")+" "+fileName;
FILE *f=popen(cmd,"r"); FILE *f=popen(cmd,"r");
if (!f) 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; return;
} }
const int bufSize=1024; const int bufSize=1024;
...@@ -5411,14 +5400,14 @@ static void copyAndFilterFile(const char *fileName,BufStr &dest) ...@@ -5411,14 +5400,14 @@ static void copyAndFilterFile(const char *fileName,BufStr &dest)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
static void copyStyleSheet() static void copyStyleSheet()
{ {
QCString &htmlStyleSheet = Config::instance()->getString("HTML_STYLESHEET"); QCString &htmlStyleSheet = Config_getString("HTML_STYLESHEET");
if (!htmlStyleSheet.isEmpty()) if (!htmlStyleSheet.isEmpty())
{ {
QFile cssf(htmlStyleSheet); QFile cssf(htmlStyleSheet);
QFileInfo cssfi(htmlStyleSheet); QFileInfo cssfi(htmlStyleSheet);
if (cssf.open(IO_ReadOnly)) 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); QFile df(destFileName);
if (df.open(IO_WriteOnly)) if (df.open(IO_WriteOnly))
{ {
...@@ -5435,7 +5424,7 @@ static void copyStyleSheet() ...@@ -5435,7 +5424,7 @@ static void copyStyleSheet()
} }
else 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 htmlStyleSheet.resize(0); // revert to the default
} }
} }
...@@ -5463,7 +5452,7 @@ static void readFiles(BufStr &output) ...@@ -5463,7 +5452,7 @@ static void readFiles(BufStr &output)
// add end filename marker // add end filename marker
output.addChar(0x06); output.addChar(0x06);
output.addChar('\n'); output.addChar('\n');
if (Config::instance()->getBool("ENABLE_PREPROCESSING")) if (Config_getBool("ENABLE_PREPROCESSING"))
{ {
msg("Preprocessing %s...\n",s->data()); msg("Preprocessing %s...\n",s->data());
preprocessFile(fileName,output); preprocessFile(fileName,output);
...@@ -5547,7 +5536,7 @@ static int readDir(QFileInfo *fi, ...@@ -5547,7 +5536,7 @@ static int readDir(QFileInfo *fi,
if (resultList) resultList->append(rs); if (resultList) resultList->append(rs);
if (resultDict) resultDict->insert(cfi->absFilePath(),rs); if (resultDict) resultDict->insert(cfi->absFilePath(),rs);
} }
else if (Config::instance()->getBool("RECURSIVE") && else if (Config_getBool("RECURSIVE") &&
cfi->isDir() && cfi->fileName()!="." && cfi->isDir() && cfi->fileName()!="." &&
cfi->fileName()!="..") cfi->fileName()!="..")
{ {
...@@ -5664,7 +5653,7 @@ static int readFileOrDirectory(const char *s, ...@@ -5664,7 +5653,7 @@ static int readFileOrDirectory(const char *s,
static void readFormulaRepository() 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 if (f.open(IO_ReadOnly)) // open repository
{ {
msg("Reading formula repository...\n"); msg("Reading formula repository...\n");
...@@ -5698,7 +5687,7 @@ static void readFormulaRepository() ...@@ -5698,7 +5687,7 @@ static void readFormulaRepository()
static void usage(const char *name) static void usage(const char *name)
{ {
msg("Doxygen version %s\nCopyright Dimitri van Heesch 1997-2001\n\n",versionString); 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("1) Use doxygen to generate a template configuration file:\n");
msg(" %s [-s] -g [configName]\n\n",name); msg(" %s [-s] -g [configName]\n\n",name);
msg(" If - is used for configName doxygen will write to standard output.\n\n"); msg(" If - is used for configName doxygen will write to standard output.\n\n");
...@@ -5989,20 +5978,20 @@ void parseInput() ...@@ -5989,20 +5978,20 @@ void parseInput()
Doxygen::exampleNameDict = new FileNameDict(1009); Doxygen::exampleNameDict = new FileNameDict(1009);
Doxygen::imageNameDict = new FileNameDict(257); 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 * Initialize some global constants
**************************************************************************/ **************************************************************************/
int &tabSize = Config::instance()->getInt("TAB_SIZE"); int &tabSize = Config_getInt("TAB_SIZE");
spaces.resize(tabSize+1); spaces.resize(tabSize+1);
int sp;for (sp=0;sp<tabSize;sp++) spaces.at(sp)=' '; int sp;for (sp=0;sp<tabSize;sp++) spaces.at(sp)=' ';
spaces.at(tabSize)='\0'; spaces.at(tabSize)='\0';
...@@ -6019,33 +6008,33 @@ void parseInput() ...@@ -6019,33 +6008,33 @@ void parseInput()
// gather names of all files in the include path // gather names of all files in the include path
msg("Searching for include files...\n"); msg("Searching for include files...\n");
QStrList &includePathList = Config::instance()->getList("INCLUDE_PATH"); QStrList &includePathList = Config_getList("INCLUDE_PATH");
char *s=includePathList.first(); char *s=includePathList.first();
while (s) while (s)
{ {
QStrList &pl = Config::instance()->getList("INCLUDE_FILE_PATTERNS"); QStrList &pl = Config_getList("INCLUDE_FILE_PATTERNS");
if (pl.count()==0) if (pl.count()==0)
{ {
pl = Config::instance()->getList("FILE_PATTERNS"); pl = Config_getList("FILE_PATTERNS");
} }
readFileOrDirectory(s,0,Doxygen::includeNameDict,0,&pl, readFileOrDirectory(s,0,Doxygen::includeNameDict,0,&pl,
&Config::instance()->getList("EXCLUDE_PATTERNS"),0,0); &Config_getList("EXCLUDE_PATTERNS"),0,0);
s=includePathList.next(); s=includePathList.next();
} }
msg("Searching for example files...\n"); msg("Searching for example files...\n");
QStrList &examplePathList = Config::instance()->getList("EXAMPLE_PATH"); QStrList &examplePathList = Config_getList("EXAMPLE_PATH");
s=examplePathList.first(); s=examplePathList.first();
while (s) while (s)
{ {
readFileOrDirectory(s,0,Doxygen::exampleNameDict,0, readFileOrDirectory(s,0,Doxygen::exampleNameDict,0,
&Config::instance()->getList("EXAMPLE_PATTERNS"), &Config_getList("EXAMPLE_PATTERNS"),
0,0,0); 0,0,0);
s=examplePathList.next(); s=examplePathList.next();
} }
msg("Searching for images...\n"); msg("Searching for images...\n");
QStrList &imagePathList=Config::instance()->getList("IMAGE_PATH"); QStrList &imagePathList=Config_getList("IMAGE_PATH");
s=imagePathList.first(); s=imagePathList.first();
while (s) while (s)
{ {
...@@ -6055,18 +6044,18 @@ void parseInput() ...@@ -6055,18 +6044,18 @@ void parseInput()
} }
msg("Searching for files to exclude\n"); msg("Searching for files to exclude\n");
QStrList &excludeList = Config::instance()->getList("EXCLUDE"); QStrList &excludeList = Config_getList("EXCLUDE");
s=excludeList.first(); s=excludeList.first();
while (s) 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); 0,0,&excludeNameDict,FALSE);
s=excludeList.next(); s=excludeList.next();
} }
msg("Reading input files...\n"); msg("Reading input files...\n");
int inputSize=0; int inputSize=0;
QStrList &inputList=Config::instance()->getList("INPUT"); QStrList &inputList=Config_getList("INPUT");
s=inputList.first(); s=inputList.first();
while (s) while (s)
{ {
...@@ -6077,14 +6066,14 @@ void parseInput() ...@@ -6077,14 +6066,14 @@ void parseInput()
inputSize+=readFileOrDirectory(path,&Doxygen::inputNameList, inputSize+=readFileOrDirectory(path,&Doxygen::inputNameList,
Doxygen::inputNameDict,&excludeNameDict, Doxygen::inputNameDict,&excludeNameDict,
&Config::instance()->getList("FILE_PATTERNS"), &Config_getList("FILE_PATTERNS"),
&Config::instance()->getList("EXCLUDE_PATTERNS"), &Config_getList("EXCLUDE_PATTERNS"),
&inputFiles,0); &inputFiles,0);
s=inputList.next(); s=inputList.next();
} }
// add predefined macro name to a dictionary // 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(); s=expandAsDefinedList.first();
while (s) while (s)
{ {
...@@ -6097,7 +6086,7 @@ void parseInput() ...@@ -6097,7 +6086,7 @@ void parseInput()
// add aliases to a dictionary // add aliases to a dictionary
Doxygen::aliasDict.setAutoDelete(TRUE); Doxygen::aliasDict.setAutoDelete(TRUE);
QStrList &aliasList = Config::instance()->getList("ALIASES"); QStrList &aliasList = Config_getList("ALIASES");
s=aliasList.first(); s=aliasList.first();
while (s) while (s)
{ {
...@@ -6169,7 +6158,7 @@ void parseInput() ...@@ -6169,7 +6158,7 @@ void parseInput()
* Check/create output directorties * * Check/create output directorties *
**************************************************************************/ **************************************************************************/
QCString &outputDirectory = Config::instance()->getString("OUTPUT_DIRECTORY"); QCString &outputDirectory = Config_getString("OUTPUT_DIRECTORY");
if (outputDirectory.isEmpty()) if (outputDirectory.isEmpty())
{ {
outputDirectory=QDir::currentDirPath(); outputDirectory=QDir::currentDirPath();
...@@ -6186,7 +6175,7 @@ void parseInput() ...@@ -6186,7 +6175,7 @@ void parseInput()
"exist and cannot be created\n",outputDirectory.data()); "exist and cannot be created\n",outputDirectory.data());
exit(1); exit(1);
} }
else if (!Config::instance()->getBool("QUIET")) else if (!Config_getBool("QUIET"))
{ {
err("Notice: Output directory `%s' does not exist. " err("Notice: Output directory `%s' does not exist. "
"I have created it for you.\n", outputDirectory.data()); "I have created it for you.\n", outputDirectory.data());
...@@ -6196,8 +6185,8 @@ void parseInput() ...@@ -6196,8 +6185,8 @@ void parseInput()
outputDirectory=dir.absPath(); outputDirectory=dir.absPath();
} }
QCString &htmlOutput = Config::instance()->getString("HTML_OUTPUT"); QCString &htmlOutput = Config_getString("HTML_OUTPUT");
bool &generateHtml = Config::instance()->getBool("GENERATE_HTML"); bool &generateHtml = Config_getBool("GENERATE_HTML");
if (htmlOutput.isEmpty() && generateHtml) if (htmlOutput.isEmpty() && generateHtml)
{ {
htmlOutput=outputDirectory+"/html"; htmlOutput=outputDirectory+"/html";
...@@ -6213,8 +6202,8 @@ void parseInput() ...@@ -6213,8 +6202,8 @@ void parseInput()
exit(1); exit(1);
} }
QCString &latexOutput = Config::instance()->getString("LATEX_OUTPUT"); QCString &latexOutput = Config_getString("LATEX_OUTPUT");
bool &generateLatex = Config::instance()->getBool("GENERATE_LATEX"); bool &generateLatex = Config_getBool("GENERATE_LATEX");
if (latexOutput.isEmpty() && generateLatex) if (latexOutput.isEmpty() && generateLatex)
{ {
latexOutput=outputDirectory+"/latex"; latexOutput=outputDirectory+"/latex";
...@@ -6230,8 +6219,8 @@ void parseInput() ...@@ -6230,8 +6219,8 @@ void parseInput()
exit(1); exit(1);
} }
QCString &rtfOutput = Config::instance()->getString("RTF_OUTPUT"); QCString &rtfOutput = Config_getString("RTF_OUTPUT");
bool &generateRtf = Config::instance()->getBool("GENERATE_RTF"); bool &generateRtf = Config_getBool("GENERATE_RTF");
if (rtfOutput.isEmpty() && generateRtf) if (rtfOutput.isEmpty() && generateRtf)
{ {
rtfOutput=outputDirectory+"/rtf"; rtfOutput=outputDirectory+"/rtf";
...@@ -6247,8 +6236,8 @@ void parseInput() ...@@ -6247,8 +6236,8 @@ void parseInput()
exit(1); exit(1);
} }
QCString &manOutput = Config::instance()->getString("MAN_OUTPUT"); QCString &manOutput = Config_getString("MAN_OUTPUT");
bool &generateMan = Config::instance()->getBool("GENERATE_MAN"); bool &generateMan = Config_getBool("GENERATE_MAN");
if (manOutput.isEmpty() && generateMan) if (manOutput.isEmpty() && generateMan)
{ {
manOutput=outputDirectory+"/man"; manOutput=outputDirectory+"/man";
...@@ -6266,7 +6255,7 @@ void parseInput() ...@@ -6266,7 +6255,7 @@ void parseInput()
// Notice: the order of the function calls below is very important! // Notice: the order of the function calls below is very important!
if (Config::instance()->getBool("GENERATE_HTML")) if (Config_getBool("GENERATE_HTML"))
{ {
readFormulaRepository(); readFormulaRepository();
} }
...@@ -6281,7 +6270,7 @@ void parseInput() ...@@ -6281,7 +6270,7 @@ void parseInput()
msg("Reading tag files\n"); msg("Reading tag files\n");
QStrList &tagFileList = Config::instance()->getList("TAGFILES"); QStrList &tagFileList = Config_getList("TAGFILES");
s=tagFileList.first(); s=tagFileList.first();
while (s) while (s)
{ {
...@@ -6370,7 +6359,7 @@ void parseInput() ...@@ -6370,7 +6359,7 @@ void parseInput()
msg("Adding classes to their packages...\n"); msg("Adding classes to their packages...\n");
addClassesToPackages(); 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"); msg("Computing class implementation usage relations...\n");
computeClassImplUsageRelations(); computeClassImplUsageRelations();
...@@ -6379,7 +6368,7 @@ void parseInput() ...@@ -6379,7 +6368,7 @@ void parseInput()
msg("Adding members to member groups.\n"); msg("Adding members to member groups.\n");
addMembersToMemberGroup(); addMembersToMemberGroup();
if (Config::instance()->getBool("DISTRIBUTE_GROUP_DOC")) if (Config_getBool("DISTRIBUTE_GROUP_DOC"))
{ {
msg("Distributing member group documentation.\n"); msg("Distributing member group documentation.\n");
distributeMemberGroupDocumentation(); distributeMemberGroupDocumentation();
...@@ -6388,7 +6377,7 @@ void parseInput() ...@@ -6388,7 +6377,7 @@ void parseInput()
msg("Building full member lists recursively...\n"); msg("Building full member lists recursively...\n");
buildCompleteMemberLists(); buildCompleteMemberLists();
if (Config::instance()->getBool("INHERIT_DOCS")) if (Config_getBool("INHERIT_DOCS"))
{ {
msg("Inheriting documentation...\n"); msg("Inheriting documentation...\n");
inheritDocumentation(); inheritDocumentation();
...@@ -6409,25 +6398,25 @@ void generateOutput() ...@@ -6409,25 +6398,25 @@ void generateOutput()
**************************************************************************/ **************************************************************************/
outputList = new OutputList(TRUE); outputList = new OutputList(TRUE);
if (Config::instance()->getBool("GENERATE_HTML")) if (Config_getBool("GENERATE_HTML"))
{ {
outputList->add(new HtmlGenerator); outputList->add(new HtmlGenerator);
HtmlGenerator::init(); HtmlGenerator::init();
if (Config::instance()->getBool("GENERATE_HTMLHELP")) HtmlHelp::getInstance()->initialize(); if (Config_getBool("GENERATE_HTMLHELP")) HtmlHelp::getInstance()->initialize();
if (Config::instance()->getBool("GENERATE_TREEVIEW")) FTVHelp::getInstance()->initialize(); if (Config_getBool("GENERATE_TREEVIEW")) FTVHelp::getInstance()->initialize();
copyStyleSheet(); copyStyleSheet();
} }
if (Config::instance()->getBool("GENERATE_LATEX")) if (Config_getBool("GENERATE_LATEX"))
{ {
outputList->add(new LatexGenerator); outputList->add(new LatexGenerator);
LatexGenerator::init(); LatexGenerator::init();
} }
if (Config::instance()->getBool("GENERATE_MAN")) if (Config_getBool("GENERATE_MAN"))
{ {
outputList->add(new ManGenerator); outputList->add(new ManGenerator);
ManGenerator::init(); ManGenerator::init();
} }
if (Config::instance()->getBool("GENERATE_RTF")) if (Config_getBool("GENERATE_RTF"))
{ {
outputList->add(new RTFGenerator); outputList->add(new RTFGenerator);
RTFGenerator::init(); RTFGenerator::init();
...@@ -6438,7 +6427,7 @@ void generateOutput() ...@@ -6438,7 +6427,7 @@ void generateOutput()
**************************************************************************/ **************************************************************************/
QFile *tag=0; QFile *tag=0;
QCString &generateTagFile = Config::instance()->getString("GENERATE_TAGFILE"); QCString &generateTagFile = Config_getString("GENERATE_TAGFILE");
if (!generateTagFile.isEmpty()) if (!generateTagFile.isEmpty())
{ {
tag=new QFile(generateTagFile); tag=new QFile(generateTagFile);
...@@ -6453,8 +6442,8 @@ void generateOutput() ...@@ -6453,8 +6442,8 @@ void generateOutput()
Doxygen::tagFile << "<tagfile>" << endl; Doxygen::tagFile << "<tagfile>" << endl;
} }
if (Config::instance()->getBool("GENERATE_HTML")) writeDoxFont(Config::instance()->getString("HTML_OUTPUT")); if (Config_getBool("GENERATE_HTML")) writeDoxFont(Config_getString("HTML_OUTPUT"));
if (Config::instance()->getBool("GENERATE_RTF")) writeDoxFont(Config::instance()->getString("RTF_OUTPUT")); if (Config_getBool("GENERATE_RTF")) writeDoxFont(Config_getString("RTF_OUTPUT"));
//statistics(); //statistics();
...@@ -6517,7 +6506,7 @@ void generateOutput() ...@@ -6517,7 +6506,7 @@ void generateOutput()
msg("Generating page index...\n"); msg("Generating page index...\n");
writePageIndex(*outputList); writePageIndex(*outputList);
if (Config::instance()->getBool("GENERATE_LEGEND")) if (Config_getBool("GENERATE_LEGEND"))
{ {
msg("Generating graph info page...\n"); msg("Generating graph info page...\n");
writeGraphInfo(*outputList); writeGraphInfo(*outputList);
...@@ -6530,63 +6519,63 @@ void generateOutput() ...@@ -6530,63 +6519,63 @@ void generateOutput()
outputList->writeStyleInfo(0); // write first part outputList->writeStyleInfo(0); // write first part
outputList->disableAllBut(OutputGenerator::Latex); outputList->disableAllBut(OutputGenerator::Latex);
parseText(*outputList, 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 outputList->writeStyleInfo(1); // write second part
parseText(*outputList,theTranslator->trWrittenBy()); parseText(*outputList,theTranslator->trWrittenBy());
outputList->writeStyleInfo(2); // write third part outputList->writeStyleInfo(2); // write third part
parseText(*outputList, 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 outputList->writeStyleInfo(3); // write fourth part
parseText(*outputList,theTranslator->trWrittenBy()); parseText(*outputList,theTranslator->trWrittenBy());
outputList->writeStyleInfo(4); // write last part outputList->writeStyleInfo(4); // write last part
outputList->enableAll(); outputList->enableAll();
if (Config::instance()->getBool("GENERATE_RTF")) if (Config_getBool("GENERATE_RTF"))
{ {
msg("Combining RTF output...\n"); 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"); 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"); msg("Generating graphical class hierarchy...\n");
writeGraphicalClassHierarchy(*outputList); 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"); 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 " 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", 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(); 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(); FTVHelp::getInstance()->finalize();
} }
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty()) if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{ {
Doxygen::tagFile << "</tagfile>" << endl; Doxygen::tagFile << "</tagfile>" << endl;
delete tag; delete tag;
} }
if (Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("DOT_CLEANUP")) removeDoxFont(Config::instance()->getString("HTML_OUTPUT")); if (Config_getBool("GENERATE_HTML") && Config_getBool("DOT_CLEANUP")) removeDoxFont(Config_getString("HTML_OUTPUT"));
if (Config::instance()->getBool("GENERATE_RTF") && Config::instance()->getBool("DOT_CLEANUP")) removeDoxFont(Config::instance()->getString("RTF_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) ...@@ -41,8 +41,8 @@ FileDef::FileDef(const char *p,const char *nm,const char *lref)
{ {
path=p; path=p;
filepath=path+nm; filepath=path+nm;
filename=nameToFile(nm,TRUE); filename=nm;
diskname=nameToFile(nm,FALSE); diskname=nm;
setReference(lref); setReference(lref);
classList = new ClassList; classList = new ClassList;
includeList = new QList<IncludeInfo>; includeList = new QList<IncludeInfo>;
...@@ -60,7 +60,7 @@ FileDef::FileDef(const char *p,const char *nm,const char *lref) ...@@ -60,7 +60,7 @@ FileDef::FileDef(const char *p,const char *nm,const char *lref)
package = 0; package = 0;
isSource = FALSE; isSource = FALSE;
docname = nm; docname = nm;
if (Config::instance()->getBool("FULL_PATH_NAMES")) if (Config_getBool("FULL_PATH_NAMES"))
{ {
docname.prepend(stripFromPath(path.copy())); docname.prepend(stripFromPath(path.copy()));
} }
...@@ -109,7 +109,7 @@ void FileDef::writeDocumentation(OutputList &ol) ...@@ -109,7 +109,7 @@ void FileDef::writeDocumentation(OutputList &ol)
//funcList->countDecMembers(); //funcList->countDecMembers();
//QCString fn = name(); //QCString fn = name();
//if (Config::instance()->getBool("FULL_PATH_NAMES")) //if (Config_getBool("FULL_PATH_NAMES"))
//{ //{
// fn.prepend(stripFromPath(getPath().copy())); // fn.prepend(stripFromPath(getPath().copy()));
//} //}
...@@ -117,18 +117,18 @@ void FileDef::writeDocumentation(OutputList &ol) ...@@ -117,18 +117,18 @@ void FileDef::writeDocumentation(OutputList &ol)
//printf("WriteDocumentation %p diskname=%s\n",this,diskname.data()); //printf("WriteDocumentation %p diskname=%s\n",this,diskname.data());
QCString pageTitle=name()+" File Reference"; QCString pageTitle=name()+" File Reference";
startFile(ol,diskname,pageTitle); startFile(ol,getOutputFileBase(),pageTitle);
startTitle(ol,getOutputFileBase()); startTitle(ol,getOutputFileBase());
parseText(ol,theTranslator->trFileReference(docname)); parseText(ol,theTranslator->trFileReference(docname));
endTitle(ol,getOutputFileBase(),docName()); endTitle(ol,getOutputFileBase(),docName());
//ol.newParagraph(); //ol.newParagraph();
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty()) if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{ {
Doxygen::tagFile << " <compound kind=\"file\">" << endl; Doxygen::tagFile << " <compound kind=\"file\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(name()) << "</name>" << endl; Doxygen::tagFile << " <name>" << convertToXML(name()) << "</name>" << endl;
Doxygen::tagFile << " <path>" << convertToXML(getPath()) << "</path>" << 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(); ol.startTextBlock();
...@@ -153,7 +153,7 @@ void FileDef::writeDocumentation(OutputList &ol) ...@@ -153,7 +153,7 @@ void FileDef::writeDocumentation(OutputList &ol)
} }
ol.writeSynopsis(); ol.writeSynopsis();
if (Config::instance()->getBool("SHOW_INCLUDE_FILES")) if (Config_getBool("SHOW_INCLUDE_FILES"))
{ {
ol.startTextBlock(TRUE); ol.startTextBlock(TRUE);
QListIterator<IncludeInfo> ili(*includeList); QListIterator<IncludeInfo> ili(*includeList);
...@@ -200,7 +200,7 @@ void FileDef::writeDocumentation(OutputList &ol) ...@@ -200,7 +200,7 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.endTextBlock(); 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()); //printf("Graph for file %s\n",name().data());
DotInclDepGraph incDepGraph(this,FALSE); DotInclDepGraph incDepGraph(this,FALSE);
...@@ -213,10 +213,10 @@ void FileDef::writeDocumentation(OutputList &ol) ...@@ -213,10 +213,10 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.endInclDepGraph(incDepGraph); ol.endInclDepGraph(incDepGraph);
ol.enableAll(); 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()); //printf("Graph for file %s\n",name().data());
DotInclDepGraph incDepGraph(this,TRUE); DotInclDepGraph incDepGraph(this,TRUE);
...@@ -229,7 +229,7 @@ void FileDef::writeDocumentation(OutputList &ol) ...@@ -229,7 +229,7 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.endInclDepGraph(incDepGraph); ol.endInclDepGraph(incDepGraph);
ol.enableAll(); 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()); //printf("%s: generateSourceFile()=%d\n",name().data(),generateSourceFile());
...@@ -280,7 +280,7 @@ void FileDef::writeDocumentation(OutputList &ol) ...@@ -280,7 +280,7 @@ void FileDef::writeDocumentation(OutputList &ol)
0, 0,
nd->name() nd->name()
); );
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty()) if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{ {
Doxygen::tagFile << " <namespace>" << convertToXML(nd->name()) << "</namespace>" << endl; Doxygen::tagFile << " <namespace>" << convertToXML(nd->name()) << "</namespace>" << endl;
} }
...@@ -317,7 +317,7 @@ void FileDef::writeDocumentation(OutputList &ol) ...@@ -317,7 +317,7 @@ void FileDef::writeDocumentation(OutputList &ol)
//doc=doc.stripWhiteSpace(); //doc=doc.stripWhiteSpace();
//int bl=brief.length(); //int bl=brief.length();
//int dl=doc.length(); //int dl=doc.length();
if ((!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF")) || if ((!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) ||
!documentation().isEmpty() !documentation().isEmpty()
/* || startBodyLine!=-1 */ /* || startBodyLine!=-1 */
) )
...@@ -334,11 +334,11 @@ void FileDef::writeDocumentation(OutputList &ol) ...@@ -334,11 +334,11 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.startGroupHeader(); ol.startGroupHeader();
parseText(ol,theTranslator->trDetailedDescription()); parseText(ol,theTranslator->trDetailedDescription());
ol.endGroupHeader(); ol.endGroupHeader();
if (!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF")) if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF"))
{ {
ol+=briefOutput; ol+=briefOutput;
} }
if (!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF") && if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF") &&
!documentation().isEmpty()) !documentation().isEmpty())
{ {
ol.newParagraph(); ol.newParagraph();
...@@ -350,7 +350,7 @@ void FileDef::writeDocumentation(OutputList &ol) ...@@ -350,7 +350,7 @@ void FileDef::writeDocumentation(OutputList &ol)
parseDoc(ol,filepath,1,0,0,documentation()+"\n"); parseDoc(ol,filepath,1,0,0,documentation()+"\n");
} }
//printf("Writing source ref for file %s\n",name().data()); //printf("Writing source ref for file %s\n",name().data());
if (Config::instance()->getBool("SOURCE_BROWSER")) if (Config_getBool("SOURCE_BROWSER"))
{ {
ol.newParagraph(); ol.newParagraph();
QCString refText = theTranslator->trDefinedInSourceFile(); QCString refText = theTranslator->trDefinedInSourceFile();
...@@ -358,7 +358,7 @@ void FileDef::writeDocumentation(OutputList &ol) ...@@ -358,7 +358,7 @@ void FileDef::writeDocumentation(OutputList &ol)
if (fileMarkerPos!=-1) // should always pass this. if (fileMarkerPos!=-1) // should always pass this.
{ {
parseText(ol,refText.left(fileMarkerPos)); //text left from marker 1 parseText(ol,refText.left(fileMarkerPos)); //text left from marker 1
ol.writeObjectLink(0,sourceName(), ol.writeObjectLink(0,getSourceFileBase(),
0,name()); 0,name());
parseText(ol,refText.right( parseText(ol,refText.right(
refText.length()-fileMarkerPos-2)); // text right from marker 2 refText.length()-fileMarkerPos-2)); // text right from marker 2
...@@ -431,10 +431,10 @@ void FileDef::writeDocumentation(OutputList &ol) ...@@ -431,10 +431,10 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.startGroupHeader(); ol.startGroupHeader();
parseText(ol,theTranslator->trAuthor()); parseText(ol,theTranslator->trAuthor());
ol.endGroupHeader(); ol.endGroupHeader();
parseText(ol,theTranslator->trGeneratedAutomatically(Config::instance()->getString("PROJECT_NAME"))); parseText(ol,theTranslator->trGeneratedAutomatically(Config_getString("PROJECT_NAME")));
ol.enableAll(); ol.enableAll();
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty()) if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{ {
writeDocAnchorsToTagFile(); writeDocAnchorsToTagFile();
Doxygen::tagFile << " </compound>" << endl; Doxygen::tagFile << " </compound>" << endl;
...@@ -447,7 +447,7 @@ void FileDef::writeDocumentation(OutputList &ol) ...@@ -447,7 +447,7 @@ void FileDef::writeDocumentation(OutputList &ol)
void FileDef::writeSource(OutputList &ol) void FileDef::writeSource(OutputList &ol)
{ {
ol.disableAllBut(OutputGenerator::Html); ol.disableAllBut(OutputGenerator::Html);
startFile(ol,sourceName(),docname+" Source File"); startFile(ol,getSourceFileBase(),docname+" Source File");
startTitle(ol,0); startTitle(ol,0);
parseText(ol,docname); parseText(ol,docname);
endTitle(ol,0,0); endTitle(ol,0,0);
...@@ -462,7 +462,7 @@ void FileDef::writeSource(OutputList &ol) ...@@ -462,7 +462,7 @@ void FileDef::writeSource(OutputList &ol)
initParseCodeContext(); initParseCodeContext();
ol.startCodeFragment(); ol.startCodeFragment();
parseCode(ol,0, parseCode(ol,0,
fileToString(absFilePath(),Config::instance()->getBool("FILTER_SOURCE_FILES")), fileToString(absFilePath(),Config_getBool("FILTER_SOURCE_FILES")),
FALSE,0,this FALSE,0,this
); );
ol.endCodeFragment(); ol.endCodeFragment();
...@@ -517,28 +517,29 @@ void FileDef::insertMember(MemberDef *md) ...@@ -517,28 +517,29 @@ void FileDef::insertMember(MemberDef *md)
{ {
//printf("%s:FileDef::insertMember(%s)\n",name().data(),md->name().data()); //printf("%s:FileDef::insertMember(%s)\n",name().data(),md->name().data());
allMemberList.append(md); allMemberList.append(md);
bool sortMemberDocs = Config_getBool("SORT_MEMBER_DOCS");
switch(md->memberType()) switch(md->memberType())
{ {
case MemberDef::Variable: case MemberDef::Variable:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (sortMemberDocs)
varMembers.inSort(md); varMembers.inSort(md);
else else
varMembers.append(md); varMembers.append(md);
break; break;
case MemberDef::Function: case MemberDef::Function:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (sortMemberDocs)
funcMembers.inSort(md); funcMembers.inSort(md);
else else
funcMembers.append(md); funcMembers.append(md);
break; break;
case MemberDef::Typedef: case MemberDef::Typedef:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (sortMemberDocs)
typedefMembers.inSort(md); typedefMembers.inSort(md);
else else
typedefMembers.append(md); typedefMembers.append(md);
break; break;
case MemberDef::Enumeration: case MemberDef::Enumeration:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (sortMemberDocs)
enumMembers.inSort(md); enumMembers.inSort(md);
else else
enumMembers.append(md); enumMembers.append(md);
...@@ -546,13 +547,13 @@ void FileDef::insertMember(MemberDef *md) ...@@ -546,13 +547,13 @@ void FileDef::insertMember(MemberDef *md)
case MemberDef::EnumValue: // enum values are shown inside their enums case MemberDef::EnumValue: // enum values are shown inside their enums
break; break;
case MemberDef::Prototype: case MemberDef::Prototype:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (sortMemberDocs)
protoMembers.inSort(md); protoMembers.inSort(md);
else else
protoMembers.append(md); protoMembers.append(md);
break; break;
case MemberDef::Define: case MemberDef::Define:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (sortMemberDocs)
defineMembers.inSort(md); defineMembers.inSort(md);
else else
defineMembers.append(md); defineMembers.append(md);
...@@ -566,7 +567,7 @@ void FileDef::insertMember(MemberDef *md) ...@@ -566,7 +567,7 @@ void FileDef::insertMember(MemberDef *md)
/*! Adds compound definition \a cd to the list of all compounds of this file */ /*! Adds compound definition \a cd to the list of all compounds of this file */
void FileDef::insertClass(ClassDef *cd) void FileDef::insertClass(ClassDef *cd)
{ {
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
classList->inSort(cd); classList->inSort(cd);
else else
classList->append(cd); classList->append(cd);
...@@ -577,7 +578,7 @@ void FileDef::insertNamespace(NamespaceDef *nd) ...@@ -577,7 +578,7 @@ void FileDef::insertNamespace(NamespaceDef *nd)
{ {
if (!nd->name().isEmpty() && namespaceDict->find(nd->name())==0) 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); namespaceList->inSort(nd);
else else
namespaceList->append(nd); namespaceList->append(nd);
...@@ -670,8 +671,8 @@ bool FileDef::generateSourceFile() const ...@@ -670,8 +671,8 @@ bool FileDef::generateSourceFile() const
{ {
QCString extension = name().right(4); QCString extension = name().right(4);
return !isReference() && return !isReference() &&
(Config::instance()->getBool("SOURCE_BROWSER") || (Config_getBool("SOURCE_BROWSER") ||
(Config::instance()->getBool("VERBATIM_HEADERS") && guessSection(name())==Entry::HEADER_SEC) (Config_getBool("VERBATIM_HEADERS") && guessSection(name())==Entry::HEADER_SEC)
) && ) &&
extension!=".doc" && extension!=".txt" && extension!=".dox"; extension!=".doc" && extension!=".txt" && extension!=".dox";
} }
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include "config.h" #include "config.h"
#include "definition.h" #include "definition.h"
#include "memberlist.h" #include "memberlist.h"
#include "util.h"
class FileDef; class FileDef;
class FileList; class FileList;
...@@ -72,19 +73,28 @@ class FileDef : public Definition ...@@ -72,19 +73,28 @@ class FileDef : public Definition
/*! Returns the unique file name (this may include part of the path). */ /*! Returns the unique file name (this may include part of the path). */
QCString name() const QCString name() const
{ {
if (Config::instance()->getBool("FULL_PATH_NAMES")) if (Config_getBool("FULL_PATH_NAMES"))
return filename; return filename;
else else
return Definition::name(); 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. */ /*! Returns the absolute path including the file name. */
QCString absFilePath() const { return filepath; } 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 */ /*! Returns the name as it is used in the documentation */
QCString docName() const { return docname; } QCString docName() const { return docname; }
...@@ -178,34 +188,6 @@ class FileDef : public Definition ...@@ -178,34 +188,6 @@ class FileDef : public Definition
PackageDef *package; 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> class FileList : public QList<FileDef>
{ {
......
...@@ -41,7 +41,7 @@ void FileName::generateDiskNames() ...@@ -41,7 +41,7 @@ void FileName::generateDiskNames()
// skip references // skip references
while (fd && fd->isReference()) fd=next(); while (fd && fd->isReference()) fd=next();
// name if unique, so diskname is simply the name // 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 else if (count>1) // multiple occurrences of the same file name
{ {
...@@ -83,7 +83,7 @@ void FileName::generateDiskNames() ...@@ -83,7 +83,7 @@ void FileName::generateDiskNames()
{ {
QCString prefix = fd->path.right(fd->path.length()-j-1); QCString prefix = fd->path.right(fd->path.length()-j-1);
fd->setName(prefix+name); fd->setName(prefix+name);
fd->diskname=convertFileName(prefix+name); fd->diskname=prefix+name;
} }
fd=next(); fd=next();
} }
...@@ -126,7 +126,7 @@ int FileNameList::compareItems(GCI item1, GCI item2) ...@@ -126,7 +126,7 @@ int FileNameList::compareItems(GCI item1, GCI item2)
FileName *f2=(FileName *)item2; FileName *f2=(FileName *)item2;
//printf("FileNameList::compareItems `%s'<->`%s'\n", //printf("FileNameList::compareItems `%s'<->`%s'\n",
// f1->fileName(),f2->fileName()); // f1->fileName(),f2->fileName());
return Config::instance()->getBool("FULL_PATH_NAMES") ? return Config_getBool("FULL_PATH_NAMES") ?
stricmp(f1->fullName(),f2->fullName()) : stricmp(f1->fullName(),f2->fullName()) :
stricmp(f1->fileName(),f2->fileName()); stricmp(f1->fileName(),f2->fileName());
} }
......
...@@ -62,7 +62,7 @@ class FileNameDict : public QDict<FileName> ...@@ -62,7 +62,7 @@ class FileNameDict : public QDict<FileName>
{ {
public: public:
FileNameDict(uint size) : FileNameDict(uint size) :
QDict<FileName>(size,Config::instance()->getBool("CASE_SENSE_NAMES")) {} QDict<FileName>(size,Config_getBool("CASE_SENSE_NAMES")) {}
~FileNameDict() {} ~FileNameDict() {}
}; };
......
...@@ -70,14 +70,14 @@ void FormulaList::generateBitmaps(const char *path) ...@@ -70,14 +70,14 @@ void FormulaList::generateBitmaps(const char *path)
if (f.open(IO_WriteOnly)) if (f.open(IO_WriteOnly))
{ {
QTextStream t(&f); 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 << "\\documentclass{article}" << endl;
t << "\\usepackage{epsfig}" << endl; // for those who want to include images 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) while (s)
{ {
t << "\\usepackage{" << s << "}\n"; t << "\\usepackage{" << s << "}\n";
s=Config::instance()->getList("EXTRA_PACKAGES").next(); s=Config_getList("EXTRA_PACKAGES").next();
} }
t << "\\pagestyle{empty}" << endl; t << "\\pagestyle{empty}" << endl;
t << "\\begin{document}" << endl; t << "\\begin{document}" << endl;
......
...@@ -249,7 +249,7 @@ struct ImageInfo ...@@ -249,7 +249,7 @@ struct ImageInfo
static void generateFolderTreeViewData() static void generateFolderTreeViewData()
{ {
// Generate tree view script // Generate tree view script
QCString fileName=Config::instance()->getString("HTML_OUTPUT")+"/treeview.js"; QCString fileName=Config_getString("HTML_OUTPUT")+"/treeview.js";
QFile f(fileName); QFile f(fileName);
if (!f.open(IO_WriteOnly)) if (!f.open(IO_WriteOnly))
{ {
...@@ -264,7 +264,7 @@ static void generateFolderTreeViewData() ...@@ -264,7 +264,7 @@ static void generateFolderTreeViewData()
} }
// Generate alternative index.html as a frame // 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); f.setName(fileName);
if (!f.open(IO_WriteOnly)) if (!f.open(IO_WriteOnly))
{ {
...@@ -278,16 +278,16 @@ static void generateFolderTreeViewData() ...@@ -278,16 +278,16 @@ static void generateFolderTreeViewData()
t << "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=" t << "<meta http-equiv=\"Content-Type\" content=\"text/html;charset="
<< theTranslator->idLanguageCharset() << "\">\n"; << theTranslator->idLanguageCharset() << "\">\n";
t << "<title>"; t << "<title>";
if (Config::instance()->getString("PROJECT_NAME").isEmpty()) if (Config_getString("PROJECT_NAME").isEmpty())
{ {
t << "Doxygen Documentation"; t << "Doxygen Documentation";
} }
else else
{ {
t << Config::instance()->getString("PROJECT_NAME"); t << Config_getString("PROJECT_NAME");
} }
t << "</title></head>" << endl; 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=\"tree.html\" name=\"treefrm\">" << endl;
t << " <frame src=\"main.html\" name=\"basefrm\">" << endl; t << " <frame src=\"main.html\" name=\"basefrm\">" << endl;
t << "</frameset>" << endl; t << "</frameset>" << endl;
...@@ -296,7 +296,7 @@ static void generateFolderTreeViewData() ...@@ -296,7 +296,7 @@ static void generateFolderTreeViewData()
} }
// Generate tree view frame // Generate tree view frame
fileName=Config::instance()->getString("HTML_OUTPUT")+"/tree.html"; fileName=Config_getString("HTML_OUTPUT")+"/tree.html";
f.setName(fileName); f.setName(fileName);
if (!f.open(IO_WriteOnly)) if (!f.open(IO_WriteOnly))
{ {
...@@ -308,13 +308,13 @@ static void generateFolderTreeViewData() ...@@ -308,13 +308,13 @@ static void generateFolderTreeViewData()
QTextStream t(&f); QTextStream t(&f);
t << "<html><head>" << endl; t << "<html><head>" << endl;
t << "<link rel=\"stylesheet\" href=\""; t << "<link rel=\"stylesheet\" href=\"";
if (Config::instance()->getString("HTML_STYLESHEET").isEmpty()) if (Config_getString("HTML_STYLESHEET").isEmpty())
{ {
t << "doxygen.css"; t << "doxygen.css";
} }
else else
{ {
QFileInfo cssfi(Config::instance()->getString("HTML_STYLESHEET")); QFileInfo cssfi(Config_getString("HTML_STYLESHEET"));
if (!cssfi.exists()) if (!cssfi.exists())
{ {
err("Error: user specified HTML style sheet file does not exist!\n"); err("Error: user specified HTML style sheet file does not exist!\n");
...@@ -338,7 +338,7 @@ static void generateFolderTreeViewData() ...@@ -338,7 +338,7 @@ static void generateFolderTreeViewData()
ImageInfo *p = image_info; ImageInfo *p = image_info;
while (p->name) while (p->name)
{ {
QCString fileName=Config::instance()->getString("HTML_OUTPUT")+"/"+p->name; QCString fileName=Config_getString("HTML_OUTPUT")+"/"+p->name;
QFile f(fileName); QFile f(fileName);
if (f.open(IO_WriteOnly)) if (f.open(IO_WriteOnly))
f.writeBlock((char *)p->data,p->len); f.writeBlock((char *)p->data,p->len);
...@@ -380,7 +380,7 @@ FTVHelp *FTVHelp::getInstance() ...@@ -380,7 +380,7 @@ FTVHelp *FTVHelp::getInstance()
void FTVHelp::initialize() void FTVHelp::initialize()
{ {
/* open the contents file */ /* 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); m_cf = new QFile(fName);
if (!m_cf->open(IO_WriteOnly)) if (!m_cf->open(IO_WriteOnly))
{ {
...@@ -390,13 +390,13 @@ void FTVHelp::initialize() ...@@ -390,13 +390,13 @@ void FTVHelp::initialize()
/* Write the header of the contents file */ /* Write the header of the contents file */
m_cts.setDevice(m_cf); m_cts.setDevice(m_cf);
m_cts << "foldersTree = gFld(\"<b>"; m_cts << "foldersTree = gFld(\"<b>";
if (Config::instance()->getString("PROJECT_NAME").isEmpty()) if (Config_getString("PROJECT_NAME").isEmpty())
{ {
m_cts << "Root"; m_cts << "Root";
} }
else else
{ {
m_cts << Config::instance()->getString("PROJECT_NAME"); m_cts << Config_getString("PROJECT_NAME");
} }
m_cts << "</b>\", \"\", \"\")\n"; m_cts << "</b>\", \"\", \"\")\n";
} }
......
...@@ -51,7 +51,7 @@ GroupDef::GroupDef(const char *df,int dl,const char *na,const char *t) : ...@@ -51,7 +51,7 @@ GroupDef::GroupDef(const char *df,int dl,const char *na,const char *t) :
title = na; title = na;
title.at(0)=toupper(title.at(0)); title.at(0)=toupper(title.at(0));
} }
fileName = "group_"+nameToFile(na); fileName = (QCString)"group_"+na;
memberGroupList = new MemberGroupList; memberGroupList = new MemberGroupList;
memberGroupList->setAutoDelete(TRUE); memberGroupList->setAutoDelete(TRUE);
memberGroupDict = new MemberGroupDict(1009); memberGroupDict = new MemberGroupDict(1009);
...@@ -86,7 +86,7 @@ void GroupDef::distributeMemberGroupDocumentation() ...@@ -86,7 +86,7 @@ void GroupDef::distributeMemberGroupDocumentation()
void GroupDef::addFile(const FileDef *def) void GroupDef::addFile(const FileDef *def)
{ {
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
fileList->inSort(def); fileList->inSort(def);
else else
fileList->append(def); fileList->append(def);
...@@ -94,7 +94,7 @@ void GroupDef::addFile(const FileDef *def) ...@@ -94,7 +94,7 @@ void GroupDef::addFile(const FileDef *def)
void GroupDef::addClass(const ClassDef *def) void GroupDef::addClass(const ClassDef *def)
{ {
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
classList->inSort(def); classList->inSort(def);
else else
classList->append(def); classList->append(def);
...@@ -102,7 +102,7 @@ void GroupDef::addClass(const ClassDef *def) ...@@ -102,7 +102,7 @@ void GroupDef::addClass(const ClassDef *def)
void GroupDef::addNamespace(const NamespaceDef *def) void GroupDef::addNamespace(const NamespaceDef *def)
{ {
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
namespaceList->inSort(def); namespaceList->inSort(def);
else else
namespaceList->append(def); namespaceList->append(def);
...@@ -189,43 +189,43 @@ void GroupDef::insertMember(MemberDef *md) ...@@ -189,43 +189,43 @@ void GroupDef::insertMember(MemberDef *md)
switch(md->memberType()) switch(md->memberType())
{ {
case MemberDef::Variable: case MemberDef::Variable:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
varMembers.inSort(md); varMembers.inSort(md);
else else
varMembers.append(md); varMembers.append(md);
break; break;
case MemberDef::Function: case MemberDef::Function:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
funcMembers.inSort(md); funcMembers.inSort(md);
else else
funcMembers.append(md); funcMembers.append(md);
break; break;
case MemberDef::Typedef: case MemberDef::Typedef:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
typedefMembers.inSort(md); typedefMembers.inSort(md);
else else
typedefMembers.append(md); typedefMembers.append(md);
break; break;
case MemberDef::Enumeration: case MemberDef::Enumeration:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
enumMembers.inSort(md); enumMembers.inSort(md);
else else
enumMembers.append(md); enumMembers.append(md);
break; break;
case MemberDef::EnumValue: case MemberDef::EnumValue:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
enumValMembers.inSort(md); enumValMembers.inSort(md);
else else
enumValMembers.append(md); enumValMembers.append(md);
break; break;
case MemberDef::Prototype: case MemberDef::Prototype:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
protoMembers.inSort(md); protoMembers.inSort(md);
else else
protoMembers.append(md); protoMembers.append(md);
break; break;
case MemberDef::Define: case MemberDef::Define:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
defineMembers.inSort(md); defineMembers.inSort(md);
else else
defineMembers.append(md); defineMembers.append(md);
...@@ -238,7 +238,7 @@ void GroupDef::insertMember(MemberDef *md) ...@@ -238,7 +238,7 @@ void GroupDef::insertMember(MemberDef *md)
void GroupDef::addGroup(const GroupDef *def) void GroupDef::addGroup(const GroupDef *def)
{ {
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
groupList->inSort(def); groupList->inSort(def);
else else
groupList->append(def); groupList->append(def);
...@@ -246,7 +246,7 @@ void GroupDef::addGroup(const GroupDef *def) ...@@ -246,7 +246,7 @@ void GroupDef::addGroup(const GroupDef *def)
void GroupDef::addParentGroup(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); parentGroupList->inSort(def);
else else
parentGroupList->append(def); parentGroupList->append(def);
...@@ -279,7 +279,7 @@ void GroupDef::writeDocumentation(OutputList &ol) ...@@ -279,7 +279,7 @@ void GroupDef::writeDocumentation(OutputList &ol)
{ {
ol.pushGeneratorState(); ol.pushGeneratorState();
//ol.disable(OutputGenerator::Man); //ol.disable(OutputGenerator::Man);
startFile(ol,fileName,title); startFile(ol,getOutputFileBase(),title);
startTitle(ol,getOutputFileBase()); startTitle(ol,getOutputFileBase());
ol.docify(title); ol.docify(title);
endTitle(ol,getOutputFileBase(),title); endTitle(ol,getOutputFileBase(),title);
...@@ -302,12 +302,12 @@ void GroupDef::writeDocumentation(OutputList &ol) ...@@ -302,12 +302,12 @@ void GroupDef::writeDocumentation(OutputList &ol)
ol.popGeneratorState(); ol.popGeneratorState();
} }
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty()) if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{ {
Doxygen::tagFile << " <compound kind=\"group\">" << endl; Doxygen::tagFile << " <compound kind=\"group\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(name()) << "</name>" << endl; Doxygen::tagFile << " <name>" << convertToXML(name()) << "</name>" << endl;
Doxygen::tagFile << " <title>" << convertToXML(title) << "</title>" << 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(); ol.startMemberSections();
...@@ -324,12 +324,12 @@ void GroupDef::writeDocumentation(OutputList &ol) ...@@ -324,12 +324,12 @@ void GroupDef::writeDocumentation(OutputList &ol)
ol.docify("file "); ol.docify("file ");
ol.insertMemberAlign(); ol.insertMemberAlign();
ol.writeObjectLink(fd->getReference(),fd->getOutputFileBase(),0,fd->name()); 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; Doxygen::tagFile << " <file>" << convertToXML(fd->name()) << "</file>" << endl;
} }
ol.endMemberItem(FALSE); ol.endMemberItem(FALSE);
if (!fd->briefDescription().isEmpty() && Config::instance()->getBool("BRIEF_MEMBER_DESC")) if (!fd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
{ {
ol.startMemberDescription(); ol.startMemberDescription();
parseDoc(ol,defFileName,defLine,0,0,fd->briefDescription()); parseDoc(ol,defFileName,defLine,0,0,fd->briefDescription());
...@@ -353,12 +353,12 @@ void GroupDef::writeDocumentation(OutputList &ol) ...@@ -353,12 +353,12 @@ void GroupDef::writeDocumentation(OutputList &ol)
ol.docify("namespace "); ol.docify("namespace ");
ol.insertMemberAlign(); ol.insertMemberAlign();
ol.writeObjectLink(nd->getReference(),nd->getOutputFileBase(),0,nd->name()); 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; Doxygen::tagFile << " <namespace>" << convertToXML(nd->name()) << "</namespace>" << endl;
} }
ol.endMemberItem(FALSE); ol.endMemberItem(FALSE);
if (!nd->briefDescription().isEmpty() && Config::instance()->getBool("BRIEF_MEMBER_DESC")) if (!nd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
{ {
ol.startMemberDescription(); ol.startMemberDescription();
parseDoc(ol,defFileName,defLine,0,0,nd->briefDescription()); parseDoc(ol,defFileName,defLine,0,0,nd->briefDescription());
...@@ -381,12 +381,12 @@ void GroupDef::writeDocumentation(OutputList &ol) ...@@ -381,12 +381,12 @@ void GroupDef::writeDocumentation(OutputList &ol)
ol.startMemberItem(0); ol.startMemberItem(0);
//ol.insertMemberAlign(); //ol.insertMemberAlign();
ol.writeObjectLink(gd->getReference(),gd->getOutputFileBase(),0,gd->groupTitle()); 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; Doxygen::tagFile << " <subgroup>" << convertToXML(gd->name()) << "</subgroup>" << endl;
} }
ol.endMemberItem(FALSE); ol.endMemberItem(FALSE);
if (!gd->briefDescription().isEmpty() && Config::instance()->getBool("BRIEF_MEMBER_DESC")) if (!gd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
{ {
ol.startMemberDescription(); ol.startMemberDescription();
parseDoc(ol,defFileName,defLine,0,0,gd->briefDescription()); parseDoc(ol,defFileName,defLine,0,0,gd->briefDescription());
...@@ -431,7 +431,7 @@ void GroupDef::writeDocumentation(OutputList &ol) ...@@ -431,7 +431,7 @@ void GroupDef::writeDocumentation(OutputList &ol)
ol.endGroupHeader(); ol.endGroupHeader();
// repeat brief description // repeat brief description
if (!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF")) if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF"))
{ {
ol+=briefOutput; ol+=briefOutput;
ol.newParagraph(); ol.newParagraph();
...@@ -452,7 +452,7 @@ void GroupDef::writeDocumentation(OutputList &ol) ...@@ -452,7 +452,7 @@ void GroupDef::writeDocumentation(OutputList &ol)
{ {
QCString pageName = pi->getOutputFileBase(); QCString pageName = pi->getOutputFileBase();
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty()) if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{ {
Doxygen::tagFile << " <page>" << convertToXML(pageName) << "</page>" << endl; Doxygen::tagFile << " <page>" << convertToXML(pageName) << "</page>" << endl;
} }
...@@ -531,7 +531,7 @@ void GroupDef::writeDocumentation(OutputList &ol) ...@@ -531,7 +531,7 @@ void GroupDef::writeDocumentation(OutputList &ol)
varMembers.writeDocumentation(ol,name(),this); varMembers.writeDocumentation(ol,name(),this);
} }
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty()) if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{ {
writeDocAnchorsToTagFile(); writeDocAnchorsToTagFile();
Doxygen::tagFile << " </compound>" << endl; Doxygen::tagFile << " </compound>" << endl;
...@@ -635,4 +635,7 @@ void addExampleToGroups(Entry *root,PageInfo *eg) ...@@ -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 ...@@ -46,7 +46,7 @@ class GroupDef : public Definition
GroupDef(const char *fileName,int line,const char *name,const char *title); GroupDef(const char *fileName,int line,const char *name,const char *title);
~GroupDef(); ~GroupDef();
DefType definitionType() { return TypeGroup; } DefType definitionType() { return TypeGroup; }
QCString getOutputFileBase() const { return fileName; } QCString getOutputFileBase() const;
const char *groupTitle() const { return title; } const char *groupTitle() const { return title; }
void addFile(const FileDef *def); void addFile(const FileDef *def);
void addClass(const ClassDef *def); void addClass(const ClassDef *def);
......
...@@ -63,7 +63,7 @@ static QCString g_footer; ...@@ -63,7 +63,7 @@ static QCString g_footer;
HtmlGenerator::HtmlGenerator() : OutputGenerator() HtmlGenerator::HtmlGenerator() : OutputGenerator()
{ {
dir=Config::instance()->getString("HTML_OUTPUT"); dir=Config_getString("HTML_OUTPUT");
col=0; col=0;
} }
...@@ -80,15 +80,15 @@ void HtmlGenerator::append(const OutputGenerator *g) ...@@ -80,15 +80,15 @@ void HtmlGenerator::append(const OutputGenerator *g)
void HtmlGenerator::init() void HtmlGenerator::init()
{ {
QDir d(Config::instance()->getString("HTML_OUTPUT")); QDir d(Config_getString("HTML_OUTPUT"));
if (!d.exists() && !d.mkdir(Config::instance()->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); exit(1);
} }
writeLogo(Config::instance()->getString("HTML_OUTPUT")); writeLogo(Config_getString("HTML_OUTPUT"));
if (!Config::instance()->getString("HTML_HEADER").isEmpty()) g_header=fileToString(Config::instance()->getString("HTML_HEADER")); if (!Config_getString("HTML_HEADER").isEmpty()) g_header=fileToString(Config_getString("HTML_HEADER"));
if (!Config::instance()->getString("HTML_FOOTER").isEmpty()) g_footer=fileToString(Config::instance()->getString("HTML_FOOTER")); if (!Config_getString("HTML_FOOTER").isEmpty()) g_footer=fileToString(Config_getString("HTML_FOOTER"));
} }
void HtmlGenerator::writeStyleSheetFile(QFile &file) void HtmlGenerator::writeStyleSheetFile(QFile &file)
...@@ -107,17 +107,17 @@ static void writeDefaultHeaderFile(QTextStream &t,const char *title, ...@@ -107,17 +107,17 @@ static void writeDefaultHeaderFile(QTextStream &t,const char *title,
"<title>" << title << "</title>\n"; "<title>" << title << "</title>\n";
t << "<link "; t << "<link ";
if (external) if (external)
t << "doxygen=\"_doc:" << Config::instance()->getString("DOC_URL") t << "doxygen=\"_doc:" << Config_getString("DOC_URL")
<< "\" href=\"" << Config::instance()->getString("DOC_URL") << "/"; << "\" href=\"" << Config_getString("DOC_URL") << "/";
else else
t << "href=\""; t << "href=\"";
if (Config::instance()->getString("HTML_STYLESHEET").isEmpty()) if (Config_getString("HTML_STYLESHEET").isEmpty())
{ {
t << "doxygen.css"; t << "doxygen.css";
} }
else else
{ {
QFileInfo cssfi(Config::instance()->getString("HTML_STYLESHEET")); QFileInfo cssfi(Config_getString("HTML_STYLESHEET"));
if (!cssfi.exists()) if (!cssfi.exists())
{ {
err("Error: user specified HTML style sheet file does not exist!\n"); 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) ...@@ -157,7 +157,7 @@ void HtmlGenerator::startFile(const char *name,const char *title,bool external)
lastTitle=title; lastTitle=title;
if (fileName.right(5)!=".html") fileName+=".html"; if (fileName.right(5)!=".html") fileName+=".html";
startPlainFile(fileName); startPlainFile(fileName);
if (Config::instance()->getBool("GENERATE_HTMLHELP")) if (Config_getBool("GENERATE_HTMLHELP"))
{ {
HtmlHelp::getInstance()->addIndexFile(fileName); HtmlHelp::getInstance()->addIndexFile(fileName);
} }
...@@ -220,8 +220,8 @@ void HtmlGenerator::writeFooter(int part,bool external) ...@@ -220,8 +220,8 @@ void HtmlGenerator::writeFooter(int part,bool external)
t << endl << "<img "; t << endl << "<img ";
if (external) if (external)
{ {
t << "doxygen=\"_doc:" << Config::instance()->getString("DOC_URL") t << "doxygen=\"_doc:" << Config_getString("DOC_URL")
<< "\" src=\"" << Config::instance()->getString("DOC_URL") << "/"; << "\" src=\"" << Config_getString("DOC_URL") << "/";
} }
else else
{ {
...@@ -260,7 +260,7 @@ void HtmlGenerator::writeStyleInfo(int part) ...@@ -260,7 +260,7 @@ void HtmlGenerator::writeStyleInfo(int part)
{ {
if (part==0) 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"); startPlainFile("doxygen.css");
...@@ -273,15 +273,15 @@ void HtmlGenerator::writeStyleInfo(int part) ...@@ -273,15 +273,15 @@ void HtmlGenerator::writeStyleInfo(int part)
} }
else // write user defined style sheet 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()) 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 else
{ {
startPlainFile(cssfi.fileName()); startPlainFile(cssfi.fileName());
t << fileToString(Config::instance()->getString("HTML_STYLESHEET")); t << fileToString(Config_getString("HTML_STYLESHEET"));
endPlainFile(); endPlainFile();
} }
} }
...@@ -347,7 +347,7 @@ void HtmlGenerator::writeIndexItem(const char *ref,const char *f, ...@@ -347,7 +347,7 @@ void HtmlGenerator::writeIndexItem(const char *ref,const char *f,
{ {
t << "</b>"; t << "</b>";
} }
//if (Config::instance()->getBool("GENERATE_HTMLHELP") && f) //if (Config_getBool("GENERATE_HTMLHELP") && f)
//{ //{
// htmlHelp->addItem(name,((QCString)f)+".html"); // htmlHelp->addItem(name,((QCString)f)+".html");
//} //}
...@@ -361,7 +361,7 @@ void HtmlGenerator::writeStartAnnoItem(const char *,const char *f, ...@@ -361,7 +361,7 @@ void HtmlGenerator::writeStartAnnoItem(const char *,const char *f,
t << "<a class=\"el\" href=\"" << f << ".html\">"; t << "<a class=\"el\" href=\"" << f << ".html\">";
docify(name); docify(name);
t << "</a> "; t << "</a> ";
//if (Config::instance()->getBool("GENERATE_HTMLHELP") && f) //if (Config_getBool("GENERATE_HTMLHELP") && f)
//{ //{
// htmlHelp->addItem(name, ((QCString)f)+".html"); // htmlHelp->addItem(name, ((QCString)f)+".html");
//} //}
...@@ -438,7 +438,7 @@ void HtmlGenerator::endTextLink() ...@@ -438,7 +438,7 @@ void HtmlGenerator::endTextLink()
void HtmlGenerator::startHtmlLink(const char *url) void HtmlGenerator::startHtmlLink(const char *url)
{ {
t << "<a "; t << "<a ";
if (Config::instance()->getBool("GENERATE_TREEVIEW")) t << "target=\"top\" "; if (Config_getBool("GENERATE_TREEVIEW")) t << "target=\"top\" ";
t << "href=\""; t << "href=\"";
if (url) t << url; if (url) t << url;
t << "\">"; t << "\">";
...@@ -555,7 +555,7 @@ void HtmlGenerator::codify(const char *str) ...@@ -555,7 +555,7 @@ void HtmlGenerator::codify(const char *str)
switch(c) switch(c)
{ {
case '\t': spacesToNextTabStop = 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); t << spaces.left(spacesToNextTabStop);
col+=spacesToNextTabStop; col+=spacesToNextTabStop;
break; break;
...@@ -639,7 +639,7 @@ void HtmlGenerator::writeFormula(const char *n,const char *text) ...@@ -639,7 +639,7 @@ void HtmlGenerator::writeFormula(const char *n,const char *text)
void HtmlGenerator::startMemberList() void HtmlGenerator::startMemberList()
{ {
DBG_HTML(t << "<!-- startMemberList -->" << endl) DBG_HTML(t << "<!-- startMemberList -->" << endl)
if (Config::instance()->getBool("HTML_ALIGN_MEMBERS")) if (Config_getBool("HTML_ALIGN_MEMBERS"))
{ {
} }
else else
...@@ -651,7 +651,7 @@ void HtmlGenerator::startMemberList() ...@@ -651,7 +651,7 @@ void HtmlGenerator::startMemberList()
void HtmlGenerator::endMemberList() void HtmlGenerator::endMemberList()
{ {
DBG_HTML(t << "<!-- endMemberList -->" << endl) DBG_HTML(t << "<!-- endMemberList -->" << endl)
if (Config::instance()->getBool("HTML_ALIGN_MEMBERS")) if (Config_getBool("HTML_ALIGN_MEMBERS"))
{ {
} }
else else
...@@ -667,7 +667,7 @@ void HtmlGenerator::endMemberList() ...@@ -667,7 +667,7 @@ void HtmlGenerator::endMemberList()
void HtmlGenerator::startMemberItem(int annoType) void HtmlGenerator::startMemberItem(int annoType)
{ {
DBG_HTML(t << "<!-- startMemberItem() -->" << endl) DBG_HTML(t << "<!-- startMemberItem() -->" << endl)
if (Config::instance()->getBool("HTML_ALIGN_MEMBERS")) if (Config_getBool("HTML_ALIGN_MEMBERS"))
{ {
t << "<tr>"; t << "<tr>";
switch(annoType) switch(annoType)
...@@ -686,7 +686,7 @@ void HtmlGenerator::startMemberItem(int annoType) ...@@ -686,7 +686,7 @@ void HtmlGenerator::startMemberItem(int annoType)
void HtmlGenerator::endMemberItem(bool) void HtmlGenerator::endMemberItem(bool)
{ {
//DBG_HTML(t << "<!-- endMemberItem(" << (int)inGroup << "," << fileName << "," << headerName << " -->" << endl) //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>"; t << "</td></tr>";
} }
...@@ -697,7 +697,7 @@ void HtmlGenerator::endMemberItem(bool) ...@@ -697,7 +697,7 @@ void HtmlGenerator::endMemberItem(bool)
void HtmlGenerator::insertMemberAlign() void HtmlGenerator::insertMemberAlign()
{ {
DBG_HTML(t << "<!-- insertMemberAlign -->" << endl) DBG_HTML(t << "<!-- insertMemberAlign -->" << endl)
if (Config::instance()->getBool("HTML_ALIGN_MEMBERS")) if (Config_getBool("HTML_ALIGN_MEMBERS"))
{ {
t << "&nbsp;</td><td valign=bottom>"; t << "&nbsp;</td><td valign=bottom>";
} }
...@@ -706,7 +706,7 @@ void HtmlGenerator::insertMemberAlign() ...@@ -706,7 +706,7 @@ void HtmlGenerator::insertMemberAlign()
void HtmlGenerator::startMemberDescription() void HtmlGenerator::startMemberDescription()
{ {
DBG_HTML(t << "<!-- startMemberDescription -->" << endl) 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>" //t << "<tr><td><img src=null.gif></td><td><img src=null.gif></td>"
// "<td></td><td><font size=-1><em>"; // "<td></td><td><font size=-1><em>";
...@@ -721,7 +721,7 @@ void HtmlGenerator::startMemberDescription() ...@@ -721,7 +721,7 @@ void HtmlGenerator::startMemberDescription()
void HtmlGenerator::endMemberDescription() void HtmlGenerator::endMemberDescription()
{ {
DBG_HTML(t << "<!-- endMemberDescription -->" << endl) 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; t << "</em></font><br><br></td></tr>" << endl;
} }
...@@ -734,7 +734,7 @@ void HtmlGenerator::endMemberDescription() ...@@ -734,7 +734,7 @@ void HtmlGenerator::endMemberDescription()
void HtmlGenerator::startMemberSections() void HtmlGenerator::startMemberSections()
{ {
DBG_HTML(t << "<!-- startMemberSections -->" << endl) 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; t << "<table border=0 cellpadding=0 cellspacing=0>" << endl;
} }
...@@ -743,7 +743,7 @@ void HtmlGenerator::startMemberSections() ...@@ -743,7 +743,7 @@ void HtmlGenerator::startMemberSections()
void HtmlGenerator::endMemberSections() void HtmlGenerator::endMemberSections()
{ {
DBG_HTML(t << "<!-- endMemberSections -->" << endl) DBG_HTML(t << "<!-- endMemberSections -->" << endl)
if (Config::instance()->getBool("HTML_ALIGN_MEMBERS")) if (Config_getBool("HTML_ALIGN_MEMBERS"))
{ {
t << "</table>" << endl; t << "</table>" << endl;
} }
...@@ -752,7 +752,7 @@ void HtmlGenerator::endMemberSections() ...@@ -752,7 +752,7 @@ void HtmlGenerator::endMemberSections()
void HtmlGenerator::startMemberHeader() void HtmlGenerator::startMemberHeader()
{ {
DBG_HTML(t << "<!-- startMemberHeader -->" << endl) 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>"; t << "<tr><td colspan=2><br><h2>";
} }
...@@ -765,7 +765,7 @@ void HtmlGenerator::startMemberHeader() ...@@ -765,7 +765,7 @@ void HtmlGenerator::startMemberHeader()
void HtmlGenerator::endMemberHeader() void HtmlGenerator::endMemberHeader()
{ {
DBG_HTML(t << "<!-- endMemberHeader -->" << endl) DBG_HTML(t << "<!-- endMemberHeader -->" << endl)
if (Config::instance()->getBool("HTML_ALIGN_MEMBERS")) if (Config_getBool("HTML_ALIGN_MEMBERS"))
{ {
t << "</h2></td></tr>" << endl; t << "</h2></td></tr>" << endl;
} }
...@@ -778,19 +778,19 @@ void HtmlGenerator::endMemberHeader() ...@@ -778,19 +778,19 @@ void HtmlGenerator::endMemberHeader()
void HtmlGenerator::startMemberSubtitle() void HtmlGenerator::startMemberSubtitle()
{ {
DBG_HTML(t << "<!-- startMemberSubtitle -->" << endl) 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() void HtmlGenerator::endMemberSubtitle()
{ {
DBG_HTML(t << "<!-- endMemberSubtitle -->" << endl) 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() void HtmlGenerator::startIndexList()
{ {
t << "<ul>" << endl; t << "<ul>" << endl;
//if (Config::instance()->getBool("GENERATE_HTMLHELP")) //if (Config_getBool("GENERATE_HTMLHELP"))
//{ //{
// if (htmlHelp->depth()==0) htmlHelp->addItem(lastTitle,lastFile); // if (htmlHelp->depth()==0) htmlHelp->addItem(lastTitle,lastFile);
// htmlHelp->incDepth(); // htmlHelp->incDepth();
...@@ -800,7 +800,7 @@ void HtmlGenerator::startIndexList() ...@@ -800,7 +800,7 @@ void HtmlGenerator::startIndexList()
void HtmlGenerator::endIndexList() void HtmlGenerator::endIndexList()
{ {
t << "</ul>" << endl; t << "</ul>" << endl;
//if (Config::instance()->getBool("GENERATE_HTMLHELP")) //if (Config_getBool("GENERATE_HTMLHELP"))
//{ //{
// htmlHelp->decDepth(); // htmlHelp->decDepth();
//} //}
...@@ -936,7 +936,7 @@ void HtmlGenerator::startDotGraph() ...@@ -936,7 +936,7 @@ void HtmlGenerator::startDotGraph()
void HtmlGenerator::endDotGraph(DotClassGraph &g) 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() void HtmlGenerator::startInclDepGraph()
...@@ -945,12 +945,12 @@ void HtmlGenerator::startInclDepGraph() ...@@ -945,12 +945,12 @@ void HtmlGenerator::startInclDepGraph()
void HtmlGenerator::endInclDepGraph(DotInclDepGraph &g) 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) void HtmlGenerator::writeGraphicalHierarchy(DotGfxHierarchyTable &g)
{ {
g.writeGraph(t,Config::instance()->getString("HTML_OUTPUT")); g.writeGraph(t,Config_getString("HTML_OUTPUT"));
} }
void HtmlGenerator::startMemberGroupHeader(bool) void HtmlGenerator::startMemberGroupHeader(bool)
......
...@@ -255,7 +255,7 @@ HtmlHelp *HtmlHelp::getInstance() ...@@ -255,7 +255,7 @@ HtmlHelp *HtmlHelp::getInstance()
void HtmlHelp::initialize() void HtmlHelp::initialize()
{ {
/* open the contents file */ /* 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); cf = new QFile(fName);
if (!cf->open(IO_WriteOnly)) if (!cf->open(IO_WriteOnly))
{ {
...@@ -272,7 +272,7 @@ void HtmlHelp::initialize() ...@@ -272,7 +272,7 @@ void HtmlHelp::initialize()
"<UL>\n"; "<UL>\n";
/* open the contents file */ /* open the contents file */
fName = Config::instance()->getString("HTML_OUTPUT") + "/index.hhk"; fName = Config_getString("HTML_OUTPUT") + "/index.hhk";
kf = new QFile(fName); kf = new QFile(fName);
if (!kf->open(IO_WriteOnly)) if (!kf->open(IO_WriteOnly))
{ {
...@@ -292,13 +292,13 @@ void HtmlHelp::initialize() ...@@ -292,13 +292,13 @@ void HtmlHelp::initialize()
void HtmlHelp::createProjectFile() void HtmlHelp::createProjectFile()
{ {
/* Write the project file */ /* Write the project file */
QCString fName = Config::instance()->getString("HTML_OUTPUT") + "/index.hhp"; QCString fName = Config_getString("HTML_OUTPUT") + "/index.hhp";
QFile f(fName); QFile f(fName);
if (f.open(IO_WriteOnly)) if (f.open(IO_WriteOnly))
{ {
QTextStream t(&f); QTextStream t(&f);
QCString indexName="index.html"; QCString indexName="index.html";
if (Config::instance()->getBool("GENERATE_TREEVIEW")) indexName="main.html"; if (Config_getBool("GENERATE_TREEVIEW")) indexName="main.html";
t << "[OPTIONS]\n" t << "[OPTIONS]\n"
"Compatibility=1.1\n" "Compatibility=1.1\n"
"Full-text search=Yes\n" "Full-text search=Yes\n"
...@@ -306,12 +306,12 @@ void HtmlHelp::createProjectFile() ...@@ -306,12 +306,12 @@ void HtmlHelp::createProjectFile()
"Default Window=main\n" "Default Window=main\n"
"Default topic=" << indexName << "\n" "Default topic=" << indexName << "\n"
"Index file=index.hhk\n"; "Index file=index.hhk\n";
if (Config::instance()->getBool("BINARY_TOC")) t << "Binary TOC=YES\n"; if (Config_getBool("BINARY_TOC")) t << "Binary TOC=YES\n";
if (Config::instance()->getBool("GENERATE_CHI")) t << "Create CHI file=YES\n"; if (Config_getBool("GENERATE_CHI")) t << "Create CHI file=YES\n";
t << "Title=" << Config::instance()->getString("PROJECT_NAME") << endl << endl; t << "Title=" << Config_getString("PROJECT_NAME") << endl << endl;
t << "[WINDOWS]" << endl; t << "[WINDOWS]" << endl;
t << "main=\"" << Config::instance()->getString("PROJECT_NAME") << "\",\"index.hhc\"," t << "main=\"" << Config_getString("PROJECT_NAME") << "\",\"index.hhc\","
"\"index.hhk\",\"" << indexName << "\",\"" << "\"index.hhk\",\"" << indexName << "\",\"" <<
indexName << "\",,,,,0x23520,,0x3006,,,,,,,,0" << endl << endl; indexName << "\",,,,,0x23520,,0x3006,,,,,,,,0" << endl << endl;
...@@ -389,7 +389,7 @@ void HtmlHelp::addContentsItem(bool isDir, ...@@ -389,7 +389,7 @@ void HtmlHelp::addContentsItem(bool isDir,
const char *anchor) const char *anchor)
{ {
// If we're using a binary toc then folders cannot have links. // 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; ref = 0;
anchor = 0; anchor = 0;
......
...@@ -155,7 +155,7 @@ void writeQuickLinks(OutputList &ol,bool compact ,bool ext=FALSE) ...@@ -155,7 +155,7 @@ void writeQuickLinks(OutputList &ol,bool compact ,bool ext=FALSE)
if (compact) ol.startCenter(); else ol.startItemList(); if (compact) ol.startCenter(); else ol.startItemList();
if (!compact) ol.writeListItem(); if (!compact) ol.writeListItem();
if (Config::instance()->getBool("GENERATE_TREEVIEW")) if (Config_getBool("GENERATE_TREEVIEW"))
{ {
ol.startQuickIndexItem(extLink,"main.html"); ol.startQuickIndexItem(extLink,"main.html");
} }
...@@ -196,7 +196,7 @@ void writeQuickLinks(OutputList &ol,bool compact ,bool ext=FALSE) ...@@ -196,7 +196,7 @@ void writeQuickLinks(OutputList &ol,bool compact ,bool ext=FALSE)
} }
if (annotatedClasses>0) if (annotatedClasses>0)
{ {
if (Config::instance()->getBool("ALPHABETICAL_INDEX")) if (Config_getBool("ALPHABETICAL_INDEX"))
{ {
if (!compact) ol.writeListItem(); if (!compact) ol.writeListItem();
ol.startQuickIndexItem(extLink,"classes.html"); ol.startQuickIndexItem(extLink,"classes.html");
...@@ -215,14 +215,14 @@ void writeQuickLinks(OutputList &ol,bool compact ,bool ext=FALSE) ...@@ -215,14 +215,14 @@ void writeQuickLinks(OutputList &ol,bool compact ,bool ext=FALSE)
parseText(ol,theTranslator->trFileList()); parseText(ol,theTranslator->trFileList());
ol.endQuickIndexItem(); ol.endQuickIndexItem();
} }
//if (documentedIncludeFiles>0 && Config::instance()->getBool("VERBATIM_HEADERS")) //if (documentedIncludeFiles>0 && Config_getBool("VERBATIM_HEADERS"))
//{ //{
// if (!compact) ol.writeListItem(); // if (!compact) ol.writeListItem();
// ol.startQuickIndexItem(extLink,"headers.html"); // ol.startQuickIndexItem(extLink,"headers.html");
// parseText(ol,theTranslator->trHeaderFiles()); // parseText(ol,theTranslator->trHeaderFiles());
// ol.endQuickIndexItem(); // ol.endQuickIndexItem();
//} //}
//if (Config::instance()->getBool("SOURCE_BROWSER")) //if (Config_getBool("SOURCE_BROWSER"))
//{ //{
// if (!compact) ol.writeListItem(); // if (!compact) ol.writeListItem();
// ol.startQuickIndexItem(extLink,"sources.html"); // ol.startQuickIndexItem(extLink,"sources.html");
...@@ -264,7 +264,7 @@ void writeQuickLinks(OutputList &ol,bool compact ,bool ext=FALSE) ...@@ -264,7 +264,7 @@ void writeQuickLinks(OutputList &ol,bool compact ,bool ext=FALSE)
parseText(ol,theTranslator->trExamples()); parseText(ol,theTranslator->trExamples());
ol.endQuickIndexItem(); ol.endQuickIndexItem();
} }
if (Config::instance()->getBool("SEARCHENGINE")) if (Config_getBool("SEARCHENGINE"))
{ {
if (!compact) ol.writeListItem(); if (!compact) ol.writeListItem();
ol.startQuickIndexItem("_cgi",""); ol.startQuickIndexItem("_cgi","");
...@@ -303,7 +303,7 @@ void endTitle(OutputList &ol,const char *fileName,const char *name) ...@@ -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) void startFile(OutputList &ol,const char *name,const char *title,bool external)
{ {
ol.startFile(name,title,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) void endFile(OutputList &ol,bool external)
...@@ -311,15 +311,15 @@ void endFile(OutputList &ol,bool external) ...@@ -311,15 +311,15 @@ void endFile(OutputList &ol,bool external)
ol.pushGeneratorState(); ol.pushGeneratorState();
ol.disableAllBut(OutputGenerator::Html); ol.disableAllBut(OutputGenerator::Html);
ol.writeFooter(0,external); // write the footer ol.writeFooter(0,external); // write the footer
if (Config::instance()->getString("HTML_FOOTER").isEmpty()) if (Config_getString("HTML_FOOTER").isEmpty())
{ {
parseText(ol,theTranslator->trGeneratedAt( parseText(ol,theTranslator->trGeneratedAt(
dateToString(TRUE), dateToString(TRUE),
Config::instance()->getString("PROJECT_NAME") Config_getString("PROJECT_NAME")
)); ));
} }
ol.writeFooter(1,external); // write the link to the picture 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()); parseText(ol,theTranslator->trWrittenBy());
} }
...@@ -334,8 +334,9 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper) ...@@ -334,8 +334,9 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper)
{ {
HtmlHelp *htmlHelp=0; HtmlHelp *htmlHelp=0;
FTVHelp *ftvHelp=0; FTVHelp *ftvHelp=0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/; bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/; bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp) if (hasHtmlHelp)
{ {
htmlHelp = HtmlHelp::getInstance(); htmlHelp = HtmlHelp::getInstance();
...@@ -415,8 +416,9 @@ void writeClassTree(BaseClassList *cl) ...@@ -415,8 +416,9 @@ void writeClassTree(BaseClassList *cl)
{ {
HtmlHelp *htmlHelp=0; HtmlHelp *htmlHelp=0;
FTVHelp *ftvHelp=0; FTVHelp *ftvHelp=0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP"); bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW"); bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp) if (hasHtmlHelp)
{ {
htmlHelp = HtmlHelp::getInstance(); htmlHelp = HtmlHelp::getInstance();
...@@ -471,8 +473,9 @@ void writeClassTree(ClassList *cl) ...@@ -471,8 +473,9 @@ void writeClassTree(ClassList *cl)
{ {
HtmlHelp *htmlHelp=0; HtmlHelp *htmlHelp=0;
FTVHelp *ftvHelp=0; FTVHelp *ftvHelp=0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP"); bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW"); bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp) if (hasHtmlHelp)
{ {
htmlHelp = HtmlHelp::getInstance(); htmlHelp = HtmlHelp::getInstance();
...@@ -521,8 +524,9 @@ void writeClassHierarchy(OutputList &ol) ...@@ -521,8 +524,9 @@ void writeClassHierarchy(OutputList &ol)
HtmlHelp *htmlHelp=0; HtmlHelp *htmlHelp=0;
FTVHelp *ftvHelp=0; FTVHelp *ftvHelp=0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/; bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/; bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp) if (hasHtmlHelp)
{ {
htmlHelp = HtmlHelp::getInstance(); htmlHelp = HtmlHelp::getInstance();
...@@ -627,23 +631,26 @@ void writeHierarchicalIndex(OutputList &ol) ...@@ -627,23 +631,26 @@ void writeHierarchicalIndex(OutputList &ol)
QCString title = theTranslator->trClassHierarchy(); QCString title = theTranslator->trClassHierarchy();
QCString htmlHelpTitle = title; QCString htmlHelpTitle = title;
QCString ftvHelpTitle = 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); parseText(ol,title);
endTitle(ol,0,0); endTitle(ol,0,0);
ol.startTextBlock(); ol.startTextBlock();
HtmlHelp *htmlHelp = 0; HtmlHelp *htmlHelp = 0;
FTVHelp *ftvHelp = 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 = HtmlHelp::getInstance();
htmlHelp->addContentsItem(TRUE,htmlHelpTitle,"hierarchy"); 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 = FTVHelp::getInstance();
ftvHelp->addContentsItem(TRUE,0,"hierarchy",0,ftvHelpTitle); 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::Latex);
ol.disable(OutputGenerator::RTF); ol.disable(OutputGenerator::RTF);
...@@ -674,18 +681,21 @@ void writeGraphicalClassHierarchy(OutputList &ol) ...@@ -674,18 +681,21 @@ void writeGraphicalClassHierarchy(OutputList &ol)
QCString title = theTranslator->trGraphicalHierarchy(); QCString title = theTranslator->trGraphicalHierarchy();
QCString htmlHelpTitle = title; QCString htmlHelpTitle = title;
QCString ftvHelpTitle = 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); parseText(ol,title);
endTitle(ol,0,0); endTitle(ol,0,0);
ol.startTextBlock(); ol.startTextBlock();
HtmlHelp *htmlHelp = 0; HtmlHelp *htmlHelp = 0;
FTVHelp *ftvHelp = 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 = HtmlHelp::getInstance();
htmlHelp->addContentsItem(FALSE,htmlHelpTitle,"inherits"); htmlHelp->addContentsItem(FALSE,htmlHelpTitle,"inherits");
} }
if (Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW")) if (hasFtvHelp)
{ {
ftvHelp = FTVHelp::getInstance(); ftvHelp = FTVHelp::getInstance();
ftvHelp->addContentsItem(FALSE,0,"inherits",0,ftvHelpTitle); ftvHelp->addContentsItem(FALSE,0,"inherits",0,ftvHelpTitle);
...@@ -750,14 +760,15 @@ void writeFileIndex(OutputList &ol) ...@@ -750,14 +760,15 @@ void writeFileIndex(OutputList &ol)
QCString title = theTranslator->trFileList(); QCString title = theTranslator->trFileList();
QCString htmlHelpTitle = title; QCString htmlHelpTitle = title;
QCString ftvHelpTitle = 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); parseText(ol,title);
endTitle(ol,0,0); endTitle(ol,0,0);
ol.startTextBlock(); ol.startTextBlock();
HtmlHelp *htmlHelp = 0; HtmlHelp *htmlHelp = 0;
FTVHelp *ftvHelp = 0; FTVHelp *ftvHelp = 0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/; bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/; bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp) if (hasHtmlHelp)
{ {
htmlHelp = HtmlHelp::getInstance(); htmlHelp = HtmlHelp::getInstance();
...@@ -771,7 +782,7 @@ void writeFileIndex(OutputList &ol) ...@@ -771,7 +782,7 @@ void writeFileIndex(OutputList &ol)
ftvHelp->incContentsDepth(); ftvHelp->incContentsDepth();
} }
//ol.newParagraph(); //ol.newParagraph();
parseText(ol,theTranslator->trFileListDescription(Config::instance()->getBool("EXTRACT_ALL"))); parseText(ol,theTranslator->trFileListDescription(Config_getBool("EXTRACT_ALL")));
//ol.newParagraph(); //ol.newParagraph();
ol.endTextBlock(); ol.endTextBlock();
...@@ -779,7 +790,7 @@ void writeFileIndex(OutputList &ol) ...@@ -779,7 +790,7 @@ void writeFileIndex(OutputList &ol)
OutputNameList outputNameList; OutputNameList outputNameList;
outputNameList.setAutoDelete(TRUE); 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 // re-sort input files in (dir,file) output order instead of (file,dir) input order
FileName *fn=Doxygen::inputNameList.first(); FileName *fn=Doxygen::inputNameList.first();
...@@ -812,7 +823,7 @@ void writeFileIndex(OutputList &ol) ...@@ -812,7 +823,7 @@ void writeFileIndex(OutputList &ol)
ol.startIndexList(); ol.startIndexList();
FileList *fl=0; FileList *fl=0;
if (Config::instance()->getBool("FULL_PATH_NAMES")) if (Config_getBool("FULL_PATH_NAMES"))
{ {
fl = outputNameList.first(); fl = outputNameList.first();
} }
...@@ -834,7 +845,7 @@ void writeFileIndex(OutputList &ol) ...@@ -834,7 +845,7 @@ void writeFileIndex(OutputList &ol)
!fd->isReference()) !fd->isReference())
{ {
QCString path; QCString path;
if (Config::instance()->getBool("FULL_PATH_NAMES")) if (Config_getBool("FULL_PATH_NAMES"))
{ {
path=stripFromPath(fd->getPath().copy()); path=stripFromPath(fd->getPath().copy());
} }
...@@ -920,7 +931,7 @@ void writeFileIndex(OutputList &ol) ...@@ -920,7 +931,7 @@ void writeFileIndex(OutputList &ol)
} }
fd=fl->next(); fd=fl->next();
} }
if (Config::instance()->getBool("FULL_PATH_NAMES")) if (Config_getBool("FULL_PATH_NAMES"))
{ {
fl=outputNameList.next(); fl=outputNameList.next();
} }
...@@ -968,14 +979,15 @@ void writeNamespaceIndex(OutputList &ol) ...@@ -968,14 +979,15 @@ void writeNamespaceIndex(OutputList &ol)
QCString title = theTranslator->trNamespaceList(); QCString title = theTranslator->trNamespaceList();
QCString htmlHelpTitle = title; QCString htmlHelpTitle = title;
QCString ftvHelpTitle = 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); parseText(ol,title);
endTitle(ol,0,0); endTitle(ol,0,0);
ol.startTextBlock(); ol.startTextBlock();
HtmlHelp *htmlHelp = 0; HtmlHelp *htmlHelp = 0;
FTVHelp *ftvHelp = 0; FTVHelp *ftvHelp = 0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/; bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/; bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp) if (hasHtmlHelp)
{ {
htmlHelp = HtmlHelp::getInstance(); htmlHelp = HtmlHelp::getInstance();
...@@ -989,7 +1001,7 @@ void writeNamespaceIndex(OutputList &ol) ...@@ -989,7 +1001,7 @@ void writeNamespaceIndex(OutputList &ol)
ftvHelp->incContentsDepth(); ftvHelp->incContentsDepth();
} }
//ol.newParagraph(); //ol.newParagraph();
parseText(ol,theTranslator->trNamespaceListDescription(Config::instance()->getBool("EXTRACT_ALL"))); parseText(ol,theTranslator->trNamespaceListDescription(Config_getBool("EXTRACT_ALL")));
//ol.newParagraph(); //ol.newParagraph();
ol.endTextBlock(); ol.endTextBlock();
...@@ -1065,8 +1077,9 @@ int countAnnotatedClasses() ...@@ -1065,8 +1077,9 @@ int countAnnotatedClasses()
void writeAnnotatedClassList(OutputList &ol) void writeAnnotatedClassList(OutputList &ol)
{ {
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/; bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/; bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
ol.startIndexList(); ol.startIndexList();
//ClassDef *cd=Doxygen::classList.first(); //ClassDef *cd=Doxygen::classList.first();
//while (cd) //while (cd)
...@@ -1107,8 +1120,9 @@ void writeAnnotatedClassList(OutputList &ol) ...@@ -1107,8 +1120,9 @@ void writeAnnotatedClassList(OutputList &ol)
void writePackageList(OutputList &ol) void writePackageList(OutputList &ol)
{ {
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/; bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/; bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
ol.startIndexList(); ol.startIndexList();
PackageSDict::Iterator pdi(Doxygen::packageDict); PackageSDict::Iterator pdi(Doxygen::packageDict);
PackageDef *pd; PackageDef *pd;
...@@ -1168,7 +1182,7 @@ void writeAlphabeticalClassList(OutputList &ol) ...@@ -1168,7 +1182,7 @@ void writeAlphabeticalClassList(OutputList &ol)
} }
// the number of columns in the table // 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 i,j;
int totalItems = headerItems + annotatedClasses; // number of items in the table int totalItems = headerItems + annotatedClasses; // number of items in the table
...@@ -1249,7 +1263,7 @@ void writeAlphabeticalClassList(OutputList &ol) ...@@ -1249,7 +1263,7 @@ void writeAlphabeticalClassList(OutputList &ol)
{ {
QCString cname; QCString cname;
QCString namesp; QCString namesp;
if (Config::instance()->getBool("HIDE_SCOPE_NAMES")) if (Config_getBool("HIDE_SCOPE_NAMES"))
{ {
cname=cd->displayName(); cname=cd->displayName();
} }
...@@ -1304,7 +1318,7 @@ void writeAlphabeticalIndex(OutputList &ol) ...@@ -1304,7 +1318,7 @@ void writeAlphabeticalIndex(OutputList &ol)
ol.disableAllBut(OutputGenerator::Html); ol.disableAllBut(OutputGenerator::Html);
startFile(ol,"classes.html","Alphabetical index"); startFile(ol,"classes.html","Alphabetical index");
startTitle(ol,0); startTitle(ol,0);
parseText(ol,Config::instance()->getString("PROJECT_NAME")+" "+theTranslator->trCompoundIndex()); parseText(ol,Config_getString("PROJECT_NAME")+" "+theTranslator->trCompoundIndex());
endTitle(ol,0,0); endTitle(ol,0,0);
writeAlphabeticalClassList(ol); writeAlphabeticalClassList(ol);
endFile(ol); endFile(ol);
...@@ -1315,8 +1329,9 @@ void writeAlphabeticalIndex(OutputList &ol) ...@@ -1315,8 +1329,9 @@ void writeAlphabeticalIndex(OutputList &ol)
void writeAnnotatedIndex(OutputList &ol) void writeAnnotatedIndex(OutputList &ol)
{ {
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/; bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/; bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (annotatedClasses==0) return; if (annotatedClasses==0) return;
...@@ -1327,7 +1342,7 @@ void writeAnnotatedIndex(OutputList &ol) ...@@ -1327,7 +1342,7 @@ void writeAnnotatedIndex(OutputList &ol)
QCString title = theTranslator->trCompoundList(); QCString title = theTranslator->trCompoundList();
QCString htmlHelpTitle = title; QCString htmlHelpTitle = title;
QCString ftvHelpTitle = 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); parseText(ol,title);
endTitle(ol,0,0); endTitle(ol,0,0);
ol.startTextBlock(); ol.startTextBlock();
...@@ -1365,8 +1380,9 @@ void writeAnnotatedIndex(OutputList &ol) ...@@ -1365,8 +1380,9 @@ void writeAnnotatedIndex(OutputList &ol)
void writePackageIndex(OutputList &ol) void writePackageIndex(OutputList &ol)
{ {
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/; bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/; bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (documentedPackages==0) return; if (documentedPackages==0) return;
...@@ -1377,7 +1393,7 @@ void writePackageIndex(OutputList &ol) ...@@ -1377,7 +1393,7 @@ void writePackageIndex(OutputList &ol)
QCString title = theTranslator->trPackageList(); QCString title = theTranslator->trPackageList();
QCString htmlHelpTitle = title; QCString htmlHelpTitle = title;
QCString ftvHelpTitle = 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); parseText(ol,title);
endTitle(ol,0,0); endTitle(ol,0,0);
ol.startTextBlock(); ol.startTextBlock();
...@@ -1568,7 +1584,7 @@ void writeMemberIndex(OutputList &ol) ...@@ -1568,7 +1584,7 @@ void writeMemberIndex(OutputList &ol)
QCString title = theTranslator->trCompoundMembers(); QCString title = theTranslator->trCompoundMembers();
QCString htmlHelpTitle = title; QCString htmlHelpTitle = title;
QCString ftvHelpTitle = 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); startTitle(ol,0);
parseText(ol,title); parseText(ol,title);
endTitle(ol,0,0); endTitle(ol,0,0);
...@@ -1577,8 +1593,9 @@ void writeMemberIndex(OutputList &ol) ...@@ -1577,8 +1593,9 @@ void writeMemberIndex(OutputList &ol)
{ {
writeQuickMemberIndex(ol,g_memberIndexLetterUsed); writeQuickMemberIndex(ol,g_memberIndexLetterUsed);
} }
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP"); bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW"); bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp) if (hasHtmlHelp)
{ {
HtmlHelp *htmlHelp = HtmlHelp::getInstance(); HtmlHelp *htmlHelp = HtmlHelp::getInstance();
...@@ -1589,7 +1606,7 @@ void writeMemberIndex(OutputList &ol) ...@@ -1589,7 +1606,7 @@ void writeMemberIndex(OutputList &ol)
FTVHelp *ftvHelp = FTVHelp::getInstance(); FTVHelp *ftvHelp = FTVHelp::getInstance();
ftvHelp->addContentsItem(FALSE,0,"functions",0,ftvHelpTitle); 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); writeMemberList(ol,quickIndex);
endFile(ol); endFile(ol);
ol.popGeneratorState(); ol.popGeneratorState();
...@@ -1824,7 +1841,7 @@ void writeFileMemberIndex(OutputList &ol) ...@@ -1824,7 +1841,7 @@ void writeFileMemberIndex(OutputList &ol)
QCString title = theTranslator->trFileMembers(); QCString title = theTranslator->trFileMembers();
QCString htmlHelpTitle = title; QCString htmlHelpTitle = title;
QCString ftvHelpTitle = 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); startTitle(ol,0);
parseText(ol,title); parseText(ol,title);
endTitle(ol,0,0); endTitle(ol,0,0);
...@@ -1833,8 +1850,9 @@ void writeFileMemberIndex(OutputList &ol) ...@@ -1833,8 +1850,9 @@ void writeFileMemberIndex(OutputList &ol)
{ {
writeQuickMemberIndex(ol,g_fileIndexLetterUsed); writeQuickMemberIndex(ol,g_fileIndexLetterUsed);
} }
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP"); bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW"); bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp) if (hasHtmlHelp)
{ {
HtmlHelp *htmlHelp = HtmlHelp::getInstance(); HtmlHelp *htmlHelp = HtmlHelp::getInstance();
...@@ -1845,7 +1863,7 @@ void writeFileMemberIndex(OutputList &ol) ...@@ -1845,7 +1863,7 @@ void writeFileMemberIndex(OutputList &ol)
FTVHelp *ftvHelp = FTVHelp::getInstance(); FTVHelp *ftvHelp = FTVHelp::getInstance();
ftvHelp->addContentsItem(FALSE,0,"globals",0,ftvHelpTitle); 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); writeFileMemberList(ol,quickIndex);
endFile(ol); endFile(ol);
ol.popGeneratorState(); ol.popGeneratorState();
...@@ -1862,7 +1880,7 @@ void writeNamespaceMemberIndex(OutputList &ol) ...@@ -1862,7 +1880,7 @@ void writeNamespaceMemberIndex(OutputList &ol)
QCString title = theTranslator->trNamespaceMembers(); QCString title = theTranslator->trNamespaceMembers();
QCString htmlHelpTitle = title; QCString htmlHelpTitle = title;
QCString ftvHelpTitle = 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); startTitle(ol,0);
parseText(ol,title); parseText(ol,title);
endTitle(ol,0,0); endTitle(ol,0,0);
...@@ -1871,8 +1889,9 @@ void writeNamespaceMemberIndex(OutputList &ol) ...@@ -1871,8 +1889,9 @@ void writeNamespaceMemberIndex(OutputList &ol)
{ {
writeQuickMemberIndex(ol,g_namespaceIndexLetterUsed); writeQuickMemberIndex(ol,g_namespaceIndexLetterUsed);
} }
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP"); bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW"); bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp) if (hasHtmlHelp)
{ {
HtmlHelp *htmlHelp = HtmlHelp::getInstance(); HtmlHelp *htmlHelp = HtmlHelp::getInstance();
...@@ -1883,7 +1902,7 @@ void writeNamespaceMemberIndex(OutputList &ol) ...@@ -1883,7 +1902,7 @@ void writeNamespaceMemberIndex(OutputList &ol)
FTVHelp *ftvHelp = FTVHelp::getInstance(); FTVHelp *ftvHelp = FTVHelp::getInstance();
ftvHelp->addContentsItem(FALSE,0,"namespacemembers",0,ftvHelpTitle); 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); writeNamespaceMemberList(ol,quickIndex);
endFile(ol); endFile(ol);
ol.popGeneratorState(); ol.popGeneratorState();
...@@ -1901,14 +1920,15 @@ void writeExampleIndex(OutputList &ol) ...@@ -1901,14 +1920,15 @@ void writeExampleIndex(OutputList &ol)
QCString title = theTranslator->trExamples(); QCString title = theTranslator->trExamples();
QCString htmlHelpTitle = title; QCString htmlHelpTitle = title;
QCString ftvHelpTitle = 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); parseText(ol,title);
endTitle(ol,0,0); endTitle(ol,0,0);
ol.startTextBlock(); ol.startTextBlock();
HtmlHelp *htmlHelp = 0; HtmlHelp *htmlHelp = 0;
FTVHelp *ftvHelp = 0; FTVHelp *ftvHelp = 0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/; bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/; bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp) if (hasHtmlHelp)
{ {
htmlHelp = HtmlHelp::getInstance(); htmlHelp = HtmlHelp::getInstance();
...@@ -1930,7 +1950,7 @@ void writeExampleIndex(OutputList &ol) ...@@ -1930,7 +1950,7 @@ void writeExampleIndex(OutputList &ol)
for (pdi.toFirst();(pi=pdi.current());++pdi) for (pdi.toFirst();(pi=pdi.current());++pdi)
{ {
ol.writeListItem(); ol.writeListItem();
QCString n=convertFileName(pi->name)+"-example"; QCString n=convertNameToFile(pi->name+"-example");
if (!pi->title.isEmpty()) if (!pi->title.isEmpty())
{ {
ol.writeObjectLink(0,n,0,pi->title); ol.writeObjectLink(0,n,0,pi->title);
...@@ -1968,7 +1988,7 @@ void countRelatedPages(int &docPages,int &indexPages) ...@@ -1968,7 +1988,7 @@ void countRelatedPages(int &docPages,int &indexPages)
PageInfo *pi=0; PageInfo *pi=0;
for (pdi.toFirst();(pi=pdi.current());++pdi) for (pdi.toFirst();(pi=pdi.current());++pdi)
{ {
if (!pi->inGroup) if (!pi->inGroup && (!pi->isReference() || Config_getBool("ALLEXTERNALS")))
{ {
indexPages++; indexPages++;
if (!pi->isReference()) docPages++; if (!pi->isReference()) docPages++;
...@@ -2005,14 +2025,15 @@ void writePageIndex(OutputList &ol) ...@@ -2005,14 +2025,15 @@ void writePageIndex(OutputList &ol)
QCString title = theTranslator->trRelatedPages(); QCString title = theTranslator->trRelatedPages();
QCString htmlHelpTitle = title; QCString htmlHelpTitle = title;
QCString ftvHelpTitle = 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); parseText(ol,title);
endTitle(ol,0,0); endTitle(ol,0,0);
ol.startTextBlock(); ol.startTextBlock();
HtmlHelp *htmlHelp = 0; HtmlHelp *htmlHelp = 0;
FTVHelp *ftvHelp = 0; FTVHelp *ftvHelp = 0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP") /*&& !Config::instance()->get("")*/; bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW") /*&& !Config::instance()->get("")*/; bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp) if (hasHtmlHelp)
{ {
htmlHelp = HtmlHelp::getInstance(); htmlHelp = HtmlHelp::getInstance();
...@@ -2033,11 +2054,11 @@ void writePageIndex(OutputList &ol) ...@@ -2033,11 +2054,11 @@ void writePageIndex(OutputList &ol)
PageInfo *pi=0; PageInfo *pi=0;
for (pdi.toFirst();(pi=pdi.current());++pdi) for (pdi.toFirst();(pi=pdi.current());++pdi)
{ {
if (!pi->inGroup /*&& !pi->isReference()*/) if (!pi->inGroup && (!pi->isReference() || Config_getBool("ALLEXTERNALS")))
{ {
QCString pageName,pageTitle; QCString pageName,pageTitle;
if (Config::instance()->getBool("CASE_SENSE_NAMES")) if (Config_getBool("CASE_SENSE_NAMES"))
pageName=pi->name.copy(); pageName=pi->name.copy();
else else
pageName=pi->name.lower(); pageName=pi->name.lower();
...@@ -2099,19 +2120,19 @@ int countGroups() ...@@ -2099,19 +2120,19 @@ int countGroups()
void writeGraphInfo(OutputList &ol) 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.pushGeneratorState();
ol.disableAllBut(OutputGenerator::Html); ol.disableAllBut(OutputGenerator::Html);
generateGraphLegend(Config::instance()->getString("HTML_OUTPUT")); generateGraphLegend(Config_getString("HTML_OUTPUT"));
startFile(ol,"graph_legend","Graph Legend"); startFile(ol,"graph_legend","Graph Legend");
startTitle(ol,0); startTitle(ol,0);
parseText(ol,theTranslator->trLegendTitle()); parseText(ol,theTranslator->trLegendTitle());
endTitle(ol,0,0); 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! // 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()); parseDoc(ol,"graph_legend",1,0,0,theTranslator->trLegendDocs());
Config::instance()->getBool("STRIP_CODE_COMMENTS") = oldStripCommentsState; Config_getBool("STRIP_CODE_COMMENTS") = oldStripCommentsState;
endFile(ol); endFile(ol);
ol.popGeneratorState(); ol.popGeneratorState();
} }
...@@ -2126,8 +2147,9 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,bool subLevel) ...@@ -2126,8 +2147,9 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,bool subLevel)
{ {
HtmlHelp *htmlHelp=0; HtmlHelp *htmlHelp=0;
FTVHelp *ftvHelp = 0; FTVHelp *ftvHelp = 0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP"); bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW"); bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp) if (hasHtmlHelp)
{ {
htmlHelp = HtmlHelp::getInstance(); htmlHelp = HtmlHelp::getInstance();
...@@ -2206,7 +2228,7 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,bool subLevel) ...@@ -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 // write members
struct MemInfo struct MemInfo
...@@ -2375,11 +2397,11 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,bool subLevel) ...@@ -2375,11 +2397,11 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,bool subLevel)
{ {
if(htmlHelp) if(htmlHelp)
{ {
htmlHelp->addContentsItem(FALSE,convertToHtml(pi->name),convertNameToFile(pi->name)+"-example"); htmlHelp->addContentsItem(FALSE,convertToHtml(pi->name),convertNameToFile(pi->name+"-example"));
} }
if(ftvHelp) 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; pi=++eli;
} }
...@@ -2413,8 +2435,8 @@ void writeGroupHierarchy(OutputList &ol) ...@@ -2413,8 +2435,8 @@ void writeGroupHierarchy(OutputList &ol)
#if 0 #if 0
void writeGroupList(OutputList &ol) void writeGroupList(OutputList &ol)
{ {
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP"); bool hasHtmlHelp = Config_getBool("GENERATE_HTML") && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW"); bool hasFtvHelp = Config_getBool("GENERATE_HTML") && Config_getBool("GENERATE_TREEVIEW");
HtmlHelp *htmlHelp = 0; HtmlHelp *htmlHelp = 0;
FTVHelp *ftvHelp = 0; FTVHelp *ftvHelp = 0;
if (hasHtmlHelp) htmlHelp = HtmlHelp::getInstance(); if (hasHtmlHelp) htmlHelp = HtmlHelp::getInstance();
...@@ -2476,14 +2498,15 @@ void writeGroupIndex(OutputList &ol) ...@@ -2476,14 +2498,15 @@ void writeGroupIndex(OutputList &ol)
QCString title = theTranslator->trModules(); QCString title = theTranslator->trModules();
QCString htmlHelpTitle = title; QCString htmlHelpTitle = title;
QCString ftvHelpTitle = 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); parseText(ol,title);
endTitle(ol,0,0); endTitle(ol,0,0);
ol.startTextBlock(); ol.startTextBlock();
HtmlHelp *htmlHelp = 0; HtmlHelp *htmlHelp = 0;
FTVHelp *ftvHelp = 0; FTVHelp *ftvHelp = 0;
bool hasHtmlHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_HTMLHELP"); bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool hasFtvHelp = Config::instance()->getBool("GENERATE_HTML") && Config::instance()->getBool("GENERATE_TREEVIEW"); bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
if (hasHtmlHelp) if (hasHtmlHelp)
{ {
htmlHelp = HtmlHelp::getInstance(); htmlHelp = HtmlHelp::getInstance();
...@@ -2527,9 +2550,9 @@ void writeIndex(OutputList &ol) ...@@ -2527,9 +2550,9 @@ void writeIndex(OutputList &ol)
ol.pushGeneratorState(); ol.pushGeneratorState();
QCString projPrefix; 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) ...@@ -2553,19 +2576,22 @@ void writeIndex(OutputList &ol)
} }
QCString indexName="index"; QCString indexName="index";
if (Config::instance()->getBool("GENERATE_TREEVIEW")) indexName="main"; if (Config_getBool("GENERATE_TREEVIEW")) indexName="main";
ol.startFile(indexName,title,FALSE); 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); 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); 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); ol.startTitleHead(0);
if (Doxygen::mainPage && !Doxygen::mainPage->title.isEmpty()) if (Doxygen::mainPage && !Doxygen::mainPage->title.isEmpty())
{ {
...@@ -2577,13 +2603,13 @@ void writeIndex(OutputList &ol) ...@@ -2577,13 +2603,13 @@ void writeIndex(OutputList &ol)
} }
ol.endTitleHead(0,0); ol.endTitleHead(0,0);
ol.newParagraph(); ol.newParagraph();
if (!Config::instance()->getString("PROJECT_NUMBER").isEmpty()) if (!Config_getString("PROJECT_NUMBER").isEmpty())
{ {
ol.startProjectNumber(); 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.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) if (Doxygen::mainPage)
{ {
...@@ -2601,16 +2627,16 @@ void writeIndex(OutputList &ol) ...@@ -2601,16 +2627,16 @@ void writeIndex(OutputList &ol)
ol.startFile("refman",0,FALSE); ol.startFile("refman",0,FALSE);
ol.startIndexSection(isTitlePageStart); ol.startIndexSection(isTitlePageStart);
if (!Config::instance()->getString("LATEX_HEADER").isEmpty()) if (!Config_getString("LATEX_HEADER").isEmpty())
{ {
ol.disable(OutputGenerator::Latex); ol.disable(OutputGenerator::Latex);
} }
parseText(ol,projPrefix+theTranslator->trReferenceManual()); parseText(ol,projPrefix+theTranslator->trReferenceManual());
if (!Config::instance()->getString("PROJECT_NUMBER").isEmpty()) if (!Config_getString("PROJECT_NUMBER").isEmpty())
{ {
ol.startProjectNumber(); 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.endProjectNumber();
} }
ol.endIndexSection(isTitlePageStart); ol.endIndexSection(isTitlePageStart);
......
...@@ -30,14 +30,14 @@ ...@@ -30,14 +30,14 @@
void writeInstallScript() void writeInstallScript()
{ {
QCString fileName=Config::instance()->getString("HTML_OUTPUT")+"/installdox"; QCString fileName=Config_getString("HTML_OUTPUT")+"/installdox";
QFile f(fileName); QFile f(fileName);
if (f.open(IO_WriteOnly)) if (f.open(IO_WriteOnly))
{ {
QTextStream t(&f); 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) while (s)
{ {
QCString tagLine=s; QCString tagLine=s;
...@@ -53,7 +53,7 @@ void writeInstallScript() ...@@ -53,7 +53,7 @@ void writeInstallScript()
} }
QFileInfo fi(fileName); QFileInfo fi(fileName);
t << "\"" << fi.fileName() << "\", \"\""; t << "\"" << fi.fileName() << "\", \"\"";
s=Config::instance()->getList("TAGFILES").next(); s=Config_getList("TAGFILES").next();
if (s) t << ", "; if (s) t << ", ";
} }
...@@ -108,7 +108,7 @@ void writeInstallScript() ...@@ -108,7 +108,7 @@ void writeInstallScript()
t << " print STDERR \"No substitute given for tag file `$sub'\\n\";\n"; t << " print STDERR \"No substitute given for tag file `$sub'\\n\";\n";
t << " &usage();\n"; t << " &usage();\n";
t << " }\n"; t << " }\n";
t << " elsif ( ! $quiet && $sub!=\"_doc\" && $sub!=\"_cgi\" )\n"; t << " elsif ( ! $quiet && $sub ne \"_doc\" && $sub ne \"_cgi\" )\n";
t << " {\n"; t << " {\n";
t << " print \"Substituting $subst{$sub} for each occurence of tag file $sub\\n\"; \n"; t << " print \"Substituting $subst{$sub} for each occurence of tag file $sub\\n\"; \n";
t << " }\n"; t << " }\n";
......
...@@ -93,7 +93,7 @@ static QCString escapeMakeIndexChars(LatexGenerator *g,QTextStream &t,const char ...@@ -93,7 +93,7 @@ static QCString escapeMakeIndexChars(LatexGenerator *g,QTextStream &t,const char
LatexGenerator::LatexGenerator() : OutputGenerator() LatexGenerator::LatexGenerator() : OutputGenerator()
{ {
dir=Config::instance()->getString("LATEX_OUTPUT"); dir=Config_getString("LATEX_OUTPUT");
col=0; col=0;
//printf("LatexGenerator::LatexGenerator() insideTabbing=FALSE\n"); //printf("LatexGenerator::LatexGenerator() insideTabbing=FALSE\n");
insideTabbing=FALSE; insideTabbing=FALSE;
...@@ -132,7 +132,7 @@ OutputGenerator *LatexGenerator::copy() ...@@ -132,7 +132,7 @@ OutputGenerator *LatexGenerator::copy()
void LatexGenerator::init() void LatexGenerator::init()
{ {
QCString dir=Config::instance()->getString("LATEX_OUTPUT"); QCString dir=Config_getString("LATEX_OUTPUT");
QDir d(dir); QDir d(dir);
if (!d.exists() && !d.mkdir(dir)) if (!d.exists() && !d.mkdir(dir))
{ {
...@@ -162,7 +162,7 @@ void LatexGenerator::init() ...@@ -162,7 +162,7 @@ void LatexGenerator::init()
<< "\tdvips -o refman.ps refman.dvi" << endl << "\tdvips -o refman.ps refman.dvi" << endl
<< endl << endl
<< "refman.pdf: refman.ps" << 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 << "\tpdflatex refman.tex" << endl;
t << "\tmakeindex refman.idx" << endl; t << "\tmakeindex refman.idx" << endl;
...@@ -207,16 +207,16 @@ static void writeDefaultHeaderPart1(QTextStream &t) ...@@ -207,16 +207,16 @@ static void writeDefaultHeaderPart1(QTextStream &t)
// part 1 // part 1
QCString paperName; QCString paperName;
if (Config::instance()->getBool("LATEX_BATCHMODE")) t << "\\batchmode" << endl; if (Config_getBool("LATEX_BATCHMODE")) t << "\\batchmode" << endl;
QCString &paperType=Config::instance()->getEnum("PAPER_TYPE"); QCString &paperType=Config_getEnum("PAPER_TYPE");
if (paperType=="a4wide") if (paperType=="a4wide")
paperName="a4"; paperName="a4";
else else
paperName=paperType; paperName=paperType;
t << "\\documentclass[" << paperName << "paper"; t << "\\documentclass[" << paperName << "paper";
//if (Config::instance()->getBool("PDF_HYPERLINKS")) t << ",ps2pdf"; //if (Config_getBool("PDF_HYPERLINKS")) t << ",ps2pdf";
t << "]{"; t << "]{";
if (Config::instance()->getBool("COMPACT_LATEX")) t << "article"; else t << "book"; if (Config_getBool("COMPACT_LATEX")) t << "article"; else t << "book";
t << "}\n"; t << "}\n";
if (paperType=="a4wide") t << "\\usepackage{a4wide}\n"; if (paperType=="a4wide") t << "\\usepackage{a4wide}\n";
t << "\\usepackage{makeidx}\n" t << "\\usepackage{makeidx}\n"
...@@ -225,7 +225,7 @@ static void writeDefaultHeaderPart1(QTextStream &t) ...@@ -225,7 +225,7 @@ static void writeDefaultHeaderPart1(QTextStream &t)
"\\usepackage{float}\n" "\\usepackage{float}\n"
"\\usepackage{alltt}\n" "\\usepackage{alltt}\n"
"\\usepackage{doxygen}\n"; "\\usepackage{doxygen}\n";
if (Config::instance()->getBool("PDF_HYPERLINKS")) if (Config_getBool("PDF_HYPERLINKS"))
{ {
t << "\\usepackage{times}" << endl; t << "\\usepackage{times}" << endl;
t << "\\ifx\\pdfoutput\\undefined" << endl t << "\\ifx\\pdfoutput\\undefined" << endl
...@@ -275,7 +275,7 @@ static void writeDefaultHeaderPart1(QTextStream &t) ...@@ -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(); const char *s=extraPackages.first();
while (s) while (s)
{ {
...@@ -309,10 +309,10 @@ static void writeDefaultHeaderPart3(QTextStream &t) ...@@ -309,10 +309,10 @@ static void writeDefaultHeaderPart3(QTextStream &t)
<< "{\\small " << dateToString(TRUE) << "}\\\\" << endl << "{\\small " << dateToString(TRUE) << "}\\\\" << endl
<< "\\end{center}" << endl << "\\end{center}" << endl
<< "\\end{titlepage}" << 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 << "\\pagenumbering{roman}\n";
t << "\\tableofcontents\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"; t << "\\pagenumbering{arabic}\n";
} }
...@@ -328,7 +328,7 @@ static void writeDefaultStyleSheetPart1(QTextStream &t) ...@@ -328,7 +328,7 @@ static void writeDefaultStyleSheetPart1(QTextStream &t)
t << "\\addtolength{\\headwidth}{\\marginparwidth}\n"; t << "\\addtolength{\\headwidth}{\\marginparwidth}\n";
t << "\\newcommand{\\clearemptydoublepage}{\\newpage{\\pagestyle{empty}"; t << "\\newcommand{\\clearemptydoublepage}{\\newpage{\\pagestyle{empty}";
t << "\\cleardoublepage}}\n"; t << "\\cleardoublepage}}\n";
if (!Config::instance()->getBool("COMPACT_LATEX")) if (!Config_getBool("COMPACT_LATEX"))
t << "\\renewcommand{\\chaptermark}[1]{\\markboth{#1}{}}\n"; t << "\\renewcommand{\\chaptermark}[1]{\\markboth{#1}{}}\n";
t << "\\renewcommand{\\sectionmark}[1]{\\markright{\\thesection\\ #1}}\n"; t << "\\renewcommand{\\sectionmark}[1]{\\markright{\\thesection\\ #1}}\n";
t << "\\lhead[\\fancyplain{}{\\bfseries\\thepage}]\n"; t << "\\lhead[\\fancyplain{}{\\bfseries\\thepage}]\n";
...@@ -413,7 +413,7 @@ void LatexGenerator::writeStyleSheetFile(QFile &f) ...@@ -413,7 +413,7 @@ void LatexGenerator::writeStyleSheetFile(QFile &f)
{ {
QTextStream t(&f); QTextStream t(&f);
writeDefaultStyleSheetPart1(t); writeDefaultStyleSheetPart1(t);
QCString &projectName = Config::instance()->getString("PROJECT_NAME"); QCString &projectName = Config_getString("PROJECT_NAME");
t << "Generated at " << dateToString(TRUE); t << "Generated at " << dateToString(TRUE);
if (projectName.isEmpty()) if (projectName.isEmpty())
{ {
...@@ -454,8 +454,8 @@ void LatexGenerator::startProjectNumber() ...@@ -454,8 +454,8 @@ void LatexGenerator::startProjectNumber()
void LatexGenerator::startIndexSection(IndexSections is) void LatexGenerator::startIndexSection(IndexSections is)
{ {
bool &compactLatex = Config::instance()->getBool("COMPACT_LATEX"); bool &compactLatex = Config_getBool("COMPACT_LATEX");
QCString &latexHeader = Config::instance()->getString("LATEX_HEADER"); QCString &latexHeader = Config_getString("LATEX_HEADER");
switch (is) switch (is)
{ {
case isTitlePageStart: case isTitlePageStart:
...@@ -616,8 +616,8 @@ void LatexGenerator::startIndexSection(IndexSections is) ...@@ -616,8 +616,8 @@ void LatexGenerator::startIndexSection(IndexSections is)
void LatexGenerator::endIndexSection(IndexSections is) void LatexGenerator::endIndexSection(IndexSections is)
{ {
bool &compactLatex = Config::instance()->getBool("COMPACT_LATEX"); bool &compactLatex = Config_getBool("COMPACT_LATEX");
QCString &latexHeader = Config::instance()->getString("LATEX_HEADER"); QCString &latexHeader = Config_getString("LATEX_HEADER");
switch (is) switch (is)
{ {
case isTitlePageStart: case isTitlePageStart:
...@@ -630,7 +630,7 @@ void LatexGenerator::endIndexSection(IndexSections is) ...@@ -630,7 +630,7 @@ void LatexGenerator::endIndexSection(IndexSections is)
break; break;
case isMainPage: case isMainPage:
t << "}\n\\label{index}"; 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"; t << "\\input{index}\n";
break; break;
case isPackageIndex: case isPackageIndex:
...@@ -782,12 +782,12 @@ void LatexGenerator::endIndexSection(IndexSections is) ...@@ -782,12 +782,12 @@ void LatexGenerator::endIndexSection(IndexSections is)
PageInfo *pi=pdi.toFirst(); PageInfo *pi=pdi.toFirst();
if (pi) if (pi)
{ {
t << "\\input{" << convertFileName(pi->name) << "-example}\n"; t << "\\input{" << convertNameToFile(pi->name+"-example") << "}\n";
} }
for (++pdi;(pi=pdi.current());++pdi) for (++pdi;(pi=pdi.current());++pdi)
{ {
if (compactLatex) t << "\\input" ; else t << "\\include"; if (compactLatex) t << "\\input" ; else t << "\\include";
t << "{" << convertFileName(pi->name) << "-example}\n"; t << "{" << convertNameToFile(pi->name+"-example") << "}\n";
} }
} }
break; break;
...@@ -802,7 +802,7 @@ void LatexGenerator::endIndexSection(IndexSections is) ...@@ -802,7 +802,7 @@ void LatexGenerator::endIndexSection(IndexSections is)
if (!pi->inGroup && !pi->isReference()) if (!pi->inGroup && !pi->isReference())
{ {
QCString pageName; QCString pageName;
if (Config::instance()->getBool("CASE_SENSE_NAMES")) if (Config_getBool("CASE_SENSE_NAMES"))
pageName=pi->name.copy(); pageName=pi->name.copy();
else else
pageName=pi->name.lower(); pageName=pi->name.lower();
...@@ -825,7 +825,7 @@ void LatexGenerator::writeStyleInfo(int part) ...@@ -825,7 +825,7 @@ void LatexGenerator::writeStyleInfo(int part)
{ {
case 0: case 0:
{ {
//QCString pname=Config::instance()->getString("PROJECT_NAME").stripWhiteSpace(); //QCString pname=Config_getString("PROJECT_NAME").stripWhiteSpace();
startPlainFile("doxygen.sty"); startPlainFile("doxygen.sty");
writeDefaultStyleSheetPart1(t); writeDefaultStyleSheetPart1(t);
} }
...@@ -885,7 +885,7 @@ void LatexGenerator::writeIndexItem(const char *ref,const char *fn, ...@@ -885,7 +885,7 @@ void LatexGenerator::writeIndexItem(const char *ref,const char *fn,
void LatexGenerator::startHtmlLink(const char *url) void LatexGenerator::startHtmlLink(const char *url)
{ {
if (Config::instance()->getBool("PDF_HYPERLINKS")) if (Config_getBool("PDF_HYPERLINKS"))
{ {
t << "\\href{"; t << "\\href{";
t << url; t << url;
...@@ -901,7 +901,7 @@ void LatexGenerator::endHtmlLink() ...@@ -901,7 +901,7 @@ void LatexGenerator::endHtmlLink()
void LatexGenerator::writeMailLink(const char *url) void LatexGenerator::writeMailLink(const char *url)
{ {
if (Config::instance()->getBool("PDF_HYPERLINKS")) if (Config_getBool("PDF_HYPERLINKS"))
{ {
t << "\\href{mailto:"; t << "\\href{mailto:";
t << url; t << url;
...@@ -936,7 +936,7 @@ void LatexGenerator::writeEndAnnoItem(const char *name) ...@@ -936,7 +936,7 @@ void LatexGenerator::writeEndAnnoItem(const char *name)
void LatexGenerator::startTextLink(const char *f,const char *anchor) void LatexGenerator::startTextLink(const char *f,const char *anchor)
{ {
if (Config::instance()->getBool("PDF_HYPERLINKS")) if (Config_getBool("PDF_HYPERLINKS"))
{ {
t << "\\hyperlink{"; t << "\\hyperlink{";
if (f) t << f; if (f) t << f;
...@@ -957,7 +957,7 @@ void LatexGenerator::endTextLink() ...@@ -957,7 +957,7 @@ void LatexGenerator::endTextLink()
void LatexGenerator::writeObjectLink(const char *ref, const char *f, void LatexGenerator::writeObjectLink(const char *ref, const char *f,
const char *anchor, const char *text) const char *anchor, const char *text)
{ {
if (!ref && Config::instance()->getBool("PDF_HYPERLINKS")) if (!ref && Config_getBool("PDF_HYPERLINKS"))
{ {
t << "\\hyperlink{"; t << "\\hyperlink{";
if (f) t << f; if (f) t << f;
...@@ -997,11 +997,11 @@ void LatexGenerator::writeCodeLink(const char *,const char *, ...@@ -997,11 +997,11 @@ void LatexGenerator::writeCodeLink(const char *,const char *,
void LatexGenerator::startTitleHead(const char *fileName) void LatexGenerator::startTitleHead(const char *fileName)
{ {
if (Config::instance()->getBool("PDF_HYPERLINKS") && fileName) if (Config_getBool("PDF_HYPERLINKS") && fileName)
{ {
t << "\\hypertarget{" << fileName << "}{" << endl; t << "\\hypertarget{" << fileName << "}{" << endl;
} }
if (Config::instance()->getBool("COMPACT_LATEX")) if (Config_getBool("COMPACT_LATEX"))
{ {
t << "\\subsection{"; t << "\\subsection{";
} }
...@@ -1021,7 +1021,7 @@ void LatexGenerator::endTitleHead(const char *fileName,const char *name) ...@@ -1021,7 +1021,7 @@ void LatexGenerator::endTitleHead(const char *fileName,const char *name)
docify(name); docify(name);
t << "}}" << endl; t << "}}" << endl;
} }
if (Config::instance()->getBool("PDF_HYPERLINKS") && fileName) if (Config_getBool("PDF_HYPERLINKS") && fileName)
{ {
t << "}" << endl; t << "}" << endl;
} }
...@@ -1029,7 +1029,7 @@ void LatexGenerator::endTitleHead(const char *fileName,const char *name) ...@@ -1029,7 +1029,7 @@ void LatexGenerator::endTitleHead(const char *fileName,const char *name)
void LatexGenerator::startTitle() void LatexGenerator::startTitle()
{ {
if (Config::instance()->getBool("COMPACT_LATEX")) if (Config_getBool("COMPACT_LATEX"))
{ {
t << "\\subsection{"; t << "\\subsection{";
} }
...@@ -1041,7 +1041,7 @@ void LatexGenerator::startTitle() ...@@ -1041,7 +1041,7 @@ void LatexGenerator::startTitle()
void LatexGenerator::startGroupHeader() void LatexGenerator::startGroupHeader()
{ {
if (Config::instance()->getBool("COMPACT_LATEX")) if (Config_getBool("COMPACT_LATEX"))
{ {
t << "\\subsubsection{"; t << "\\subsubsection{";
} }
...@@ -1058,7 +1058,7 @@ void LatexGenerator::endGroupHeader() ...@@ -1058,7 +1058,7 @@ void LatexGenerator::endGroupHeader()
void LatexGenerator::startMemberHeader() void LatexGenerator::startMemberHeader()
{ {
if (Config::instance()->getBool("COMPACT_LATEX")) if (Config_getBool("COMPACT_LATEX"))
{ {
t << "\\subsubsection*{"; t << "\\subsubsection*{";
} }
...@@ -1102,8 +1102,8 @@ void LatexGenerator::startMemberDoc(const char *clname, ...@@ -1102,8 +1102,8 @@ void LatexGenerator::startMemberDoc(const char *clname,
} }
t << "}" << endl; t << "}" << endl;
} }
if (Config::instance()->getBool("COMPACT_LATEX")) t << "\\paragraph"; else t << "\\subsubsection"; if (Config_getBool("COMPACT_LATEX")) t << "\\paragraph"; else t << "\\subsubsection";
if (Config::instance()->getBool("PDF_HYPERLINKS") && memname) if (Config_getBool("PDF_HYPERLINKS") && memname)
{ {
t << "["; t << "[";
escapeMakeIndexChars(this,t,memname); escapeMakeIndexChars(this,t,memname);
...@@ -1116,13 +1116,13 @@ void LatexGenerator::startMemberDoc(const char *clname, ...@@ -1116,13 +1116,13 @@ void LatexGenerator::startMemberDoc(const char *clname,
void LatexGenerator::endMemberDoc() void LatexGenerator::endMemberDoc()
{ {
t << "}"; 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, void LatexGenerator::startDoxyAnchor(const char *fName,const char *anchor,
const char *) const char *)
{ {
if (Config::instance()->getBool("PDF_HYPERLINKS")) if (Config_getBool("PDF_HYPERLINKS"))
{ {
t << "\\hypertarget{"; t << "\\hypertarget{";
if (fName) t << fName; if (fName) t << fName;
...@@ -1133,7 +1133,7 @@ void LatexGenerator::startDoxyAnchor(const char *fName,const char *anchor, ...@@ -1133,7 +1133,7 @@ void LatexGenerator::startDoxyAnchor(const char *fName,const char *anchor,
void LatexGenerator::endDoxyAnchor(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; t << "}" << endl;
} }
...@@ -1146,7 +1146,7 @@ void LatexGenerator::endDoxyAnchor(const char *fName,const char *anchor) ...@@ -1146,7 +1146,7 @@ void LatexGenerator::endDoxyAnchor(const char *fName,const char *anchor)
void LatexGenerator::writeAnchor(const char *fName,const char *name) void LatexGenerator::writeAnchor(const char *fName,const char *name)
{ {
t << "\\label{" << name << "}" << endl; t << "\\label{" << name << "}" << endl;
if (fName && Config::instance()->getBool("PDF_HYPERLINKS")) if (fName && Config_getBool("PDF_HYPERLINKS"))
{ {
t << "\\hypertarget{" << fName << "_" << name << "}{}" << endl; t << "\\hypertarget{" << fName << "_" << name << "}{}" << endl;
} }
...@@ -1178,12 +1178,12 @@ void LatexGenerator::addIndexItem(const char *s1,const char *s2) ...@@ -1178,12 +1178,12 @@ void LatexGenerator::addIndexItem(const char *s1,const char *s2)
void LatexGenerator::startSection(const char *lab,const char *,bool sub) 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 << "\\hypertarget{" << lab << "}{}";
} }
t << "\\"; t << "\\";
if (Config::instance()->getBool("COMPACT_LATEX")) if (Config_getBool("COMPACT_LATEX"))
{ {
if (sub) t << "subsubsection{"; else t << "subsection{"; if (sub) t << "subsubsection{"; else t << "subsection{";
} }
...@@ -1207,7 +1207,7 @@ void LatexGenerator::writeSectionRef(const char *ref,const char *, ...@@ -1207,7 +1207,7 @@ void LatexGenerator::writeSectionRef(const char *ref,const char *,
} }
else // local reference else // local reference
{ {
if (text && Config::instance()->getBool("PDF_HYPERLINKS")) if (text && Config_getBool("PDF_HYPERLINKS"))
{ {
t << "\\hyperlink{"; t << "\\hyperlink{";
if (lab) t << lab; if (lab) t << lab;
...@@ -1300,13 +1300,13 @@ void LatexGenerator::docify(const char *str) ...@@ -1300,13 +1300,13 @@ void LatexGenerator::docify(const char *str)
case '>': t << "$>$"; break; case '>': t << "$>$"; break;
case '|': t << "$|$"; break; case '|': t << "$|$"; break;
case '~': t << "$\\sim$"; break; case '~': t << "$\\sim$"; break;
case '[': if (Config::instance()->getBool("PDF_HYPERLINKS")) case '[': if (Config_getBool("PDF_HYPERLINKS"))
t << "\\mbox{[}"; t << "\\mbox{[}";
else else
t << "["; t << "[";
break; break;
case ']': if (pc=='[') t << "$\\,$"; case ']': if (pc=='[') t << "$\\,$";
if (Config::instance()->getBool("PDF_HYPERLINKS")) if (Config_getBool("PDF_HYPERLINKS"))
t << "\\mbox{]}"; t << "\\mbox{]}";
else else
t << "]"; t << "]";
...@@ -1447,7 +1447,7 @@ void LatexGenerator::codify(const char *str) ...@@ -1447,7 +1447,7 @@ void LatexGenerator::codify(const char *str)
const char *p=str; const char *p=str;
char c; char c;
int spacesToNextTabStop; int spacesToNextTabStop;
int &tabSize = Config::instance()->getInt("TAB_SIZE"); int &tabSize = Config_getInt("TAB_SIZE");
while (*p) while (*p)
{ {
c=*p++; c=*p++;
...@@ -1476,7 +1476,7 @@ void LatexGenerator::writeChar(char c) ...@@ -1476,7 +1476,7 @@ void LatexGenerator::writeChar(char c)
void LatexGenerator::startClassDiagram() 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 << "{"; //t << "{";
} }
...@@ -1610,7 +1610,7 @@ void LatexGenerator::startDotGraph() ...@@ -1610,7 +1610,7 @@ void LatexGenerator::startDotGraph()
void LatexGenerator::endDotGraph(DotClassGraph &g) 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() void LatexGenerator::startInclDepGraph()
...@@ -1619,7 +1619,7 @@ void LatexGenerator::startInclDepGraph() ...@@ -1619,7 +1619,7 @@ void LatexGenerator::startInclDepGraph()
void LatexGenerator::endInclDepGraph(DotInclDepGraph &g) 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() void LatexGenerator::startDescription()
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
ManGenerator::ManGenerator() : OutputGenerator() ManGenerator::ManGenerator() : OutputGenerator()
{ {
dir=Config::instance()->getString("MAN_OUTPUT")+"/man3"; dir=Config_getString("MAN_OUTPUT")+"/man3";
firstCol=TRUE; firstCol=TRUE;
paragraph=FALSE; paragraph=FALSE;
col=0; col=0;
...@@ -56,16 +56,16 @@ void ManGenerator::append(const OutputGenerator *g) ...@@ -56,16 +56,16 @@ void ManGenerator::append(const OutputGenerator *g)
void ManGenerator::init() void ManGenerator::init()
{ {
QDir d(Config::instance()->getString("MAN_OUTPUT")); QDir d(Config_getString("MAN_OUTPUT"));
if (!d.exists() && !d.mkdir(Config::instance()->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); exit(1);
} }
d.setPath(Config::instance()->getString("MAN_OUTPUT")+"/man3"); d.setPath(Config_getString("MAN_OUTPUT")+"/man3");
if (!d.exists() && !d.mkdir(Config::instance()->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); exit(1);
} }
} }
...@@ -105,9 +105,9 @@ void ManGenerator::startFile(const char *name,const char *,bool) ...@@ -105,9 +105,9 @@ void ManGenerator::startFile(const char *name,const char *,bool)
{ {
fileName=fileName.left(i); 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); startPlainFile(fileName);
firstCol=TRUE; firstCol=TRUE;
...@@ -121,10 +121,10 @@ void ManGenerator::endFile() ...@@ -121,10 +121,10 @@ void ManGenerator::endFile()
void ManGenerator::endTitleHead(const char *,const char *name) void ManGenerator::endTitleHead(const char *,const char *name)
{ {
t << ".TH \"" << name << "\" 3 \"" << dateToString(FALSE) << "\" \""; t << ".TH \"" << name << "\" 3 \"" << dateToString(FALSE) << "\" \"";
if (Config::instance()->getString("PROJECT_NAME").isEmpty()) if (Config_getString("PROJECT_NAME").isEmpty())
t << "Doxygen"; t << "Doxygen";
else else
t << Config::instance()->getString("PROJECT_NAME"); t << Config_getString("PROJECT_NAME");
t << "\" \\\" -*- nroff -*-" << endl; t << "\" \\\" -*- nroff -*-" << endl;
t << ".ad l" << endl; t << ".ad l" << endl;
t << ".nh" << endl; t << ".nh" << endl;
...@@ -248,7 +248,7 @@ void ManGenerator::codify(const char *str) ...@@ -248,7 +248,7 @@ void ManGenerator::codify(const char *str)
switch(c) switch(c)
{ {
case '\t': spacesToNextTabStop = 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); t << spaces.left(spacesToNextTabStop);
col+=spacesToNextTabStop; col+=spacesToNextTabStop;
break; break;
......
...@@ -279,7 +279,7 @@ MemberDef::MemberDef(const char *df,int dl, ...@@ -279,7 +279,7 @@ MemberDef::MemberDef(const char *df,int dl,
indDepth=0; indDepth=0;
section=0; section=0;
explExt=FALSE; explExt=FALSE;
maxInitLines=Config::instance()->getInt("MAX_INITIALIZER_LINES"); maxInitLines=Config_getInt("MAX_INITIALIZER_LINES");
userInitLines=-1; userInitLines=-1;
docEnumValues=FALSE; docEnumValues=FALSE;
// copy function template arguments (if any) // copy function template arguments (if any)
...@@ -484,19 +484,19 @@ void MemberDef::writeDeclaration(OutputList &ol, ...@@ -484,19 +484,19 @@ void MemberDef::writeDeclaration(OutputList &ol,
// (they are displayed by there parent placeholder) // (they are displayed by there parent placeholder)
if (annScope) return; if (annScope) return;
// hide undocumented members unless overwritten by the configuration // 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 // hide members with no detailed desciption and brief descriptions explicitly
// disabled. // disabled.
if (Config::instance()->getBool("HIDE_UNDOC_MEMBERS") && documentation().isEmpty() && if (Config_getBool("HIDE_UNDOC_MEMBERS") && documentation().isEmpty() &&
!Config::instance()->getBool("BRIEF_MEMBER_DESC") && !Config::instance()->getBool("REPEAT_BRIEF") !Config_getBool("BRIEF_MEMBER_DESC") && !Config_getBool("REPEAT_BRIEF")
) return; ) return;
// hide static file & namespace members unless extract static is on // 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 // hide private member that are put into a member group. Non-grouped
// members are not rendered anyway. // members are not rendered anyway.
//printf("md->name()=`%s' Protection=%d\n",name().data(),protection()); //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(); QCString ltype=type.copy();
// strip `static' keyword from ltype // strip `static' keyword from ltype
...@@ -508,7 +508,7 @@ void MemberDef::writeDeclaration(OutputList &ol, ...@@ -508,7 +508,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
if ((ltype.isEmpty() || (i=r.match(ltype,0,&l))==-1) || !enumUsed()) 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=\""; Doxygen::tagFile << " <member kind=\"";
switch (mtype) switch (mtype)
...@@ -586,7 +586,7 @@ void MemberDef::writeDeclaration(OutputList &ol, ...@@ -586,7 +586,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
//} //}
HtmlHelp *htmlHelp=0; 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(); if (hasHtmlHelp) htmlHelp = HtmlHelp::getInstance();
// search for the last anonymous scope in the member type // search for the last anonymous scope in the member type
...@@ -627,7 +627,7 @@ void MemberDef::writeDeclaration(OutputList &ol, ...@@ -627,7 +627,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
// If there is no detailed description we need to write the anchor here. // If there is no detailed description we need to write the anchor here.
bool detailsVisible = detailsAreVisible(); bool detailsVisible = detailsAreVisible();
if (!detailsVisible && !Config::instance()->getBool("EXTRACT_ALL") && !annMemb) if (!detailsVisible && !Config_getBool("EXTRACT_ALL") && !annMemb)
{ {
QCString doxyName=name().copy(); QCString doxyName=name().copy();
if (!cname.isEmpty()) doxyName.prepend(cname+"::"); if (!cname.isEmpty()) doxyName.prepend(cname+"::");
...@@ -711,7 +711,7 @@ void MemberDef::writeDeclaration(OutputList &ol, ...@@ -711,7 +711,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
linkifyText(TextGeneratorOLImpl(ol),cname,name(),ltype,TRUE); linkifyText(TextGeneratorOLImpl(ol),cname,name(),ltype,TRUE);
} }
bool htmlOn = ol.isEnabled(OutputGenerator::Html); 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); ol.disable(OutputGenerator::Html);
} }
...@@ -810,7 +810,7 @@ void MemberDef::writeDeclaration(OutputList &ol, ...@@ -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()); ol.endDoxyAnchor(cfname,anchor());
} }
...@@ -819,7 +819,7 @@ void MemberDef::writeDeclaration(OutputList &ol, ...@@ -819,7 +819,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
//ol.endMemberItem(gId!=-1,gFile,gHeader,annoClassDef || annMemb); //ol.endMemberItem(gId!=-1,gFile,gHeader,annoClassDef || annMemb);
// write brief description // write brief description
if (!briefDescription().isEmpty() && Config::instance()->getBool("BRIEF_MEMBER_DESC") && !annMemb) if (!briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC") && !annMemb)
{ {
ol.startMemberDescription(); ol.startMemberDescription();
parseDoc(ol,defFileName,defLine,cname,name(),briefDescription()); parseDoc(ol,defFileName,defLine,cname,name(),briefDescription());
...@@ -858,7 +858,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, ...@@ -858,7 +858,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
) )
{ {
// hide global static functions unless extractStaticFlag is enabled // 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 // hide member that are documented in their own group
if (group!=0 && container->definitionType()!=TypeGroup) return; if (group!=0 && container->definitionType()!=TypeGroup) return;
...@@ -874,7 +874,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, ...@@ -874,7 +874,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
bool hasDocs = detailsAreVisible(); bool hasDocs = detailsAreVisible();
//printf("MemberDef::writeDocumentation(): type=`%s' def=`%s'\n",type.data(),definition()); //printf("MemberDef::writeDocumentation(): type=`%s' def=`%s'\n",type.data(),definition());
if ( if (
Config::instance()->getBool("EXTRACT_ALL") || hasDocs Config_getBool("EXTRACT_ALL") || hasDocs
|| /* member is part of an anonymous scope that is the type of || /* member is part of an anonymous scope that is the type of
* another member in the list. * another member in the list.
*/ */
...@@ -910,7 +910,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, ...@@ -910,7 +910,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
ol.pushGeneratorState(); 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; HtmlHelp *htmlHelp = 0;
if (hasHtmlHelp) htmlHelp = HtmlHelp::getInstance(); if (hasHtmlHelp) htmlHelp = HtmlHelp::getInstance();
...@@ -979,7 +979,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, ...@@ -979,7 +979,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
//if (cd && (!isRelated() || templateArguments()!=0) && //if (cd && (!isRelated() || templateArguments()!=0) &&
// ((al=scopeDefTemplateArguments()) || (al=cd->templateArguments())) // ((al=scopeDefTemplateArguments()) || (al=cd->templateArguments()))
// ) // )
if (!Config::instance()->getBool("HIDE_SCOPE_NAMES")) if (!Config_getBool("HIDE_SCOPE_NAMES"))
{ {
if (scopeAl && !related) // class template prefix if (scopeAl && !related) // class template prefix
{ {
...@@ -1049,7 +1049,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, ...@@ -1049,7 +1049,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
if (protection()!=Public || lvirt!=Normal || if (protection()!=Public || lvirt!=Normal ||
isFriend() || isRelated() || isExplicit() || isFriend() || isRelated() || isExplicit() ||
isMutable() || (isInline() && Config::instance()->getBool("INLINE_INFO")) || isMutable() || (isInline() && Config_getBool("INLINE_INFO")) ||
isSignal() || isSlot() || isSignal() || isSlot() ||
isStatic() isStatic()
) )
...@@ -1063,7 +1063,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, ...@@ -1063,7 +1063,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
else if (isRelated()) sl.append("related"); else if (isRelated()) sl.append("related");
else else
{ {
if (Config::instance()->getBool("INLINE_INFO") && isInline()) if (Config_getBool("INLINE_INFO") && isInline())
sl.append("inline"); sl.append("inline");
if (isExplicit()) sl.append("explicit"); if (isExplicit()) sl.append("explicit");
if (isMutable()) sl.append("mutable"); if (isMutable()) sl.append("mutable");
...@@ -1115,8 +1115,8 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, ...@@ -1115,8 +1115,8 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
/* write brief description */ /* write brief description */
if (!briefDescription().isEmpty() && if (!briefDescription().isEmpty() &&
(Config::instance()->getBool("REPEAT_BRIEF") (Config_getBool("REPEAT_BRIEF")
/* || (!Config::instance()->getBool("BRIEF_MEMBER_DESC") && documentation().isEmpty())*/ /* || (!Config_getBool("BRIEF_MEMBER_DESC") && documentation().isEmpty())*/
) /* || !annMemb */ ) /* || !annMemb */
) )
{ {
...@@ -1195,7 +1195,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, ...@@ -1195,7 +1195,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
ol.addIndexItem(fmd->name(),cname); ol.addIndexItem(fmd->name(),cname);
ol.addIndexItem(cname,fmd->name()); 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()); HtmlHelp::getInstance()->addIndexItem(cname,fmd->name(),cfname,fmd->anchor());
} }
...@@ -1275,7 +1275,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, ...@@ -1275,7 +1275,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
{ {
ol.writeObjectLink(bcd->getReference(),bcd->getOutputFileBase(), ol.writeObjectLink(bcd->getReference(),bcd->getOutputFileBase(),
bmd->anchor(),bcd->name()); 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()); writePageRef(ol,bcd->getOutputFileBase(),bmd->anchor());
} }
...@@ -1284,7 +1284,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, ...@@ -1284,7 +1284,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
{ {
ol.writeObjectLink(bcd->getReference(),bcd->getOutputFileBase(), ol.writeObjectLink(bcd->getReference(),bcd->getOutputFileBase(),
0,bcd->name()); 0,bcd->name());
if (bcd->isLinkableInProject()/* && !Config::instance()->getBool("PDF_HYPERLINKS")*/ ) if (bcd->isLinkableInProject()/* && !Config_getBool("PDF_HYPERLINKS")*/ )
{ {
writePageRef(ol,bcd->getOutputFileBase(),0); writePageRef(ol,bcd->getOutputFileBase(),0);
} }
...@@ -1350,7 +1350,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, ...@@ -1350,7 +1350,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
{ {
ol.writeObjectLink(bcd->getReference(),bcd->getOutputFileBase(), ol.writeObjectLink(bcd->getReference(),bcd->getOutputFileBase(),
bmd->anchor(),bcd->name()); 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()); writePageRef(ol,bcd->getOutputFileBase(),bmd->anchor());
} }
...@@ -1385,7 +1385,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, ...@@ -1385,7 +1385,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
ol.endIndent(); ol.endIndent();
// enable LaTeX again // 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(); ol.popGeneratorState();
} }
...@@ -1420,8 +1420,8 @@ bool MemberDef::isLinkableInProject() ...@@ -1420,8 +1420,8 @@ bool MemberDef::isLinkableInProject()
return !name().isEmpty() && name().at(0)!='@' && return !name().isEmpty() && name().at(0)!='@' &&
((hasDocumentation() && !isReference()) ((hasDocumentation() && !isReference())
) && ) &&
(prot!=Private || Config::instance()->getBool("EXTRACT_PRIVATE") || isFriend()) && // not a private class member (prot!=Private || Config_getBool("EXTRACT_PRIVATE") || isFriend()) && // not a private class member
(classDef!=0 || Config::instance()->getBool("EXTRACT_STATIC") || !isStatic()); // not a static file/namespace member (classDef!=0 || Config_getBool("EXTRACT_STATIC") || !isStatic()); // not a static file/namespace member
} }
bool MemberDef::isLinkable() bool MemberDef::isLinkable()
...@@ -1432,12 +1432,12 @@ bool MemberDef::isLinkable() ...@@ -1432,12 +1432,12 @@ bool MemberDef::isLinkable()
bool MemberDef::detailsAreVisible() const bool MemberDef::detailsAreVisible() const
{ {
return !documentation().isEmpty() || // has detailed docs 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==Enumeration && docEnumValues) || // has enum values
(mtype==EnumValue && !briefDescription().isEmpty()) || // is doc enum value (mtype==EnumValue && !briefDescription().isEmpty()) || // is doc enum value
(!briefDescription().isEmpty() && (!briefDescription().isEmpty() &&
(!Config::instance()->getBool("BRIEF_MEMBER_DESC") || Config::instance()->getBool("ALWAYS_DETAILED_SEC")) && (!Config_getBool("BRIEF_MEMBER_DESC") || Config_getBool("ALWAYS_DETAILED_SEC")) &&
Config::instance()->getBool("REPEAT_BRIEF") // has brief description inside detailed area Config_getBool("REPEAT_BRIEF") // has brief description inside detailed area
) || ) ||
(initLines>0 && initLines<maxInitLines) || (initLines>0 && initLines<maxInitLines) ||
(argList!=0 && argList->hasDocumentation()) (argList!=0 && argList->hasDocumentation())
......
...@@ -54,18 +54,18 @@ void MemberList::countDecMembers(bool inGroup,bool countSubGroups,bool sectionPe ...@@ -54,18 +54,18 @@ void MemberList::countDecMembers(bool inGroup,bool countSubGroups,bool sectionPe
{ {
//printf("md=%p md->name()=`%s' inGroup=%d getMemberGroup()=%p\n", //printf("md=%p md->name()=`%s' inGroup=%d getMemberGroup()=%p\n",
// md,md->name().data(),inGroup,md->getMemberGroup()); // md,md->name().data(),inGroup,md->getMemberGroup());
if (!(md->getClassDef()==0 && md->isStatic() && !Config::instance()->getBool("EXTRACT_STATIC")) && if (!(md->getClassDef()==0 && md->isStatic() && !Config_getBool("EXTRACT_STATIC")) &&
(!Config::instance()->getBool("HIDE_UNDOC_MEMBERS") || md->hasDocumentation()) && (!Config_getBool("HIDE_UNDOC_MEMBERS") || md->hasDocumentation()) &&
( (
(!Config::instance()->getBool("HIDE_UNDOC_MEMBERS") || !md->documentation().isEmpty() || (!Config_getBool("HIDE_UNDOC_MEMBERS") || !md->documentation().isEmpty() ||
Config::instance()->getBool("BRIEF_MEMBER_DESC") || Config::instance()->getBool("REPEAT_BRIEF") Config_getBool("BRIEF_MEMBER_DESC") || Config_getBool("REPEAT_BRIEF")
) || Config::instance()->getBool("EXTRACT_ALL") || ) || Config_getBool("EXTRACT_ALL") ||
(md->isEnumerate() && (md->isEnumerate() &&
md->hasDocumentedEnumValues() md->hasDocumentedEnumValues()
) )
) && ) &&
inGroup==md->visibleMemberGroup(sectionPerType) && inGroup==md->visibleMemberGroup(sectionPerType) &&
!(inGroup && md->protection()==Private && !Config::instance()->getBool("EXTRACT_PRIVATE")) !(inGroup && md->protection()==Private && !Config_getBool("EXTRACT_PRIVATE"))
) )
{ {
switch(md->memberType()) switch(md->memberType())
...@@ -83,7 +83,7 @@ void MemberList::countDecMembers(bool inGroup,bool countSubGroups,bool sectionPe ...@@ -83,7 +83,7 @@ void MemberList::countDecMembers(bool inGroup,bool countSubGroups,bool sectionPe
case MemberDef::EnumValue: enumValCnt++,m_count++; break; case MemberDef::EnumValue: enumValCnt++,m_count++; break;
case MemberDef::Typedef: typeCnt++,m_count++; break; case MemberDef::Typedef: typeCnt++,m_count++; break;
case MemberDef::Prototype: protoCnt++,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->argsString() ||
!md->initializer().isEmpty() || !md->initializer().isEmpty() ||
md->hasDocumentation() md->hasDocumentation()
...@@ -122,12 +122,12 @@ void MemberList::countDocMembers(bool listOfGroup) ...@@ -122,12 +122,12 @@ void MemberList::countDocMembers(bool listOfGroup)
//printf("%s MemberList::countDocMembers() details=%d\n", //printf("%s MemberList::countDocMembers() details=%d\n",
// md->name().data(),md->detailsAreVisible()); // md->name().data(),md->detailsAreVisible());
bool visibleIfStatic = 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); bool inOwnGroup = (md->getGroupDef()!=0 && !listOfGroup);
if (visibleIfStatic && !inOwnGroup && if (visibleIfStatic && !inOwnGroup &&
(Config::instance()->getBool("EXTRACT_ALL") || md->detailsAreVisible()) (Config_getBool("EXTRACT_ALL") || md->detailsAreVisible())
) )
{ {
if (md->memberType()!=MemberDef::EnumValue) m_count++; if (md->memberType()!=MemberDef::EnumValue) m_count++;
...@@ -190,7 +190,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, ...@@ -190,7 +190,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
if (md->isDefine() && if (md->isDefine() &&
(md->argsString() || md->hasDocumentation() || (md->argsString() || md->hasDocumentation() ||
!md->initializer().isEmpty() || !md->initializer().isEmpty() ||
Config::instance()->getBool("EXTRACT_ALL")) && Config_getBool("EXTRACT_ALL")) &&
inGroup==md->visibleMemberGroup(sectionPerType) inGroup==md->visibleMemberGroup(sectionPerType)
) )
{ {
...@@ -264,21 +264,21 @@ void MemberList::writePlainDeclarations(OutputList &ol, ...@@ -264,21 +264,21 @@ void MemberList::writePlainDeclarations(OutputList &ol,
for ( ; (md=mli.current()) ; ++mli ) // iterate through the members for ( ; (md=mli.current()) ; ++mli ) // iterate through the members
{ {
// see if member is hidden by protection // 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(); QCString type=md->typeString();
type=type.stripWhiteSpace(); // TODO: is this really needed? type=type.stripWhiteSpace(); // TODO: is this really needed?
// filter out enums that are in a group iff inGroup holds // 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 // 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->documentation().isEmpty() || // member has detailed descr. or
md->hasDocumentedEnumValues() || // member has documented enum vales. md->hasDocumentedEnumValues() || // member has documented enum vales.
( (
!md->briefDescription().isEmpty() && !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, ...@@ -290,7 +290,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
{ {
if (md->isLinkableInProject() || md->hasDocumentedEnumValues()) 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 << " <member kind=\"enumeration\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(md->name()) << "</name>" << endl; Doxygen::tagFile << " <name>" << convertToXML(md->name()) << "</name>" << endl;
...@@ -311,6 +311,8 @@ void MemberList::writePlainDeclarations(OutputList &ol, ...@@ -311,6 +311,8 @@ void MemberList::writePlainDeclarations(OutputList &ol,
int enumMemCount=0; int enumMemCount=0;
uint enumValuesPerLine =
(uint)Config_getInt("ENUM_VALUES_PER_LINE");
typeDecl.docify("{ "); typeDecl.docify("{ ");
QList<MemberDef> *fmdl=md->enumFieldList(); QList<MemberDef> *fmdl=md->enumFieldList();
if (fmdl) if (fmdl)
...@@ -319,8 +321,8 @@ void MemberList::writePlainDeclarations(OutputList &ol, ...@@ -319,8 +321,8 @@ void MemberList::writePlainDeclarations(OutputList &ol,
while (fmd) while (fmd)
{ {
/* in html we start a new line after a number of items */ /* in html we start a new line after a number of items */
if (fmdl->count()>(uint)Config::instance()->getInt("ENUM_VALUES_PER_LINE") if (fmdl->count()>enumValuesPerLine
&& (enumMemCount%(uint)Config::instance()->getInt("ENUM_VALUES_PER_LINE"))==0 && (enumMemCount%enumValuesPerLine)==0
) )
{ {
typeDecl.pushGeneratorState(); typeDecl.pushGeneratorState();
...@@ -332,7 +334,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, ...@@ -332,7 +334,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
if (fmd->hasDocumentation()) // enum value has docs 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 << " <member kind=\"enumvalue\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(fmd->name()) << "</name>" << endl; Doxygen::tagFile << " <name>" << convertToXML(fmd->name()) << "</name>" << endl;
...@@ -361,7 +363,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, ...@@ -361,7 +363,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
typeDecl.enable(OutputGenerator::Man); typeDecl.enable(OutputGenerator::Man);
enumMemCount++; enumMemCount++;
} }
if (fmdl->count()>(uint)Config::instance()->getInt("ENUM_VALUES_PER_LINE")) if (fmdl->count()>enumValuesPerLine)
{ {
typeDecl.pushGeneratorState(); typeDecl.pushGeneratorState();
typeDecl.disableAllBut(OutputGenerator::Html); typeDecl.disableAllBut(OutputGenerator::Html);
...@@ -395,7 +397,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, ...@@ -395,7 +397,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
ol.insertMemberAlign(); ol.insertMemberAlign();
ol+=typeDecl; // append the enum values. ol+=typeDecl; // append the enum values.
ol.endMemberItem(FALSE); ol.endMemberItem(FALSE);
if (!md->briefDescription().isEmpty() && Config::instance()->getBool("BRIEF_MEMBER_DESC")) if (!md->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
{ {
ol.startMemberDescription(); ol.startMemberDescription();
parseDoc(ol, parseDoc(ol,
...@@ -486,7 +488,7 @@ void MemberList::writePlainDeclarations(OutputList &ol, ...@@ -486,7 +488,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
ol.writeObjectLink(cd->getReference(),cd->getOutputFileBase(),0,cd->name()); ol.writeObjectLink(cd->getReference(),cd->getOutputFileBase(),0,cd->name());
ol.endMemberItem(FALSE); 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.startMemberItem(0);
ol.docify("class "); ol.docify("class ");
......
...@@ -32,9 +32,9 @@ static FILE *warnFile = stderr; ...@@ -32,9 +32,9 @@ static FILE *warnFile = stderr;
void initWarningFormat() void initWarningFormat()
{ {
int filePos = Config::instance()->getString("WARN_FORMAT").find("$file"); int filePos = Config_getString("WARN_FORMAT").find("$file");
int linePos = Config::instance()->getString("WARN_FORMAT").find("$line"); int linePos = Config_getString("WARN_FORMAT").find("$line");
int textPos = Config::instance()->getString("WARN_FORMAT").find("$text"); int textPos = Config_getString("WARN_FORMAT").find("$text");
// sort items on position (there are 6 cases) // sort items on position (there are 6 cases)
warnFormatOrder = 1; warnFormatOrder = 1;
...@@ -68,7 +68,7 @@ void initWarningFormat() ...@@ -68,7 +68,7 @@ void initWarningFormat()
substitute( substitute(
substitute( substitute(
substitute( substitute(
Config::instance()->getString("WARN_FORMAT"), Config_getString("WARN_FORMAT"),
"$file","%s" "$file","%s"
), ),
"$text","%s" "$text","%s"
...@@ -81,16 +81,16 @@ void initWarningFormat() ...@@ -81,16 +81,16 @@ void initWarningFormat()
// replace(QRegExp("\\$line"),"%d")+ // replace(QRegExp("\\$line"),"%d")+
// '\n'; // '\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, ...) void msg(const char *fmt, ...)
{ {
if (!Config::instance()->getBool("QUIET")) if (!Config_getBool("QUIET"))
{ {
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);
...@@ -101,7 +101,7 @@ void msg(const char *fmt, ...) ...@@ -101,7 +101,7 @@ void msg(const char *fmt, ...)
void warn(const char *file,int line,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>"; if (file==0) file="<unknown>";
char text[4096]; char text[4096];
...@@ -125,7 +125,7 @@ void warn(const char *file,int line,const char *fmt, ...) ...@@ -125,7 +125,7 @@ void warn(const char *file,int line,const char *fmt, ...)
void warn_cont(const char *fmt, ...) void warn_cont(const char *fmt, ...)
{ {
if (Config::instance()->getBool("WARNINGS")) if (Config_getBool("WARNINGS"))
{ {
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);
...@@ -136,7 +136,7 @@ void warn_cont(const char *fmt, ...) ...@@ -136,7 +136,7 @@ void warn_cont(const char *fmt, ...)
void warn_undoc(const char *file,int line,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>"; if (file==0) file="<unknwon>";
char text[4096]; char text[4096];
......
...@@ -31,7 +31,7 @@ NamespaceDef::NamespaceDef(const char *df,int dl, ...@@ -31,7 +31,7 @@ NamespaceDef::NamespaceDef(const char *df,int dl,
const char *name,const char *lref) : const char *name,const char *lref) :
Definition(df,dl,name) Definition(df,dl,name)
{ {
fileName="namespace_"+nameToFile(name); fileName=(QCString)"namespace_"+name;
classList = new ClassList; classList = new ClassList;
classDict = new ClassDict(1009); classDict = new ClassDict(1009);
//memList = new MemberList; //memList = new MemberList;
...@@ -68,7 +68,7 @@ void NamespaceDef::insertUsedFile(const char *f) ...@@ -68,7 +68,7 @@ void NamespaceDef::insertUsedFile(const char *f)
{ {
if (files.find(f)==-1) if (files.find(f)==-1)
{ {
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
files.inSort(f); files.inSort(f);
else else
files.append(f); files.append(f);
...@@ -79,7 +79,7 @@ void NamespaceDef::insertClass(ClassDef *cd) ...@@ -79,7 +79,7 @@ void NamespaceDef::insertClass(ClassDef *cd)
{ {
if (classDict->find(cd->name())==0) if (classDict->find(cd->name())==0)
{ {
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
classList->inSort(cd); classList->inSort(cd);
else else
classList->append(cd); classList->append(cd);
...@@ -131,43 +131,43 @@ void NamespaceDef::insertMember(MemberDef *md) ...@@ -131,43 +131,43 @@ void NamespaceDef::insertMember(MemberDef *md)
switch(md->memberType()) switch(md->memberType())
{ {
case MemberDef::Variable: case MemberDef::Variable:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
varMembers.inSort(md); varMembers.inSort(md);
else else
varMembers.append(md); varMembers.append(md);
break; break;
case MemberDef::Function: case MemberDef::Function:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
funcMembers.inSort(md); funcMembers.inSort(md);
else else
funcMembers.append(md); funcMembers.append(md);
break; break;
case MemberDef::Typedef: case MemberDef::Typedef:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
typedefMembers.inSort(md); typedefMembers.inSort(md);
else else
typedefMembers.append(md); typedefMembers.append(md);
break; break;
case MemberDef::Enumeration: case MemberDef::Enumeration:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
enumMembers.inSort(md); enumMembers.inSort(md);
else else
enumMembers.append(md); enumMembers.append(md);
break; break;
case MemberDef::EnumValue: case MemberDef::EnumValue:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
enumValMembers.inSort(md); enumValMembers.inSort(md);
else else
enumValMembers.append(md); enumValMembers.append(md);
break; break;
case MemberDef::Prototype: case MemberDef::Prototype:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
protoMembers.inSort(md); protoMembers.inSort(md);
else else
protoMembers.append(md); protoMembers.append(md);
break; break;
case MemberDef::Define: case MemberDef::Define:
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
defineMembers.inSort(md); defineMembers.inSort(md);
else else
defineMembers.append(md); defineMembers.append(md);
...@@ -192,17 +192,17 @@ void NamespaceDef::computeAnchors() ...@@ -192,17 +192,17 @@ void NamespaceDef::computeAnchors()
void NamespaceDef::writeDocumentation(OutputList &ol) void NamespaceDef::writeDocumentation(OutputList &ol)
{ {
QCString pageTitle=name()+" Namespace Reference"; QCString pageTitle=name()+" Namespace Reference";
startFile(ol,fileName,pageTitle); startFile(ol,getOutputFileBase(),pageTitle);
startTitle(ol,getOutputFileBase()); startTitle(ol,getOutputFileBase());
//ol.docify(pageTitle); //ol.docify(pageTitle);
parseText(ol,theTranslator->trNamespaceReference(name())); parseText(ol,theTranslator->trNamespaceReference(name()));
endTitle(ol,getOutputFileBase(),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 << " <compound kind=\"namespace\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(name()) << "</name>" << 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(); ol.startTextBlock();
...@@ -241,7 +241,7 @@ void NamespaceDef::writeDocumentation(OutputList &ol) ...@@ -241,7 +241,7 @@ void NamespaceDef::writeDocumentation(OutputList &ol)
allMemberList.writeDeclarations(ol,0,this,0,0,0,0); allMemberList.writeDeclarations(ol,0,this,0,0,0,0);
ol.endMemberSections(); ol.endMemberSections();
if ((!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF")) || if ((!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) ||
!documentation().isEmpty()) !documentation().isEmpty())
{ {
ol.writeRuler(); ol.writeRuler();
...@@ -256,11 +256,11 @@ void NamespaceDef::writeDocumentation(OutputList &ol) ...@@ -256,11 +256,11 @@ void NamespaceDef::writeDocumentation(OutputList &ol)
parseText(ol,theTranslator->trDetailedDescription()); parseText(ol,theTranslator->trDetailedDescription());
ol.endGroupHeader(); ol.endGroupHeader();
ol.startTextBlock(); ol.startTextBlock();
if (!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF")) if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF"))
{ {
ol+=briefOutput; ol+=briefOutput;
} }
if (!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF") && if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF") &&
!documentation().isEmpty()) !documentation().isEmpty())
{ {
ol.newParagraph(); ol.newParagraph();
...@@ -350,9 +350,9 @@ void NamespaceDef::writeDocumentation(OutputList &ol) ...@@ -350,9 +350,9 @@ void NamespaceDef::writeDocumentation(OutputList &ol)
ol.startGroupHeader(); ol.startGroupHeader();
parseText(ol,theTranslator->trAuthor()); parseText(ol,theTranslator->trAuthor());
ol.endGroupHeader(); 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(); writeDocAnchorsToTagFile();
Doxygen::tagFile << " </compound>" << endl; Doxygen::tagFile << " </compound>" << endl;
...@@ -385,3 +385,9 @@ void NamespaceDef::addUsingDeclaration(ClassDef *cd) ...@@ -385,3 +385,9 @@ void NamespaceDef::addUsingDeclaration(ClassDef *cd)
} }
usingDeclList->append(cd); usingDeclList->append(cd);
} }
QCString NamespaceDef::getOutputFileBase() const
{
return convertNameToFile(fileName);
}
...@@ -40,7 +40,7 @@ class NamespaceDef : public Definition ...@@ -40,7 +40,7 @@ class NamespaceDef : public Definition
const char *name,const char *ref=0); const char *name,const char *ref=0);
~NamespaceDef(); ~NamespaceDef();
DefType definitionType() { return TypeNamespace; } DefType definitionType() { return TypeNamespace; }
QCString getOutputFileBase() const { return fileName; } QCString getOutputFileBase() const;
void insertUsedFile(const char *fname); void insertUsedFile(const char *fname);
void writeDocumentation(OutputList &ol); void writeDocumentation(OutputList &ol);
void insertClass(ClassDef *cd); void insertClass(ClassDef *cd);
......
...@@ -31,7 +31,7 @@ PackageDef::PackageDef(const char *df,int dl,const char *na,const char *ref) : ...@@ -31,7 +31,7 @@ PackageDef::PackageDef(const char *df,int dl,const char *na,const char *ref) :
Definition(df,dl,na) Definition(df,dl,na)
{ {
classList = new ClassList; classList = new ClassList;
packageFileName = "package_"+convertFileName(na); packageFileName = (QCString)"package_"+na;
setReference(ref); setReference(ref);
} }
...@@ -42,7 +42,7 @@ PackageDef::~PackageDef() ...@@ -42,7 +42,7 @@ PackageDef::~PackageDef()
void PackageDef::addClass(const ClassDef *def) void PackageDef::addClass(const ClassDef *def)
{ {
if (Config::instance()->getBool("SORT_MEMBER_DOCS")) if (Config_getBool("SORT_MEMBER_DOCS"))
classList->inSort(def); classList->inSort(def);
else else
classList->append(def); classList->append(def);
...@@ -73,7 +73,7 @@ void PackageDef::writeDocumentation(OutputList &ol) ...@@ -73,7 +73,7 @@ void PackageDef::writeDocumentation(OutputList &ol)
ol.popGeneratorState(); ol.popGeneratorState();
} }
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty()) if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{ {
Doxygen::tagFile << " <compound kind=\"package\">" << endl; Doxygen::tagFile << " <compound kind=\"package\">" << endl;
} }
...@@ -86,7 +86,7 @@ void PackageDef::writeDocumentation(OutputList &ol) ...@@ -86,7 +86,7 @@ void PackageDef::writeDocumentation(OutputList &ol)
classList->writeDeclaration(ol,&ct,theTranslator->trClasses()); classList->writeDeclaration(ol,&ct,theTranslator->trClasses());
ol.endMemberSections(); ol.endMemberSections();
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty()) if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{ {
writeDocAnchorsToTagFile(); writeDocAnchorsToTagFile();
Doxygen::tagFile << " </compound>" << endl; Doxygen::tagFile << " </compound>" << endl;
...@@ -105,7 +105,7 @@ void PackageDef::writeDocumentation(OutputList &ol) ...@@ -105,7 +105,7 @@ void PackageDef::writeDocumentation(OutputList &ol)
ol.endGroupHeader(); ol.endGroupHeader();
// repeat brief description // repeat brief description
if (!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF")) if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF"))
{ {
ol+=briefOutput; ol+=briefOutput;
ol.newParagraph(); ol.newParagraph();
...@@ -122,3 +122,8 @@ void PackageDef::writeDocumentation(OutputList &ol) ...@@ -122,3 +122,8 @@ void PackageDef::writeDocumentation(OutputList &ol)
ol.popGeneratorState(); ol.popGeneratorState();
} }
QCString PackageDef::getOutputFileBase() const
{
return convertNameToFile(packageFileName);
}
...@@ -35,7 +35,7 @@ class PackageDef : public Definition ...@@ -35,7 +35,7 @@ class PackageDef : public Definition
PackageDef(const char *fName,int line, const char *name,const char *ref=0); PackageDef(const char *fName,int line, const char *name,const char *ref=0);
~PackageDef(); ~PackageDef();
DefType definitionType() { return TypePackage; } DefType definitionType() { return TypePackage; }
QCString getOutputFileBase() const { return packageFileName; } QCString getOutputFileBase() const ;
void addClass(const ClassDef *def); void addClass(const ClassDef *def);
void writeDocumentation(OutputList &ol); void writeDocumentation(OutputList &ol);
bool isLinkableInProject() bool isLinkableInProject()
......
...@@ -76,7 +76,7 @@ class PageInfo ...@@ -76,7 +76,7 @@ class PageInfo
void writeDocAnchorsToTagFile() void writeDocAnchorsToTagFile()
{ {
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty() && sectionDict) if (!Config_getString("GENERATE_TAGFILE").isEmpty() && sectionDict)
{ {
QDictIterator<SectionInfo> sdi(*sectionDict); QDictIterator<SectionInfo> sdi(*sectionDict);
SectionInfo *si; SectionInfo *si;
......
...@@ -167,9 +167,9 @@ static FILE *checkAndOpenFile(const QCString &absName) ...@@ -167,9 +167,9 @@ static FILE *checkAndOpenFile(const QCString &absName)
QFileInfo fi(absName); QFileInfo fi(absName);
if (fi.exists() && fi.isFile()) 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"); f=popen(cmd,"r");
if (!f) err("Error: could not execute filter %s\n",cmd.data()); 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) ...@@ -892,7 +892,7 @@ static inline void outputArray(const char *a,int len)
static void readIncludeFile(const QCString &inc) 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; uint i=0;
// find the start of the include file name // find the start of the include file name
...@@ -1703,7 +1703,7 @@ BN [ \t\r\n] ...@@ -1703,7 +1703,7 @@ BN [ \t\r\n]
{ {
FileState *fs=g_includeStack.pop(); FileState *fs=g_includeStack.pop();
//fileDefineCache->merge(g_yyFileName,fs->fileName); //fileDefineCache->merge(g_yyFileName,fs->fileName);
if (Config::instance()->getString("INPUT_FILTER").isEmpty()) if (Config_getString("INPUT_FILTER").isEmpty())
fclose(fs->filePtr); fclose(fs->filePtr);
else else
pclose(fs->filePtr); pclose(fs->filePtr);
...@@ -1846,8 +1846,8 @@ void preprocessFile(const char *fileName,BufStr &output) ...@@ -1846,8 +1846,8 @@ void preprocessFile(const char *fileName,BufStr &output)
uint orgOffset=output.curPos(); uint orgOffset=output.curPos();
//#endif //#endif
g_macroExpansion = Config::instance()->getBool("MACRO_EXPANSION"); g_macroExpansion = Config_getBool("MACRO_EXPANSION");
g_expandOnlyPredef = Config::instance()->getBool("EXPAND_ONLY_PREDEF"); g_expandOnlyPredef = Config_getBool("EXPAND_ONLY_PREDEF");
g_curlyCount=0; g_curlyCount=0;
g_nospaces=FALSE; g_nospaces=FALSE;
g_outputBuf=&output; g_outputBuf=&output;
...@@ -1859,7 +1859,7 @@ void preprocessFile(const char *fileName,BufStr &output) ...@@ -1859,7 +1859,7 @@ void preprocessFile(const char *fileName,BufStr &output)
g_expandedDict->clear(); g_expandedDict->clear();
// add predefined macros // add predefined macros
char *defStr = Config::instance()->getList("PREDEFINED").first(); char *defStr = Config_getList("PREDEFINED").first();
while (defStr) while (defStr)
{ {
//printf("Predefined: `%s'\n",defStr); //printf("Predefined: `%s'\n",defStr);
...@@ -1948,10 +1948,10 @@ void preprocessFile(const char *fileName,BufStr &output) ...@@ -1948,10 +1948,10 @@ void preprocessFile(const char *fileName,BufStr &output)
// def->name.data(),def->definition.data(),def->nargs); // 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()) if (inputFilter.isEmpty())
{ {
preYYin = fopen(fileName,"r"); preYYin = fopen(fileName,"r");
......
...@@ -102,7 +102,7 @@ static QCString dateToRTFDateString() ...@@ -102,7 +102,7 @@ static QCString dateToRTFDateString()
RTFGenerator::RTFGenerator() : OutputGenerator() RTFGenerator::RTFGenerator() : OutputGenerator()
{ {
dir=Config::instance()->getString("RTF_OUTPUT"); dir=Config_getString("RTF_OUTPUT");
col=0; col=0;
//insideTabbing=FALSE; //insideTabbing=FALSE;
m_listLevel = 0; m_listLevel = 0;
...@@ -695,7 +695,7 @@ static void loadExtensions(const char *name) ...@@ -695,7 +695,7 @@ static void loadExtensions(const char *name)
void RTFGenerator::init() void RTFGenerator::init()
{ {
QCString dir=Config::instance()->getString("RTF_OUTPUT"); QCString dir=Config_getString("RTF_OUTPUT");
QDir d(dir); QDir d(dir);
if (!d.exists() && !d.mkdir(dir)) if (!d.exists() && !d.mkdir(dir))
{ {
...@@ -716,14 +716,14 @@ void RTFGenerator::init() ...@@ -716,14 +716,14 @@ void RTFGenerator::init()
} }
// overwrite some (or all) definitions from file // 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()) if (!rtfStyleSheetFile.isEmpty())
{ {
loadStylesheet(rtfStyleSheetFile, Rtf_Style); loadStylesheet(rtfStyleSheetFile, Rtf_Style);
} }
// If user has defined an extension file, load its contents. // 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()) if (!rtfExtensionsFile.isEmpty())
{ {
loadExtensions(rtfExtensionsFile); loadExtensions(rtfExtensionsFile);
...@@ -820,7 +820,7 @@ void RTFGenerator::beginRTFChapter() ...@@ -820,7 +820,7 @@ void RTFGenerator::beginRTFChapter()
t << Rtf_Style_Reset; t << Rtf_Style_Reset;
// if we are compact, no extra page breaks... // 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\\sectd\\sbknone\n";
t <<"\\sect\\sbknone\n"; t <<"\\sect\\sbknone\n";
...@@ -840,7 +840,7 @@ void RTFGenerator::beginRTFSection() ...@@ -840,7 +840,7 @@ void RTFGenerator::beginRTFSection()
t << Rtf_Style_Reset; t << Rtf_Style_Reset;
// if we are compact, no extra page breaks... // 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\\sectd\\sbknone\n";
t <<"\\sect\\sbknone\n"; t <<"\\sect\\sbknone\n";
...@@ -1051,7 +1051,7 @@ void RTFGenerator::endIndexSection(IndexSections is) ...@@ -1051,7 +1051,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
// User has overridden document title in extensions file // User has overridden document title in extensions file
t << "}" << title; t << "}" << title;
else else
t << "}" << Config::instance()->getString("PROJECT_NAME"); t << "}" << Config_getString("PROJECT_NAME");
break; break;
case isTitlePageAuthor: case isTitlePageAuthor:
{ {
...@@ -1096,7 +1096,7 @@ void RTFGenerator::endIndexSection(IndexSections is) ...@@ -1096,7 +1096,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
t << Rtf_Style_Reset << Rtf_Style["SubTitle"]->reference << endl; // set to subtitle style t << Rtf_Style_Reset << Rtf_Style["SubTitle"]->reference << endl; // set to subtitle style
t << "{\\field\\fldedit {\\*\\fldinst AUTHOR \\\\*MERGEFORMAT}{\\fldrslt AUTHOR}}\\par" << endl; 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}" t << "{\\field\\fldedit {\\*\\fldinst CREATEDATE \\\\*MERGEFORMAT}"
"{\\fldrslt CREATEDATE}}\\par"<<endl; "{\\fldrslt CREATEDATE}}\\par"<<endl;
t << "\\page\\page"; t << "\\page\\page";
...@@ -1292,16 +1292,16 @@ void RTFGenerator::endIndexSection(IndexSections is) ...@@ -1292,16 +1292,16 @@ void RTFGenerator::endIndexSection(IndexSections is)
{ {
t << "\\par " << Rtf_Style_Reset << endl; t << "\\par " << Rtf_Style_Reset << endl;
t << "{\\field\\fldedit{\\*\\fldinst INCLUDETEXT \""; t << "{\\field\\fldedit{\\*\\fldinst INCLUDETEXT \"";
t << convertFileName(pi->name); t << convertNameToFile(pi->name+"-example");
t << "-example.rtf\" \\\\*MERGEFORMAT}{\\fldrslt includedstuff}}\n"; t << ".rtf\" \\\\*MERGEFORMAT}{\\fldrslt includedstuff}}\n";
} }
for (++pdi;(pi=pdi.current());++pdi) for (++pdi;(pi=pdi.current());++pdi)
{ {
t << "\\par " << Rtf_Style_Reset << endl; t << "\\par " << Rtf_Style_Reset << endl;
beginRTFSection(); beginRTFSection();
t << "{\\field\\fldedit{\\*\\fldinst INCLUDETEXT \""; t << "{\\field\\fldedit{\\*\\fldinst INCLUDETEXT \"";
t << convertFileName(pi->name); t << convertNameToFile(pi->name+"-example");
t << "-example.rtf\" \\\\*MERGEFORMAT}{\\fldrslt includedstuff}}\n"; t << ".rtf\" \\\\*MERGEFORMAT}{\\fldrslt includedstuff}}\n";
} }
} }
break; break;
...@@ -1316,7 +1316,7 @@ void RTFGenerator::endIndexSection(IndexSections is) ...@@ -1316,7 +1316,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
if (!pi->inGroup && !pi->isReference()) if (!pi->inGroup && !pi->isReference())
{ {
QCString pageName; QCString pageName;
if (Config::instance()->getBool("CASE_SENSE_NAMES")) if (Config_getBool("CASE_SENSE_NAMES"))
pageName=pi->name.copy(); pageName=pi->name.copy();
else else
pageName=pi->name.lower(); pageName=pi->name.lower();
...@@ -1485,7 +1485,7 @@ void RTFGenerator::writeIndexItem(const char *ref,const char *fn, ...@@ -1485,7 +1485,7 @@ void RTFGenerator::writeIndexItem(const char *ref,const char *fn,
void RTFGenerator::startHtmlLink(const char *url) void RTFGenerator::startHtmlLink(const char *url)
{ {
if (Config::instance()->getBool("RTF_HYPERLINKS")) if (Config_getBool("RTF_HYPERLINKS"))
{ {
t << "{\\field {\\*\\fldinst { HYPERLINK \\\\l \""; t << "{\\field {\\*\\fldinst { HYPERLINK \\\\l \"";
t << url; t << url;
...@@ -1500,7 +1500,7 @@ void RTFGenerator::startHtmlLink(const char *url) ...@@ -1500,7 +1500,7 @@ void RTFGenerator::startHtmlLink(const char *url)
void RTFGenerator::endHtmlLink() void RTFGenerator::endHtmlLink()
{ {
if (Config::instance()->getBool("RTF_HYPERLINKS")) if (Config_getBool("RTF_HYPERLINKS"))
{ {
t << "}}}" << endl; t << "}}}" << endl;
} }
...@@ -1523,7 +1523,7 @@ void RTFGenerator::writeStartAnnoItem(const char *,const char *f, ...@@ -1523,7 +1523,7 @@ void RTFGenerator::writeStartAnnoItem(const char *,const char *f,
DBG_RTF(t << "{\\comment (writeStartAnnoItem)}" << endl) DBG_RTF(t << "{\\comment (writeStartAnnoItem)}" << endl)
t << "{\\b "; t << "{\\b ";
if (path) docify(path); if (path) docify(path);
if (f && Config::instance()->getBool("RTF_HYPERLINKS")) if (f && Config_getBool("RTF_HYPERLINKS"))
{ {
t << "{\\field {\\*\\fldinst { HYPERLINK \\\\l \""; t << "{\\field {\\*\\fldinst { HYPERLINK \\\\l \"";
t << formatBmkStr(f); t << formatBmkStr(f);
...@@ -1598,7 +1598,7 @@ void RTFGenerator::endSubsubsection() ...@@ -1598,7 +1598,7 @@ void RTFGenerator::endSubsubsection()
void RTFGenerator::startTextLink(const char *f,const char *anchor) void RTFGenerator::startTextLink(const char *f,const char *anchor)
{ {
if (Config::instance()->getBool("RTF_HYPERLINKS")) if (Config_getBool("RTF_HYPERLINKS"))
{ {
QCString ref; QCString ref;
if (f) if (f)
...@@ -1620,7 +1620,7 @@ void RTFGenerator::startTextLink(const char *f,const char *anchor) ...@@ -1620,7 +1620,7 @@ void RTFGenerator::startTextLink(const char *f,const char *anchor)
void RTFGenerator::endTextLink() void RTFGenerator::endTextLink()
{ {
if (Config::instance()->getBool("RTF_HYPERLINKS")) if (Config_getBool("RTF_HYPERLINKS"))
{ {
t << "}}}" << endl; t << "}}}" << endl;
} }
...@@ -1629,7 +1629,7 @@ void RTFGenerator::endTextLink() ...@@ -1629,7 +1629,7 @@ void RTFGenerator::endTextLink()
void RTFGenerator::writeObjectLink(const char *ref, const char *f, void RTFGenerator::writeObjectLink(const char *ref, const char *f,
const char *anchor, const char *text) const char *anchor, const char *text)
{ {
if (!ref && Config::instance()->getBool("RTF_HYPERLINKS")) if (!ref && Config_getBool("RTF_HYPERLINKS"))
{ {
QCString refName; QCString refName;
if (f) if (f)
...@@ -1685,7 +1685,7 @@ void RTFGenerator::endPageRef(const char *clname, const char *anchor) ...@@ -1685,7 +1685,7 @@ void RTFGenerator::endPageRef(const char *clname, const char *anchor)
void RTFGenerator::writeCodeLink(const char *ref,const char *f, void RTFGenerator::writeCodeLink(const char *ref,const char *f,
const char *anchor,const char *name) const char *anchor,const char *name)
{ {
if (!ref && Config::instance()->getBool("RTF_HYPERLINKS")) if (!ref && Config_getBool("RTF_HYPERLINKS"))
{ {
QCString refName; QCString refName;
if (f) if (f)
...@@ -1740,7 +1740,7 @@ void RTFGenerator::endTitleHead(const char *fileName,const char *name) ...@@ -1740,7 +1740,7 @@ void RTFGenerator::endTitleHead(const char *fileName,const char *name)
// writeAnchor(0,name); // writeAnchor(0,name);
//} //}
// //
//if (Config::instance()->getBool("RTF_HYPERLINKS") && fileName) //if (Config_getBool("RTF_HYPERLINKS") && fileName)
//{ //{
writeAnchor(fileName,0); writeAnchor(fileName,0);
//} //}
...@@ -1750,7 +1750,7 @@ void RTFGenerator::endTitleHead(const char *fileName,const char *name) ...@@ -1750,7 +1750,7 @@ void RTFGenerator::endTitleHead(const char *fileName,const char *name)
void RTFGenerator::startTitle() void RTFGenerator::startTitle()
{ {
DBG_RTF(t <<"{\\comment startTitle}" << endl) DBG_RTF(t <<"{\\comment startTitle}" << endl)
if (Config::instance()->getBool("COMPACT_RTF")) if (Config_getBool("COMPACT_RTF"))
beginRTFSection(); beginRTFSection();
else else
beginRTFChapter(); beginRTFChapter();
...@@ -2054,7 +2054,7 @@ void RTFGenerator::codify(const char *str) ...@@ -2054,7 +2054,7 @@ void RTFGenerator::codify(const char *str)
c=*p++; c=*p++;
switch(c) 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); t << spaces.left(spacesToNextTabStop);
col+=spacesToNextTabStop; col+=spacesToNextTabStop;
break; break;
...@@ -2528,7 +2528,7 @@ void RTFGenerator::endDotGraph(DotClassGraph &g) ...@@ -2528,7 +2528,7 @@ void RTFGenerator::endDotGraph(DotClassGraph &g)
{ {
newParagraph(); 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 // display the file
t << "{" << endl; t << "{" << endl;
...@@ -2547,7 +2547,7 @@ void RTFGenerator::endInclDepGraph(DotInclDepGraph &g) ...@@ -2547,7 +2547,7 @@ void RTFGenerator::endInclDepGraph(DotInclDepGraph &g)
{ {
newParagraph(); newParagraph();
g.writeGraph(t,GIF,Config::instance()->getString("RTF_OUTPUT"),FALSE); g.writeGraph(t,GIF,Config_getString("RTF_OUTPUT"),FALSE);
//QCString diskName = g.diskName(); //QCString diskName = g.diskName();
......
...@@ -1191,7 +1191,7 @@ TITLE [tT][iI][tT][lL][eE] ...@@ -1191,7 +1191,7 @@ TITLE [tT][iI][tT][lL][eE]
current->brief.resize(0); current->brief.resize(0);
BEGIN(AfterDocLine); 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); current->brief.resize(0);
BEGIN(AfterDocBrief); BEGIN(AfterDocBrief);
...@@ -1211,7 +1211,7 @@ TITLE [tT][iI][tT][lL][eE] ...@@ -1211,7 +1211,7 @@ TITLE [tT][iI][tT][lL][eE]
current->brief.resize(0); current->brief.resize(0);
BEGIN(AfterDocLine); 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); current->brief.resize(0);
BEGIN(AfterDocBrief); BEGIN(AfterDocBrief);
...@@ -1237,7 +1237,7 @@ TITLE [tT][iI][tT][lL][eE] ...@@ -1237,7 +1237,7 @@ TITLE [tT][iI][tT][lL][eE]
current->brief.resize(0); current->brief.resize(0);
BEGIN(AfterDocLine); 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); current->brief.resize(0);
BEGIN(AfterDocBrief); BEGIN(AfterDocBrief);
...@@ -2200,7 +2200,7 @@ TITLE [tT][iI][tT][lL][eE] ...@@ -2200,7 +2200,7 @@ TITLE [tT][iI][tT][lL][eE]
afterDocTerminator = '}'; afterDocTerminator = '}';
if (yytext[yyleng-3]=='/') if (yytext[yyleng-3]=='/')
BEGIN(AfterDocLine); BEGIN(AfterDocLine);
else if (yytext[yyleng-2]=='*' && Config::instance()->getBool("JAVADOC_AUTOBRIEF")) else if (yytext[yyleng-2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF"))
BEGIN(AfterDocBrief); BEGIN(AfterDocBrief);
else else
BEGIN(AfterDoc); BEGIN(AfterDoc);
...@@ -2522,7 +2522,7 @@ TITLE [tT][iI][tT][lL][eE] ...@@ -2522,7 +2522,7 @@ TITLE [tT][iI][tT][lL][eE]
lastDocContext = YY_START; lastDocContext = YY_START;
if (current_root->section & Entry::SCOPE_MASK) if (current_root->section & Entry::SCOPE_MASK)
current->inside = current_root->name+"::"; 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; tmpDocType=-1;
if (YY_START==ReadBody) if (YY_START==ReadBody)
......
...@@ -117,7 +117,7 @@ class Translator ...@@ -117,7 +117,7 @@ class Translator
* for the same purpose. The identification should not be translated. * for the same purpose. The identification should not be translated.
* It should be replaced by the name of the language in English * It should be replaced by the name of the language in English
* (e.g. Czech, Japanese, Russian, etc.). It should be equal to * (e.g. Czech, Japanese, Russian, etc.). It should be equal to
* the identification in language.h. * the identification in language.cpp.
*/ */
virtual QCString idLanguage() virtual QCString idLanguage()
{ return "english"; } { return "english"; }
...@@ -169,7 +169,7 @@ class Translator ...@@ -169,7 +169,7 @@ class Translator
/*! header that is put before the list of member attributes. */ /*! header that is put before the list of member attributes. */
virtual QCString trMemberDataDocumentation() virtual QCString trMemberDataDocumentation()
{ {
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return "Field Documentation"; return "Field Documentation";
} }
...@@ -221,6 +221,7 @@ class Translator ...@@ -221,6 +221,7 @@ class Translator
virtual QCString trDefinedIn() virtual QCString trDefinedIn()
{ return "defined in"; } { return "defined in"; }
// TODO: trVerbatimText is no longer used => remove!
/*! put as in introduction in the verbatim header file of a class. /*! put as in introduction in the verbatim header file of a class.
* parameter f is the name of the include file. * parameter f is the name of the include file.
*/ */
...@@ -242,7 +243,7 @@ class Translator ...@@ -242,7 +243,7 @@ class Translator
/*! This is put above each page as a link to the list of annotated classes */ /*! This is put above each page as a link to the list of annotated classes */
virtual QCString trCompoundList() virtual QCString trCompoundList()
{ {
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return "Data Structures"; return "Data Structures";
} }
...@@ -263,7 +264,7 @@ class Translator ...@@ -263,7 +264,7 @@ class Translator
/*! This is put above each page as a link to all members of compounds. */ /*! This is put above each page as a link to all members of compounds. */
virtual QCString trCompoundMembers() virtual QCString trCompoundMembers()
{ {
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return "Data Fields"; return "Data Fields";
} }
...@@ -276,7 +277,7 @@ class Translator ...@@ -276,7 +277,7 @@ class Translator
/*! This is put above each page as a link to all members of files. */ /*! This is put above each page as a link to all members of files. */
virtual QCString trFileMembers() virtual QCString trFileMembers()
{ {
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return "Globals"; return "Globals";
} }
...@@ -317,7 +318,7 @@ class Translator ...@@ -317,7 +318,7 @@ class Translator
virtual QCString trCompoundListDescription() 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:"; return "Here are the data structures with brief descriptions:";
} }
...@@ -336,7 +337,7 @@ class Translator ...@@ -336,7 +337,7 @@ class Translator
{ {
result+="documented "; result+="documented ";
} }
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
result+="struct and union fields"; result+="struct and union fields";
} }
...@@ -347,7 +348,7 @@ class Translator ...@@ -347,7 +348,7 @@ class Translator
result+=" with links to "; result+=" with links to ";
if (extractAll) 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:"; result+="the struct/union documentation for each field:";
} }
...@@ -358,7 +359,7 @@ class Translator ...@@ -358,7 +359,7 @@ class Translator
} }
else else
{ {
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
result+="the structures/unions they belong to:"; result+="the structures/unions they belong to:";
} }
...@@ -376,7 +377,7 @@ class Translator ...@@ -376,7 +377,7 @@ class Translator
QCString result="Here is a list of all "; QCString result="Here is a list of all ";
if (!extractAll) result+="documented "; 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"; result+="functions, variables, defines, enums, and typedefs";
} }
...@@ -438,7 +439,7 @@ class Translator ...@@ -438,7 +439,7 @@ class Translator
*/ */
virtual QCString trCompoundIndex() virtual QCString trCompoundIndex()
{ {
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return "Data Structure Index"; return "Data Structure Index";
} }
...@@ -581,7 +582,7 @@ class Translator ...@@ -581,7 +582,7 @@ class Translator
*/ */
virtual QCString trCompounds() virtual QCString trCompounds()
{ {
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return "Data Structures"; return "Data Structures";
} }
...@@ -740,9 +741,6 @@ class Translator ...@@ -740,9 +741,6 @@ class Translator
return result; return result;
} }
/*! \mgroup Class sections
* these are for the member sections of a class, struct or union
*/
virtual QCString trPublicMembers() virtual QCString trPublicMembers()
{ return "Public Methods"; } { return "Public Methods"; }
virtual QCString trPublicSlots() virtual QCString trPublicSlots()
...@@ -763,7 +761,6 @@ class Translator ...@@ -763,7 +761,6 @@ class Translator
{ return "Private Slots"; } { return "Private Slots"; }
virtual QCString trStaticPrivateMembers() virtual QCString trStaticPrivateMembers()
{ return "Static Private Methods"; } { return "Static Private Methods"; }
/*! \endmgroup */
/*! this function is used to produce a comma-separated list of items. /*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put. * use generateMarker(i) to indicate where item i should be put.
...@@ -1021,7 +1018,7 @@ class Translator ...@@ -1021,7 +1018,7 @@ class Translator
} }
virtual QCString trPublicAttribs() virtual QCString trPublicAttribs()
{ {
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return "Data Fields"; return "Data Fields";
} }
...@@ -1063,7 +1060,7 @@ class Translator ...@@ -1063,7 +1060,7 @@ class Translator
// new since 1.1.3 // new since 1.1.3
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a todo item */ /*! Used as a marker that is put before a \\todo item */
virtual QCString trTodo() virtual QCString trTodo()
{ {
return "Todo"; return "Todo";
...@@ -1224,7 +1221,7 @@ class Translator ...@@ -1224,7 +1221,7 @@ class Translator
/*! Used for Java classes in the summary section of Java packages */ /*! Used for Java classes in the summary section of Java packages */
virtual QCString trClasses() virtual QCString trClasses()
{ {
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return "Data Structures"; return "Data Structures";
} }
......
...@@ -51,13 +51,6 @@ class TranslatorChinese : public Translator ...@@ -51,13 +51,6 @@ class TranslatorChinese : public Translator
{ return "成员函数文档"; } { return "成员函数文档"; }
QCString trMemberDataDocumentation() QCString trMemberDataDocumentation()
{ return "成员数据文档"; } { 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() QCString trMore()
{ return "更多..."; } { return "更多..."; }
QCString trListOfAllMembers() QCString trListOfAllMembers()
......
...@@ -17,6 +17,31 @@ ...@@ -17,6 +17,31 @@
* Jens Breitenstein (Jens.Breitenstein@tlc.de) * 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 #ifndef TRANSLATOR_DE_H
#define TRANSLATOR_DE_H #define TRANSLATOR_DE_H
...@@ -60,19 +85,6 @@ class TranslatorGerman : public Translator ...@@ -60,19 +85,6 @@ class TranslatorGerman : public Translator
// header that is put before the list of member attributes. // header that is put before the list of member attributes.
{ return "Dokumentation der Datenelemente"; } { 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() QCString trMore()
// this is the text of a link put after brief descriptions. // this is the text of a link put after brief descriptions.
{ return "Mehr..."; } { return "Mehr..."; }
...@@ -121,34 +133,44 @@ class TranslatorGerman : public Translator ...@@ -121,34 +133,44 @@ class TranslatorGerman : public Translator
"Include-Datei "+f+"."; } "Include-Datei "+f+"."; }
// quick reference sections // quick reference sections
QCString trModules() QCString trModules()
// This is put above each page as a link to the list of all groups of // This is put above each page as a link to the list of all groups of
// compounds or files (see the \group command). // compounds or files (see the \group command).
{ return "Module"; } { return "Module"; }
QCString trClassHierarchy() QCString trClassHierarchy()
// This is put above each page as a link to the class hierarchy // This is put above each page as a link to the class hierarchy
{ return "Klassenhierarchie"; } { return "Klassenhierarchie"; }
QCString trCompoundList() QCString trCompoundList()
// This is put above each page as a link to the list of annotated classes // This is put above each page as a link to the list of annotated classes
{ return "&Uuml;bersicht"; } { return "&Uuml;bersicht"; }
QCString trFileList() QCString trFileList()
// This is put above each page as a link to the list of documented files // This is put above each page as a link to the list of documented files
{ return "Auflistung der Dateien"; } { return "Auflistung der Dateien"; }
QCString trHeaderFiles() QCString trHeaderFiles()
// This is put above each page as a link to the list of all verbatim headers // This is put above each page as a link to the list of all verbatim headers
{ return "Auflistung der Header-Dateien"; } { return "Auflistung der Header-Dateien"; }
QCString trCompoundMembers() QCString trCompoundMembers()
// This is put above each page as a link to all members of compounds. // This is put above each page as a link to all members of compounds.
{ return "Element&uuml;bersicht"; } { return "Element&uuml;bersicht"; }
QCString trFileMembers() QCString trFileMembers()
// This is put above each page as a link to all members of files. // This is put above each page as a link to all members of files.
{ return "Datei-Elemente"; } { return "Datei-Elemente"; }
QCString trRelatedPages() QCString trRelatedPages()
// This is put above each page as a link to all related pages. // This is put above each page as a link to all related pages.
{ return "Zus&auml;tzliche Informationen"; } { return "Zus&auml;tzliche Informationen"; }
QCString trExamples() QCString trExamples()
// This is put above each page as a link to all examples. // This is put above each page as a link to all examples.
{ return "Beispiele"; } { return "Beispiele"; }
QCString trSearch() QCString trSearch()
// This is put above each page as a link to the search engine. // This is put above each page as a link to the search engine.
{ return "Suchen"; } { return "Suchen"; }
...@@ -158,6 +180,7 @@ class TranslatorGerman : public Translator ...@@ -158,6 +180,7 @@ class TranslatorGerman : public Translator
{ return "Die Liste der Ableitungen ist -mit Einschr&auml;nkungen- " { return "Die Liste der Ableitungen ist -mit Einschr&auml;nkungen- "
"alphabetisch sortiert:"; "alphabetisch sortiert:";
} }
QCString trFileListDescription(bool extractAll) QCString trFileListDescription(bool extractAll)
// This is an introduction to the list with all files. // This is an introduction to the list with all files.
{ {
...@@ -166,88 +189,129 @@ class TranslatorGerman : public Translator ...@@ -166,88 +189,129 @@ class TranslatorGerman : public Translator
result+="Dateien mit einer Kurzbeschreibung:"; result+="Dateien mit einer Kurzbeschreibung:";
return result; return result;
} }
QCString trCompoundListDescription() QCString trCompoundListDescription()
// This is an introduction to the annotated compound list // 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) QCString trCompoundMembersDescription(bool extractAll)
// This is an introduction to the page with all class members // This is an introduction to the page with all class members
{ {
QCString result="Hier folgt die Aufz&auml;hlung aller "; QCString result="Hier folgt die Aufz&auml;hlung aller ";
if (!extractAll) result+="dokumentierten "; if (!extractAll) result+="dokumentierten ";
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
result+="Strukturen und Varianten mit Verweisen auf ";
else
result+="Klassenelemente mit Verweisen auf "; result+="Klassenelemente mit Verweisen auf ";
if (extractAll) result+="die Klassendokumentation zu jedem Element:"; if (extractAll) {
else result+="die zugeh&ouml;rigen Klassen:"; 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; return result;
} }
QCString trFileMembersDescription(bool extractAll) QCString trFileMembersDescription(bool extractAll)
// This is an introduction to the page with all file members // This is an introduction to the page with all file members
{ {
QCString result="Hier folgt die Aufz&auml;hlung aller "; QCString result="Hier folgt die Aufz&auml;hlung aller ";
if (!extractAll) result+="dokumentierter "; if (!extractAll) result+="dokumentierten ";
result+="Dateielemente mit Verweisen auf "; result+="Dateielemente mit Verweisen auf ";
if (extractAll) result+="die Dateidokumentation zu jedem Element:"; if (extractAll) result+="die Dateidokumentation zu jedem Element:";
else result+="die zugeh&ouml;rigen Dateien:"; else result+="die zugeh&ouml;rigen Dateien:";
return result; return result;
} }
QCString trHeaderFilesDescription() QCString trHeaderFilesDescription()
// This is an introduction to the page with the list of all header files // This is an introduction to the page with the list of all header files
{ return "Hier folgen die Headerdateien, welche die API definieren:"; } { return "Hier folgen die Headerdateien, welche die API definieren:"; }
QCString trExamplesDescription() QCString trExamplesDescription()
// This is an introduction to the page with the list of all examples // This is an introduction to the page with the list of all examples
{ return "Hier folgt eine Liste mit allen Beispielen:"; } { return "Hier folgt eine Liste mit allen Beispielen:"; }
QCString trRelatedPagesDescription() QCString trRelatedPagesDescription()
// This is an introduction to the page with the list of related pages // This is an introduction to the page with the list of related pages
{ return "Hier folgt eine Liste mit zusammengeh&ouml;rigen Themengebieten:"; } { return "Hier folgt eine Liste mit zusammengeh&ouml;rigen Themengebieten:"; }
QCString trModulesDescription() QCString trModulesDescription()
// This is an introduction to the page with the list of class/file groups // This is an introduction to the page with the list of class/file groups
{ return "Hier folgt die Aufz&auml;hlung aller Module:"; } { return "Hier folgt die Aufz&auml;hlung aller Module:"; }
QCString trNoDescriptionAvailable() QCString trNoDescriptionAvailable()
// This sentences is used in the annotated class/file lists if no brief // This sentences is used in the annotated class/file lists if no brief
// description is given. // description is given.
{ return "Keine Beschreibung verf&uuml;gbar"; } { return "Keine Beschreibung verf&uuml;gbar"; }
// index titles (the project name is prepended for these) // index titles (the project name is prepended for these)
QCString trDocumentation() QCString trDocumentation()
// This is used in HTML as the title of index.html. // This is used in HTML as the title of index.html.
{ return "Dokumentation"; } { return "Dokumentation"; }
QCString trModuleIndex() QCString trModuleIndex()
// This is used in LaTeX as the title of the chapter with the // This is used in LaTeX as the title of the chapter with the
// index of all groups. // index of all groups.
{ return "Modul-Verzeichnis"; } { return "Modul-Verzeichnis"; }
QCString trHierarchicalIndex() QCString trHierarchicalIndex()
// This is used in LaTeX as the title of the chapter with the // This is used in LaTeX as the title of the chapter with the
// class hierarchy. // class hierarchy.
{ return "Hierarchie-Verzeichnis"; } { return "Hierarchie-Verzeichnis"; }
QCString trCompoundIndex() QCString trCompoundIndex()
// This is used in LaTeX as the title of the chapter with the // This is used in LaTeX as the title of the chapter with the
// annotated compound index // annotated compound index
{ return "Compound-Verzeichnis"; } {
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
return "Datenstruktur-Verzeichnis";
else
return "Datenstruktur-Verzeichnis"; // FIXME: war compound
}
QCString trFileIndex() QCString trFileIndex()
// This is used in LaTeX as the title of the chapter with the // This is used in LaTeX as the title of the chapter with the
// list of all files. // list of all files.
{ return "Datei-Verzeichnis"; } { return "Datei-Verzeichnis"; }
QCString trModuleDocumentation() QCString trModuleDocumentation()
// This is used in LaTeX as the title of the chapter containing // This is used in LaTeX as the title of the chapter containing
// the documentation of all groups. // the documentation of all groups.
{ return "Modul-Dokumentation"; } { return "Modul-Dokumentation"; }
QCString trClassDocumentation() QCString trClassDocumentation()
// This is used in LaTeX as the title of the chapter containing // This is used in LaTeX as the title of the chapter containing
// the documentation of all classes, structs and unions. // the documentation of all classes, structs and unions.
{ return "Klassen-Dokumentation"; } { return "Klassen-Dokumentation"; }
QCString trFileDocumentation() QCString trFileDocumentation()
// This is used in LaTeX as the title of the chapter containing // This is used in LaTeX as the title of the chapter containing
// the documentation of all files. // the documentation of all files.
{ return "Datei-Dokumentation"; } { return "Datei-Dokumentation"; }
QCString trExampleDocumentation() QCString trExampleDocumentation()
// This is used in LaTeX as the title of the chapter containing // This is used in LaTeX as the title of the chapter containing
// the documentation of all examples. // the documentation of all examples.
{ return "Dokumentation der Beispiele"; } { return "Dokumentation der Beispiele"; }
QCString trPageDocumentation() QCString trPageDocumentation()
// This is used in LaTeX as the title of the chapter containing // This is used in LaTeX as the title of the chapter containing
// the documentation of all related pages. // the documentation of all related pages.
{ return "Seitenbeschreibung"; } { return "Zus&auml;tzliche Informationen"; }
QCString trReferenceManual() QCString trReferenceManual()
// This is used in LaTeX as the title of the document // This is used in LaTeX as the title of the document
{ return "Nachschlagewerk"; } { return "Nachschlagewerk"; }
...@@ -256,26 +320,32 @@ class TranslatorGerman : public Translator ...@@ -256,26 +320,32 @@ class TranslatorGerman : public Translator
// This is used in the documentation of a file as a header before the // This is used in the documentation of a file as a header before the
// list of defines // list of defines
{ return "Makrodefinitionen"; } { return "Makrodefinitionen"; }
QCString trFuncProtos() QCString trFuncProtos()
// This is used in the documentation of a file as a header before the // This is used in the documentation of a file as a header before the
// list of function prototypes // list of function prototypes
{ return "Funktionsprototypen"; } { return "Funktionsprototypen"; }
QCString trTypedefs() QCString trTypedefs()
// This is used in the documentation of a file as a header before the // This is used in the documentation of a file as a header before the
// list of typedefs // list of typedefs
{ return "Typendefinitionen"; } { return "Typendefinitionen"; }
QCString trEnumerations() QCString trEnumerations()
// This is used in the documentation of a file as a header before the // This is used in the documentation of a file as a header before the
// list of enumerations // list of enumerations
{ return "Aufz&auml;hlungen"; } { return "Aufz&auml;hlungen"; }
QCString trFunctions() QCString trFunctions()
// This is used in the documentation of a file as a header before the // This is used in the documentation of a file as a header before the
// list of (global) functions // list of (global) functions
{ return "Funktionen"; } { return "Funktionen"; }
QCString trVariables() QCString trVariables()
// This is used in the documentation of a file as a header before the // This is used in the documentation of a file as a header before the
// list of (global) variables // list of (global) variables
{ return "Variablen"; } { return "Variablen"; }
QCString trEnumerationValues() QCString trEnumerationValues()
// This is used in the documentation of a file as a header before the // This is used in the documentation of a file as a header before the
// list of (global) variables // list of (global) variables
...@@ -289,34 +359,42 @@ class TranslatorGerman : public Translator ...@@ -289,34 +359,42 @@ class TranslatorGerman : public Translator
// This is used in the documentation of a file before the list of // This is used in the documentation of a file before the list of
// documentation blocks for defines // documentation blocks for defines
{ return "Makro-Dokumentation"; } { return "Makro-Dokumentation"; }
QCString trFunctionPrototypeDocumentation() QCString trFunctionPrototypeDocumentation()
// This is used in the documentation of a file/namespace before the list // This is used in the documentation of a file/namespace before the list
// of documentation blocks for function prototypes // of documentation blocks for function prototypes
{ return "Funktionsprototypen Dokumentation"; } { return "Funktionsprototypen Dokumentation"; }
QCString trTypedefDocumentation() QCString trTypedefDocumentation()
// This is used in the documentation of a file/namespace before the list // This is used in the documentation of a file/namespace before the list
// of documentation blocks for typedefs // of documentation blocks for typedefs
{ return "Dokumentation der benutzerdefinerten Typen"; } { return "Dokumentation der benutzerdefinerten Typen"; }
QCString trEnumerationTypeDocumentation() QCString trEnumerationTypeDocumentation()
// This is used in the documentation of a file/namespace before the list // This is used in the documentation of a file/namespace before the list
// of documentation blocks for enumeration types // of documentation blocks for enumeration types
{ return "Dokumentation der Aufz&auml;hlungstypen"; } { return "Dokumentation der Aufz&auml;hlungstypen"; }
QCString trEnumerationValueDocumentation() QCString trEnumerationValueDocumentation()
// This is used in the documentation of a file/namespace before the list // This is used in the documentation of a file/namespace before the list
// of documentation blocks for enumeration values // of documentation blocks for enumeration values
{ return "Dokumentation des Wertebereiches der Aufz&auml;hlungstypen"; } { return "Dokumentation des Wertebereiches der Aufz&auml;hlungstypen"; }
QCString trFunctionDocumentation() QCString trFunctionDocumentation()
// This is used in the documentation of a file/namespace before the list // This is used in the documentation of a file/namespace before the list
// of documentation blocks for functions // of documentation blocks for functions
{ return "Dokumentation der Funktionen"; } { return "Dokumentation der Funktionen"; }
QCString trVariableDocumentation() QCString trVariableDocumentation()
// This is used in the documentation of a file/namespace before the list // This is used in the documentation of a file/namespace before the list
// of documentation blocks for variables // of documentation blocks for variables
{ return "Variablen-Dokumentation"; } { return "Variablen-Dokumentation"; }
QCString trCompounds() QCString trCompounds()
// This is used in the documentation of a file/namespace/group before // This is used in the documentation of a file/namespace/group before
// the list of links to documented compounds // the list of links to documented compounds
{ return "&Uuml;bersicht"; } { return "&Uuml;bersicht"; }
QCString trFiles() QCString trFiles()
// This is used in the documentation of a group before the list of // This is used in the documentation of a group before the list of
// links to documented files // links to documented files
...@@ -329,6 +407,7 @@ class TranslatorGerman : public Translator ...@@ -329,6 +407,7 @@ class TranslatorGerman : public Translator
result+=(QCString)" von"; result+=(QCString)" von";
return result; return result;
} }
QCString trWrittenBy() QCString trWrittenBy()
{ {
return "geschrieben von"; return "geschrieben von";
...@@ -343,55 +422,69 @@ class TranslatorGerman : public Translator ...@@ -343,55 +422,69 @@ class TranslatorGerman : public Translator
QCString trForInternalUseOnly() QCString trForInternalUseOnly()
// this text is generated when the \internal command is used. // this text is generated when the \internal command is used.
{ return "Nur f&uuml;r den internen Gebrauch."; } { return "Nur f&uuml;r den internen Gebrauch."; }
QCString trReimplementedForInternalReasons() QCString trReimplementedForInternalReasons()
// this text is generated when the \reimp command is used. // this text is generated when the \reimp command is used.
{ return "Aus internen Gr&uuml;nden neu implementiert. " { 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() QCString trWarning()
// this text is generated when the \warning command is used. // this text is generated when the \warning command is used.
{ return "Warnung"; } { return "Warnung"; }
QCString trBugsAndLimitations() QCString trBugsAndLimitations()
// this text is generated when the \bug command is used. // this text is generated when the \bug command is used.
{ return "Fehler und Einschr&auml;nkungen"; } { return "Fehler und Einschr&auml;nkungen"; }
QCString trVersion() QCString trVersion()
// this text is generated when the \version command is used. // this text is generated when the \version command is used.
{ return "Version"; } { return "Version"; }
QCString trDate() QCString trDate()
// this text is generated when the \date command is used. // this text is generated when the \date command is used.
{ return "Datum"; } { return "Datum"; }
QCString trAuthors() QCString trAuthors()
// this text is generated when the \author command is used. // this text is generated when the \author command is used.
{ return "Autor(en)"; } { return "Autor(en)"; }
QCString trReturns() QCString trReturns()
// this text is generated when the \return command is used. // this text is generated when the \return command is used.
{ return "R&uuml;ckgabe"; } { return "R&uuml;ckgabe"; }
QCString trSeeAlso() QCString trSeeAlso()
// this text is generated when the \sa command is used. // this text is generated when the \sa command is used.
{ return "Siehe auch"; } { return "Siehe auch"; }
QCString trParameters() QCString trParameters()
// this text is generated when the \param command is used. // this text is generated when the \param command is used.
{ return "Parameter"; } { return "Parameter"; }
QCString trExceptions() QCString trExceptions()
// this text is generated when the \exception command is used. // this text is generated when the \exception command is used.
{ return "Ausnahmebehandlung"; } { return "Ausnahmebehandlung"; }
QCString trGeneratedBy() QCString trGeneratedBy()
// this text is used in the title page of a LaTeX document. // this text is used in the title page of a LaTeX document.
{ return "Erzeugt von"; } { return "Erzeugt von"; }
// new since 0.49-990307 //////////////////////////////////////////////////////////////////////////
// new since 0.49-990307
//////////////////////////////////////////////////////////////////////////
QCString trNamespaceList() QCString trNamespaceList()
// used as the title of page containing all the index of all namespaces. // used as the title of page containing all the index of all namespaces.
{ return "Liste aller Namensbereiche"; } { return "Liste aller Namensbereiche"; }
QCString trNamespaceListDescription(bool extractAll) QCString trNamespaceListDescription(bool extractAll)
// used as an introduction to the namespace list // used as an introduction to the namespace list
{ {
QCString result="Lister aller "; QCString result="Liste aller ";
if (!extractAll) result+="dokumentierter "; if (!extractAll) result+="dokumentierten ";
result+="Namensbereiche mit Kurzbeschreibung:"; result+="Namensbereiche mit Kurzbeschreibung:";
return result; return result;
} }
QCString trFriends() QCString trFriends()
// used in the class documentation as a header before the list of all // used in the class documentation as a header before the list of all
// friends of a class // friends of a class
...@@ -427,6 +520,7 @@ class TranslatorGerman : public Translator ...@@ -427,6 +520,7 @@ class TranslatorGerman : public Translator
result+="referenz"; result+="referenz";
return result; return result;
} }
QCString trFileReference(const char *fileName) QCString trFileReference(const char *fileName)
// used as the title of the HTML page of a file // used as the title of the HTML page of a file
{ {
...@@ -434,6 +528,7 @@ class TranslatorGerman : public Translator ...@@ -434,6 +528,7 @@ class TranslatorGerman : public Translator
result+=" Dateireferenz"; result+=" Dateireferenz";
return result; return result;
} }
QCString trNamespaceReference(const char *namespaceName) QCString trNamespaceReference(const char *namespaceName)
// used as the title of the HTML page of a namespace // used as the title of the HTML page of a namespace
{ {
...@@ -445,24 +540,34 @@ class TranslatorGerman : public Translator ...@@ -445,24 +540,34 @@ class TranslatorGerman : public Translator
// these are for the member sections of a class, struct or union // these are for the member sections of a class, struct or union
QCString trPublicMembers() QCString trPublicMembers()
{ return "&Ouml;ffentliche Datenelemente"; } { return "&Ouml;ffentliche Datenelemente"; }
QCString trPublicSlots() QCString trPublicSlots()
{ return "&Ouml;ffentliche Slots"; } { return "&Ouml;ffentliche Slots"; }
QCString trSignals() QCString trSignals()
{ return "Signale"; } { return "Signale"; }
QCString trStaticPublicMembers() QCString trStaticPublicMembers()
{ return "&Ouml;ffentliche, statische Datenelemente"; } { return "&Ouml;ffentliche, statische Datenelemente"; }
QCString trProtectedMembers() QCString trProtectedMembers()
{ return "Gesch&uuml;tzte Datenelemente"; } { return "Gesch&uuml;tzte Datenelemente"; }
QCString trProtectedSlots() QCString trProtectedSlots()
{ return "Gesch&uuml;tzte Slots"; } { return "Gesch&uuml;tzte Slots"; }
QCString trStaticProtectedMembers() QCString trStaticProtectedMembers()
{ return "Gesch&uuml;tzte, statische Datenelemente"; } { return "Gesch&uuml;tzte, statische Datenelemente"; }
QCString trPrivateMembers() QCString trPrivateMembers()
{ return "Private Datenelemente"; } { return "Private Datenelemente"; }
QCString trPrivateSlots() QCString trPrivateSlots()
{ return "Private Slots"; } { return "Private Slots"; }
QCString trStaticPrivateMembers() QCString trStaticPrivateMembers()
{ return "Private, statische Datenelemente"; } { return "Private, statische Datenelemente"; }
// end of member sections // end of member sections
QCString trWriteList(int numEntries) QCString trWriteList(int numEntries)
...@@ -483,7 +588,7 @@ class TranslatorGerman : public Translator ...@@ -483,7 +588,7 @@ class TranslatorGerman : public Translator
if (i<numEntries-2) // not the fore last entry if (i<numEntries-2) // not the fore last entry
result+=", "; result+=", ";
else // the fore last entry else // the fore last entry
result+=", und "; result+=" und ";
} }
} }
return result; return result;
...@@ -495,18 +600,21 @@ class TranslatorGerman : public Translator ...@@ -495,18 +600,21 @@ class TranslatorGerman : public Translator
{ {
return "Abgeleitet von "+trWriteList(numEntries)+"."; return "Abgeleitet von "+trWriteList(numEntries)+".";
} }
QCString trInheritedByList(int numEntries) QCString trInheritedByList(int numEntries)
// used in class documentation to produce a list of super classes, // used in class documentation to produce a list of super classes,
// if class diagrams are disabled. // if class diagrams are disabled.
{ {
return "Basisklasse f&uuml;r "+trWriteList(numEntries)+"."; return "Basisklasse f&uuml;r "+trWriteList(numEntries)+".";
} }
QCString trReimplementedFromList(int numEntries) QCString trReimplementedFromList(int numEntries)
// used in member documentation blocks to produce a list of // used in member documentation blocks to produce a list of
// members that are hidden by this one. // members that are hidden by this one.
{ {
return "Implementiert von "+trWriteList(numEntries)+"."; return "Erneute Implementation von "+trWriteList(numEntries)+".";
} }
QCString trReimplementedInList(int numEntries) QCString trReimplementedInList(int numEntries)
{ {
// used in member documentation blocks to produce a list of // used in member documentation blocks to produce a list of
...@@ -517,11 +625,12 @@ class TranslatorGerman : public Translator ...@@ -517,11 +625,12 @@ class TranslatorGerman : public Translator
QCString trNamespaceMembers() QCString trNamespaceMembers()
// This is put above each page as a link to all members of namespaces. // This is put above each page as a link to all members of namespaces.
{ return "Elemente eines Namensbereiches"; } { return "Elemente eines Namensbereiches"; }
QCString trNamespaceMemberDescription(bool extractAll) QCString trNamespaceMemberDescription(bool extractAll)
// This is an introduction to the page with all namespace members // This is an introduction to the page with all namespace members
{ {
QCString result="Hier folgt die Aufz&auml;hlung aller "; QCString result="Hier folgt die Aufz&auml;hlung aller ";
if (!extractAll) result+="dokumentierter "; if (!extractAll) result+="dokumentierten ";
result+="Namensbereichselemente mit Verweisen auf "; result+="Namensbereichselemente mit Verweisen auf ";
if (extractAll) if (extractAll)
result+="die Namensbereichsdokumentation f&uuml;r jedes Element:"; result+="die Namensbereichsdokumentation f&uuml;r jedes Element:";
...@@ -529,21 +638,22 @@ class TranslatorGerman : public Translator ...@@ -529,21 +638,22 @@ class TranslatorGerman : public Translator
result+="die zugeh&ouml;rigen Dateien:"; result+="die zugeh&ouml;rigen Dateien:";
return result; return result;
} }
QCString trNamespaceIndex() QCString trNamespaceIndex()
// This is used in LaTeX as the title of the chapter with the // This is used in LaTeX as the title of the chapter with the
// index of all namespaces. // index of all namespaces.
{ return "Verzeichnis der Namensbereiche"; } { return "Verzeichnis der Namensbereiche"; }
QCString trNamespaceDocumentation() QCString trNamespaceDocumentation()
// This is used in LaTeX as the title of the chapter containing // This is used in LaTeX as the title of the chapter containing
// the documentation of all namespaces. // the documentation of all namespaces.
{ return "Dokumentation der Namensbereiche"; } { return "Dokumentation der Namensbereiche"; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990522 // 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. * namespaces in a file.
*/ */
virtual QCString trNamespaces() virtual QCString trNamespaces()
...@@ -553,7 +663,7 @@ class TranslatorGerman : public Translator ...@@ -553,7 +663,7 @@ class TranslatorGerman : public Translator
// new since 0.49-990728 // 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. * followed by a list of files that were used to generate the page.
*/ */
virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType, virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
...@@ -574,7 +684,7 @@ class TranslatorGerman : public Translator ...@@ -574,7 +684,7 @@ class TranslatorGerman : public Translator
return result; 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. * list.
*/ */
virtual QCString trAlphabeticalList() virtual QCString trAlphabeticalList()
...@@ -584,16 +694,16 @@ class TranslatorGerman : public Translator ...@@ -584,16 +694,16 @@ class TranslatorGerman : public Translator
// new since 0.49-990901 // 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() virtual QCString trReturnValues()
{ return "R&uuml;ckgabewerte"; } { 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() virtual QCString trMainPage()
{ return "Hauptseite"; } { 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. * documentation. It should be an abbreviation of the word page.
*/ */
virtual QCString trPageAbbreviation() virtual QCString trPageAbbreviation()
...@@ -607,10 +717,12 @@ class TranslatorGerman : public Translator ...@@ -607,10 +717,12 @@ class TranslatorGerman : public Translator
{ {
return "Quellen"; return "Quellen";
} }
virtual QCString trDefinedAtLineInSourceFile() virtual QCString trDefinedAtLineInSourceFile()
{ {
return "Definiert in Zeile @0 der Datei @1."; return "Definiert in Zeile @0 der Datei @1.";
} }
virtual QCString trDefinedInSourceFile() virtual QCString trDefinedInSourceFile()
{ {
return "Definiert in Datei @0."; return "Definiert in Datei @0.";
...@@ -629,69 +741,82 @@ class TranslatorGerman : public Translator ...@@ -629,69 +741,82 @@ class TranslatorGerman : public Translator
// new since 1.0.0 // 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) virtual QCString trCollaborationDiagram(const char *clName)
{ {
return (QCString)"Zusammengeh&ouml;rigkeiten von "+clName+":"; return (QCString)"Zusammengeh&ouml;rigkeiten von "+clName+":";
} }
//RK: Apparently Jens missed the Umlaut here. Corrected that. //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) virtual QCString trInclDepGraph(const char *fName)
{ {
return (QCString)"Include-Abh&auml;ngigkeitsdiagramm f&uuml;r "+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() virtual QCString trConstructorDocumentation()
{ {
return "Beschreibung der Konstruktoren und Destruktoren"; 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() virtual QCString trGotoSourceCode()
{ {
return "gehe zum Quellcode dieser Datei"; 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() virtual QCString trGotoDocumentation()
{ {
return "gehe zur Dokumentation dieser Datei"; return "gehe zur Dokumentation dieser Datei";
} }
/*! Text for the \pre command */
/* Text for the \pre command */
virtual QCString trPrecondition() virtual QCString trPrecondition()
{ {
return "Vorbedingung"; return "Vorbedingung";
} }
/*! Text for the \post command */
/* Text for the \post command */
virtual QCString trPostcondition() virtual QCString trPostcondition()
{ {
return "Nachbedingung"; return "Nachbedingung";
} }
/*! Text for the \invariant command */
/* Text for the \invariant command */
virtual QCString trInvariant() virtual QCString trInvariant()
{ {
return "Invariant"; return "Invariant";
} }
/*! Text shown before a multi-line variable/enum initialization */
/* Text shown before a multi-line variable/enum initialization */
virtual QCString trInitialValue() virtual QCString trInitialValue()
{ {
return "Initialisierung:"; return "Initialisierung:";
} }
/*! Text used the source code in the file index */
/* Text used the source code in the file index */
virtual QCString trCode() virtual QCString trCode()
{ {
return "code"; return "code";
} }
virtual QCString trGraphicalHierarchy() virtual QCString trGraphicalHierarchy()
{ {
return "Grafische Darstellung der Klassenhierarchie"; return "Grafische Darstellung der Klassenhierarchie";
} }
virtual QCString trGotoGraphicalHierarchy() virtual QCString trGotoGraphicalHierarchy()
{ {
return "gehe zur grafischen Darstellung der Klassenhierarchie"; return "gehe zur grafischen Darstellung der Klassenhierarchie";
} }
virtual QCString trGotoTextualHierarchy() virtual QCString trGotoTextualHierarchy()
{ {
return "gehe zur textbasierten Darstellung der Klassenhierarchie"; return "gehe zur textbasierten Darstellung der Klassenhierarchie";
} }
virtual QCString trPageIndex() virtual QCString trPageIndex()
{ {
return "Seitenindex"; return "Seitenindex";
...@@ -711,34 +836,42 @@ class TranslatorGerman : public Translator ...@@ -711,34 +836,42 @@ class TranslatorGerman : public Translator
{ {
return "&Ouml;ffentliche Typen"; return "&Ouml;ffentliche Typen";
} }
virtual QCString trPublicAttribs() virtual QCString trPublicAttribs()
{ {
return "&Ouml;ffentliche Attribute"; return "&Ouml;ffentliche Attribute";
} }
virtual QCString trStaticPublicAttribs() virtual QCString trStaticPublicAttribs()
{ {
return "Statische &ouml;ffentliche Attribute"; return "Statische &ouml;ffentliche Attribute";
} }
virtual QCString trProtectedTypes() virtual QCString trProtectedTypes()
{ {
return "Gesch&uuml;tzte Typen"; return "Gesch&uuml;tzte Typen";
} }
virtual QCString trProtectedAttribs() virtual QCString trProtectedAttribs()
{ {
return "Gesch&uuml;tzte Attribute"; return "Gesch&uuml;tzte Attribute";
} }
virtual QCString trStaticProtectedAttribs() virtual QCString trStaticProtectedAttribs()
{ {
return "Statische gesch&uuml;tzte Attribute"; return "Statische gesch&uuml;tzte Attribute";
} }
virtual QCString trPrivateTypes() virtual QCString trPrivateTypes()
{ {
return "Private Typen"; return "Private Typen";
} }
virtual QCString trPrivateAttribs() virtual QCString trPrivateAttribs()
{ {
return "Private Attribute"; return "Private Attribute";
} }
virtual QCString trStaticPrivateAttribs() virtual QCString trStaticPrivateAttribs()
{ {
return "Statische private Attribute"; return "Statische private Attribute";
...@@ -749,12 +882,13 @@ class TranslatorGerman : public Translator ...@@ -749,12 +882,13 @@ class TranslatorGerman : public Translator
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
//RK: Started from here //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() virtual QCString trTodo()
{ {
return "Noch zu erledigen"; return "Noch zu erledigen";
} }
/*! Used as the header of the todo list */
/* Used as the header of the todo list */
virtual QCString trTodoList() virtual QCString trTodoList()
{ {
return "Liste der zu erledigenden Dinge"; return "Liste der zu erledigenden Dinge";
...@@ -768,19 +902,23 @@ class TranslatorGerman : public Translator ...@@ -768,19 +902,23 @@ class TranslatorGerman : public Translator
{ {
return "Wird benutzt von"; return "Wird benutzt von";
} }
virtual QCString trRemarks() virtual QCString trRemarks()
{ {
return "Bemerkungen"; return "Bemerkungen";
} }
virtual QCString trAttention() virtual QCString trAttention()
{ {
return "Achtung"; return "Achtung";
} }
virtual QCString trInclByDepGraph() virtual QCString trInclByDepGraph()
{ {
return "Dieser Graph zeigt, welche Datei direkt oder " return "Dieser Graph zeigt, welche Datei direkt oder "
"indirekt diese Datei enth&auml;lt:"; "indirekt diese Datei enth&auml;lt:";
} }
virtual QCString trSince() virtual QCString trSince()
{ {
return "Seit"; return "Seit";
...@@ -790,12 +928,13 @@ class TranslatorGerman : public Translator ...@@ -790,12 +928,13 @@ class TranslatorGerman : public Translator
// new since 1.1.5 // new since 1.1.5
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/*! title of the graph legend page */ /* title of the graph legend page */
virtual QCString trLegendTitle() virtual QCString trLegendTitle()
{ {
return "Erkl&auml;rung des Graphen"; 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() virtual QCString trLegendDocs()
{ {
return return
...@@ -834,7 +973,7 @@ class TranslatorGerman : public Translator ...@@ -834,7 +973,7 @@ class TranslatorGerman : public Translator
"Die Rechtecke in obigem Graphen bedeuten:\n" "Die Rechtecke in obigem Graphen bedeuten:\n"
"<ul>\n" "<ul>\n"
"<li>Ein schwarz gef&uuml;lltes Rechteck stellt die Struktur oder " "<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 " "<li>Ein Rechteck mit schwarzem Rahmen kennzeichnet eine dokumentierte "
" Struktur oder Klasse.\n" " Struktur oder Klasse.\n"
"<li>Ein Rechteck mit grauem Rahmen kennzeichnet eine undokumentierte " "<li>Ein Rechteck mit grauem Rahmen kennzeichnet eine undokumentierte "
...@@ -856,7 +995,8 @@ class TranslatorGerman : public Translator ...@@ -856,7 +995,8 @@ class TranslatorGerman : public Translator
"an der Pfeilspitze zugegriffen werden kann. \n" "an der Pfeilspitze zugegriffen werden kann. \n"
"</ul>\n"; "</ul>\n";
} }
/*! text for the link to the legend page */
/* text for the link to the legend page */
virtual QCString trLegend() virtual QCString trLegend()
{ {
return "Legende"; return "Legende";
...@@ -866,12 +1006,13 @@ class TranslatorGerman : public Translator ...@@ -866,12 +1006,13 @@ class TranslatorGerman : public Translator
// new since 1.2.0 // 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() virtual QCString trTest()
{ {
return "Test"; return "Test";
} }
/*! Used as the header of the test list */
/* Used as the header of the test list */
virtual QCString trTestList() virtual QCString trTestList()
{ {
return "Test-Liste"; return "Test-Liste";
...@@ -881,7 +1022,7 @@ class TranslatorGerman : public Translator ...@@ -881,7 +1022,7 @@ class TranslatorGerman : public Translator
// new since 1.2.1 // 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() virtual QCString trDCOPMethods()
{ {
return "DCOP Methoden"; return "DCOP Methoden";
...@@ -891,18 +1032,93 @@ class TranslatorGerman : public Translator ...@@ -891,18 +1032,93 @@ class TranslatorGerman : public Translator
// new since 1.2.2 // new since 1.2.2
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/*! Used as a section header for IDL properties */ /* Used as a section header for IDL properties */
virtual QCString trProperties() virtual QCString trProperties()
{ {
return "Eigenschaften"; return "Eigenschaften";
} }
/*! Used as a section header for IDL property documentation */
/* Used as a section header for IDL property documentation */
virtual QCString trPropertyDocumentation() virtual QCString trPropertyDocumentation()
{ {
return "Dokumentation der Eigenschaften"; 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 #endif
...@@ -76,16 +76,6 @@ class TranslatorCroatian : public Translator ...@@ -76,16 +76,6 @@ class TranslatorCroatian : public Translator
{ return "Dokumentacija funkcija"; } { return "Dokumentacija funkcija"; }
QCString trMemberDataDocumentation() QCString trMemberDataDocumentation()
{ return "Documentacija varijabli"; } { 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() QCString trMore()
{ return decode("Opirnije..."); } { return decode("Opirnije..."); }
QCString trListOfAllMembers() QCString trListOfAllMembers()
......
...@@ -55,14 +55,6 @@ class TranslatorNorwegian : public Translator ...@@ -55,14 +55,6 @@ class TranslatorNorwegian : public Translator
QCString trMemberDataDocumentation() QCString trMemberDataDocumentation()
{ return "Dokumentasjon over datamedlemmer"; } { 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() QCString trMore()
{ return "Mer..."; } { return "Mer..."; }
......
...@@ -62,7 +62,7 @@ class TranslatorRussian : public Translator ...@@ -62,7 +62,7 @@ class TranslatorRussian : public Translator
} }
QCString trMemberDataDocumentation() QCString trMemberDataDocumentation()
{ {
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return " "; return " ";
} }
...@@ -123,7 +123,7 @@ class TranslatorRussian : public Translator ...@@ -123,7 +123,7 @@ class TranslatorRussian : public Translator
} }
QCString trCompoundList() QCString trCompoundList()
{ {
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return " "; return " ";
} }
...@@ -143,7 +143,7 @@ class TranslatorRussian : public Translator ...@@ -143,7 +143,7 @@ class TranslatorRussian : public Translator
} }
QCString trCompoundMembers() QCString trCompoundMembers()
{ {
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return " "; return " ";
} }
...@@ -154,7 +154,7 @@ class TranslatorRussian : public Translator ...@@ -154,7 +154,7 @@ class TranslatorRussian : public Translator
} }
QCString trFileMembers() QCString trFileMembers()
{ {
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return " "; return " ";
} }
...@@ -192,7 +192,7 @@ class TranslatorRussian : public Translator ...@@ -192,7 +192,7 @@ class TranslatorRussian : public Translator
} }
QCString trCompoundListDescription() QCString trCompoundListDescription()
{ {
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return " : "; return " : ";
} }
...@@ -219,7 +219,7 @@ class TranslatorRussian : public Translator ...@@ -219,7 +219,7 @@ class TranslatorRussian : public Translator
QCString result=" "; QCString result=" ";
if (!extractAll) result+=" "; if (!extractAll) result+=" ";
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
result+=", , , " result+=", , , "
" "; " ";
...@@ -269,7 +269,7 @@ class TranslatorRussian : public Translator ...@@ -269,7 +269,7 @@ class TranslatorRussian : public Translator
} }
QCString trCompoundIndex() QCString trCompoundIndex()
{ {
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return " "; return " ";
} }
...@@ -370,7 +370,7 @@ class TranslatorRussian : public Translator ...@@ -370,7 +370,7 @@ class TranslatorRussian : public Translator
} }
QCString trCompounds() QCString trCompounds()
{ {
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return " "; return " ";
} }
...@@ -730,7 +730,7 @@ class TranslatorRussian : public Translator ...@@ -730,7 +730,7 @@ class TranslatorRussian : public Translator
} }
QCString trPublicAttribs() QCString trPublicAttribs()
{ {
if (Config::instance()->getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return " "; return " ";
} }
......
...@@ -93,14 +93,6 @@ class TranslatorSwedish : public Translator ...@@ -93,14 +93,6 @@ class TranslatorSwedish : public Translator
QCString trMemberDataDocumentation() QCString trMemberDataDocumentation()
{ return "Dokumentation ver datamedlemmar"; } { 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() QCString trMore()
{ return "Mer..."; } { return "Mer..."; }
......
...@@ -62,13 +62,6 @@ class TranslatorSlovene : public Translator ...@@ -62,13 +62,6 @@ class TranslatorSlovene : public Translator
{ return "Opis metod"; } { return "Opis metod"; }
QCString trMemberDataDocumentation() QCString trMemberDataDocumentation()
{ return "Opis atributov"; } { 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() QCString trMore()
{ return "..."; } { return "..."; }
QCString trListOfAllMembers() QCString trListOfAllMembers()
......
/****************************************************************************** /*****************************************************************************
* *
* *
* *
...@@ -280,8 +280,8 @@ void writePageRef(OutputDocInterface &od,const char *cn,const char *mn) ...@@ -280,8 +280,8 @@ void writePageRef(OutputDocInterface &od,const char *cn,const char *mn)
od.disable(OutputGenerator::Html); od.disable(OutputGenerator::Html);
od.disable(OutputGenerator::Man); od.disable(OutputGenerator::Man);
if (Config::instance()->getBool("PDF_HYPERLINKS")) od.disable(OutputGenerator::Latex); if (Config_getBool("PDF_HYPERLINKS")) od.disable(OutputGenerator::Latex);
if (Config::instance()->getBool("RTF_HYPERLINKS")) od.disable(OutputGenerator::RTF); if (Config_getBool("RTF_HYPERLINKS")) od.disable(OutputGenerator::RTF);
od.startPageRef(); od.startPageRef();
od.docify(theTranslator->trPageAbbreviation()); od.docify(theTranslator->trPageAbbreviation());
od.endPageRef(cn,mn); od.endPageRef(cn,mn);
...@@ -301,11 +301,11 @@ QCString generateMarker(int id) ...@@ -301,11 +301,11 @@ QCString generateMarker(int id)
} }
/*! strip part of \a path if it matches /*! 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) 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) while (s)
{ {
QCString prefix = s; QCString prefix = s;
...@@ -313,7 +313,7 @@ QCString stripFromPath(const QCString &path) ...@@ -313,7 +313,7 @@ QCString stripFromPath(const QCString &path)
{ {
return path.right(path.length()-prefix.length()); return path.right(path.length()-prefix.length());
} }
s = Config::instance()->getList("STRIP_FROM_PATH").next(); s = Config_getList("STRIP_FROM_PATH").next();
} }
return path; return path;
} }
...@@ -812,7 +812,7 @@ QCString fileToString(const char *name,bool filter) ...@@ -812,7 +812,7 @@ QCString fileToString(const char *name,bool filter)
err("Error: file `%s' not found\n",name); err("Error: file `%s' not found\n",name);
return ""; return "";
} }
if (Config::instance()->getString("INPUT_FILTER").isEmpty() || !filter) if (Config_getString("INPUT_FILTER").isEmpty() || !filter)
{ {
f.setName(name); f.setName(name);
fileOpened=f.open(IO_ReadOnly); fileOpened=f.open(IO_ReadOnly);
...@@ -832,11 +832,11 @@ QCString fileToString(const char *name,bool filter) ...@@ -832,11 +832,11 @@ QCString fileToString(const char *name,bool filter)
} }
else // filter the input else // filter the input
{ {
QCString cmd=Config::instance()->getString("INPUT_FILTER")+" "+name; QCString cmd=Config_getString("INPUT_FILTER")+" "+name;
FILE *f=popen(cmd,"r"); FILE *f=popen(cmd,"r");
if (!f) 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 ""; return "";
} }
const int bSize=4096; const int bSize=4096;
...@@ -1761,7 +1761,7 @@ bool getDefs(const QCString &scName,const QCString &memberName, ...@@ -1761,7 +1761,7 @@ bool getDefs(const QCString &scName,const QCString &memberName,
//printf(" >Searching for arbitrary member\n"); //printf(" >Searching for arbitrary member\n");
for (mmli.toFirst();(mmd=mmli.current());++mmli) 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->hasDocumentation()
/*mmd->detailsAreVisible()*/ /*mmd->detailsAreVisible()*/
...@@ -2073,7 +2073,7 @@ bool generateRef(OutputDocInterface &od,const char *scName, ...@@ -2073,7 +2073,7 @@ bool generateRef(OutputDocInterface &od,const char *scName,
{ {
od.writeObjectLink(cd->getReference(), od.writeObjectLink(cd->getReference(),
cd->getOutputFileBase(),0,linkText); cd->getOutputFileBase(),0,linkText);
if (!cd->isReference() /*&& !Config::instance()->getBool("PDF_HYPERLINKS")*/) if (!cd->isReference() /*&& !Config_getBool("PDF_HYPERLINKS")*/)
{ {
writePageRef(od,cd->getOutputFileBase(),0); writePageRef(od,cd->getOutputFileBase(),0);
} }
...@@ -2082,7 +2082,7 @@ bool generateRef(OutputDocInterface &od,const char *scName, ...@@ -2082,7 +2082,7 @@ bool generateRef(OutputDocInterface &od,const char *scName,
{ {
od.writeObjectLink(nd->getReference(), od.writeObjectLink(nd->getReference(),
nd->getOutputFileBase(),0,linkText); nd->getOutputFileBase(),0,linkText);
if (!nd->getReference() /*&& !Config::instance()->getBool("PDF_HYPERLINKS")*/) if (!nd->getReference() /*&& !Config_getBool("PDF_HYPERLINKS")*/)
{ {
writePageRef(od,nd->getOutputFileBase(),0); writePageRef(od,nd->getOutputFileBase(),0);
} }
...@@ -2279,10 +2279,10 @@ bool generateLink(OutputDocInterface &od,const char *clName, ...@@ -2279,10 +2279,10 @@ bool generateLink(OutputDocInterface &od,const char *clName,
} }
else if ((pi=Doxygen::exampleSDict->find(linkRef))) // link to an example 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()) if (!pi->isReference())
{ {
writePageRef(od,convertFileName(pi->name)+"-example",0); writePageRef(od,convertNameToFile(pi->name+"-example"),0);
} }
return TRUE; return TRUE;
} }
...@@ -2359,33 +2359,6 @@ QCString substituteClassNames(const QCString &s) ...@@ -2359,33 +2359,6 @@ QCString substituteClassNames(const QCString &s)
} }
#endif #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' // substitute all occurences of `src' in `s' by `dst'
...@@ -2487,15 +2460,15 @@ QCString substituteKeywords(const QCString &s,const char *title) ...@@ -2487,15 +2460,15 @@ QCString substituteKeywords(const QCString &s,const char *title)
result = substitute(result,"$datetime",dateToString(TRUE)); result = substitute(result,"$datetime",dateToString(TRUE));
result = substitute(result,"$date",dateToString(FALSE)); result = substitute(result,"$date",dateToString(FALSE));
result = substitute(result,"$doxygenversion",versionString); result = substitute(result,"$doxygenversion",versionString);
result = substitute(result,"$projectname",Config::instance()->getString("PROJECT_NAME")); result = substitute(result,"$projectname",Config_getString("PROJECT_NAME"));
result = substitute(result,"$projectnumber",Config::instance()->getString("PROJECT_NUMBER")); result = substitute(result,"$projectnumber",Config_getString("PROJECT_NUMBER"));
return result; return result;
} }
//---------------------------------------------------------------------- //----------------------------------------------------------------------
/*! Returns the character index within \a name of the first prefix /*! 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 * or zero if no match was found
*/ */
int getPrefixIndex(const QCString &name) int getPrefixIndex(const QCString &name)
...@@ -2503,7 +2476,7 @@ int getPrefixIndex(const QCString &name) ...@@ -2503,7 +2476,7 @@ int getPrefixIndex(const QCString &name)
int ni = name.findRev("::"); int ni = name.findRev("::");
if (ni==-1) ni=0; else ni+=2; if (ni==-1) ni=0; else ni+=2;
//printf("getPrefixIndex(%s) ni=%d\n",name.data(),ni); //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) while (s)
{ {
const char *ps=s; const char *ps=s;
...@@ -2514,7 +2487,7 @@ int getPrefixIndex(const QCString &name) ...@@ -2514,7 +2487,7 @@ int getPrefixIndex(const QCString &name)
{ {
return ni+i; return ni+i;
} }
s = Config::instance()->getList("IGNORE_PREFIX").next(); s = Config_getList("IGNORE_PREFIX").next();
} }
return ni; return ni;
} }
...@@ -2562,8 +2535,70 @@ bool hasVisibleRoot(BaseClassList *bcl) ...@@ -2562,8 +2535,70 @@ bool hasVisibleRoot(BaseClassList *bcl)
return FALSE; return FALSE;
} }
//----------------------------------------------------------------------
#if 0
QCString convertFileName(const QCString &s)
{
if (Config_getBool("SHORT_NAMES"))
{
printf("convertFileName(%s)\n",s.data());
return convertNameToFile(s,FALSE);
}
QCString result;
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) 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; QCString result;
char c; char c;
const char *p=name; const char *p=name;
...@@ -2571,25 +2606,34 @@ QCString convertNameToFile(const char *name,bool allowDots) ...@@ -2571,25 +2606,34 @@ QCString convertNameToFile(const char *name,bool allowDots)
{ {
switch(c) switch(c)
{ {
case ':': result+="_"; break; case '_': result+="__"; break;
case '<': result+="_lt"; break; case '-': result+="-"; break;
case '>': result+="_gt"; break; case ':': result+="_1"; break;
case '*': result+="_ast"; break; case '/': result+="_2"; break;
case '&': result+="_amp"; break; case '<': result+="_3"; break;
case '|': result+="_p_"; break; case '>': result+="_4"; break;
case '!': result+="_e_"; break; case '*': result+="_5"; break;
case ',': result+="_x_"; break; case '&': result+="_6"; break;
case '.': if (allowDots) result+="."; else result+="_"; break; case '|': result+="_7"; break;
case ' ': break; case '.': if (allowDots) result+="."; else result+="_8"; break;
case '!': result+="_9"; break;
case ',': result+="_00"; break;
case ' ': result+="_01"; break;
default: default:
if (Config::instance()->getBool("CASE_SENSE_NAMES")) if (Config_getBool("CASE_SENSE_NAMES") || !isupper(c))
{
result+=c; result+=c;
}
else else
{
result+="_";
result+=tolower(c); result+=tolower(c);
}
break; break;
} }
} }
return result; return result;
}
} }
/*! Input is a scopeName, output is the scopename split into a /*! Input is a scopeName, output is the scopename split into a
......
...@@ -97,7 +97,7 @@ extern bool matchArguments(ArgumentList *,ArgumentList *, ...@@ -97,7 +97,7 @@ extern bool matchArguments(ArgumentList *,ArgumentList *,
NamespaceList *usingList=0); NamespaceList *usingList=0);
extern void mergeArguments(ArgumentList *,ArgumentList *); extern void mergeArguments(ArgumentList *,ArgumentList *);
extern QCString substituteClassNames(const QCString &s); 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 substitute(const char *s,const char *src,const char *dst);
extern QCString resolveDefines(const char *n); extern QCString resolveDefines(const char *n);
extern ClassDef *getClass(const char *key); 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