Commit c0848481 authored by dimitri's avatar dimitri

Doxygen-1.2.6-20010408

parent 790edce0
......@@ -53,7 +53,7 @@ WARN_LOGFILE =
#---------------------------------------------------------------------------
INPUT = src
FILE_PATTERNS = *.h \
*.cpp \
*.cpp
RECURSIVE = NO
EXCLUDE = src/code.cpp \
src/config.cpp \
......
DOXYGEN Version 1.2.6-20010401
DOXYGEN Version 1.2.6-20010408
Please read the installation section of the manual for instructions.
--------
Dimitri van Heesch (01 April 2001)
Dimitri van Heesch (08 April 2001)
DOXYGEN Version 1.2.6-20010401
DOXYGEN Version 1.2.6-20010408
Please read INSTALL for compilation instructions.
......@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
Enjoy,
Dimitri van Heesch (01 April 2001)
Dimitri van Heesch (08 April 2001)
1.2.6-20010401
1.2.6-20010408
/******************************************************************************
*
*
* $Id$
*
* Copyright (C) 1997-2001 by Dimitri van Heesch.
*
......
/******************************************************************************
*
*
* $Id$
*
* Copyright (C) 1997-2001 by Dimitri van Heesch.
*
......
......@@ -191,7 +191,7 @@ Doxygen. Unrecognized commands are treated as normal text.
Indicates that a comment block contains documentation for a
\ref modules "group" of classes, files or namespaces. This can be used to
categorize classes, files or namespaces, and document those
categories. You can also uses groups as members of other groups,
categories. You can also use groups as members of other groups,
thus building a hierarchy of groups.
The \<name\> argument should an single word identifier.
......@@ -639,7 +639,7 @@ Public/Protected/Private/... section.
\addindex \if
Starts a conditional documentation section. The section ends
with a matching \c \endif command. A conditional section is
disable by default. To enable it you must put the
disabled by default. To enable it you must put the
section-label after the \ref cfg_enabled_sections "ENABLED_SECTIONS"
tag in the configuration
file. Conditional blocks can be nested. A nested section is
......@@ -900,7 +900,7 @@ Public/Protected/Private/... section.
\subsection cmdanchor \anchor <word>
\addindex \anchor
This command places an invisible, named anchor into to documentation
This command places an invisible, named anchor into the documentation
to which you can refer with the \\ref command.
\sa section \ref cmdref "\\ref".
......@@ -1235,13 +1235,13 @@ Public/Protected/Private/... section.
will result in the following text:<br><br>
... this is a \e really good example ...
Equvalent to \ref cmdem "\\em"
Equivalent to \ref cmdem "\\em"
<hr>
\subsection cmdem \em <word>
\addindex \e
Displays the argument \<word\> in italics.
Displayis the argument \<word\> in italics.
Use this command to emphasize words.
\par Example:
......
......@@ -68,7 +68,7 @@ follow these steps:
documentation. Apart from the documentation, Doxygen will create the
following files:
<ul>
<li>A small shell script. the name of the script is determined by the
<li>A small shell script. The name of the script is determined by the
\c CGI_NAME tag in the configuration file.
The script is a small wrapper that calls \c doxysearch with
the correct parameters. Using this script allows multiple
......
......@@ -73,7 +73,7 @@ Alternatively, you can put all members in a group (or module)
using the \\ingroup command and then document the group using a comment
block containing the \\defgroup command.
<li><b>How can I avoid that some code fragment is parsed by Doxyen?</b>
<li><b>How can I make doxygen ignore some code fragment?</b>
<p>
You can use Doxygen's preprocessor for this:
If you put
......@@ -164,7 +164,7 @@ In the HEAD section of the HTML page.
<li><b>Why does doxygen use Qt?</b>
The most important reason is too have a platform abstraction for most
The most important reason is to have a platform abstraction for most
Unices and Windows by means of the QFile, QFileInfo, QDir, QDate,
QTime and QIODevice classes.
Another reason is for the nice and bug free utility classes, like QList,
......
......@@ -111,11 +111,11 @@ format.
The default output directory is the directory in which \c doxygen
is started. The directory to which the output is written can be changed
using the \ref cfg_output_directory "OUTPUT_DIRECTORY" ,
\ref cfg_html_output "HTML_OUTPUT", \ref cfg_latex_output "LATEX_OUTPUT",
and \ref cfg_man_output "MAN_OUTPUT" tags of the configuration file.
If the output directory does not exist, \c doxygen will try to create it
for you.
using the \ref cfg_output_directory "OUTPUT_DIRECTORY",
\ref cfg_html_output "HTML_OUTPUT", \ref cfg_rtf_output "RTF_OUTPUT",
\ref cfg_latex_output "LATEX_OUTPUT", and \ref cfg_man_output "MAN_OUTPUT"
tags of the configuration file. If the output directory does not exist,
\c doxygen will try to create it for you.
\addindex browser
The generated HTML documentation can be viewed by pointing a HTML browser
......
......@@ -28,11 +28,13 @@ type makeconfig > doc\Makefile
type doc\Makefile.win_%MAKE%.in >>doc\Makefile
REM build in release or debug mode
type qtools\qtools.pro.in | sed "s/\$extraopts/%MODE%/g" >qtools\qtools.pro
type src\libdoxygen.pro.in | sed "s/\$extraopts/%MODE%/g" >src\libdoxygen.pro
type src\doxygen.pro.in | sed "s/\$extraopts/%MODE%/g" >src\doxygen.pro
type src\doxytag.pro.in | sed "s/\$extraopts/%MODE%/g" >src\doxytag.pro
type src\doxysearch.pro.in | sed "s/\$extraopts/%MODE%/g" >src\doxysearch.pro
REM sed is used to replace $extraopts by either debug or release while copying
sed "s/\$extraopts/%MODE%/g" qtools\qtools.pro.in >qtools\qtools.pro
sed "s/\$extraopts/%MODE%/g" src\libdoxygen.pro.in >src\libdoxygen.pro
sed "s/\$extraopts/%MODE%/g" src\libdoxycfg.pro.in >src\libdoxycfg.pro
sed "s/\$extraopts/%MODE%/g" src\doxygen.pro.in >src\doxygen.pro
sed "s/\$extraopts/%MODE%/g" src\doxytag.pro.in >src\doxytag.pro
sed "s/\$extraopts/%MODE%/g" src\doxysearch.pro.in >src\doxysearch.pro
REM run make
%MAKE%.exe
......
Name: doxygen
Version: 1.2.6-20010401
Version: 1.2.6-20010408
Summary: documentation system for C, C++ and IDL
Release: 1
Source0: doxygen-%{version}.src.tar.gz
Source0: doxygen_%{version}.src.tar.gz
Copyright: GPL
Group: unsorted
......
This diff is collapsed.
......@@ -66,7 +66,9 @@ class ClassDef : public Definition
Exception=Entry::EXCEPTION_SEC
};
DefType definitionType() { return TypeClass; }
QCString getOutputFileBase() const { return fileName; }
QCString getOutputFileBase() const;
QCString getFileBase() const;
QCString getSourceFileBase() const;
/*! Returns the name as it is appears in the documentation */
QCString displayName() const;
......
......@@ -61,7 +61,7 @@ void ClassList::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *fi
)
{
bool isLink = cd->isLinkable();
if (isLink || !Config::instance()->getBool("HIDE_UNDOC_CLASSES"))
if (isLink || !Config_getBool("HIDE_UNDOC_CLASSES"))
{
if (!found)
{
......@@ -78,7 +78,7 @@ void ClassList::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *fi
ol.startMemberList();
found=TRUE;
}
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <class kind=\"" << cd->compoundTypeString()
<< "\">" << convertToXML(cd->name()) << "</class>" << endl;
......@@ -107,7 +107,7 @@ void ClassList::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *fi
{
ol.startMemberDescription();
parseDoc(ol,cd->getDefFileName(),cd->getDefLine(),cd->name(),0,cd->briefDescription());
if ((!cd->briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF")) ||
if ((!cd->briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) ||
!cd->documentation().isEmpty())
{
ol.pushGeneratorState();
......
......@@ -1361,7 +1361,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
<RemoveSpecialCComment>\n { g_yyLineNr++; }
<RemoveSpecialCComment>.
<*>\n({B}*"//"[!/][^\n]*\n)+ { // remove special one-line comment
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
g_yyLineNr+=((QCString)yytext).contains('\n');
endCodeLine();
......@@ -1378,7 +1378,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<*>\n{B}*"//@"[{}].*\n { // remove one-line group marker
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
g_yyLineNr+=2;
endCodeLine();
......@@ -1395,7 +1395,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<*>\n{B}*"/*@"[{}] { // remove one-line group marker
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
g_lastSpecialCContext = YY_START;
g_yyLineNr++;
......@@ -1414,7 +1414,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<*>^{B}*"//@"[{}].*\n { // remove one-line group marker
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
g_yyLineNr++;
endCodeLine();
......@@ -1431,7 +1431,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<*>^{B}*"/*@"[{}] { // remove multi-line group marker
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
g_lastSpecialCContext = YY_START;
BEGIN(RemoveSpecialCComment);
......@@ -1449,7 +1449,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<*>^{B}*"//"[!/][^\n]*\n { // remove special one-line comment
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
g_yyLineNr++;
endCodeLine();
......@@ -1466,7 +1466,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<*>"//"[!/][^\n]*\n { // strip special one-line comment
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
char c[2]; c[0]='\n'; c[1]=0;
codifyLines(c);
......@@ -1479,7 +1479,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<*>\n{B}*"/*"[!*]/[^/*] {
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
g_lastSpecialCContext = YY_START;
g_yyLineNr++;
......@@ -1498,7 +1498,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<*>^{B}*"/*"[!*]/[^/*] { // special C comment block at a new line
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
g_lastSpecialCContext = YY_START;
BEGIN(RemoveSpecialCComment);
......@@ -1516,7 +1516,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<*>"/*"[!*]/[^/*] { // special C comment block half way a line
if (Config::instance()->getBool("STRIP_CODE_COMMENTS"))
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
g_lastSpecialCContext = YY_START;
BEGIN(RemoveSpecialCComment);
......@@ -1533,7 +1533,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
BEGIN(SkipComment);
}
}
<*>"/*"("!"?)"*/" { if (!Config::instance()->getBool("STRIP_CODE_COMMENTS"))
<*>"/*"("!"?)"*/" { if (!Config_getBool("STRIP_CODE_COMMENTS"))
{
startFontClass("comment");
g_code->codify(yytext);
......@@ -1622,7 +1622,10 @@ void parseCode(OutputDocInterface &od,const char *className,const QCString &s,
g_searchingForBody = FALSE;
g_insideBody = FALSE;
g_bracketCount = 0;
g_exampleFile = convertFileName(g_exampleName)+"-example";
if (!g_exampleName.isEmpty())
{
g_exampleFile = convertNameToFile(g_exampleName+"-example");
}
g_includeCodeFragment = inlineFragment;
startCodeLine();
g_type.resize(0);
......
......@@ -327,6 +327,12 @@ class ConfigBool : public ConfigOption
bool m_defValue;
};
#define Config_getString(val) Config::instance()->getString(__FILE__,__LINE__,val)
#define Config_getInt(val) Config::instance()->getInt(__FILE__,__LINE__,val)
#define Config_getList(val) Config::instance()->getList(__FILE__,__LINE__,val)
#define Config_getEnum(val) Config::instance()->getEnum(__FILE__,__LINE__,val)
#define Config_getBool(val) Config::instance()->getBool(__FILE__,__LINE__,val)
/*! \brief Singleton for configuration variables.
*
* This object holds the global static variables
......@@ -357,11 +363,11 @@ struct Config
////////////////////////
// get functions
////////////////////////
QCString &getString(const char *name) const;
QStrList &getList(const char *name) const;
QCString &getEnum(const char *name) const;
int &getInt(const char *name) const;
bool &getBool(const char *name) const;
QCString &getString(const char *fileName,int num,const char *name) const;
QStrList &getList(const char *fileName,int num,const char *name) const;
QCString &getEnum(const char *fileName,int num,const char *name) const;
int &getInt(const char *fileName,int num,const char *name) const;
bool &getBool(const char *fileName,int num,const char *name) const;
ConfigOption *get(const char *name) const
{
return m_dict->find(name);
......
This diff is collapsed.
......@@ -42,5 +42,5 @@ Define::~Define()
bool Define::hasDocumentation()
{
return definition && (doc || Config::instance()->getBool("EXTRACT_ALL"));
return definition && (doc || Config_getBool("EXTRACT_ALL"));
}
......@@ -17,6 +17,7 @@
#include "qtbc.h"
#include <ctype.h>
#include <qregexp.h>
#include "config.h"
#include "definition.h"
#include "doxygen.h"
......@@ -25,7 +26,7 @@
#include "outputlist.h"
#include "doc.h"
#include "code.h"
#include <qregexp.h>
#include "util.h"
Definition::Definition(const char *df,int dl,
const char *name,const char *b,const char *d)
......@@ -52,37 +53,6 @@ Definition::~Definition()
delete sourceRefDict;
}
QCString Definition::nameToFile(const char *name,bool allowDots)
{
return convertNameToFile(name,allowDots);
#if 0
QCString result;
char c;
const char *p=name;
while ((c=*p++)!=0)
{
switch(c)
{
case ':': result+="_"; break;
case '<': result+="_lt"; break;
case '>': result+="_gt"; break;
case '*': result+="_ast"; break;
case '&': result+="_amp"; break;
case '|': result+="_p_"; break;
case '!': result+="_e_"; break;
case ',': result+="_x_"; break;
case ' ': break;
default:
if (Config::instance()->getBool("CASE_SENSE_NAMES"))
result+=c;
else
result+=tolower(c);
break;
}
}
return result;
#endif
}
void Definition::addSectionsToDefinition(QList<QCString> *anchorList)
{
......@@ -111,7 +81,7 @@ void Definition::addSectionsToDefinition(QList<QCString> *anchorList)
void Definition::writeDocAnchorsToTagFile()
{
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty() && sectionDict)
if (!Config_getString("GENERATE_TAGFILE").isEmpty() && sectionDict)
{
QDictIterator<SectionInfo> sdi(*sectionDict);
SectionInfo *si;
......@@ -183,7 +153,7 @@ static bool readCodeFragment(const char *fileName,
}
else if (c=='\t')
{
col+=Config::instance()->getInt("TAB_SIZE") - (col%Config::instance()->getInt("TAB_SIZE"));
col+=Config_getInt("TAB_SIZE") - (col%Config_getInt("TAB_SIZE"));
}
else
{
......@@ -249,7 +219,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *)
{
ol.pushGeneratorState();
//printf("Definition::writeSourceRef %d %p\n",bodyLine,bodyDef);
if (Config::instance()->getBool("SOURCE_BROWSER") && startBodyLine!=-1 && bodyDef)
if (Config_getBool("SOURCE_BROWSER") && startBodyLine!=-1 && bodyDef)
{
//ol.disable(OutputGenerator::RTF);
ol.newParagraph();
......@@ -269,7 +239,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *)
parseText(ol,refText.left(lineMarkerPos));
ol.disableAllBut(OutputGenerator::Html);
// write line link (HTML only)
ol.writeObjectLink(0,bodyDef->sourceName(),
ol.writeObjectLink(0,bodyDef->getSourceFileBase(),
anchorStr,lineStr);
ol.enableAll();
ol.disable(OutputGenerator::Html);
......@@ -283,7 +253,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *)
ol.disableAllBut(OutputGenerator::Html);
// write file link (HTML only)
ol.writeObjectLink(0,bodyDef->sourceName(),
ol.writeObjectLink(0,bodyDef->getSourceFileBase(),
0,bodyDef->name());
ol.enableAll();
ol.disable(OutputGenerator::Html);
......@@ -301,7 +271,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *)
parseText(ol,refText.left(fileMarkerPos));
ol.disableAllBut(OutputGenerator::Html);
// write file link (HTML only)
ol.writeObjectLink(0,bodyDef->sourceName(),
ol.writeObjectLink(0,bodyDef->getSourceFileBase(),
0,bodyDef->name());
ol.enableAll();
ol.disable(OutputGenerator::Html);
......@@ -315,7 +285,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *)
ol.disableAllBut(OutputGenerator::Html);
// write line link (HTML only)
ol.writeObjectLink(0,bodyDef->sourceName(),
ol.writeObjectLink(0,bodyDef->getSourceFileBase(),
anchorStr,lineStr);
ol.enableAll();
ol.disable(OutputGenerator::Html);
......@@ -346,7 +316,7 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName)
ol.pushGeneratorState();
//printf("Source Fragment %s: %d-%d bodyDef=%p\n",name().data(),
// startBodyLine,endBodyLine,bodyDef);
if (Config::instance()->getBool("INLINE_SOURCES") && startBodyLine!=-1 &&
if (Config_getBool("INLINE_SOURCES") && startBodyLine!=-1 &&
endBodyLine>=startBodyLine && bodyDef)
{
QCString codeFragment;
......@@ -373,7 +343,7 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName)
void Definition::writeSourceRefs(OutputList &ol,const char *scopeName)
{
ol.pushGeneratorState();
if (Config::instance()->getBool("SOURCE_BROWSER") && sourceRefList)
if (Config_getBool("SOURCE_BROWSER") && sourceRefList)
{
ol.newParagraph();
parseText(ol,theTranslator->trReferencedBy());
......@@ -406,7 +376,7 @@ void Definition::writeSourceRefs(OutputList &ol,const char *scopeName)
ol.disableAllBut(OutputGenerator::Html);
QCString lineStr,anchorStr;
anchorStr.sprintf("l%05d",md->getStartBodyLine());
ol.writeObjectLink(0,md->getBodyDef()->sourceName(),anchorStr,name);
ol.writeObjectLink(0,md->getBodyDef()->getSourceFileBase(),anchorStr,name);
ol.popGeneratorState();
// for the other output formats just mention the name
......@@ -434,7 +404,7 @@ bool Definition::hasDocumentation()
{
return !doc.isEmpty() || // has detailed docs
!brief.isEmpty() || // has brief description
Config::instance()->getBool("EXTRACT_ALL"); // extract everything
Config_getBool("EXTRACT_ALL"); // extract everything
}
void Definition::addSourceReference(MemberDef *md)
......
......@@ -53,7 +53,7 @@ class Definition
*/
virtual QCString getOutputFileBase() const = 0;
/*! Returns the name of the source listing of this file. */
const QCString sourceName() const { return getOutputFileBase()+"-source"; }
const QCString getSourceFileBase() const { ASSERT(0); return "NULL"; }
/*! Returns the detailed description of this definition */
const QCString& documentation() const { return doc; }
/*! Returns the brief description of this definition */
......@@ -81,14 +81,6 @@ class Definition
void setReference(const char *r) { ref=r; }
QCString getReference() const { return ref; }
/*! returns the base file name that corresponds with the \a name of this
* definition. This replaces a number of special characters in the
* name by string that are more suitable to use in file names.
* The function getOutputFileBase() also uses this function in most cases.
* \sa setName(),Definition()
*/
QCString nameToFile(const char *name,bool allowDot=FALSE);
/*! Add the list of anchors that mark the sections that are found in the
* documentation.
*/
......
......@@ -205,7 +205,7 @@ QCString DiagramItem::label() const
{
result=classDef->name();
}
if (Config::instance()->getBool("HIDE_SCOPE_NAMES")) result=stripScope(result);
if (Config_getBool("HIDE_SCOPE_NAMES")) result=stripScope(result);
return result;
}
......@@ -1233,7 +1233,7 @@ void ClassDiagram::writeFigure(QTextStream &output,const char *path,
super->drawConnectors(t,0,FALSE,FALSE,baseRows,superRows,0,0);
f1.close();
if (Config::instance()->getBool("USE_PDFLATEX"))
if (Config_getBool("USE_PDFLATEX"))
{
QCString epstopdfArgs(4096);
epstopdfArgs.sprintf("\"%s.eps\" --outfile=\"%s.pdf\"",
......
......@@ -547,7 +547,7 @@ static void addListItemMarker(const char *marker,int dashPos,bool enumerated)
//printf("Parsed[%d]=%d\n",i,marker[i]);
if (marker[i]=='\t')
{
indent+=Config::instance()->getInt("TAB_SIZE") - (indent%Config::instance()->getInt("TAB_SIZE"));
indent+=Config_getInt("TAB_SIZE") - (indent%Config_getInt("TAB_SIZE"));
}
else if (marker[i]=='\n')
{
......@@ -678,13 +678,13 @@ static QCString findAndCopyImage(const char *fileName,ImageTypes type)
switch(type)
{
case IT_Html:
outputDir = Config::instance()->getString("HTML_OUTPUT");
outputDir = Config_getString("HTML_OUTPUT");
break;
case IT_Latex:
outputDir = Config::instance()->getString("LATEX_OUTPUT");
outputDir = Config_getString("LATEX_OUTPUT");
break;
case IT_RTF:
outputDir = Config::instance()->getString("RTF_OUTPUT");
outputDir = Config_getString("RTF_OUTPUT");
break;
}
QCString outputFile = outputDir+"/"+result;
......@@ -1009,7 +1009,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
outDoc->codify(c);
}
<DocScan>{CMD}"internal"/{BN} {
if (!Config::instance()->getBool("INTERNAL_DOCS"))
if (!Config_getBool("INTERNAL_DOCS"))
{
outDoc->newParagraph();
scanString(theTranslator->trForInternalUseOnly()+"\n");
......@@ -1328,7 +1328,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
}
}
<DocScan>"\\todo "[0-9]+ { // this tag is generated in an earlier pass
if (Config::instance()->getBool("GENERATE_TODOLIST"))
if (Config_getBool("GENERATE_TODOLIST"))
{
QCString numStr=yytext;
numStr=numStr.right(numStr.length()-6);
......@@ -1350,7 +1350,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
}
}
<DocScan>"\\test "[0-9]+ { // this tag is generated in an earlier pass
if (Config::instance()->getBool("GENERATE_TESTLIST"))
if (Config_getBool("GENERATE_TESTLIST"))
{
QCString numStr=yytext;
numStr=numStr.right(numStr.length()-6);
......@@ -1372,7 +1372,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
}
}
<DocScan>"\\bug "[0-9]+ { // this tag is generated in an earlier pass
if (Config::instance()->getBool("GENERATE_BUGLIST"))
if (Config_getBool("GENERATE_BUGLIST"))
{
QCString numStr=yytext;
numStr=numStr.right(numStr.length()-5);
......@@ -1656,7 +1656,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
}
}
<DocIf>[^\n\t ]+ {
if (Config::instance()->getList("ENABLED_SECTIONS").find(yytext)==-1)
if (Config_getList("ENABLED_SECTIONS").find(yytext)==-1)
{
outDoc->disableAll();
}
......
This diff is collapsed.
This diff is collapsed.
......@@ -41,8 +41,8 @@ FileDef::FileDef(const char *p,const char *nm,const char *lref)
{
path=p;
filepath=path+nm;
filename=nameToFile(nm,TRUE);
diskname=nameToFile(nm,FALSE);
filename=nm;
diskname=nm;
setReference(lref);
classList = new ClassList;
includeList = new QList<IncludeInfo>;
......@@ -60,7 +60,7 @@ FileDef::FileDef(const char *p,const char *nm,const char *lref)
package = 0;
isSource = FALSE;
docname = nm;
if (Config::instance()->getBool("FULL_PATH_NAMES"))
if (Config_getBool("FULL_PATH_NAMES"))
{
docname.prepend(stripFromPath(path.copy()));
}
......@@ -109,7 +109,7 @@ void FileDef::writeDocumentation(OutputList &ol)
//funcList->countDecMembers();
//QCString fn = name();
//if (Config::instance()->getBool("FULL_PATH_NAMES"))
//if (Config_getBool("FULL_PATH_NAMES"))
//{
// fn.prepend(stripFromPath(getPath().copy()));
//}
......@@ -117,18 +117,18 @@ void FileDef::writeDocumentation(OutputList &ol)
//printf("WriteDocumentation %p diskname=%s\n",this,diskname.data());
QCString pageTitle=name()+" File Reference";
startFile(ol,diskname,pageTitle);
startFile(ol,getOutputFileBase(),pageTitle);
startTitle(ol,getOutputFileBase());
parseText(ol,theTranslator->trFileReference(docname));
endTitle(ol,getOutputFileBase(),docName());
//ol.newParagraph();
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <compound kind=\"file\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(name()) << "</name>" << endl;
Doxygen::tagFile << " <path>" << convertToXML(getPath()) << "</path>" << endl;
Doxygen::tagFile << " <filename>" << convertToXML(diskname) << ".html</filename>" << endl;
Doxygen::tagFile << " <filename>" << convertToXML(getOutputFileBase()) << ".html</filename>" << endl;
}
ol.startTextBlock();
......@@ -153,7 +153,7 @@ void FileDef::writeDocumentation(OutputList &ol)
}
ol.writeSynopsis();
if (Config::instance()->getBool("SHOW_INCLUDE_FILES"))
if (Config_getBool("SHOW_INCLUDE_FILES"))
{
ol.startTextBlock(TRUE);
QListIterator<IncludeInfo> ili(*includeList);
......@@ -200,7 +200,7 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.endTextBlock();
}
if (Config::instance()->getBool("HAVE_DOT") && Config::instance()->getBool("INCLUDE_GRAPH"))
if (Config_getBool("HAVE_DOT") && Config_getBool("INCLUDE_GRAPH"))
{
//printf("Graph for file %s\n",name().data());
DotInclDepGraph incDepGraph(this,FALSE);
......@@ -213,10 +213,10 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.endInclDepGraph(incDepGraph);
ol.enableAll();
}
//incDepGraph.writeGraph(Config::instance()->getString("HTML_OUTPUT"),fd->getOutputFileBase());
//incDepGraph.writeGraph(Config_getString("HTML_OUTPUT"),fd->getOutputFileBase());
}
if (Config::instance()->getBool("HAVE_DOT") && Config::instance()->getBool("INCLUDED_BY_GRAPH"))
if (Config_getBool("HAVE_DOT") && Config_getBool("INCLUDED_BY_GRAPH"))
{
//printf("Graph for file %s\n",name().data());
DotInclDepGraph incDepGraph(this,TRUE);
......@@ -229,7 +229,7 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.endInclDepGraph(incDepGraph);
ol.enableAll();
}
//incDepGraph.writeGraph(Config::instance()->getString("HTML_OUTPUT"),fd->getOutputFileBase());
//incDepGraph.writeGraph(Config_getString("HTML_OUTPUT"),fd->getOutputFileBase());
}
//printf("%s: generateSourceFile()=%d\n",name().data(),generateSourceFile());
......@@ -280,7 +280,7 @@ void FileDef::writeDocumentation(OutputList &ol)
0,
nd->name()
);
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <namespace>" << convertToXML(nd->name()) << "</namespace>" << endl;
}
......@@ -317,7 +317,7 @@ void FileDef::writeDocumentation(OutputList &ol)
//doc=doc.stripWhiteSpace();
//int bl=brief.length();
//int dl=doc.length();
if ((!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF")) ||
if ((!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) ||
!documentation().isEmpty()
/* || startBodyLine!=-1 */
)
......@@ -334,11 +334,11 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.startGroupHeader();
parseText(ol,theTranslator->trDetailedDescription());
ol.endGroupHeader();
if (!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF"))
if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF"))
{
ol+=briefOutput;
}
if (!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF") &&
if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF") &&
!documentation().isEmpty())
{
ol.newParagraph();
......@@ -350,7 +350,7 @@ void FileDef::writeDocumentation(OutputList &ol)
parseDoc(ol,filepath,1,0,0,documentation()+"\n");
}
//printf("Writing source ref for file %s\n",name().data());
if (Config::instance()->getBool("SOURCE_BROWSER"))
if (Config_getBool("SOURCE_BROWSER"))
{
ol.newParagraph();
QCString refText = theTranslator->trDefinedInSourceFile();
......@@ -358,7 +358,7 @@ void FileDef::writeDocumentation(OutputList &ol)
if (fileMarkerPos!=-1) // should always pass this.
{
parseText(ol,refText.left(fileMarkerPos)); //text left from marker 1
ol.writeObjectLink(0,sourceName(),
ol.writeObjectLink(0,getSourceFileBase(),
0,name());
parseText(ol,refText.right(
refText.length()-fileMarkerPos-2)); // text right from marker 2
......@@ -431,10 +431,10 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.startGroupHeader();
parseText(ol,theTranslator->trAuthor());
ol.endGroupHeader();
parseText(ol,theTranslator->trGeneratedAutomatically(Config::instance()->getString("PROJECT_NAME")));
parseText(ol,theTranslator->trGeneratedAutomatically(Config_getString("PROJECT_NAME")));
ol.enableAll();
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
writeDocAnchorsToTagFile();
Doxygen::tagFile << " </compound>" << endl;
......@@ -447,7 +447,7 @@ void FileDef::writeDocumentation(OutputList &ol)
void FileDef::writeSource(OutputList &ol)
{
ol.disableAllBut(OutputGenerator::Html);
startFile(ol,sourceName(),docname+" Source File");
startFile(ol,getSourceFileBase(),docname+" Source File");
startTitle(ol,0);
parseText(ol,docname);
endTitle(ol,0,0);
......@@ -462,7 +462,7 @@ void FileDef::writeSource(OutputList &ol)
initParseCodeContext();
ol.startCodeFragment();
parseCode(ol,0,
fileToString(absFilePath(),Config::instance()->getBool("FILTER_SOURCE_FILES")),
fileToString(absFilePath(),Config_getBool("FILTER_SOURCE_FILES")),
FALSE,0,this
);
ol.endCodeFragment();
......@@ -517,28 +517,29 @@ void FileDef::insertMember(MemberDef *md)
{
//printf("%s:FileDef::insertMember(%s)\n",name().data(),md->name().data());
allMemberList.append(md);
bool sortMemberDocs = Config_getBool("SORT_MEMBER_DOCS");
switch(md->memberType())
{
case MemberDef::Variable:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (sortMemberDocs)
varMembers.inSort(md);
else
varMembers.append(md);
break;
case MemberDef::Function:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (sortMemberDocs)
funcMembers.inSort(md);
else
funcMembers.append(md);
break;
case MemberDef::Typedef:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (sortMemberDocs)
typedefMembers.inSort(md);
else
typedefMembers.append(md);
break;
case MemberDef::Enumeration:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (sortMemberDocs)
enumMembers.inSort(md);
else
enumMembers.append(md);
......@@ -546,13 +547,13 @@ void FileDef::insertMember(MemberDef *md)
case MemberDef::EnumValue: // enum values are shown inside their enums
break;
case MemberDef::Prototype:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (sortMemberDocs)
protoMembers.inSort(md);
else
protoMembers.append(md);
break;
case MemberDef::Define:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (sortMemberDocs)
defineMembers.inSort(md);
else
defineMembers.append(md);
......@@ -566,7 +567,7 @@ void FileDef::insertMember(MemberDef *md)
/*! Adds compound definition \a cd to the list of all compounds of this file */
void FileDef::insertClass(ClassDef *cd)
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
classList->inSort(cd);
else
classList->append(cd);
......@@ -577,7 +578,7 @@ void FileDef::insertNamespace(NamespaceDef *nd)
{
if (!nd->name().isEmpty() && namespaceDict->find(nd->name())==0)
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
namespaceList->inSort(nd);
else
namespaceList->append(nd);
......@@ -670,8 +671,8 @@ bool FileDef::generateSourceFile() const
{
QCString extension = name().right(4);
return !isReference() &&
(Config::instance()->getBool("SOURCE_BROWSER") ||
(Config::instance()->getBool("VERBATIM_HEADERS") && guessSection(name())==Entry::HEADER_SEC)
(Config_getBool("SOURCE_BROWSER") ||
(Config_getBool("VERBATIM_HEADERS") && guessSection(name())==Entry::HEADER_SEC)
) &&
extension!=".doc" && extension!=".txt" && extension!=".dox";
}
......
......@@ -25,6 +25,7 @@
#include "config.h"
#include "definition.h"
#include "memberlist.h"
#include "util.h"
class FileDef;
class FileList;
......@@ -72,19 +73,28 @@ class FileDef : public Definition
/*! Returns the unique file name (this may include part of the path). */
QCString name() const
{
if (Config::instance()->getBool("FULL_PATH_NAMES"))
if (Config_getBool("FULL_PATH_NAMES"))
return filename;
else
return Definition::name();
}
QCString getOutputFileBase() const { return diskname; }
QCString getOutputFileBase() const
{ return convertNameToFile(diskname); }
QCString getFileBase() const
{ return diskname; }
QCString getSourceFileBase() const
{ return convertNameToFile(diskname+"-source"); }
/*! Returns the name of the verbatim copy of this file (if any). */
QCString includeName() const
{ return convertNameToFile(diskname+"-source"); }
/*! Returns the absolute path including the file name. */
QCString absFilePath() const { return filepath; }
/*! Returns the name of the verbatim copy of this file (if any). */
QCString includeName() const { return diskname+"-source"; }
/*! Returns the name as it is used in the documentation */
QCString docName() const { return docname; }
......@@ -178,34 +188,6 @@ class FileDef : public Definition
PackageDef *package;
};
#if 0 // obsolete
/*! \class FileList filedef.h
\brief This class is list of file definitions.
It is based on QList.
*/
class FileList : public QList<FileDef>
{
public:
FileList();
~FileList();
int compareItems(GCI item1,GCI item2);
};
/*! \class FileListIterator filedef.h
\brief This class represents a file list iterator.
It is based on QListIterator.
*/
class FileListIterator : public QListIterator<FileDef>
{
public:
FileListIterator(const FileList &list);
};
#endif
class FileList : public QList<FileDef>
{
......
......@@ -41,7 +41,7 @@ void FileName::generateDiskNames()
// skip references
while (fd && fd->isReference()) fd=next();
// name if unique, so diskname is simply the name
fd->diskname=convertFileName(name);
fd->diskname=name.copy();
}
else if (count>1) // multiple occurrences of the same file name
{
......@@ -83,7 +83,7 @@ void FileName::generateDiskNames()
{
QCString prefix = fd->path.right(fd->path.length()-j-1);
fd->setName(prefix+name);
fd->diskname=convertFileName(prefix+name);
fd->diskname=prefix+name;
}
fd=next();
}
......@@ -126,7 +126,7 @@ int FileNameList::compareItems(GCI item1, GCI item2)
FileName *f2=(FileName *)item2;
//printf("FileNameList::compareItems `%s'<->`%s'\n",
// f1->fileName(),f2->fileName());
return Config::instance()->getBool("FULL_PATH_NAMES") ?
return Config_getBool("FULL_PATH_NAMES") ?
stricmp(f1->fullName(),f2->fullName()) :
stricmp(f1->fileName(),f2->fileName());
}
......
......@@ -62,7 +62,7 @@ class FileNameDict : public QDict<FileName>
{
public:
FileNameDict(uint size) :
QDict<FileName>(size,Config::instance()->getBool("CASE_SENSE_NAMES")) {}
QDict<FileName>(size,Config_getBool("CASE_SENSE_NAMES")) {}
~FileNameDict() {}
};
......
......@@ -70,14 +70,14 @@ void FormulaList::generateBitmaps(const char *path)
if (f.open(IO_WriteOnly))
{
QTextStream t(&f);
if (Config::instance()->getBool("LATEX_BATCHMODE")) t << "\\batchmode" << endl;
if (Config_getBool("LATEX_BATCHMODE")) t << "\\batchmode" << endl;
t << "\\documentclass{article}" << endl;
t << "\\usepackage{epsfig}" << endl; // for those who want to include images
const char *s=Config::instance()->getList("EXTRA_PACKAGES").first();
const char *s=Config_getList("EXTRA_PACKAGES").first();
while (s)
{
t << "\\usepackage{" << s << "}\n";
s=Config::instance()->getList("EXTRA_PACKAGES").next();
s=Config_getList("EXTRA_PACKAGES").next();
}
t << "\\pagestyle{empty}" << endl;
t << "\\begin{document}" << endl;
......
......@@ -249,7 +249,7 @@ struct ImageInfo
static void generateFolderTreeViewData()
{
// Generate tree view script
QCString fileName=Config::instance()->getString("HTML_OUTPUT")+"/treeview.js";
QCString fileName=Config_getString("HTML_OUTPUT")+"/treeview.js";
QFile f(fileName);
if (!f.open(IO_WriteOnly))
{
......@@ -264,7 +264,7 @@ static void generateFolderTreeViewData()
}
// Generate alternative index.html as a frame
fileName=Config::instance()->getString("HTML_OUTPUT")+"/index.html";
fileName=Config_getString("HTML_OUTPUT")+"/index.html";
f.setName(fileName);
if (!f.open(IO_WriteOnly))
{
......@@ -278,16 +278,16 @@ static void generateFolderTreeViewData()
t << "<meta http-equiv=\"Content-Type\" content=\"text/html;charset="
<< theTranslator->idLanguageCharset() << "\">\n";
t << "<title>";
if (Config::instance()->getString("PROJECT_NAME").isEmpty())
if (Config_getString("PROJECT_NAME").isEmpty())
{
t << "Doxygen Documentation";
}
else
{
t << Config::instance()->getString("PROJECT_NAME");
t << Config_getString("PROJECT_NAME");
}
t << "</title></head>" << endl;
t << "<frameset cols=\"" << Config::instance()->getInt("TREEVIEW_WIDTH") << ",*\">" << endl;
t << "<frameset cols=\"" << Config_getInt("TREEVIEW_WIDTH") << ",*\">" << endl;
t << " <frame src=\"tree.html\" name=\"treefrm\">" << endl;
t << " <frame src=\"main.html\" name=\"basefrm\">" << endl;
t << "</frameset>" << endl;
......@@ -296,7 +296,7 @@ static void generateFolderTreeViewData()
}
// Generate tree view frame
fileName=Config::instance()->getString("HTML_OUTPUT")+"/tree.html";
fileName=Config_getString("HTML_OUTPUT")+"/tree.html";
f.setName(fileName);
if (!f.open(IO_WriteOnly))
{
......@@ -308,13 +308,13 @@ static void generateFolderTreeViewData()
QTextStream t(&f);
t << "<html><head>" << endl;
t << "<link rel=\"stylesheet\" href=\"";
if (Config::instance()->getString("HTML_STYLESHEET").isEmpty())
if (Config_getString("HTML_STYLESHEET").isEmpty())
{
t << "doxygen.css";
}
else
{
QFileInfo cssfi(Config::instance()->getString("HTML_STYLESHEET"));
QFileInfo cssfi(Config_getString("HTML_STYLESHEET"));
if (!cssfi.exists())
{
err("Error: user specified HTML style sheet file does not exist!\n");
......@@ -338,7 +338,7 @@ static void generateFolderTreeViewData()
ImageInfo *p = image_info;
while (p->name)
{
QCString fileName=Config::instance()->getString("HTML_OUTPUT")+"/"+p->name;
QCString fileName=Config_getString("HTML_OUTPUT")+"/"+p->name;
QFile f(fileName);
if (f.open(IO_WriteOnly))
f.writeBlock((char *)p->data,p->len);
......@@ -380,7 +380,7 @@ FTVHelp *FTVHelp::getInstance()
void FTVHelp::initialize()
{
/* open the contents file */
QCString fName = Config::instance()->getString("HTML_OUTPUT") + "/tree.js";
QCString fName = Config_getString("HTML_OUTPUT") + "/tree.js";
m_cf = new QFile(fName);
if (!m_cf->open(IO_WriteOnly))
{
......@@ -390,13 +390,13 @@ void FTVHelp::initialize()
/* Write the header of the contents file */
m_cts.setDevice(m_cf);
m_cts << "foldersTree = gFld(\"<b>";
if (Config::instance()->getString("PROJECT_NAME").isEmpty())
if (Config_getString("PROJECT_NAME").isEmpty())
{
m_cts << "Root";
}
else
{
m_cts << Config::instance()->getString("PROJECT_NAME");
m_cts << Config_getString("PROJECT_NAME");
}
m_cts << "</b>\", \"\", \"\")\n";
}
......
......@@ -51,7 +51,7 @@ GroupDef::GroupDef(const char *df,int dl,const char *na,const char *t) :
title = na;
title.at(0)=toupper(title.at(0));
}
fileName = "group_"+nameToFile(na);
fileName = (QCString)"group_"+na;
memberGroupList = new MemberGroupList;
memberGroupList->setAutoDelete(TRUE);
memberGroupDict = new MemberGroupDict(1009);
......@@ -86,7 +86,7 @@ void GroupDef::distributeMemberGroupDocumentation()
void GroupDef::addFile(const FileDef *def)
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
fileList->inSort(def);
else
fileList->append(def);
......@@ -94,7 +94,7 @@ void GroupDef::addFile(const FileDef *def)
void GroupDef::addClass(const ClassDef *def)
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
classList->inSort(def);
else
classList->append(def);
......@@ -102,7 +102,7 @@ void GroupDef::addClass(const ClassDef *def)
void GroupDef::addNamespace(const NamespaceDef *def)
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
namespaceList->inSort(def);
else
namespaceList->append(def);
......@@ -189,43 +189,43 @@ void GroupDef::insertMember(MemberDef *md)
switch(md->memberType())
{
case MemberDef::Variable:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
varMembers.inSort(md);
else
varMembers.append(md);
break;
case MemberDef::Function:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
funcMembers.inSort(md);
else
funcMembers.append(md);
break;
case MemberDef::Typedef:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
typedefMembers.inSort(md);
else
typedefMembers.append(md);
break;
case MemberDef::Enumeration:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
enumMembers.inSort(md);
else
enumMembers.append(md);
break;
case MemberDef::EnumValue:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
enumValMembers.inSort(md);
else
enumValMembers.append(md);
break;
case MemberDef::Prototype:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
protoMembers.inSort(md);
else
protoMembers.append(md);
break;
case MemberDef::Define:
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
defineMembers.inSort(md);
else
defineMembers.append(md);
......@@ -238,7 +238,7 @@ void GroupDef::insertMember(MemberDef *md)
void GroupDef::addGroup(const GroupDef *def)
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
groupList->inSort(def);
else
groupList->append(def);
......@@ -246,7 +246,7 @@ void GroupDef::addGroup(const GroupDef *def)
void GroupDef::addParentGroup(const GroupDef *def)
{
if (Config::instance()->getBool("SORT_MEMBER_DOCS"))
if (Config_getBool("SORT_MEMBER_DOCS"))
parentGroupList->inSort(def);
else
parentGroupList->append(def);
......@@ -279,7 +279,7 @@ void GroupDef::writeDocumentation(OutputList &ol)
{
ol.pushGeneratorState();
//ol.disable(OutputGenerator::Man);
startFile(ol,fileName,title);
startFile(ol,getOutputFileBase(),title);
startTitle(ol,getOutputFileBase());
ol.docify(title);
endTitle(ol,getOutputFileBase(),title);
......@@ -302,12 +302,12 @@ void GroupDef::writeDocumentation(OutputList &ol)
ol.popGeneratorState();
}
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <compound kind=\"group\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(name()) << "</name>" << endl;
Doxygen::tagFile << " <title>" << convertToXML(title) << "</title>" << endl;
Doxygen::tagFile << " <filename>" << convertToXML(fileName) << ".html</filename>" << endl;
Doxygen::tagFile << " <filename>" << convertToXML(getOutputFileBase()) << ".html</filename>" << endl;
}
ol.startMemberSections();
......@@ -324,12 +324,12 @@ void GroupDef::writeDocumentation(OutputList &ol)
ol.docify("file ");
ol.insertMemberAlign();
ol.writeObjectLink(fd->getReference(),fd->getOutputFileBase(),0,fd->name());
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <file>" << convertToXML(fd->name()) << "</file>" << endl;
}
ol.endMemberItem(FALSE);
if (!fd->briefDescription().isEmpty() && Config::instance()->getBool("BRIEF_MEMBER_DESC"))
if (!fd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
{
ol.startMemberDescription();
parseDoc(ol,defFileName,defLine,0,0,fd->briefDescription());
......@@ -353,12 +353,12 @@ void GroupDef::writeDocumentation(OutputList &ol)
ol.docify("namespace ");
ol.insertMemberAlign();
ol.writeObjectLink(nd->getReference(),nd->getOutputFileBase(),0,nd->name());
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <namespace>" << convertToXML(nd->name()) << "</namespace>" << endl;
}
ol.endMemberItem(FALSE);
if (!nd->briefDescription().isEmpty() && Config::instance()->getBool("BRIEF_MEMBER_DESC"))
if (!nd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
{
ol.startMemberDescription();
parseDoc(ol,defFileName,defLine,0,0,nd->briefDescription());
......@@ -381,12 +381,12 @@ void GroupDef::writeDocumentation(OutputList &ol)
ol.startMemberItem(0);
//ol.insertMemberAlign();
ol.writeObjectLink(gd->getReference(),gd->getOutputFileBase(),0,gd->groupTitle());
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <subgroup>" << convertToXML(gd->name()) << "</subgroup>" << endl;
}
ol.endMemberItem(FALSE);
if (!gd->briefDescription().isEmpty() && Config::instance()->getBool("BRIEF_MEMBER_DESC"))
if (!gd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
{
ol.startMemberDescription();
parseDoc(ol,defFileName,defLine,0,0,gd->briefDescription());
......@@ -431,7 +431,7 @@ void GroupDef::writeDocumentation(OutputList &ol)
ol.endGroupHeader();
// repeat brief description
if (!briefDescription().isEmpty() && Config::instance()->getBool("REPEAT_BRIEF"))
if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF"))
{
ol+=briefOutput;
ol.newParagraph();
......@@ -452,7 +452,7 @@ void GroupDef::writeDocumentation(OutputList &ol)
{
QCString pageName = pi->getOutputFileBase();
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <page>" << convertToXML(pageName) << "</page>" << endl;
}
......@@ -531,7 +531,7 @@ void GroupDef::writeDocumentation(OutputList &ol)
varMembers.writeDocumentation(ol,name(),this);
}
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
writeDocAnchorsToTagFile();
Doxygen::tagFile << " </compound>" << endl;
......@@ -635,4 +635,7 @@ void addExampleToGroups(Entry *root,PageInfo *eg)
}
}
QCString GroupDef::getOutputFileBase() const
{
return convertNameToFile(fileName);
}
......@@ -46,7 +46,7 @@ class GroupDef : public Definition
GroupDef(const char *fileName,int line,const char *name,const char *title);
~GroupDef();
DefType definitionType() { return TypeGroup; }
QCString getOutputFileBase() const { return fileName; }
QCString getOutputFileBase() const;
const char *groupTitle() const { return title; }
void addFile(const FileDef *def);
void addClass(const ClassDef *def);
......
This diff is collapsed.
......@@ -255,7 +255,7 @@ HtmlHelp *HtmlHelp::getInstance()
void HtmlHelp::initialize()
{
/* open the contents file */
QCString fName = Config::instance()->getString("HTML_OUTPUT") + "/index.hhc";
QCString fName = Config_getString("HTML_OUTPUT") + "/index.hhc";
cf = new QFile(fName);
if (!cf->open(IO_WriteOnly))
{
......@@ -272,7 +272,7 @@ void HtmlHelp::initialize()
"<UL>\n";
/* open the contents file */
fName = Config::instance()->getString("HTML_OUTPUT") + "/index.hhk";
fName = Config_getString("HTML_OUTPUT") + "/index.hhk";
kf = new QFile(fName);
if (!kf->open(IO_WriteOnly))
{
......@@ -292,13 +292,13 @@ void HtmlHelp::initialize()
void HtmlHelp::createProjectFile()
{
/* Write the project file */
QCString fName = Config::instance()->getString("HTML_OUTPUT") + "/index.hhp";
QCString fName = Config_getString("HTML_OUTPUT") + "/index.hhp";
QFile f(fName);
if (f.open(IO_WriteOnly))
{
QTextStream t(&f);
QCString indexName="index.html";
if (Config::instance()->getBool("GENERATE_TREEVIEW")) indexName="main.html";
if (Config_getBool("GENERATE_TREEVIEW")) indexName="main.html";
t << "[OPTIONS]\n"
"Compatibility=1.1\n"
"Full-text search=Yes\n"
......@@ -306,12 +306,12 @@ void HtmlHelp::createProjectFile()
"Default Window=main\n"
"Default topic=" << indexName << "\n"
"Index file=index.hhk\n";
if (Config::instance()->getBool("BINARY_TOC")) t << "Binary TOC=YES\n";
if (Config::instance()->getBool("GENERATE_CHI")) t << "Create CHI file=YES\n";
t << "Title=" << Config::instance()->getString("PROJECT_NAME") << endl << endl;
if (Config_getBool("BINARY_TOC")) t << "Binary TOC=YES\n";
if (Config_getBool("GENERATE_CHI")) t << "Create CHI file=YES\n";
t << "Title=" << Config_getString("PROJECT_NAME") << endl << endl;
t << "[WINDOWS]" << endl;
t << "main=\"" << Config::instance()->getString("PROJECT_NAME") << "\",\"index.hhc\","
t << "main=\"" << Config_getString("PROJECT_NAME") << "\",\"index.hhc\","
"\"index.hhk\",\"" << indexName << "\",\"" <<
indexName << "\",,,,,0x23520,,0x3006,,,,,,,,0" << endl << endl;
......@@ -389,7 +389,7 @@ void HtmlHelp::addContentsItem(bool isDir,
const char *anchor)
{
// If we're using a binary toc then folders cannot have links.
if(Config::instance()->getBool("BINARY_TOC") && isDir)
if(Config_getBool("BINARY_TOC") && isDir)
{
ref = 0;
anchor = 0;
......
This diff is collapsed.
......@@ -30,14 +30,14 @@
void writeInstallScript()
{
QCString fileName=Config::instance()->getString("HTML_OUTPUT")+"/installdox";
QCString fileName=Config_getString("HTML_OUTPUT")+"/installdox";
QFile f(fileName);
if (f.open(IO_WriteOnly))
{
QTextStream t(&f);
t << "#!" << Config::instance()->getString("PERL_PATH") << endl << endl << "%subst = ( ";
t << "#!" << Config_getString("PERL_PATH") << endl << endl << "%subst = ( ";
char *s=Config::instance()->getList("TAGFILES").first();
char *s=Config_getList("TAGFILES").first();
while (s)
{
QCString tagLine=s;
......@@ -53,7 +53,7 @@ void writeInstallScript()
}
QFileInfo fi(fileName);
t << "\"" << fi.fileName() << "\", \"\"";
s=Config::instance()->getList("TAGFILES").next();
s=Config_getList("TAGFILES").next();
if (s) t << ", ";
}
......@@ -108,7 +108,7 @@ void writeInstallScript()
t << " print STDERR \"No substitute given for tag file `$sub'\\n\";\n";
t << " &usage();\n";
t << " }\n";
t << " elsif ( ! $quiet && $sub!=\"_doc\" && $sub!=\"_cgi\" )\n";
t << " elsif ( ! $quiet && $sub ne \"_doc\" && $sub ne \"_cgi\" )\n";
t << " {\n";
t << " print \"Substituting $subst{$sub} for each occurence of tag file $sub\\n\"; \n";
t << " }\n";
......
This diff is collapsed.
......@@ -27,7 +27,7 @@
ManGenerator::ManGenerator() : OutputGenerator()
{
dir=Config::instance()->getString("MAN_OUTPUT")+"/man3";
dir=Config_getString("MAN_OUTPUT")+"/man3";
firstCol=TRUE;
paragraph=FALSE;
col=0;
......@@ -56,16 +56,16 @@ void ManGenerator::append(const OutputGenerator *g)
void ManGenerator::init()
{
QDir d(Config::instance()->getString("MAN_OUTPUT"));
if (!d.exists() && !d.mkdir(Config::instance()->getString("MAN_OUTPUT")))
QDir d(Config_getString("MAN_OUTPUT"));
if (!d.exists() && !d.mkdir(Config_getString("MAN_OUTPUT")))
{
err("Could not create output directory %s\n",Config::instance()->getString("MAN_OUTPUT").data());
err("Could not create output directory %s\n",Config_getString("MAN_OUTPUT").data());
exit(1);
}
d.setPath(Config::instance()->getString("MAN_OUTPUT")+"/man3");
if (!d.exists() && !d.mkdir(Config::instance()->getString("MAN_OUTPUT")+"/man3"))
d.setPath(Config_getString("MAN_OUTPUT")+"/man3");
if (!d.exists() && !d.mkdir(Config_getString("MAN_OUTPUT")+"/man3"))
{
err("Could not create output directory %s/man3\n",Config::instance()->getString("MAN_OUTPUT").data());
err("Could not create output directory %s/man3\n",Config_getString("MAN_OUTPUT").data());
exit(1);
}
}
......@@ -105,9 +105,9 @@ void ManGenerator::startFile(const char *name,const char *,bool)
{
fileName=fileName.left(i);
}
if (convertToQCString(fileName.right(2))!=Config::instance()->getString("MAN_EXTENSION"))
if (convertToQCString(fileName.right(2))!=Config_getString("MAN_EXTENSION"))
{
fileName+=Config::instance()->getString("MAN_EXTENSION");
fileName+=Config_getString("MAN_EXTENSION");
}
startPlainFile(fileName);
firstCol=TRUE;
......@@ -121,10 +121,10 @@ void ManGenerator::endFile()
void ManGenerator::endTitleHead(const char *,const char *name)
{
t << ".TH \"" << name << "\" 3 \"" << dateToString(FALSE) << "\" \"";
if (Config::instance()->getString("PROJECT_NAME").isEmpty())
if (Config_getString("PROJECT_NAME").isEmpty())
t << "Doxygen";
else
t << Config::instance()->getString("PROJECT_NAME");
t << Config_getString("PROJECT_NAME");
t << "\" \\\" -*- nroff -*-" << endl;
t << ".ad l" << endl;
t << ".nh" << endl;
......@@ -248,7 +248,7 @@ void ManGenerator::codify(const char *str)
switch(c)
{
case '\t': spacesToNextTabStop =
Config::instance()->getInt("TAB_SIZE") - (col%Config::instance()->getInt("TAB_SIZE"));
Config_getInt("TAB_SIZE") - (col%Config_getInt("TAB_SIZE"));
t << spaces.left(spacesToNextTabStop);
col+=spacesToNextTabStop;
break;
......
This diff is collapsed.
......@@ -54,18 +54,18 @@ void MemberList::countDecMembers(bool inGroup,bool countSubGroups,bool sectionPe
{
//printf("md=%p md->name()=`%s' inGroup=%d getMemberGroup()=%p\n",
// md,md->name().data(),inGroup,md->getMemberGroup());
if (!(md->getClassDef()==0 && md->isStatic() && !Config::instance()->getBool("EXTRACT_STATIC")) &&
(!Config::instance()->getBool("HIDE_UNDOC_MEMBERS") || md->hasDocumentation()) &&
if (!(md->getClassDef()==0 && md->isStatic() && !Config_getBool("EXTRACT_STATIC")) &&
(!Config_getBool("HIDE_UNDOC_MEMBERS") || md->hasDocumentation()) &&
(
(!Config::instance()->getBool("HIDE_UNDOC_MEMBERS") || !md->documentation().isEmpty() ||
Config::instance()->getBool("BRIEF_MEMBER_DESC") || Config::instance()->getBool("REPEAT_BRIEF")
) || Config::instance()->getBool("EXTRACT_ALL") ||
(!Config_getBool("HIDE_UNDOC_MEMBERS") || !md->documentation().isEmpty() ||
Config_getBool("BRIEF_MEMBER_DESC") || Config_getBool("REPEAT_BRIEF")
) || Config_getBool("EXTRACT_ALL") ||
(md->isEnumerate() &&
md->hasDocumentedEnumValues()
)
) &&
inGroup==md->visibleMemberGroup(sectionPerType) &&
!(inGroup && md->protection()==Private && !Config::instance()->getBool("EXTRACT_PRIVATE"))
!(inGroup && md->protection()==Private && !Config_getBool("EXTRACT_PRIVATE"))
)
{
switch(md->memberType())
......@@ -83,7 +83,7 @@ void MemberList::countDecMembers(bool inGroup,bool countSubGroups,bool sectionPe
case MemberDef::EnumValue: enumValCnt++,m_count++; break;
case MemberDef::Typedef: typeCnt++,m_count++; break;
case MemberDef::Prototype: protoCnt++,m_count++; break;
case MemberDef::Define: if (Config::instance()->getBool("EXTRACT_ALL") ||
case MemberDef::Define: if (Config_getBool("EXTRACT_ALL") ||
md->argsString() ||
!md->initializer().isEmpty() ||
md->hasDocumentation()
......@@ -122,12 +122,12 @@ void MemberList::countDocMembers(bool listOfGroup)
//printf("%s MemberList::countDocMembers() details=%d\n",
// md->name().data(),md->detailsAreVisible());
bool visibleIfStatic =
!(md->getClassDef()==0 && md->isStatic() && !Config::instance()->getBool("EXTRACT_STATIC"));
!(md->getClassDef()==0 && md->isStatic() && !Config_getBool("EXTRACT_STATIC"));
bool inOwnGroup = (md->getGroupDef()!=0 && !listOfGroup);
if (visibleIfStatic && !inOwnGroup &&
(Config::instance()->getBool("EXTRACT_ALL") || md->detailsAreVisible())
(Config_getBool("EXTRACT_ALL") || md->detailsAreVisible())
)
{
if (md->memberType()!=MemberDef::EnumValue) m_count++;
......@@ -190,7 +190,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
if (md->isDefine() &&
(md->argsString() || md->hasDocumentation() ||
!md->initializer().isEmpty() ||
Config::instance()->getBool("EXTRACT_ALL")) &&
Config_getBool("EXTRACT_ALL")) &&
inGroup==md->visibleMemberGroup(sectionPerType)
)
{
......@@ -264,21 +264,21 @@ void MemberList::writePlainDeclarations(OutputList &ol,
for ( ; (md=mli.current()) ; ++mli ) // iterate through the members
{
// see if member is hidden by protection
if (md->protection()==Private && !Config::instance()->getBool("EXTRACT_PRIVATE")) continue;
if (md->protection()==Private && !Config_getBool("EXTRACT_PRIVATE")) continue;
QCString type=md->typeString();
type=type.stripWhiteSpace(); // TODO: is this really needed?
// filter out enums that are in a group iff inGroup holds
if (md->isEnumerate() && inGroup==md->visibleMemberGroup(sectionPerType) /*&& (hasDocs || !Config::instance()->getBool("HIDE_UNDOC_MEMBERS"))*/)
if (md->isEnumerate() && inGroup==md->visibleMemberGroup(sectionPerType) /*&& (hasDocs || !Config_getBool("HIDE_UNDOC_MEMBERS"))*/)
{
// filter out invisible enums
if ( !Config::instance()->getBool("HIDE_UNDOC_MEMBERS") || // do not hide undocumented members or
if ( !Config_getBool("HIDE_UNDOC_MEMBERS") || // do not hide undocumented members or
!md->documentation().isEmpty() || // member has detailed descr. or
md->hasDocumentedEnumValues() || // member has documented enum vales.
(
!md->briefDescription().isEmpty() &&
Config::instance()->getBool("BRIEF_MEMBER_DESC") // brief descr. is shown or
Config_getBool("BRIEF_MEMBER_DESC") // brief descr. is shown or
)
)
{
......@@ -290,7 +290,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
{
if (md->isLinkableInProject() || md->hasDocumentedEnumValues())
{
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <member kind=\"enumeration\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(md->name()) << "</name>" << endl;
......@@ -311,6 +311,8 @@ void MemberList::writePlainDeclarations(OutputList &ol,
int enumMemCount=0;
uint enumValuesPerLine =
(uint)Config_getInt("ENUM_VALUES_PER_LINE");
typeDecl.docify("{ ");
QList<MemberDef> *fmdl=md->enumFieldList();
if (fmdl)
......@@ -319,8 +321,8 @@ void MemberList::writePlainDeclarations(OutputList &ol,
while (fmd)
{
/* in html we start a new line after a number of items */
if (fmdl->count()>(uint)Config::instance()->getInt("ENUM_VALUES_PER_LINE")
&& (enumMemCount%(uint)Config::instance()->getInt("ENUM_VALUES_PER_LINE"))==0
if (fmdl->count()>enumValuesPerLine
&& (enumMemCount%enumValuesPerLine)==0
)
{
typeDecl.pushGeneratorState();
......@@ -332,7 +334,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
if (fmd->hasDocumentation()) // enum value has docs
{
if (!Config::instance()->getString("GENERATE_TAGFILE").isEmpty())
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << " <member kind=\"enumvalue\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(fmd->name()) << "</name>" << endl;
......@@ -361,7 +363,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
typeDecl.enable(OutputGenerator::Man);
enumMemCount++;
}
if (fmdl->count()>(uint)Config::instance()->getInt("ENUM_VALUES_PER_LINE"))
if (fmdl->count()>enumValuesPerLine)
{
typeDecl.pushGeneratorState();
typeDecl.disableAllBut(OutputGenerator::Html);
......@@ -395,7 +397,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
ol.insertMemberAlign();
ol+=typeDecl; // append the enum values.
ol.endMemberItem(FALSE);
if (!md->briefDescription().isEmpty() && Config::instance()->getBool("BRIEF_MEMBER_DESC"))
if (!md->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
{
ol.startMemberDescription();
parseDoc(ol,
......@@ -486,7 +488,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
ol.writeObjectLink(cd->getReference(),cd->getOutputFileBase(),0,cd->name());
ol.endMemberItem(FALSE);
}
else if (!Config::instance()->getBool("HIDE_UNDOC_MEMBERS")) // no documentation
else if (!Config_getBool("HIDE_UNDOC_MEMBERS")) // no documentation
{
ol.startMemberItem(0);
ol.docify("class ");
......
This diff is collapsed.
This diff is collapsed.
......@@ -40,7 +40,7 @@ class NamespaceDef : public Definition
const char *name,const char *ref=0);
~NamespaceDef();
DefType definitionType() { return TypeNamespace; }
QCString getOutputFileBase() const { return fileName; }
QCString getOutputFileBase() const;
void insertUsedFile(const char *fname);
void writeDocumentation(OutputList &ol);
void insertClass(ClassDef *cd);
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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