summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/classdef.cpp4
-rw-r--r--src/classlist.h10
-rw-r--r--src/config.h172
-rw-r--r--src/config.l1463
-rw-r--r--src/dot.cpp43
-rw-r--r--src/dot.h2
-rw-r--r--src/doxygen.cpp23
-rw-r--r--src/doxygen.h1
-rw-r--r--src/doxygen.t2
-rw-r--r--src/htmlgen.cpp4
-rw-r--r--src/index.cpp15
-rw-r--r--src/memberdef.cpp13
-rw-r--r--src/namespacedef.cpp8
-rw-r--r--src/namespacedef.h2
-rw-r--r--src/scanner.l28
-rw-r--r--src/translator_ru.h556
-rw-r--r--src/util.cpp77
-rw-r--r--src/util.h3
18 files changed, 1608 insertions, 818 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp
index 8055a76..c7ac3ca 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -1623,8 +1623,8 @@ void ClassDef::determineImplUsageRelation()
bool found=FALSE;
while ((i=re.match(type,p,&l))!=-1 && !found) // for each class name in the type
{
- ClassDef *cd=getClass(name()+"::"+type.mid(i,l));
- if (cd==0) cd=getClass(type.mid(i,l)); // TODO: also try inbetween scopes!
+ ClassDef *cd=getResolvedClass(name()+"::"+type.mid(i,l));
+ if (cd==0) cd=getResolvedClass(type.mid(i,l)); // TODO: also try inbetween scopes!
if (cd /*&& cd->isLinkable()*/) // class exists and is linkable
{
found=TRUE;
diff --git a/src/classlist.h b/src/classlist.h
index 332eeec..4692ac0 100644
--- a/src/classlist.h
+++ b/src/classlist.h
@@ -18,6 +18,9 @@
#ifndef CLASSLIST_H
#define CLASSLIST_H
+#include <qlist.h>
+#include <qdict.h>
+
#include "classdef.h"
class ClassList : public QList<ClassDef>
@@ -35,4 +38,11 @@ class ClassListIterator : public QListIterator<ClassDef>
ClassListIterator(const ClassList &list);
};
+class ClassDict : public QDict<ClassDef>
+{
+ public:
+ ClassDict(int size) : QDict<ClassDef>(size) {}
+ ~ClassDict() {}
+};
+
#endif
diff --git a/src/config.h b/src/config.h
index a18fce0..a4ed72d 100644
--- a/src/config.h
+++ b/src/config.h
@@ -10,9 +10,6 @@
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
- * Documents produced by Doxygen are derivative works derived from the
- * input used in their production; they are not affected by this license.
- *
*/
#ifndef CONFIG_H
@@ -34,92 +31,91 @@ struct Config
{
static void init();
- static QCString projectName; // the name of the project
- static QCString projectNumber; // the number of the project
- static QCString outputDir; // the global output directory
- static QCString htmlOutputDir; // the directory to put the HTML files
- static QCString latexOutputDir; // the directory to put the Latex files
- static QCString manOutputDir; // the directory to put the man pages
- static QCString rtfOutputDir; // the directory to put the RTF files
- static QCString outputLanguage; // the output language
- static QCString headerFile; // the name of the personal HTML header
- static QCString latexHeaderFile; // the name of the personal LaTeX header
- static QCString footerFile; // the name of the personal HTML footer
- static QCString cgiName; // the name of the CGI binary
- static QCString cgiURL; // the absolute URL to the CGI binary
- static QCString docURL; // the absolute URL to the documentation
- static QCString binAbsPath; // the absolute path to the doxysearch
- static QCString docAbsPath; // the absolute path to the documentation
- static QCString perlPath; // the absolute path to perl
- static QCString genTagFile; // the tag file to generate
- static QCString inputFilter; // a filter command that is applied to input files
- static QCString paperType; // the page type to generate docs for
- static QCString manExtension; // extension the man page files
- static QCString htmlStyleSheet; // user defined cascading style sheet
- static QStrList ignorePrefixList; // list of prefixes to ignore for the alphabetical index
- static QStrList includePath; // list of include paths
- static QStrList examplePath; // list of example paths
- static QStrList imagePath; // list of image paths
- static QStrList inputSources; // list of input files
- static QStrList excludeSources; // list of files to exclude from the input
- static QStrList filePatternList; // list of file patterns
- static QStrList excludePatternList; // list of patterns to exclude from input
- static QStrList examplePatternList; // list of example patterns
- static QStrList imagePatternList; // list of image paths
- static QStrList tagFileList; // list of tag files
- static QStrList extDocPathList; // list of external doc. directories.
- static QStrList predefined; // list of predefined macro names.
- static QStrList extraPackageList; // list of extra LaTeX packages.
- static QStrList stripFromPath; // list of candidates to strip from the file path
- static QStrList sectionFilterList; // list of section filters to are enabled
- static bool quietFlag; // generate progress messages flag
- static bool warningFlag; // generate warnings flag
- static bool recursiveFlag; // scan directories recursively
- static bool allExtFlag; // include all external classes flag
- static bool searchEngineFlag; // generate search engine flag
- static bool extractAllFlag; // gererate docs for all classes flag
- static bool extractPrivateFlag; // generate docs for private members flag
- static bool noIndexFlag; // generate condensed index flag
- static bool generateHtml; // generate HTML output
- static bool generateLatex; // generate Latex output
- static bool generateMan; // generate Man pages
- static bool preprocessingFlag; // enable preprocessing
- static bool briefMemDescFlag; // enable `inline' brief member descr.
- static bool hideMemberFlag; // hide undocumented members.
- static bool hideClassFlag; // hide undocumented members.
- static bool searchIncludeFlag; // search for included files
- static bool macroExpansionFlag; // expand macros in the source.
- static bool onlyPredefinedFlag; // expand only predefined macros
- static bool fullPathNameFlag; // using full path name in output
- static bool classDiagramFlag; // enable the generation of class diagrams.
- static bool compactLatexFlag; // generate compact LaTeX documentation.
- static bool repeatBriefFlag; // repeat brief descriptions.
- static bool internalDocsFlag; // determines what happens to internal docs.
- static bool caseSensitiveNames; // determines if output can be mixed case.
- static bool verbatimHeaderFlag; // enable/disable generation of verb headers.
+ static QCString projectName; // the name of the project
+ static QCString projectNumber; // the number of the project
+ static QCString outputDir; // the global output directory
+ static QCString outputLanguage; // the output language
+ static bool quietFlag; // generate progress messages flag
+ static bool warningFlag; // generate warnings flag
+ static bool noIndexFlag; // generate condensed index flag
+ static bool extractAllFlag; // gererate docs for all classes flag
+ static bool extractPrivateFlag; // generate docs for private members flag
+ static bool hideMemberFlag; // hide undocumented members.
+ static bool hideClassFlag; // hide undocumented members.
+ static bool briefMemDescFlag; // enable `inline' brief member descr.
+ static bool repeatBriefFlag; // repeat brief descriptions.
+ static bool alwaysDetailsFlag; // show details description even if there is only a brief description?
+ static bool fullPathNameFlag; // using full path name in output
+ static QStrList stripFromPath; // list of candidates to strip from the file path
+ static bool internalDocsFlag; // determines what happens to internal docs.
+ static bool classDiagramFlag; // enable the generation of class diagrams.
+ static bool sourceBrowseFlag; // include source code in documentation.
+ static bool inlineSourceFlag; // inline the definition bodies in the docs?
+ static bool stripCommentsFlag; // strip special comments from code fragments?
+ static bool caseSensitiveNames; // determines if output can be mixed case.
+ static bool verbatimHeaderFlag; // enable/disable generation of verb headers.
+ static bool showIncFileFlag; // show include file in file documentation?
+ static bool autoBriefFlag; // javadoc comments behaves as Qt comments.
+ static bool inheritDocsFlag; // inheritance of documentation enabled?
+ static bool inlineInfoFlag; // show info about inline members?
+ static bool sortMembersFlag; // sort members alphabetically?
+ static int tabSize; // number of spaces in a tab
+ static QStrList sectionFilterList; // list of section filters that are enabled
+ static QStrList inputSources; // list of input files
+ static QStrList filePatternList; // list of file patterns
+ static bool recursiveFlag; // scan directories recursively
+ static QStrList excludeSources; // list of files to exclude from the input
+ static QStrList excludePatternList; // list of patterns to exclude from input
+ static QStrList examplePath; // list of example paths
+ static QStrList examplePatternList; // list of example patterns
+ static QStrList imagePath; // list of image paths
+ static QCString inputFilter; // a filter command that is applied to input files
+ static bool alphaIndexFlag; // should an alphabetical index be generated?
+ static int colsInAlphaIndex; // number of columns in the alphabetical index
+ static QStrList ignorePrefixList; // list of prefixes to ignore for the alphabetical index
+ static bool generateHtml; // generate HTML output
+ static QCString htmlOutputDir; // the directory to put the HTML files
+ static QCString headerFile; // the name of the personal HTML header
+ static QCString footerFile; // the name of the personal HTML footer
+ static QCString htmlStyleSheet; // user defined cascading style sheet
static bool htmlAlignMemberFlag; // align members in HTML using tables.
- static bool sourceBrowseFlag; // include source code in documentation.
- static bool autoBriefFlag; // javadoc comments behaves as Qt comments.
- static bool htmlHelpFlag; // should html help files be generated?
- static bool alphaIndexFlag; // should an alphabetical index be generated?
- static bool pdfHyperFlag; // generate latex prepared creating hyperlinked pdfs.
- static bool inheritDocsFlag; // inheritance of documentation enabled?
- static bool inlineInfoFlag; // show info about inline members?
- static bool alwaysDetailsFlag; // show details description even if there is only a brief description?
- static int tabSize; // number of spaces in a tab
- static int colsInAlphaIndex; // number of columns in the alphabetical index
- static bool inlineSourceFlag; // inline the definition bodies in the docs?
- static bool haveDotFlag; // indicates wether or not dot is present
- static bool collGraphFlag; // collaboration graph
- static bool includeGraphFlag; // include graph
- static bool gfxHierarchyFlag; // flag to enable graphical hierarchy
- static bool generateRTF; // generate RTF flag
- static bool compactRTFFlag; // generate more compact RTF
- static bool rtfHyperFlag; // generate hyper links in RTF
- static bool showIncFileFlag; // show include file in file documentation?
- static bool stripCommentsFlag; // strip special comments from code fragments?
- static bool sortMembersFlag; // sort members alphabetically?
- static bool latexBatchModeFlag; // continue after latex errors?
+ static bool htmlHelpFlag; // should html help files be generated?
+ static bool generateLatex; // generate Latex output
+ static QCString latexOutputDir; // the directory to put the Latex files
+ static bool compactLatexFlag; // generate compact LaTeX documentation.
+ static QCString paperType; // the page type to generate docs for
+ static QStrList extraPackageList; // list of extra LaTeX packages.
+ static QCString latexHeaderFile; // the name of the personal LaTeX header
+ static bool pdfHyperFlag; // generate latex prepared creating hyperlinked pdfs.
+ static bool latexBatchModeFlag; // continue after latex errors?
+ static bool generateRTF; // generate RTF flag
+ static QCString rtfOutputDir; // the directory to put the RTF files
+ static bool compactRTFFlag; // generate more compact RTF
+ static bool rtfHyperFlag; // generate hyper links in RTF
+ static bool generateMan; // generate Man pages
+ static QCString manOutputDir; // the directory to put the man pages
+ static QCString manExtension; // extension the man page files
+ static bool preprocessingFlag; // enable preprocessing
+ static bool macroExpansionFlag; // expand macros in the source.
+ static bool searchIncludeFlag; // search for included files
+ static QStrList includePath; // list of include paths
+ static QStrList predefined; // list of predefined macro names.
+ static bool onlyPredefinedFlag; // expand only predefined macros
+ static QStrList tagFileList; // list of tag files
+ static QCString genTagFile; // the tag file to generate
+ static bool allExtFlag; // include all external classes flag
+ static QCString perlPath; // the absolute path to perl
+ static bool haveDotFlag; // indicates wether or not dot is present
+ static bool collGraphFlag; // collaboration graph
+ static bool includeGraphFlag; // include graph
+ static bool gfxHierarchyFlag; // flag to enable graphical hierarchy
+ static bool searchEngineFlag; // generate search engine flag
+ static QCString cgiName; // the name of the CGI binary
+ static QCString cgiURL; // the absolute URL to the CGI binary
+ static QCString docURL; // the absolute URL to the documentation
+ static QCString docAbsPath; // the absolute path to the documentation
+ static QCString binAbsPath; // the absolute path to the doxysearch
+ static QStrList extDocPathList; // list of external doc. directories.
};
#endif
diff --git a/src/config.l b/src/config.l
index faaebda..2600a26 100644
--- a/src/config.l
+++ b/src/config.l
@@ -10,9 +10,6 @@
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
- * Documents produced by Doxygen are derivative works derived from the
- * input used in their production; they are not affected by this license.
- *
*/
%{
@@ -66,92 +63,91 @@ void warn(const char *fmt, ...)
* exported variables
*/
-QCString Config::projectName;
-QCString Config::projectNumber;
-QCString Config::outputDir;
-QCString Config::htmlOutputDir = "html";
-QCString Config::latexOutputDir = "latex";
-QCString Config::manOutputDir = "man";
-QCString Config::rtfOutputDir = "rtf";
+QCString Config::projectName;
+QCString Config::projectNumber;
+QCString Config::outputDir;
QCString Config::outputLanguage = "English";
-QCString Config::headerFile;
-QCString Config::latexHeaderFile;
-QCString Config::footerFile;
-QCString Config::cgiName = "search.cgi";
-QCString Config::cgiURL;
-QCString Config::docURL;
-QCString Config::binAbsPath = "/usr/local/bin/";
-QCString Config::docAbsPath;
-QCString Config::perlPath = "/usr/bin/perl";
-QCString Config::genTagFile;
-QCString Config::inputFilter;
-QCString Config::paperType = "a4wide";
-QCString Config::manExtension = ".3";
-QCString Config::htmlStyleSheet;
-QStrList Config::ignorePrefixList;
-QStrList Config::includePath;
-QStrList Config::examplePath;
-QStrList Config::imagePath;
-QStrList Config::inputSources;
+bool Config::quietFlag = FALSE;
+bool Config::warningFlag = TRUE;
+bool Config::noIndexFlag = FALSE;
+bool Config::extractAllFlag = FALSE;
+bool Config::extractPrivateFlag = FALSE;
+bool Config::hideMemberFlag = FALSE;
+bool Config::hideClassFlag = FALSE;
+bool Config::briefMemDescFlag = TRUE;
+bool Config::repeatBriefFlag = TRUE;
+bool Config::alwaysDetailsFlag = FALSE;
+bool Config::fullPathNameFlag = FALSE;
+QStrList Config::stripFromPath;
+bool Config::internalDocsFlag = FALSE;
+bool Config::classDiagramFlag = TRUE;
+bool Config::sourceBrowseFlag = FALSE;
+bool Config::inlineSourceFlag = FALSE;
+bool Config::stripCommentsFlag = TRUE;
+bool Config::caseSensitiveNames = FALSE;
+bool Config::verbatimHeaderFlag = TRUE;
+bool Config::showIncFileFlag = TRUE;
+bool Config::autoBriefFlag = TRUE;
+bool Config::inheritDocsFlag = TRUE;
+bool Config::inlineInfoFlag = TRUE;
+bool Config::sortMembersFlag = TRUE;
+int Config::tabSize = 8;
+QStrList Config::sectionFilterList;
+QStrList Config::inputSources;
+QStrList Config::filePatternList;
+bool Config::recursiveFlag = FALSE;
QStrList Config::excludeSources;
-QStrList Config::filePatternList;
QStrList Config::excludePatternList;
+QStrList Config::examplePath;
QStrList Config::examplePatternList;
-QStrList Config::imagePatternList;
-QStrList Config::tagFileList;
-QStrList Config::extDocPathList;
-QStrList Config::predefined;
-QStrList Config::extraPackageList;
-QStrList Config::stripFromPath;
-QStrList Config::sectionFilterList;
-bool Config::quietFlag = FALSE;
-bool Config::recursiveFlag = FALSE;
-bool Config::allExtFlag = FALSE;
-bool Config::searchEngineFlag = FALSE;
-bool Config::extractAllFlag = FALSE;
-bool Config::extractPrivateFlag = FALSE;
-bool Config::noIndexFlag = FALSE;
-bool Config::hideMemberFlag = FALSE;
-bool Config::hideClassFlag = FALSE;
-bool Config::macroExpansionFlag = FALSE;
-bool Config::onlyPredefinedFlag = FALSE;
-bool Config::fullPathNameFlag = FALSE;
-bool Config::compactLatexFlag = FALSE;
-bool Config::internalDocsFlag = FALSE;
-bool Config::caseSensitiveNames = FALSE;
-bool Config::sourceBrowseFlag = FALSE;
-bool Config::htmlHelpFlag = FALSE;
-bool Config::alphaIndexFlag = FALSE;
-bool Config::pdfHyperFlag = FALSE;
-bool Config::alwaysDetailsFlag = FALSE;
-bool Config::inlineSourceFlag = FALSE;
-bool Config::rtfHyperFlag = FALSE;
-bool Config::compactRTFFlag = FALSE;
-bool Config::haveDotFlag = FALSE;
-bool Config::latexBatchModeFlag = FALSE;
-bool Config::autoBriefFlag = TRUE;
-bool Config::warningFlag = TRUE;
-bool Config::generateHtml = TRUE;
-bool Config::generateLatex = TRUE;
-bool Config::generateMan = TRUE;
-bool Config::generateRTF = FALSE;
-bool Config::preprocessingFlag = TRUE;
-bool Config::briefMemDescFlag = TRUE;
-bool Config::searchIncludeFlag = TRUE;
-bool Config::classDiagramFlag = TRUE;
-bool Config::repeatBriefFlag = TRUE;
-bool Config::verbatimHeaderFlag = TRUE;
+QStrList Config::imagePath;
+QCString Config::inputFilter;
+bool Config::alphaIndexFlag = FALSE;
+int Config::colsInAlphaIndex = 5;
+QStrList Config::ignorePrefixList;
+bool Config::generateHtml = TRUE;
+QCString Config::htmlOutputDir = "html";
+QCString Config::headerFile;
+QCString Config::footerFile;
+QCString Config::htmlStyleSheet;
bool Config::htmlAlignMemberFlag = TRUE;
-bool Config::inheritDocsFlag = TRUE;
-bool Config::inlineInfoFlag = TRUE;
-bool Config::collGraphFlag = TRUE;
-bool Config::includeGraphFlag = TRUE;
-bool Config::gfxHierarchyFlag = TRUE;
-bool Config::showIncFileFlag = TRUE;
-bool Config::stripCommentsFlag = TRUE;
-bool Config::sortMembersFlag = TRUE;
-int Config::tabSize = 8;
-int Config::colsInAlphaIndex = 5;
+bool Config::htmlHelpFlag = FALSE;
+bool Config::generateLatex = TRUE;
+QCString Config::latexOutputDir = "latex";
+bool Config::compactLatexFlag = FALSE;
+QCString Config::paperType = "a4wide";
+QStrList Config::extraPackageList;
+QCString Config::latexHeaderFile;
+bool Config::pdfHyperFlag = FALSE;
+bool Config::latexBatchModeFlag = FALSE;
+bool Config::generateRTF = FALSE;
+QCString Config::rtfOutputDir = "rtf";
+bool Config::compactRTFFlag = FALSE;
+bool Config::rtfHyperFlag = FALSE;
+bool Config::generateMan = TRUE;
+QCString Config::manOutputDir = "man";
+QCString Config::manExtension = ".3";
+bool Config::preprocessingFlag = TRUE;
+bool Config::macroExpansionFlag = FALSE;
+bool Config::searchIncludeFlag = TRUE;
+QStrList Config::includePath;
+QStrList Config::predefined;
+bool Config::onlyPredefinedFlag = FALSE;
+QStrList Config::tagFileList;
+QCString Config::genTagFile;
+bool Config::allExtFlag = FALSE;
+QCString Config::perlPath = "/usr/bin/perl";
+bool Config::haveDotFlag = FALSE;
+bool Config::collGraphFlag = TRUE;
+bool Config::includeGraphFlag = TRUE;
+bool Config::gfxHierarchyFlag = TRUE;
+bool Config::searchEngineFlag = FALSE;
+QCString Config::cgiName = "search.cgi";
+QCString Config::cgiURL;
+QCString Config::docURL;
+QCString Config::docAbsPath;
+QCString Config::binAbsPath = "/usr/local/bin/";
+QStrList Config::extDocPathList;
/* -----------------------------------------------------------------
*
@@ -166,8 +162,9 @@ static QCString * s=0;
static bool * b=0;
static QStrList * l=0;
static int lastState;
-//static int lastEnvState;
static QCString elemStr;
+//static QCString tabSizeString;
+//static QCString colsInAlphaIndexString;
static QCString tabSizeString;
static QCString colsInAlphaIndexString;
@@ -203,92 +200,91 @@ static int yyread(char *buf,int max_size)
<*>\0x0d
<Start,GetString,GetStrList,GetBool>"#" { BEGIN(SkipComment); }
-<Start>"PROJECT_NAME"[ \t]*"=" { BEGIN(GetString); s=&Config::projectName; s->resize(0); }
-<Start>"PROJECT_NUMBER"[ \t]*"=" { BEGIN(GetString); s=&Config::projectNumber; s->resize(0); }
-<Start>"OUTPUT_DIRECTORY"[ \t]*"=" { BEGIN(GetString); s=&Config::outputDir; s->resize(0); }
-<Start>"HTML_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::htmlOutputDir; s->resize(0); }
-<Start>"MAN_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::manOutputDir; s->resize(0); }
-<Start>"LATEX_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::latexOutputDir; s->resize(0); }
-<Start>"RTF_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::rtfOutputDir; s->resize(0); }
-<Start>"HTML_HEADER"[ \t]*"=" { BEGIN(GetString); s=&Config::headerFile; s->resize(0); }
-<Start>"HTML_FOOTER"[ \t]*"=" { BEGIN(GetString); s=&Config::footerFile; s->resize(0); }
-<Start>"LATEX_HEADER"[ \t]*"=" { BEGIN(GetString); s=&Config::latexHeaderFile; s->resize(0); }
-<Start>"CGI_NAME"[ \t]*"=" { BEGIN(GetString); s=&Config::cgiName; s->resize(0); }
-<Start>"CGI_URL"[ \t]*"=" { BEGIN(GetString); s=&Config::cgiURL; s->resize(0); }
-<Start>"DOC_URL"[ \t]*"=" { BEGIN(GetString); s=&Config::docURL; s->resize(0); }
-<Start>"BIN_ABSPATH"[ \t]*"=" { BEGIN(GetString); s=&Config::binAbsPath; s->resize(0); }
-<Start>"DOC_ABSPATH"[ \t]*"=" { BEGIN(GetString); s=&Config::docAbsPath; s->resize(0); }
-<Start>"PERL_PATH"[ \t]*"=" { BEGIN(GetString); s=&Config::perlPath; s->resize(0); }
-<Start>"GENERATE_TAGFILE"[ \t]*"=" { BEGIN(GetString); s=&Config::genTagFile; s->resize(0); }
-<Start>"INPUT_FILTER"[ \t]*"=" { BEGIN(GetString); s=&Config::inputFilter; s->resize(0); }
-<Start>"PAPER_TYPE"[ \t]*"=" { BEGIN(GetString); s=&Config::paperType; s->resize(0); }
-<Start>"OUTPUT_LANGUAGE"[ \t]*"=" { BEGIN(GetString); s=&Config::outputLanguage; s->resize(0); }
-<Start>"MAN_EXTENSION"[ \t]*"=" { BEGIN(GetString); s=&Config::manExtension; s->resize(0); }
-<Start>"TAB_SIZE"[ \t]*"=" { BEGIN(GetString); s=&tabSizeString; s->resize(0); }
-<Start>"HTML_STYLESHEET"[ \t]*"=" { BEGIN(GetString); s=&Config::htmlStyleSheet; s->resize(0); }
-<Start>"COLS_IN_ALPHA_INDEX"[ \t]*"=" { BEGIN(GetString); s=&colsInAlphaIndexString; s->resize(0); }
-<Start>"IGNORE_PREFIX"[ \t]*"=" { BEGIN(GetStrList); l=&Config::ignorePrefixList; l->clear(); elemStr=""; }
-<Start>"INCLUDE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::includePath; l->clear(); elemStr=""; }
-<Start>"EXAMPLE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::examplePath; l->clear(); elemStr=""; }
-<Start>"IMAGE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::imagePath; l->clear(); elemStr=""; }
-<Start>"INPUT"[ \t]*"=" { BEGIN(GetStrList); l=&Config::inputSources; l->clear(); elemStr=""; }
-<Start>"EXCLUDE"[ \t]*"=" { BEGIN(GetStrList); l=&Config::excludeSources; l->clear(); elemStr=""; }
-<Start>"FILE_PATTERNS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::filePatternList; l->clear(); elemStr=""; }
-<Start>"EXCLUDE_PATTERNS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::excludePatternList; l->clear(); elemStr=""; }
-<Start>"EXAMPLE_PATTERNS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::examplePatternList; l->clear(); elemStr=""; }
-<Start>"IMAGE_PATTERNS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::imagePatternList; l->clear(); elemStr=""; }
-<Start>"TAGFILES"[ \t]*"=" { BEGIN(GetStrList); l=&Config::tagFileList; l->clear(); elemStr=""; }
-<Start>"EXT_DOC_PATHS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::extDocPathList; l->clear(); elemStr=""; }
-<Start>"PREDEFINED"[ \t]*"=" { BEGIN(GetStrList); l=&Config::predefined; l->clear(); elemStr=""; }
-<Start>"EXTRA_PACKAGES"[ \t]*"=" { BEGIN(GetStrList); l=&Config::extraPackageList; l->clear(); elemStr=""; }
-<Start>"STRIP_FROM_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::stripFromPath; l->clear(); elemStr=""; }
-<Start>"ENABLED_SECTIONS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::sectionFilterList; l->clear(); elemStr=""; }
-<Start>"QUIET"[ \t]*"=" { BEGIN(GetBool); b=&Config::quietFlag; }
-<Start>"WARNINGS"[ \t]*"=" { BEGIN(GetBool); b=&Config::warningFlag; }
-<Start>"RECURSIVE"[ \t]*"=" { BEGIN(GetBool); b=&Config::recursiveFlag; }
-<Start>"ALLEXTERNALS"[ \t]*"=" { BEGIN(GetBool); b=&Config::allExtFlag; }
-<Start>"SEARCHENGINE"[ \t]*"=" { BEGIN(GetBool); b=&Config::searchEngineFlag; }
-<Start>"EXTRACT_ALL"[ \t]*"=" { BEGIN(GetBool); b=&Config::extractAllFlag; }
-<Start>"EXTRACT_PRIVATE"[ \t]*"=" { BEGIN(GetBool); b=&Config::extractPrivateFlag; }
-<Start>"DISABLE_INDEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::noIndexFlag; }
-<Start>"GENERATE_LATEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateLatex; }
-<Start>"GENERATE_HTML"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateHtml; }
-<Start>"GENERATE_MAN"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateMan; }
-<Start>"ENABLE_PREPROCESSING"[ \t]*"=" { BEGIN(GetBool); b=&Config::preprocessingFlag; }
-<Start>"MACRO_EXPANSION"[ \t]*"=" { BEGIN(GetBool); b=&Config::macroExpansionFlag; }
-<Start>"SEARCH_INCLUDES"[ \t]*"=" { BEGIN(GetBool); b=&Config::searchIncludeFlag; }
-<Start>"BRIEF_MEMBER_DESC"[ \t]*"=" { BEGIN(GetBool); b=&Config::briefMemDescFlag; }
-<Start>"ALWAYS_DETAILED_SEC"[ \t]*"=" { BEGIN(GetBool); b=&Config::alwaysDetailsFlag; }
-<Start>"HIDE_UNDOC_MEMBERS"[ \t]*"=" { BEGIN(GetBool); b=&Config::hideMemberFlag; }
-<Start>"HIDE_UNDOC_CLASSES"[ \t]*"=" { BEGIN(GetBool); b=&Config::hideClassFlag; }
-<Start>"EXPAND_ONLY_PREDEF"[ \t]*"=" { BEGIN(GetBool); b=&Config::onlyPredefinedFlag; }
-<Start>"FULL_PATH_NAMES"[ \t]*"=" { BEGIN(GetBool); b=&Config::fullPathNameFlag; }
-<Start>"CLASS_DIAGRAMS"[ \t]*"=" { BEGIN(GetBool); b=&Config::classDiagramFlag; }
-<Start>"COMPACT_LATEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::compactLatexFlag; }
-<Start>"REPEAT_BRIEF"[ \t]*"=" { BEGIN(GetBool); b=&Config::repeatBriefFlag; }
-<Start>"INTERNAL_DOCS"[ \t]*"=" { BEGIN(GetBool); b=&Config::internalDocsFlag; }
-<Start>"CASE_SENSE_NAMES"[ \t]*"=" { BEGIN(GetBool); b=&Config::caseSensitiveNames; }
-<Start>"VERBATIM_HEADERS"[ \t]*"=" { BEGIN(GetBool); b=&Config::verbatimHeaderFlag; }
-<Start>"HTML_ALIGN_MEMBERS"[ \t]*"=" { BEGIN(GetBool); b=&Config::htmlAlignMemberFlag; }
-<Start>"SOURCE_BROWSER"[ \t]*"=" { BEGIN(GetBool); b=&Config::sourceBrowseFlag; }
-<Start>"JAVADOC_AUTOBRIEF"[ \t]*"=" { BEGIN(GetBool); b=&Config::autoBriefFlag; }
-<Start>"GENERATE_HTMLHELP"[ \t]*"=" { BEGIN(GetBool); b=&Config::htmlHelpFlag; }
-<Start>"ALPHABETICAL_INDEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::alphaIndexFlag; }
-<Start>"PDF_HYPERLINKS"[ \t]*"=" { BEGIN(GetBool); b=&Config::pdfHyperFlag; }
-<Start>"INHERIT_DOCS"[ \t]*"=" { BEGIN(GetBool); b=&Config::inheritDocsFlag; }
-<Start>"INLINE_INFO"[ \t]*"=" { BEGIN(GetBool); b=&Config::inlineInfoFlag; }
-<Start>"INLINE_SOURCES"[ \t]*"=" { BEGIN(GetBool); b=&Config::inlineSourceFlag; }
-<Start>"HAVE_DOT"[ \t]*"=" { BEGIN(GetBool); b=&Config::haveDotFlag; }
-<Start>"COLLABORATION_GRAPH"[ \t]*"=" { BEGIN(GetBool); b=&Config::collGraphFlag; }
-<Start>"INCLUDE_GRAPH"[ \t]*"=" { BEGIN(GetBool); b=&Config::includeGraphFlag; }
-<Start>"GRAPHICAL_HIERARCHY"[ \t]*"=" { BEGIN(GetBool); b=&Config::gfxHierarchyFlag; }
-<Start>"GENERATE_RTF"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateRTF; }
-<Start>"COMPACT_RTF"[ \t]*"=" { BEGIN(GetBool); b=&Config::compactRTFFlag; }
-<Start>"RTF_HYPERLINKS"[ \t]*"=" { BEGIN(GetBool); b=&Config::rtfHyperFlag; }
-<Start>"SHOW_INCLUDE_FILES"[ \t]*"=" { BEGIN(GetBool); b=&Config::showIncFileFlag; }
-<Start>"STRIP_CODE_COMMENTS"[ \t]*"=" { BEGIN(GetBool); b=&Config::stripCommentsFlag; }
-<Start>"SORT_MEMBER_DOCS"[ \t]*"=" { BEGIN(GetBool); b=&Config::sortMembersFlag; }
-<Start>"LATEX_BATCHMODE"[ \t]*"=" { BEGIN(GetBool); b=&Config::latexBatchModeFlag; }
+<Start>"PROJECT_NAME"[ \t]*"=" { BEGIN(GetString); s=&Config::projectName; s->resize(0); }
+<Start>"PROJECT_NUMBER"[ \t]*"=" { BEGIN(GetString); s=&Config::projectNumber; s->resize(0); }
+<Start>"OUTPUT_DIRECTORY"[ \t]*"=" { BEGIN(GetString); s=&Config::outputDir; s->resize(0); }
+<Start>"OUTPUT_LANGUAGE"[ \t]*"=" { BEGIN(GetString); s=&Config::outputLanguage; s->resize(0); }
+<Start>"QUIET"[ \t]*"=" { BEGIN(GetBool); b=&Config::quietFlag; }
+<Start>"WARNINGS"[ \t]*"=" { BEGIN(GetBool); b=&Config::warningFlag; }
+<Start>"DISABLE_INDEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::noIndexFlag; }
+<Start>"EXTRACT_ALL"[ \t]*"=" { BEGIN(GetBool); b=&Config::extractAllFlag; }
+<Start>"EXTRACT_PRIVATE"[ \t]*"=" { BEGIN(GetBool); b=&Config::extractPrivateFlag; }
+<Start>"HIDE_UNDOC_MEMBERS"[ \t]*"=" { BEGIN(GetBool); b=&Config::hideMemberFlag; }
+<Start>"HIDE_UNDOC_CLASSES"[ \t]*"=" { BEGIN(GetBool); b=&Config::hideClassFlag; }
+<Start>"BRIEF_MEMBER_DESC"[ \t]*"=" { BEGIN(GetBool); b=&Config::briefMemDescFlag; }
+<Start>"REPEAT_BRIEF"[ \t]*"=" { BEGIN(GetBool); b=&Config::repeatBriefFlag; }
+<Start>"ALWAYS_DETAILED_SEC"[ \t]*"=" { BEGIN(GetBool); b=&Config::alwaysDetailsFlag; }
+<Start>"FULL_PATH_NAMES"[ \t]*"=" { BEGIN(GetBool); b=&Config::fullPathNameFlag; }
+<Start>"STRIP_FROM_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::stripFromPath; l->clear(); elemStr=""; }
+<Start>"INTERNAL_DOCS"[ \t]*"=" { BEGIN(GetBool); b=&Config::internalDocsFlag; }
+<Start>"CLASS_DIAGRAMS"[ \t]*"=" { BEGIN(GetBool); b=&Config::classDiagramFlag; }
+<Start>"SOURCE_BROWSER"[ \t]*"=" { BEGIN(GetBool); b=&Config::sourceBrowseFlag; }
+<Start>"INLINE_SOURCES"[ \t]*"=" { BEGIN(GetBool); b=&Config::inlineSourceFlag; }
+<Start>"STRIP_CODE_COMMENTS"[ \t]*"=" { BEGIN(GetBool); b=&Config::stripCommentsFlag; }
+<Start>"CASE_SENSE_NAMES"[ \t]*"=" { BEGIN(GetBool); b=&Config::caseSensitiveNames; }
+<Start>"VERBATIM_HEADERS"[ \t]*"=" { BEGIN(GetBool); b=&Config::verbatimHeaderFlag; }
+<Start>"SHOW_INCLUDE_FILES"[ \t]*"=" { BEGIN(GetBool); b=&Config::showIncFileFlag; }
+<Start>"JAVADOC_AUTOBRIEF"[ \t]*"=" { BEGIN(GetBool); b=&Config::autoBriefFlag; }
+<Start>"INHERIT_DOCS"[ \t]*"=" { BEGIN(GetBool); b=&Config::inheritDocsFlag; }
+<Start>"INLINE_INFO"[ \t]*"=" { BEGIN(GetBool); b=&Config::inlineInfoFlag; }
+<Start>"SORT_MEMBER_DOCS"[ \t]*"=" { BEGIN(GetBool); b=&Config::sortMembersFlag; }
+<Start>"TAB_SIZE"[ \t]*"=" { BEGIN(GetString); s=&tabSizeString; s->resize(0); }
+<Start>"ENABLED_SECTIONS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::sectionFilterList; l->clear(); elemStr=""; }
+<Start>"INPUT"[ \t]*"=" { BEGIN(GetStrList); l=&Config::inputSources; l->clear(); elemStr=""; }
+<Start>"FILE_PATTERNS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::filePatternList; l->clear(); elemStr=""; }
+<Start>"RECURSIVE"[ \t]*"=" { BEGIN(GetBool); b=&Config::recursiveFlag; }
+<Start>"EXCLUDE"[ \t]*"=" { BEGIN(GetStrList); l=&Config::excludeSources; l->clear(); elemStr=""; }
+<Start>"EXCLUDE_PATTERNS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::excludePatternList; l->clear(); elemStr=""; }
+<Start>"EXAMPLE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::examplePath; l->clear(); elemStr=""; }
+<Start>"EXAMPLE_PATTERNS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::examplePatternList; l->clear(); elemStr=""; }
+<Start>"IMAGE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::imagePath; l->clear(); elemStr=""; }
+<Start>"INPUT_FILTER"[ \t]*"=" { BEGIN(GetString); s=&Config::inputFilter; s->resize(0); }
+<Start>"ALPHABETICAL_INDEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::alphaIndexFlag; }
+<Start>"COLS_IN_ALPHA_INDEX"[ \t]*"=" { BEGIN(GetString); s=&colsInAlphaIndexString; s->resize(0); }
+<Start>"IGNORE_PREFIX"[ \t]*"=" { BEGIN(GetStrList); l=&Config::ignorePrefixList; l->clear(); elemStr=""; }
+<Start>"GENERATE_HTML"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateHtml; }
+<Start>"HTML_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::htmlOutputDir; s->resize(0); }
+<Start>"HTML_HEADER"[ \t]*"=" { BEGIN(GetString); s=&Config::headerFile; s->resize(0); }
+<Start>"HTML_FOOTER"[ \t]*"=" { BEGIN(GetString); s=&Config::footerFile; s->resize(0); }
+<Start>"HTML_STYLESHEET"[ \t]*"=" { BEGIN(GetString); s=&Config::htmlStyleSheet; s->resize(0); }
+<Start>"HTML_ALIGN_MEMBERS"[ \t]*"=" { BEGIN(GetBool); b=&Config::htmlAlignMemberFlag; }
+<Start>"GENERATE_HTMLHELP"[ \t]*"=" { BEGIN(GetBool); b=&Config::htmlHelpFlag; }
+<Start>"GENERATE_LATEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateLatex; }
+<Start>"LATEX_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::latexOutputDir; s->resize(0); }
+<Start>"COMPACT_LATEX"[ \t]*"=" { BEGIN(GetBool); b=&Config::compactLatexFlag; }
+<Start>"PAPER_TYPE"[ \t]*"=" { BEGIN(GetString); s=&Config::paperType; s->resize(0); }
+<Start>"EXTRA_PACKAGES"[ \t]*"=" { BEGIN(GetStrList); l=&Config::extraPackageList; l->clear(); elemStr=""; }
+<Start>"LATEX_HEADER"[ \t]*"=" { BEGIN(GetString); s=&Config::latexHeaderFile; s->resize(0); }
+<Start>"PDF_HYPERLINKS"[ \t]*"=" { BEGIN(GetBool); b=&Config::pdfHyperFlag; }
+<Start>"LATEX_BATCHMODE"[ \t]*"=" { BEGIN(GetBool); b=&Config::latexBatchModeFlag; }
+<Start>"GENERATE_RTF"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateRTF; }
+<Start>"RTF_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::rtfOutputDir; s->resize(0); }
+<Start>"COMPACT_RTF"[ \t]*"=" { BEGIN(GetBool); b=&Config::compactRTFFlag; }
+<Start>"RTF_HYPERLINKS"[ \t]*"=" { BEGIN(GetBool); b=&Config::rtfHyperFlag; }
+<Start>"GENERATE_MAN"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateMan; }
+<Start>"MAN_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::manOutputDir; s->resize(0); }
+<Start>"MAN_EXTENSION"[ \t]*"=" { BEGIN(GetString); s=&Config::manExtension; s->resize(0); }
+<Start>"ENABLE_PREPROCESSING"[ \t]*"=" { BEGIN(GetBool); b=&Config::preprocessingFlag; }
+<Start>"MACRO_EXPANSION"[ \t]*"=" { BEGIN(GetBool); b=&Config::macroExpansionFlag; }
+<Start>"SEARCH_INCLUDES"[ \t]*"=" { BEGIN(GetBool); b=&Config::searchIncludeFlag; }
+<Start>"INCLUDE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::includePath; l->clear(); elemStr=""; }
+<Start>"PREDEFINED"[ \t]*"=" { BEGIN(GetStrList); l=&Config::predefined; l->clear(); elemStr=""; }
+<Start>"EXPAND_ONLY_PREDEF"[ \t]*"=" { BEGIN(GetBool); b=&Config::onlyPredefinedFlag; }
+<Start>"TAGFILES"[ \t]*"=" { BEGIN(GetStrList); l=&Config::tagFileList; l->clear(); elemStr=""; }
+<Start>"GENERATE_TAGFILE"[ \t]*"=" { BEGIN(GetString); s=&Config::genTagFile; s->resize(0); }
+<Start>"ALLEXTERNALS"[ \t]*"=" { BEGIN(GetBool); b=&Config::allExtFlag; }
+<Start>"PERL_PATH"[ \t]*"=" { BEGIN(GetString); s=&Config::perlPath; s->resize(0); }
+<Start>"HAVE_DOT"[ \t]*"=" { BEGIN(GetBool); b=&Config::haveDotFlag; }
+<Start>"COLLABORATION_GRAPH"[ \t]*"=" { BEGIN(GetBool); b=&Config::collGraphFlag; }
+<Start>"INCLUDE_GRAPH"[ \t]*"=" { BEGIN(GetBool); b=&Config::includeGraphFlag; }
+<Start>"GRAPHICAL_HIERARCHY"[ \t]*"=" { BEGIN(GetBool); b=&Config::gfxHierarchyFlag; }
+<Start>"SEARCHENGINE"[ \t]*"=" { BEGIN(GetBool); b=&Config::searchEngineFlag; }
+<Start>"CGI_NAME"[ \t]*"=" { BEGIN(GetString); s=&Config::cgiName; s->resize(0); }
+<Start>"CGI_URL"[ \t]*"=" { BEGIN(GetString); s=&Config::cgiURL; s->resize(0); }
+<Start>"DOC_URL"[ \t]*"=" { BEGIN(GetString); s=&Config::docURL; s->resize(0); }
+<Start>"DOC_ABSPATH"[ \t]*"=" { BEGIN(GetString); s=&Config::docAbsPath; s->resize(0); }
+<Start>"BIN_ABSPATH"[ \t]*"=" { BEGIN(GetString); s=&Config::binAbsPath; s->resize(0); }
+<Start>"EXT_DOC_PATHS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::extDocPathList; l->clear(); elemStr=""; }
<Start>[a-z_A-Z0-9]+ { err("Warning: ignoring unknown tag `%s' at line %d\n",yytext,yyLineNr); }
<GetString,GetBool>\n { yyLineNr++; BEGIN(Start); }
<GetStrList>\n {
@@ -378,140 +374,296 @@ static int yyread(char *buf,int max_size)
void dumpConfig()
{
+ printf("# General configuration options\n");
printf("projectName=`%s'\n",Config::projectName.data());
- printf("outputDir=`%s'\n", Config::outputDir.data());
- printf("headerFile=`%s'\n", Config::headerFile.data());
- printf("footerFile=`%s'\n", Config::footerFile.data());
- char *ip=Config::includePath.first();
- while (ip)
+ printf("projectNumber=`%s'\n",Config::projectNumber.data());
+ printf("outputDir=`%s'\n",Config::outputDir.data());
+ printf("outputLanguage=`%s'\n",Config::outputLanguage.data());
+ printf("quietFlag=`%d'\n",Config::quietFlag);
+ printf("warningFlag=`%d'\n",Config::warningFlag);
+ printf("noIndexFlag=`%d'\n",Config::noIndexFlag);
+ printf("extractAllFlag=`%d'\n",Config::extractAllFlag);
+ printf("extractPrivateFlag=`%d'\n",Config::extractPrivateFlag);
+ printf("hideMemberFlag=`%d'\n",Config::hideMemberFlag);
+ printf("hideClassFlag=`%d'\n",Config::hideClassFlag);
+ printf("briefMemDescFlag=`%d'\n",Config::briefMemDescFlag);
+ printf("repeatBriefFlag=`%d'\n",Config::repeatBriefFlag);
+ printf("alwaysDetailsFlag=`%d'\n",Config::alwaysDetailsFlag);
+ printf("fullPathNameFlag=`%d'\n",Config::fullPathNameFlag);
+ {
+ char *is=Config::stripFromPath.first();
+ while (is)
+ {
+ printf("stripFromPath=`%s'\n",is);
+ is=Config::stripFromPath.next();
+ }
+ }
+ printf("internalDocsFlag=`%d'\n",Config::internalDocsFlag);
+ printf("classDiagramFlag=`%d'\n",Config::classDiagramFlag);
+ printf("sourceBrowseFlag=`%d'\n",Config::sourceBrowseFlag);
+ printf("inlineSourceFlag=`%d'\n",Config::inlineSourceFlag);
+ printf("stripCommentsFlag=`%d'\n",Config::stripCommentsFlag);
+ printf("caseSensitiveNames=`%d'\n",Config::caseSensitiveNames);
+ printf("verbatimHeaderFlag=`%d'\n",Config::verbatimHeaderFlag);
+ printf("showIncFileFlag=`%d'\n",Config::showIncFileFlag);
+ printf("autoBriefFlag=`%d'\n",Config::autoBriefFlag);
+ printf("inheritDocsFlag=`%d'\n",Config::inheritDocsFlag);
+ printf("inlineInfoFlag=`%d'\n",Config::inlineInfoFlag);
+ printf("sortMembersFlag=`%d'\n",Config::sortMembersFlag);
+ printf("tabSize=`%d'\n",Config::tabSize);
+ {
+ char *is=Config::sectionFilterList.first();
+ while (is)
+ {
+ printf("sectionFilterList=`%s'\n",is);
+ is=Config::sectionFilterList.next();
+ }
+ }
+ printf("# configuration options related to the input files\n");
+ {
+ char *is=Config::inputSources.first();
+ while (is)
+ {
+ printf("inputSources=`%s'\n",is);
+ is=Config::inputSources.next();
+ }
+ }
+ {
+ char *is=Config::filePatternList.first();
+ while (is)
+ {
+ printf("filePatternList=`%s'\n",is);
+ is=Config::filePatternList.next();
+ }
+ }
+ printf("recursiveFlag=`%d'\n",Config::recursiveFlag);
{
- printf("includePath=`%s'\n",ip);
- ip=Config::includePath.next();
+ char *is=Config::excludeSources.first();
+ while (is)
+ {
+ printf("excludeSources=`%s'\n",is);
+ is=Config::excludeSources.next();
+ }
}
- printf("quiet=`%d'\n", Config::quietFlag);
- printf("warnings=`%d'\n", Config::warningFlag);
- char *is=Config::inputSources.first();
- while (is)
{
- printf("inputSources=`%s'\n",is);
- is=Config::inputSources.next();
+ char *is=Config::excludePatternList.first();
+ while (is)
+ {
+ printf("excludePatternList=`%s'\n",is);
+ is=Config::excludePatternList.next();
+ }
}
- char *fp=Config::filePatternList.first();
- while (fp)
{
- printf("filePattern=`%s'\n",fp);
- fp=Config::filePatternList.next();
+ char *is=Config::examplePath.first();
+ while (is)
+ {
+ printf("examplePath=`%s'\n",is);
+ is=Config::examplePath.next();
+ }
+ }
+ {
+ char *is=Config::examplePatternList.first();
+ while (is)
+ {
+ printf("examplePatternList=`%s'\n",is);
+ is=Config::examplePatternList.next();
+ }
+ }
+ {
+ char *is=Config::imagePath.first();
+ while (is)
+ {
+ printf("imagePath=`%s'\n",is);
+ is=Config::imagePath.next();
+ }
}
- printf("recusive=`%d'\n",Config::recursiveFlag);
printf("inputFilter=`%s'\n",Config::inputFilter.data());
- char *tf=Config::tagFileList.first();
- while (tf)
+ printf("# configuration options related to the alphabetical class index\n");
+ printf("alphaIndexFlag=`%d'\n",Config::alphaIndexFlag);
+ printf("colsInAlphaIndex=`%d'\n",Config::colsInAlphaIndex);
+ {
+ char *is=Config::ignorePrefixList.first();
+ while (is)
+ {
+ printf("ignorePrefixList=`%s'\n",is);
+ is=Config::ignorePrefixList.next();
+ }
+ }
+ printf("# configuration options related to the HTML output\n");
+ printf("generateHtml=`%d'\n",Config::generateHtml);
+ printf("htmlOutputDir=`%s'\n",Config::htmlOutputDir.data());
+ printf("headerFile=`%s'\n",Config::headerFile.data());
+ printf("footerFile=`%s'\n",Config::footerFile.data());
+ printf("htmlStyleSheet=`%s'\n",Config::htmlStyleSheet.data());
+ printf("htmlAlignMemberFlag=`%d'\n",Config::htmlAlignMemberFlag);
+ printf("htmlHelpFlag=`%d'\n",Config::htmlHelpFlag);
+ printf("# configuration options related to the LaTeX output\n");
+ printf("generateLatex=`%d'\n",Config::generateLatex);
+ printf("latexOutputDir=`%s'\n",Config::latexOutputDir.data());
+ printf("compactLatexFlag=`%d'\n",Config::compactLatexFlag);
+ printf("paperType=`%s'\n",Config::paperType.data());
+ {
+ char *is=Config::extraPackageList.first();
+ while (is)
+ {
+ printf("extraPackageList=`%s'\n",is);
+ is=Config::extraPackageList.next();
+ }
+ }
+ printf("latexHeaderFile=`%s'\n",Config::latexHeaderFile.data());
+ printf("pdfHyperFlag=`%d'\n",Config::pdfHyperFlag);
+ printf("latexBatchModeFlag=`%d'\n",Config::latexBatchModeFlag);
+ printf("# configuration options related to the RTF output\n");
+ printf("generateRTF=`%d'\n",Config::generateRTF);
+ printf("rtfOutputDir=`%s'\n",Config::rtfOutputDir.data());
+ printf("compactRTFFlag=`%d'\n",Config::compactRTFFlag);
+ printf("rtfHyperFlag=`%d'\n",Config::rtfHyperFlag);
+ printf("# configuration options related to the man page output\n");
+ printf("generateMan=`%d'\n",Config::generateMan);
+ printf("manOutputDir=`%s'\n",Config::manOutputDir.data());
+ printf("manExtension=`%s'\n",Config::manExtension.data());
+ printf("# Configuration options related to the preprocessor \n");
+ printf("preprocessingFlag=`%d'\n",Config::preprocessingFlag);
+ printf("macroExpansionFlag=`%d'\n",Config::macroExpansionFlag);
+ printf("searchIncludeFlag=`%d'\n",Config::searchIncludeFlag);
+ {
+ char *is=Config::includePath.first();
+ while (is)
+ {
+ printf("includePath=`%s'\n",is);
+ is=Config::includePath.next();
+ }
+ }
+ {
+ char *is=Config::predefined.first();
+ while (is)
+ {
+ printf("predefined=`%s'\n",is);
+ is=Config::predefined.next();
+ }
+ }
+ printf("onlyPredefinedFlag=`%d'\n",Config::onlyPredefinedFlag);
+ printf("# Configuration::addtions related to external references \n");
{
- printf("tagFile=`%s'\n",tf);
- tf=Config::tagFileList.next();
+ char *is=Config::tagFileList.first();
+ while (is)
+ {
+ printf("tagFileList=`%s'\n",is);
+ is=Config::tagFileList.next();
+ }
}
- printf("allExternals=`%d'\n",Config::allExtFlag);
- printf("searchEngine=`%d'\n",Config::searchEngineFlag);
+ printf("genTagFile=`%s'\n",Config::genTagFile.data());
+ printf("allExtFlag=`%d'\n",Config::allExtFlag);
+ printf("perlPath=`%s'\n",Config::perlPath.data());
+ printf("# Configuration options related to the dot tool \n");
+ printf("haveDotFlag=`%d'\n",Config::haveDotFlag);
+ printf("collGraphFlag=`%d'\n",Config::collGraphFlag);
+ printf("includeGraphFlag=`%d'\n",Config::includeGraphFlag);
+ printf("gfxHierarchyFlag=`%d'\n",Config::gfxHierarchyFlag);
+ printf("# Configuration::addtions related to the search engine \n");
+ printf("searchEngineFlag=`%d'\n",Config::searchEngineFlag);
printf("cgiName=`%s'\n",Config::cgiName.data());
printf("cgiURL=`%s'\n",Config::cgiURL.data());
printf("docURL=`%s'\n",Config::docURL.data());
+ printf("docAbsPath=`%s'\n",Config::docAbsPath.data());
printf("binAbsPath=`%s'\n",Config::binAbsPath.data());
- char *ed=Config::extDocPathList.first();
- while (ed)
{
- printf("binAbsPathFile=`%s'\n",ed);
- ed=Config::extDocPathList.next();
+ char *is=Config::extDocPathList.first();
+ while (is)
+ {
+ printf("extDocPathList=`%s'\n",is);
+ is=Config::extDocPathList.next();
+ }
}
}
void Config::init()
{
- Config::projectName.resize(0);
- Config::projectNumber.resize(0);
+ Config::projectName.resize(0);
+ Config::projectNumber.resize(0);
Config::outputDir.resize(0);
- Config::htmlOutputDir = "html";
- Config::latexOutputDir ="latex";
- Config::manOutputDir ="man";
- Config::rtfOutputDir = "rtf";
Config::outputLanguage = "English";
- Config::headerFile.resize(0);
- Config::latexHeaderFile.resize(0);
- Config::footerFile.resize(0);
- Config::cgiName = "search.cgi";
- Config::cgiURL.resize(0);
- Config::docURL.resize(0);
- Config::binAbsPath = "/usr/local/bin/";
- Config::docAbsPath.resize(0);
- Config::perlPath = "/usr/bin/perl";
- Config::genTagFile.resize(0);
+ Config::quietFlag = FALSE;
+ Config::warningFlag = TRUE;
+ Config::noIndexFlag = FALSE;
+ Config::extractAllFlag = FALSE;
+ Config::extractPrivateFlag = FALSE;
+ Config::hideMemberFlag = FALSE;
+ Config::hideClassFlag = FALSE;
+ Config::briefMemDescFlag = TRUE;
+ Config::repeatBriefFlag = TRUE;
+ Config::alwaysDetailsFlag = FALSE;
+ Config::fullPathNameFlag = FALSE;
+ Config::stripFromPath.clear();
+ Config::internalDocsFlag = FALSE;
+ Config::classDiagramFlag = TRUE;
+ Config::sourceBrowseFlag = FALSE;
+ Config::inlineSourceFlag = FALSE;
+ Config::stripCommentsFlag = TRUE;
+ Config::caseSensitiveNames = FALSE;
+ Config::verbatimHeaderFlag = TRUE;
+ Config::showIncFileFlag = TRUE;
+ Config::autoBriefFlag = TRUE;
+ Config::inheritDocsFlag = TRUE;
+ Config::inlineInfoFlag = TRUE;
+ Config::sortMembersFlag = TRUE;
+ Config::tabSize = 8;
+ Config::sectionFilterList.clear();
+ Config::inputSources.clear();
+ Config::filePatternList.clear();
+ Config::recursiveFlag = FALSE;
+ Config::excludeSources.clear();
+ Config::excludePatternList.clear();
+ Config::examplePath.clear();
+ Config::examplePatternList.clear();
+ Config::imagePath.clear();
Config::inputFilter.resize(0);
+ Config::alphaIndexFlag = FALSE;
+ Config::colsInAlphaIndex = 5;
+ Config::ignorePrefixList.clear();
+ Config::generateHtml = TRUE;
+ Config::htmlOutputDir = "html";
+ Config::headerFile.resize(0);
+ Config::footerFile.resize(0);
+ Config::htmlStyleSheet.resize(0);
+ Config::htmlAlignMemberFlag = TRUE;
+ Config::htmlHelpFlag = FALSE;
+ Config::generateLatex = TRUE;
+ Config::latexOutputDir = "latex";
+ Config::compactLatexFlag = FALSE;
Config::paperType = "a4wide";
+ Config::extraPackageList.clear();
+ Config::latexHeaderFile.resize(0);
+ Config::pdfHyperFlag = FALSE;
+ Config::latexBatchModeFlag = FALSE;
+ Config::generateRTF = FALSE;
+ Config::rtfOutputDir = "rtf";
+ Config::compactRTFFlag = FALSE;
+ Config::rtfHyperFlag = FALSE;
+ Config::generateMan = TRUE;
+ Config::manOutputDir = "man";
Config::manExtension = ".3";
- Config::htmlStyleSheet.resize(0);
- Config::ignorePrefixList.clear();
- Config::includePath.clear();
- Config::examplePath.clear();
- Config::imagePath.clear();
- Config::inputSources.clear();
- Config::excludeSources.clear();
- Config::filePatternList.clear();
- Config::examplePatternList.clear();
- Config::imagePatternList.clear();
- Config::excludePatternList.clear();
- Config::tagFileList.clear();
- Config::extDocPathList.clear();
+ Config::preprocessingFlag = TRUE;
+ Config::macroExpansionFlag = FALSE;
+ Config::searchIncludeFlag = TRUE;
+ Config::includePath.clear();
Config::predefined.clear();
- Config::extraPackageList.clear();
- Config::stripFromPath.clear();
- Config::sectionFilterList.clear();
- Config::tabSize=8;
- Config::colsInAlphaIndex=5;
- Config::quietFlag = FALSE;
- Config::recursiveFlag = FALSE;
- Config::allExtFlag = FALSE;
- Config::searchEngineFlag = FALSE;
- Config::extractAllFlag = FALSE;
- Config::extractPrivateFlag = FALSE;
- Config::noIndexFlag = FALSE;
- Config::hideMemberFlag = FALSE;
- Config::hideClassFlag = FALSE;
- Config::macroExpansionFlag = FALSE;
- Config::onlyPredefinedFlag = FALSE;
- Config::fullPathNameFlag = FALSE;
- Config::compactLatexFlag = FALSE;
- Config::internalDocsFlag = FALSE;
- Config::caseSensitiveNames = FALSE;
- Config::sourceBrowseFlag = FALSE;
- Config::htmlHelpFlag = FALSE;
- Config::alphaIndexFlag = FALSE;
- Config::pdfHyperFlag = FALSE;
- Config::alwaysDetailsFlag = FALSE;
- Config::inlineSourceFlag = FALSE;
- Config::haveDotFlag = FALSE;
- Config::compactRTFFlag = FALSE;
- Config::rtfHyperFlag = FALSE;
- Config::latexBatchModeFlag = FALSE;
- Config::warningFlag = TRUE;
- Config::generateHtml = TRUE;
- Config::generateLatex = TRUE;
- Config::generateMan = TRUE;
- Config::generateRTF = FALSE;
- Config::preprocessingFlag = TRUE;
- Config::briefMemDescFlag = TRUE;
- Config::searchIncludeFlag = TRUE;
- Config::classDiagramFlag = TRUE;
- Config::repeatBriefFlag = TRUE;
- Config::verbatimHeaderFlag = TRUE;
- Config::htmlAlignMemberFlag = TRUE;
- Config::autoBriefFlag = TRUE;
- Config::inheritDocsFlag = TRUE;
- Config::inlineInfoFlag = TRUE;
- Config::collGraphFlag = TRUE;
- Config::includeGraphFlag = TRUE;
- Config::gfxHierarchyFlag = TRUE;
- Config::showIncFileFlag = TRUE;
- Config::stripCommentsFlag = TRUE;
- Config::sortMembersFlag = TRUE;
+ Config::onlyPredefinedFlag = FALSE;
+ Config::tagFileList.clear();
+ Config::genTagFile.resize(0);
+ Config::allExtFlag = FALSE;
+ Config::perlPath = "/usr/bin/perl";
+ Config::haveDotFlag = FALSE;
+ Config::collGraphFlag = TRUE;
+ Config::includeGraphFlag = TRUE;
+ Config::gfxHierarchyFlag = TRUE;
+ Config::searchEngineFlag = FALSE;
+ Config::cgiName = "search.cgi";
+ Config::cgiURL.resize(0);
+ Config::docURL.resize(0);
+ Config::docAbsPath.resize(0);
+ Config::binAbsPath = "/usr/local/bin/";
+ Config::extDocPathList.clear();
}
static void writeBoolValue(QTextStream &t,bool v)
@@ -573,6 +725,9 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# The format is:\n";
t << "# TAG = value [value, ...]\n";
t << "# Values that contain spaces should be placed between quotes (\" \")\n";
+ }
+ if (!sl)
+ {
t << "\n";
}
t << "#---------------------------------------------------------------------------\n";
@@ -581,22 +736,22 @@ void writeTemplateConfig(QFile *f,bool sl)
if (!sl)
{
t << "\n";
- t << "# The PROJECT_NAME tag is a single word (or a sequence of word surrounded\n";
+ t << "# The PROJECT_NAME tag is a single word (or a sequence of words surrounded \n";
t << "# by quotes) that should identify the project. \n";
t << "\n";
}
- t << "PROJECT_NAME = ";
+ t << "PROJECT_NAME = ";
writeStringValue(t,Config::projectName);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The PROJECT_NUMBER tag can be used to enter a project or revision number.\n" ;
+ t << "# The PROJECT_NUMBER tag can be used to enter a project or revision number. \n";
t << "# This could be handy for archiving the generated documentation or \n";
t << "# if some version control system is used.\n";
t << "\n";
}
- t << "PROJECT_NUMBER = ";
+ t << "PROJECT_NUMBER = ";
writeStringValue(t,Config::projectNumber);
t << "\n";
if (!sl)
@@ -608,304 +763,305 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# where doxygen was started. If left blank the current directory will be used.\n";
t << "\n";
}
- t << "OUTPUT_DIRECTORY = ";
+ t << "OUTPUT_DIRECTORY = ";
writeStringValue(t,Config::outputDir);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The OUTPUT_LANGUAGE tag is used to specify the language in which all\n";
- t << "# documentation generated by doxygen is written. Doxygen will use this\n";
- t << "# information to generate all constant output in the proper language.\n";
+ t << "# The OUTPUT_LANGUAGE tag is used to specify the language in which all \n";
+ t << "# documentation generated by doxygen is written. Doxygen will use this \n";
+ t << "# information to generate all constant output in the proper language. \n";
t << "# The default language is English, other supported languages are: \n";
- t << "# Dutch, French, Italian, Czech, Swedish, German and Japanese\n";
+ t << "# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese, \n";
+ t << "# Spanish and Russian\n";
t << "\n";
}
- t << "OUTPUT_LANGUAGE = ";
+ t << "OUTPUT_LANGUAGE = ";
writeStringValue(t,Config::outputLanguage);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The QUIET tag can be used to turn on/off the messages that are generated\n";
- t << "# by doxygen. Possible values are YES and NO. If left blank NO is used.\n";
+ t << "# The QUIET tag can be used to turn on/off the messages that are generated \n";
+ t << "# by doxygen. Possible values are YES and NO. If left blank NO is used. \n";
t << "\n";
}
- t << "QUIET = ";
+ t << "QUIET = ";
writeBoolValue(t,Config::quietFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The WARNINGS tag can be used to turn on/off the warning messages that are\n";
- t << "# generated by doxygen. Possible values are YES and NO. If left blank\n";
- t << "# NO is used.\n";
+ t << "# The WARNINGS tag can be used to turn on/off the warning messages that are \n";
+ t << "# generated by doxygen. Possible values are YES and NO. If left blank \n";
+ t << "# NO is used. \n";
t << "\n";
}
- t << "WARNINGS = ";
+ t << "WARNINGS = ";
writeBoolValue(t,Config::warningFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The DISABLE_INDEX tag can be used to turn on/off the condensed index at\n";
- t << "# top of each HTML page. The value NO (the default) enables the index and\n";
- t << "# the value YES disables it.\n";
+ t << "# The DISABLE_INDEX tag can be used to turn on/off the condensed index at \n";
+ t << "# top of each HTML page. The value NO (the default) enables the index and \n";
+ t << "# the value YES disables it. \n";
t << "\n";
}
- t << "DISABLE_INDEX = ";
+ t << "DISABLE_INDEX = ";
writeBoolValue(t,Config::noIndexFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the EXTRACT_ALL tag is set to YES all classes and functions will be\n";
- t << "# included in the documentation, even if no documentation was available.\n";
+ t << "# If the EXTRACT_ALL tag is set to YES all classes and functions will be \n";
+ t << "# included in the documentation, even if no documentation was available. \n";
t << "\n";
}
- t << "EXTRACT_ALL = ";
+ t << "EXTRACT_ALL = ";
writeBoolValue(t,Config::extractAllFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the EXTRACT_PRIVATE tag is set to YES all private members of a class\n";
- t << "# will be included in the documentation.\n";
+ t << "# If the EXTRACT_PRIVATE tag is set to YES all private members of a class \n";
+ t << "# will be included in the documentation. \n";
t << "\n";
}
- t << "EXTRACT_PRIVATE = ";
- writeBoolValue(t,Config::extractPrivateFlag);
+ t << "EXTRACT_PRIVATE = ";
+ writeBoolValue(t,Config::extractPrivateFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all\n";
- t << "# undocumented members inside documented classes or files.\n";
+ t << "# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all \n";
+ t << "# undocumented members inside documented classes or files. \n";
t << "\n";
}
- t << "HIDE_UNDOC_MEMBERS = ";
+ t << "HIDE_UNDOC_MEMBERS = ";
writeBoolValue(t,Config::hideMemberFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the HIDE_UNDOC_CLASSESS tag is set to YES, Doxygen will hide all\n";
- t << "# undocumented classes.\n";
+ t << "# If the HIDE_UNDOC_CLASSESS tag is set to YES, Doxygen will hide all \n";
+ t << "# undocumented classes. \n";
t << "\n";
}
- t << "HIDE_UNDOC_CLASSES = ";
+ t << "HIDE_UNDOC_CLASSES = ";
writeBoolValue(t,Config::hideClassFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will\n";
+ t << "# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will \n";
t << "# include brief member descriptions after the members that are listed in \n";
- t << "# the file and class documentation (similar to JavaDoc).\n";
- t << "# Set to NO to disable this.\n";
+ t << "# the file and class documentation (similar to JavaDoc). \n";
+ t << "# Set to NO to disable this. \n";
t << "\n";
}
- t << "BRIEF_MEMBER_DESC = ";
+ t << "BRIEF_MEMBER_DESC = ";
writeBoolValue(t,Config::briefMemDescFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend\n";
- t << "# the brief description of a member or function before the detailed description.\n";
+ t << "# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend \n";
+ t << "# the brief description of a member or function before the detailed description. \n";
t << "# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the \n";
- t << "# brief descriptions will be completely suppressed.\n";
+ t << "# brief descriptions will be completely suppressed. \n";
t << "\n";
}
- t << "REPEAT_BRIEF = ";
+ t << "REPEAT_BRIEF = ";
writeBoolValue(t,Config::repeatBriefFlag);
t << "\n";
if (!sl)
{
- t <<"\n";
- t << "# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then\n";
- t << "# Doxygen will generate a detailed section even if there is only a brief\n";
- t << "# description.\n";
- t <<"\n";
+ t << "\n";
+ t << "# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then \n";
+ t << "# Doxygen will generate a detailed section even if there is only a brief \n";
+ t << "# description. \n";
+ t << "\n";
}
- t << "ALWAYS_DETAILED_SEC = ";
+ t << "ALWAYS_DETAILED_SEC = ";
writeBoolValue(t,Config::alwaysDetailsFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full\n";
- t << "# path before files name in the file list and in the header files. If set\n" ;
- t << "# to NO the shortest path that makes the file name unique will be used.\n";
+ t << "# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full \n";
+ t << "# path before files name in the file list and in the header files. If set \n";
+ t << "# to NO the shortest path that makes the file name unique will be used. \n";
t << "\n";
}
- t << "FULL_PATH_NAMES = ";
+ t << "FULL_PATH_NAMES = ";
writeBoolValue(t,Config::fullPathNameFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag\n";
- t << "# can be used to strip a user defined part of the path. Stripping is\n" ;
- t << "# only done if one of the specified strings matches the left-hand part of\n";
- t << "# the path.\n";
+ t << "# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag \n";
+ t << "# can be used to strip a user defined part of the path. Stripping is \n";
+ t << "# only done if one of the specified strings matches the left-hand part of \n";
+ t << "# the path. \n";
t << "\n";
}
- t << "STRIP_FROM_PATH = ";
+ t << "STRIP_FROM_PATH = ";
writeStringList(t,Config::stripFromPath);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The INTERNAL_DOCS tag determines if documentation\n";
+ t << "# The INTERNAL_DOCS tag determines if documentation \n";
t << "# that is typed after a \\internal command is included. If the tag is set \n";
- t << "# to NO (the default) then the documentation will be excluded.\n";
- t << "# Set it to YES to include the internal documentation.\n";
+ t << "# to NO (the default) then the documentation will be excluded. \n";
+ t << "# Set it to YES to include the internal documentation. \n";
t << "\n";
}
- t << "INTERNAL_DOCS = ";
+ t << "INTERNAL_DOCS = ";
writeBoolValue(t,Config::internalDocsFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will\n";
- t << "# generate a class diagram (in Html and LaTeX) for classes with base or\n";
- t << "# super classes. Setting the tag to NO turns the diagrams off.\n";
+ t << "# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will \n";
+ t << "# generate a class diagram (in Html and LaTeX) for classes with base or \n";
+ t << "# super classes. Setting the tag to NO turns the diagrams off. \n";
t << "\n";
}
- t << "CLASS_DIAGRAMS = ";
+ t << "CLASS_DIAGRAMS = ";
writeBoolValue(t,Config::classDiagramFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the SOURCE_BROWSER tag is set to YES then a list of source files will\n";
- t << "# be generated. Documented entities will be cross-referenced with these sources.\n";
+ t << "# If the SOURCE_BROWSER tag is set to YES then a list of source files will \n";
+ t << "# be generated. Documented entities will be cross-referenced with these sources. \n";
t << "\n";
}
- t << "SOURCE_BROWSER = ";
+ t << "SOURCE_BROWSER = ";
writeBoolValue(t,Config::sourceBrowseFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# Setting the INLINE_SOURCES tag to YES will include the body\n";
- t << "# of functions and classes directly in the documentation.\n";
+ t << "# Setting the INLINE_SOURCES tag to YES will include the body \n";
+ t << "# of functions and classes directly in the documentation. \n";
t << "\n";
}
- t << "INLINE_SOURCES = ";
+ t << "INLINE_SOURCES = ";
writeBoolValue(t,Config::inlineSourceFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct\n";
- t << "# doxygen to hide any special comment blocks from generated source code\n";
- t << "# fragments. Normal C and C++ comments will always remain visible.\n";
+ t << "# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct \n";
+ t << "# doxygen to hide any special comment blocks from generated source code \n";
+ t << "# fragments. Normal C and C++ comments will always remain visible. \n";
t << "\n";
}
- t << "STRIP_CODE_COMMENTS = ";
+ t << "STRIP_CODE_COMMENTS = ";
writeBoolValue(t,Config::stripCommentsFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the CASE_SENSE_NAMES tag is set to NO (the default) then Doxygen\n";
- t << "# will only generate file names in lower case letters. If set to\n";
- t << "# YES upper case letters are also allowed. This is useful if you have\n";
- t << "# classes or files whose names only differ in case and if your file system\n";
- t << "# supports case sensitive file names.\n";
+ t << "# If the CASE_SENSE_NAMES tag is set to NO (the default) then Doxygen \n";
+ t << "# will only generate file names in lower case letters. If set to \n";
+ t << "# YES upper case letters are also allowed. This is useful if you have \n";
+ t << "# classes or files whose names only differ in case and if your file system \n";
+ t << "# supports case sensitive file names. \n";
t << "\n";
}
- t << "CASE_SENSE_NAMES = ";
+ t << "CASE_SENSE_NAMES = ";
writeBoolValue(t,Config::caseSensitiveNames);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen\n";
- t << "# will generate a verbatim copy of the header file for each class for\n";
- t << "# which an include is specified. Set to NO to disable this.\n";
+ t << "# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen \n";
+ t << "# will generate a verbatim copy of the header file for each class for \n";
+ t << "# which an include is specified. Set to NO to disable this. \n";
t << "\n";
}
- t << "VERBATIM_HEADERS = ";
+ t << "VERBATIM_HEADERS = ";
writeBoolValue(t,Config::verbatimHeaderFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen\n";
- t << "# will put list of the files that are included by a file in the documentation\n";
- t << "# of that file.\n";
+ t << "# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen \n";
+ t << "# will put list of the files that are included by a file in the documentation \n";
+ t << "# of that file. \n";
t << "\n";
}
- t << "SHOW_INCLUDE_FILES = ";
+ t << "SHOW_INCLUDE_FILES = ";
writeBoolValue(t,Config::showIncFileFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the JAVADOC_AUTOBRIEF tag is set to YES (the default) then Doxygen\n";
- t << "# will interpret the first line (until the first dot) of a JavaDoc-style\n";
- t << "# comment as the brief description. If set to NO, the Javadoc-style will\n";
- t << "# behave just like the Qt-style comments.\n";
+ t << "# If the JAVADOC_AUTOBRIEF tag is set to YES (the default) then Doxygen \n";
+ t << "# will interpret the first line (until the first dot) of a JavaDoc-style \n";
+ t << "# comment as the brief description. If set to NO, the Javadoc-style will \n";
+ t << "# behave just like the Qt-style comments. \n";
t << "\n";
}
- t << "JAVADOC_AUTOBRIEF = ";
+ t << "JAVADOC_AUTOBRIEF = ";
writeBoolValue(t,Config::autoBriefFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented\n";
- t << "# member inherits the documentation from any documented member that it\n";
- t << "# reimplements.\n";
+ t << "# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented \n";
+ t << "# member inherits the documentation from any documented member that it \n";
+ t << "# reimplements. \n";
t << "\n";
}
- t << "INHERIT_DOCS = ";
+ t << "INHERIT_DOCS = ";
writeBoolValue(t,Config::inheritDocsFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]\n";
- t << "# is inserted in the documentation for inline members.\n";
+ t << "# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] \n";
+ t << "# is inserted in the documentation for inline members. \n";
t << "\n";
}
- t << "INLINE_INFO = ";
+ t << "INLINE_INFO = ";
writeBoolValue(t,Config::inlineInfoFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen\n";
+ t << "# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen \n";
t << "# will sort the (detailed) documentation of file and class members \n";
- t << "# alphabetically by member name. If set to NO the members will appear in\n";
- t << "# declaration order.\n";
+ t << "# alphabetically by member name. If set to NO the members will appear in \n";
+ t << "# declaration order. \n";
t << "\n";
}
- t << "SORT_MEMBER_DOCS = ";
+ t << "SORT_MEMBER_DOCS = ";
writeBoolValue(t,Config::sortMembersFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The TAB_SIZE tag can be used to set the number of spaces in a tab.\n";
- t << "# Doxygen uses this value to replace tabs by spaces in code fragments.\n";
+ t << "# The TAB_SIZE tag can be used to set the number of spaces in a tab. \n";
+ t << "# Doxygen uses this value to replace tabs by spaces in code fragments. \n";
t << "\n";
}
- t << "TAB_SIZE = ";
+ t << "TAB_SIZE = ";
writeIntValue(t,Config::tabSize);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The ENABLE_SECTIONS tag can be used to enable conditional\n";
- t << "# documentation sections, marked by \\if sectionname ... \\endif.\n";
+ t << "# The ENABLE_SECTIONS tag can be used to enable conditional \n";
+ t << "# documentation sections, marked by \\if sectionname ... \\endif. \n";
t << "\n";
}
- t << "ENABLED_SECTIONS = ";
+ t << "ENABLED_SECTIONS = ";
writeStringList(t,Config::sectionFilterList);
t << "\n";
if (!sl)
@@ -921,10 +1077,10 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# The INPUT tag can be used to specify the files and/or directories that contain \n";
t << "# documented source files. You may enter file names like \"myfile.cpp\" or \n";
t << "# directories like \"/usr/src/myproject\". Separate the files or directories \n";
- t << "# with spaces.\n";
+ t << "# with spaces. \n";
t << "\n";
}
- t << "INPUT = ";
+ t << "INPUT = ";
writeStringList(t,Config::inputSources);
t << "\n";
if (!sl)
@@ -933,43 +1089,43 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# If the value of the INPUT tag contains directories, you can use the \n";
t << "# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp \n";
t << "# and *.h) to filter out the source-files in the directories. If left \n";
- t << "# blank all files are included.\n";
+ t << "# blank all files are included. \n";
t << "\n";
}
- t << "FILE_PATTERNS = ";
+ t << "FILE_PATTERNS = ";
writeStringList(t,Config::filePatternList);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The RECURSIVE tag can be used to turn specify whether or not subdirectories\n";
- t << "# should be searched for input files as well. Possible values are YES and NO.\n";
- t << "# If left blank NO is used.\n";
+ t << "# The RECURSIVE tag can be used to turn specify whether or not subdirectories \n";
+ t << "# should be searched for input files as well. Possible values are YES and NO. \n";
+ t << "# If left blank NO is used. \n";
t << "\n";
}
- t << "RECURSIVE = ";
+ t << "RECURSIVE = ";
writeBoolValue(t,Config::recursiveFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The EXCLUDE tag can be used to specify files and/or directories that should\n";
+ t << "# The EXCLUDE tag can be used to specify files and/or directories that should \n";
t << "# excluded from the INPUT source files. This way you can easily exclude a \n";
- t << "# subdirectory from a directory tree whose root is specified with the INPUT tag.\n";
+ t << "# subdirectory from a directory tree whose root is specified with the INPUT tag. \n";
t << "\n";
}
- t << "EXCLUDE = ";
+ t << "EXCLUDE = ";
writeStringList(t,Config::excludeSources);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the value of the INPUT tag contains directories, you can use the\n";
- t << "# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude\n";
- t << "# certain files from those directories.\n";
+ t << "# If the value of the INPUT tag contains directories, you can use the \n";
+ t << "# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude \n";
+ t << "# certain files from those directories. \n";
t << "\n";
}
- t << "EXCLUDE_PATTERNS = ";
+ t << "EXCLUDE_PATTERNS = ";
writeStringList(t,Config::excludePatternList);
t << "\n";
if (!sl)
@@ -977,48 +1133,47 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "\n";
t << "# The EXAMPLE_PATH tag can be used to specify one or more files or \n";
t << "# directories that contain example code fragments that are included (see \n";
- t << "# the \\include command).\n";
+ t << "# the \\include command). \n";
t << "\n";
}
- t << "EXAMPLE_PATH = ";
+ t << "EXAMPLE_PATH = ";
writeStringList(t,Config::examplePath);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the value of the EXAMPLE_PATH tag contains directories, you can use the\n";
+ t << "# If the value of the EXAMPLE_PATH tag contains directories, you can use the \n";
t << "# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp \n";
t << "# and *.h) to filter out the source-files in the directories. If left \n";
- t << "# blank all files are included.\n";
+ t << "# blank all files are included. \n";
t << "\n";
}
- t << "EXAMPLE_PATTERNS = ";
+ t << "EXAMPLE_PATTERNS = ";
writeStringList(t,Config::examplePatternList);
t << "\n";
-
if (!sl)
{
t << "\n";
t << "# The IMAGE_PATH tag can be used to specify one or more files or \n";
t << "# directories that contain image that are included in the documentation (see \n";
- t << "# the \\image command).\n";
+ t << "# the \\image command). \n";
t << "\n";
}
- t << "IMAGE_PATH = ";
+ t << "IMAGE_PATH = ";
writeStringList(t,Config::imagePath);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The INPUT_FILTER tag can be used to specify a program that doxygen should\n";
+ t << "# The INPUT_FILTER tag can be used to specify a program that doxygen should \n";
t << "# invoke to filter for each input file. Doxygen will invoke the filter program \n";
- t << "# by executing (via popen()) the command <filter> <input-file>, where <filter>\n";
- t << "# is the value of the INPUT_FILTER tag, and <input-file> is the name of an\n";
- t << "# input file. Doxygen will then use the output that the filter program writes\n";
- t << "# to standard output.\n";
+ t << "# by executing (via popen()) the command <filter> <input-file>, where <filter> \n";
+ t << "# is the value of the INPUT_FILTER tag, and <input-file> is the name of an \n";
+ t << "# input file. Doxygen will then use the output that the filter program writes \n";
+ t << "# to standard output. \n";
t << "\n";
}
- t << "INPUT_FILTER = ";
+ t << "INPUT_FILTER = ";
writeStringValue(t,Config::inputFilter);
t << "\n";
if (!sl)
@@ -1026,126 +1181,126 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "\n";
}
t << "#---------------------------------------------------------------------------\n";
- t << "# configuration options related to the HTML output\n";
+ t << "# configuration options related to the alphabetical class index\n";
t << "#---------------------------------------------------------------------------\n";
if (!sl)
{
t << "\n";
- t << "# If the GENERATE_HTML tag is set to YES (the default) Doxygen will\n";
- t << "# generate HTML output\n";
+ t << "# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index \n";
+ t << "# of all compounds will be generated. Enable this if the project \n";
+ t << "# contains a lot of classes, structs, unions or interfaces. \n";
t << "\n";
}
- t << "GENERATE_HTML = ";
- writeBoolValue(t,Config::generateHtml);
+ t << "ALPHABETICAL_INDEX = ";
+ writeBoolValue(t,Config::alphaIndexFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.\n";
- t << "# If a relative path is entered the value of OUTPUT_DIRECTORY will be\n";
- t << "# put in front of it. If left blank `html' will be used as the default path.\n";
+ t << "# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then \n";
+ t << "# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns \n";
+ t << "# in which this list will be split (can be a number in the range [1..20]) \n";
t << "\n";
}
- t << "HTML_OUTPUT = ";
- writeStringValue(t,Config::htmlOutputDir);
+ t << "COLS_IN_ALPHA_INDEX = ";
+ writeIntValue(t,Config::colsInAlphaIndex);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The HTML_HEADER tag can be used to specify a personal HTML header for \n";
- t << "# each generated HTML page. If it is left blank doxygen will generate a \n";
- t << "# standard header.\n";
+ t << "# In case all classes in a project start with a common prefix, all \n";
+ t << "# classes will be put under the same header in the alphabetical index. \n";
+ t << "# The IGNORE_PREFIX tag can be used to specify one or more prefixes that \n";
+ t << "# should be ignored while generating the index headers. \n";
t << "\n";
}
- t << "HTML_HEADER = ";
- writeStringValue(t,Config::headerFile);
+ t << "IGNORE_PREFIX = ";
+ writeStringList(t,Config::ignorePrefixList);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The HTML_FOOTER tag can be used to specify a personal HTML footer for \n";
- t << "# each generated HTML page. If it is left blank doxygen will generate a \n";
- t << "# standard footer.\n";
- t << "\n";
}
- t << "HTML_FOOTER = ";
- writeStringValue(t,Config::footerFile);
- t << "\n";
+ t << "#---------------------------------------------------------------------------\n";
+ t << "# configuration options related to the HTML output\n";
+ t << "#---------------------------------------------------------------------------\n";
if (!sl)
{
t << "\n";
- t << "# The HTML_STYLESHEET tag can be used to specify a user defined cascading\n";
- t << "# style sheet that is used by each HTML page. It can be used to \n";
- t << "# fine-tune the look of the HTML output. If the tag is left blank doxygen\n";
- t << "# will generate a default style sheet\n";
+ t << "# If the GENERATE_HTML tag is set to YES (the default) Doxygen will \n";
+ t << "# generate HTML output. \n";
t << "\n";
}
- t << "HTML_STYLESHEET = ";
- writeStringValue(t,Config::htmlStyleSheet);
+ t << "GENERATE_HTML = ";
+ writeBoolValue(t,Config::generateHtml);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,\n";
- t << "# files or namespaces will be aligned in HTML using tables. If set to\n";
- t << "# NO a bullet list will be used.\n";
+ t << "# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. \n";
+ t << "# If a relative path is entered the value of OUTPUT_DIRECTORY will be \n";
+ t << "# put in front of it. If left blank `html' will be used as the default path. \n";
t << "\n";
}
- t << "HTML_ALIGN_MEMBERS = ";
- writeBoolValue(t,Config::htmlAlignMemberFlag);
+ t << "HTML_OUTPUT = ";
+ writeStringValue(t,Config::htmlOutputDir);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the GENERATE_HTMLHELP tag is set to YES, additional index files\n";
- t << "# will be generated that can be used as input for tools like the\n";
- t << "# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)\n";
- t << "# of the generated HTML documentation.\n";
+ t << "# The HTML_HEADER tag can be used to specify a personal HTML header for \n";
+ t << "# each generated HTML page. If it is left blank doxygen will generate a \n";
+ t << "# standard header.\n";
t << "\n";
}
- t << "GENERATE_HTMLHELP = ";
- writeBoolValue(t,Config::htmlHelpFlag);
+ t << "HTML_HEADER = ";
+ writeStringValue(t,Config::headerFile);
t << "\n";
if (!sl)
{
t << "\n";
+ t << "# The HTML_FOOTER tag can be used to specify a personal HTML footer for \n";
+ t << "# each generated HTML page. If it is left blank doxygen will generate a \n";
+ t << "# standard footer.\n";
+ t << "\n";
}
- t << "#---------------------------------------------------------------------------\n";
- t << "# configuration options related to the alphabetical class index\n";
- t << "#---------------------------------------------------------------------------\n";
+ t << "HTML_FOOTER = ";
+ writeStringValue(t,Config::footerFile);
+ t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index\n";
- t << "# of all compounds will be generated. Enable this if the project\n";
- t << "# contains a lot of classes, structs, unions or interfaces.\n";
+ t << "# The HTML_STYLESHEET tag can be used to specify a user defined cascading \n";
+ t << "# style sheet that is used by each HTML page. It can be used to \n";
+ t << "# fine-tune the look of the HTML output. If the tag is left blank doxygen \n";
+ t << "# will generate a default style sheet \n";
t << "\n";
}
- t << "ALPHABETICAL_INDEX = ";
- writeBoolValue(t,Config::alphaIndexFlag);
+ t << "HTML_STYLESHEET = ";
+ writeStringValue(t,Config::htmlStyleSheet);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then\n";
- t << "# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns\n";
- t << "# in which this list will be split (can be a number in the range [1..20])\n";
+ t << "# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, \n";
+ t << "# files or namespaces will be aligned in HTML using tables. If set to \n";
+ t << "# NO a bullet list will be used. \n";
t << "\n";
}
- t << "COLS_IN_ALPHA_INDEX = ";
- writeIntValue(t,Config::colsInAlphaIndex);
+ t << "HTML_ALIGN_MEMBERS = ";
+ writeBoolValue(t,Config::htmlAlignMemberFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# In case all classes in a project start with a common prefix, all\n";
- t << "# classes will be put under the same header in the alphabetical index.\n";
- t << "# The IGNORE_PREFIX tag can be used to specify one or more prefixes that\n";
- t << "# should be ignored while generating the index headers.\n";
+ t << "# If the GENERATE_HTMLHELP tag is set to YES, additional index files \n";
+ t << "# will be generated that can be used as input for tools like the \n";
+ t << "# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) \n";
+ t << "# of the generated HTML documentation. \n";
t << "\n";
}
- t << "IGNORE_PREFIX = ";
- writeStringList(t,Config::ignorePrefixList);
+ t << "GENERATE_HTMLHELP = ";
+ writeBoolValue(t,Config::htmlHelpFlag);
t << "\n";
if (!sl)
{
@@ -1157,179 +1312,183 @@ void writeTemplateConfig(QFile *f,bool sl)
if (!sl)
{
t << "\n";
- t << "# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will\n";
- t << "# generate Latex output.\n";
+ t << "# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will \n";
+ t << "# generate Latex output. \n";
t << "\n";
}
- t << "GENERATE_LATEX = ";
+ t << "GENERATE_LATEX = ";
writeBoolValue(t,Config::generateLatex);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.\n";
- t << "# If a relative path is entered the value of OUTPUT_DIRECTORY will be\n";
- t << "# put in front of it. If left blank `latex' will be used as the default path.\n";
+ t << "# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. \n";
+ t << "# If a relative path is entered the value of OUTPUT_DIRECTORY will be \n";
+ t << "# put in front of it. If left blank `latex' will be used as the default path. \n";
t << "\n";
}
- t << "LATEX_OUTPUT = ";
+ t << "LATEX_OUTPUT = ";
writeStringValue(t,Config::latexOutputDir);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact\n";
- t << "# LaTeX documents. This may be useful for small projects and may help to\n";
- t << "# save some trees in general.\n";
+ t << "# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact \n";
+ t << "# LaTeX documents. This may be useful for small projects and may help to \n";
+ t << "# save some trees in general. \n";
t << "\n";
}
- t << "COMPACT_LATEX = ";
+ t << "COMPACT_LATEX = ";
writeBoolValue(t,Config::compactLatexFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The PAPER_TYPE tag can be used to set the paper type that is used\n";
+ t << "# The PAPER_TYPE tag can be used to set the paper type that is used \n";
t << "# by the printer. Possible values are: a4, a4wide, letter, legal and \n";
- t << "# executive. If left blank a4wide will be used.\n";
+ t << "# executive. If left blank a4wide will be used. \n";
t << "\n";
}
- t << "PAPER_TYPE = ";
+ t << "PAPER_TYPE = ";
writeStringValue(t,Config::paperType);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX\n";
- t << "# packages that should be included in the LaTeX output.\n";
+ t << "# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX \n";
+ t << "# packages that should be included in the LaTeX output. \n";
t << "\n";
}
- t << "EXTRA_PACKAGES = ";
+ t << "EXTRA_PACKAGES = ";
writeStringList(t,Config::extraPackageList);
t << "\n";
if (!sl)
{
t << "\n";
t << "# The LATEX_HEADER tag can be used to specify a personal LaTeX header for \n";
- t << "# the generated latex document. The header should contain everything until\n";
+ t << "# the generated latex document. The header should contain everything until \n";
t << "# the first chapter. If it is left blank doxygen will generate a \n";
- t << "# standard header. Notice: only use this tag if you know what you are doing!\n";
+ t << "# standard header. Notice: only use this tag if you know what you are doing! \n";
t << "\n";
}
- t << "LATEX_HEADER = ";
+ t << "LATEX_HEADER = ";
writeStringValue(t,Config::latexHeaderFile);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated\n";
- t << "# is prepared for conversion to pdf (using ps2pdf). The pdf file will\n";
- t << "# contain links (just like the HTML output) instead of page references\n";
- t << "# This makes the output suitable for online browsing using a pdf viewer.\n";
+ t << "# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated \n";
+ t << "# is prepared for conversion to pdf (using ps2pdf). The pdf file will \n";
+ t << "# contain links (just like the HTML output) instead of page references \n";
+ t << "# This makes the output suitable for online browsing using a pdf viewer. \n";
t << "\n";
}
- t << "PDF_HYPERLINKS = ";
+ t << "PDF_HYPERLINKS = ";
writeBoolValue(t,Config::pdfHyperFlag);
t << "\n";
if (!sl)
{
t << "\n";
+ t << "# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\\\batchmode. \n";
+ t << "# command to the generated LaTeX files. This will instruct LaTeX to keep \n";
+ t << "# running if errors occur, instead of asking the user for help. \n";
+ t << "# This option is also used when generating formulas in HTML. \n";
+ t << "\n";
}
+ t << "LATEX_BATCHMODE = ";
+ writeBoolValue(t,Config::latexBatchModeFlag);
+ t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.\n";
- t << "# command to the generated LaTeX files. This will instruct LaTeX to keep\n";
- t << "# running if errors occur, instead of asking the user for help.\n";
- t << "# This option is also used when generating formulas in HTML.\n";
}
- t << "LATEX_BATCHMODE = ";
- writeBoolValue(t,Config::latexBatchModeFlag);
- t << "\n";
t << "#---------------------------------------------------------------------------\n";
t << "# configuration options related to the RTF output\n";
t << "#---------------------------------------------------------------------------\n";
if (!sl)
{
t << "\n";
- t << "# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output\n";
- t << "# For now this is experimental and is disabled by default. The RTF output\n";
- t << "# is optimised for Word 97 and may not look too pretty with other readers\n";
+ t << "# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output \n";
+ t << "# For now this is experimental and is disabled by default. The RTF output \n";
+ t << "# is optimised for Word 97 and may not look too pretty with other readers \n";
t << "# or editors.\n";
t << "\n";
}
- t << "GENERATE_RTF = ";
+ t << "GENERATE_RTF = ";
writeBoolValue(t,Config::generateRTF);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.\n";
- t << "# If a relative path is entered the value of OUTPUT_DIRECTORY will be\n";
- t << "# put in front of it. If left blank `rtf' will be used as the default path.\n";
+ t << "# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. \n";
+ t << "# If a relative path is entered the value of OUTPUT_DIRECTORY will be \n";
+ t << "# put in front of it. If left blank `rtf' will be used as the default path. \n";
t << "\n";
}
- t << "RTF_OUTPUT = ";
+ t << "RTF_OUTPUT = ";
writeStringValue(t,Config::rtfOutputDir);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the COMPACT_RTF tag is set to YES Doxygen generates more compact\n";
- t << "# RTF documents. This may be useful for small projects and may help to\n";
- t << "# save some trees in general.\n";
+ t << "# If the COMPACT_RTF tag is set to YES Doxygen generates more compact \n";
+ t << "# RTF documents. This may be useful for small projects and may help to \n";
+ t << "# save some trees in general. \n";
t << "\n";
}
- t << "COMPACT_RTF = ";
+ t << "COMPACT_RTF = ";
writeBoolValue(t,Config::compactRTFFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated\n";
- t << "# will contain hyperlink fields. The RTF file will\n";
- t << "# contain links (just like the HTML output) instead of page references.\n";
- t << "# This makes the output suitable for online browsing using a WORD or other.\n";
- t << "# programs which support those fields.\n";
- t << "# Note: wordpad (write) and others do not support links.\n";
+ t << "# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated \n";
+ t << "# will contain hyperlink fields. The RTF file will \n";
+ t << "# contain links (just like the HTML output) instead of page references. \n";
+ t << "# This makes the output suitable for online browsing using a WORD or other. \n";
+ t << "# programs which support those fields. \n";
+ t << "# Note: wordpad (write) and others do not support links. \n";
t << "\n";
}
- t << "RTF_HYPERLINKS = ";
+ t << "RTF_HYPERLINKS = ";
writeBoolValue(t,Config::rtfHyperFlag);
t << "\n";
-
+ if (!sl)
+ {
+ t << "\n";
+ }
t << "#---------------------------------------------------------------------------\n";
t << "# configuration options related to the man page output\n";
t << "#---------------------------------------------------------------------------\n";
if (!sl)
{
t << "\n";
- t << "# If the GENERATE_MAN tag is set to YES (the default) Doxygen will\n";
- t << "# generate man pages\n";
+ t << "# If the GENERATE_MAN tag is set to YES (the default) Doxygen will \n";
+ t << "# generate man pages \n";
t << "\n";
}
- t << "GENERATE_MAN = ";
+ t << "GENERATE_MAN = ";
writeBoolValue(t,Config::generateMan);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The MAN_OUTPUT tag is used to specify where the man pages will be put.\n";
- t << "# If a relative path is entered the value of OUTPUT_DIRECTORY will be\n";
- t << "# put in front of it. If left blank `man' will be used as the default path.\n";
+ t << "# The MAN_OUTPUT tag is used to specify where the man pages will be put. \n";
+ t << "# If a relative path is entered the value of OUTPUT_DIRECTORY will be \n";
+ t << "# put in front of it. If left blank `man' will be used as the default path. \n";
t << "\n";
}
- t << "MAN_OUTPUT = ";
+ t << "MAN_OUTPUT = ";
writeStringValue(t,Config::manOutputDir);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The MAN_EXTENSION tag determines the extension that is added to\n";
- t << "# the generated man pages (default is the subroutine's section .3)\n";
+ t << "# The MAN_EXTENSION tag determines the extension that is added to \n";
+ t << "# the generated man pages (default is the subroutine's section .3) \n";
t << "\n";
}
- t << "MAN_EXTENSION = ";
+ t << "MAN_EXTENSION = ";
writeStringValue(t,Config::manExtension);
t << "\n";
if (!sl)
@@ -1337,14 +1496,14 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "\n";
}
t << "#---------------------------------------------------------------------------\n";
- t << "# Configuration options related to the preprocessor \n";
+ t << "# Configuration options related to the preprocessor \n";
t << "#---------------------------------------------------------------------------\n";
if (!sl)
{
t << "\n";
- t << "# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will\n";
- t << "# evaluate all C-preprocessor directives found in the sources and include\n";
- t << "# files.\n";
+ t << "# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will \n";
+ t << "# evaluate all C-preprocessor directives found in the sources and include \n";
+ t << "# files. \n";
t << "\n";
}
t << "ENABLE_PREPROCESSING = ";
@@ -1353,57 +1512,57 @@ void writeTemplateConfig(QFile *f,bool sl)
if (!sl)
{
t << "\n";
- t << "# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro\n";
+ t << "# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro \n";
t << "# names in the source code. If set to NO (the default) only conditional \n";
- t << "# compilation will be performed.\n";
+ t << "# compilation will be performed. \n";
t << "\n";
}
- t << "MACRO_EXPANSION = ";
+ t << "MACRO_EXPANSION = ";
writeBoolValue(t,Config::macroExpansionFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files\n";
- t << "# in the INCLUDE_PATH (see below) will be search if a #include is found.\n";
+ t << "# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files \n";
+ t << "# in the INCLUDE_PATH (see below) will be search if a #include is found. \n";
t << "\n";
}
- t << "SEARCH_INCLUDES = ";
+ t << "SEARCH_INCLUDES = ";
writeBoolValue(t,Config::searchIncludeFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The INCLUDE_PATH tag can be used to specify one or more directories that\n";
- t << "# contain include files that are not input files but should be processed by\n";
- t << "# the preprocessor.\n" ;
+ t << "# The INCLUDE_PATH tag can be used to specify one or more directories that \n";
+ t << "# contain include files that are not input files but should be processed by \n";
+ t << "# the preprocessor. \n";
t << "\n";
}
- t << "INCLUDE_PATH = ";
+ t << "INCLUDE_PATH = ";
writeStringList(t,Config::includePath);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The PREDEFINED tag can be used to specify one or more macro names that\n";
- t << "# are defined before the preprocessor is started (similar to the -D option of\n";
- t << "# gcc). The argument of the tag is a list of macros of the form: name\n";
+ t << "# The PREDEFINED tag can be used to specify one or more macro names that \n";
+ t << "# are defined before the preprocessor is started (similar to the -D option of \n";
+ t << "# gcc). The argument of the tag is a list of macros of the form: name \n";
t << "# or name=definition (no spaces). If the definition and the = are \n";
- t << "# omitted =1 is assumed.\n";
+ t << "# omitted =1 is assumed. \n";
t << "\n";
}
- t << "PREDEFINED = ";
+ t << "PREDEFINED = ";
writeStringList(t,Config::predefined);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES\n";
- t << "# then the macro expansion is limited to the macros specified with the\n";
- t << "# PREDEFINED tag.\n";
+ t << "# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES \n";
+ t << "# then the macro expansion is limited to the macros specified with the \n";
+ t << "# PREDEFINED tag. \n";
t << "\n";
}
- t << "EXPAND_ONLY_PREDEF = ";
+ t << "EXPAND_ONLY_PREDEF = ";
writeBoolValue(t,Config::onlyPredefinedFlag);
t << "\n";
if (!sl)
@@ -1411,7 +1570,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "\n";
}
t << "#---------------------------------------------------------------------------\n";
- t << "# Configuration options related to external references \n";
+ t << "# Configuration::addtions related to external references \n";
t << "#---------------------------------------------------------------------------\n";
if (!sl)
{
@@ -1419,38 +1578,38 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# The TAGFILES tag can be used to specify one or more tagfiles. \n";
t << "\n";
}
- t << "TAGFILES = ";
+ t << "TAGFILES = ";
writeStringList(t,Config::tagFileList);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# When a file name is specified after GENERATE_TAGFILE, doxygen will create\n";
- t << "# a tag file that is based on the input files it reads.\n";
+ t << "# When a file name is specified after GENERATE_TAGFILE, doxygen will create \n";
+ t << "# a tag file that is based on the input files it reads. \n";
t << "\n";
}
- t << "GENERATE_TAGFILE = ";
+ t << "GENERATE_TAGFILE = ";
writeStringValue(t,Config::genTagFile);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the ALLEXTERNALS tag is set to YES all external classes will be listed\n";
- t << "# in the class index. If set to NO only the inherited external classes\n";
- t << "# will be listed.\n";
+ t << "# If the ALLEXTERNALS tag is set to YES all external classes will be listed \n";
+ t << "# in the class index. If set to NO only the inherited external classes \n";
+ t << "# will be listed. \n";
t << "\n";
}
- t << "ALLEXTERNALS = ";
+ t << "ALLEXTERNALS = ";
writeBoolValue(t,Config::allExtFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The PERL_PATH should be the absolute path and name of the perl script\n";
- t << "# interpreter (i.e. the result of `which perl').\n";
+ t << "# The PERL_PATH should be the absolute path and name of the perl script \n";
+ t << "# interpreter (i.e. the result of `which perl'). \n";
t << "\n";
}
- t << "PERL_PATH = ";
+ t << "PERL_PATH = ";
writeStringValue(t,Config::perlPath);
t << "\n";
if (!sl)
@@ -1458,52 +1617,52 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "\n";
}
t << "#---------------------------------------------------------------------------\n";
- t << "# Configuration options related to the dot tool \n";
+ t << "# Configuration options related to the dot tool \n";
t << "#---------------------------------------------------------------------------\n";
if (!sl)
{
t << "\n";
- t << "# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is\n";
- t << "# available from the path. This tool is part of Graphviz, a graph visualization\n";
- t << "# toolkit from AT&T and Lucent Bell Labs. The other options in this section\n";
- t << "# have no effect if this option is set to NO (the default)\n";
+ t << "# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is \n";
+ t << "# available from the path. This tool is part of Graphviz, a graph visualization \n";
+ t << "# toolkit from AT&T and Lucent Bell Labs. The other options in this section \n";
+ t << "# have no effect if this option is set to NO (the default) \n";
t << "\n";
}
- t << "HAVE_DOT = ";
+ t << "HAVE_DOT = ";
writeBoolValue(t,Config::haveDotFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen\n";
- t << "# will generate a graph for each documented class showing the direct and\n";
- t << "# indirect implementation dependencies (inheritance, containment, and\n";
- t << "# class references variables) of the class with other documented classes.\n";
+ t << "# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen \n";
+ t << "# will generate a graph for each documented class showing the direct and \n";
+ t << "# indirect implementation dependencies (inheritance, containment, and \n";
+ t << "# class references variables) of the class with other documented classes. \n";
t << "\n";
}
- t << "COLLABORATION_GRAPH = ";
+ t << "COLLABORATION_GRAPH = ";
writeBoolValue(t,Config::collGraphFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to\n";
- t << "# YES then doxygen will generate a graph for each documented file showing\n";
+ t << "# If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to \n";
+ t << "# YES then doxygen will generate a graph for each documented file showing \n";
t << "# the direct and indirect include dependencies of the file with other \n";
- t << "# documented files.\n";
+ t << "# documented files. \n";
t << "\n";
}
- t << "INCLUDE_GRAPH = ";
+ t << "INCLUDE_GRAPH = ";
writeBoolValue(t,Config::includeGraphFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen\n";
- t << "# will graphical hierarchy of all classes instead of a textual one.\n";
+ t << "# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen \n";
+ t << "# will graphical hierarchy of all classes instead of a textual one. \n";
t << "\n";
}
- t << "GRAPHICAL_HIERARCHY = ";
+ t << "GRAPHICAL_HIERARCHY = ";
writeBoolValue(t,Config::gfxHierarchyFlag);
t << "\n";
if (!sl)
@@ -1511,81 +1670,81 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "\n";
}
t << "#---------------------------------------------------------------------------\n";
- t << "# Configuration options related to the search engine \n";
+ t << "# Configuration::addtions related to the search engine \n";
t << "#---------------------------------------------------------------------------\n";
if (!sl)
{
t << "\n";
t << "# The SEARCHENGINE tag specifies whether or not a search engine should be \n";
- t << "# used. If set to NO the values of all tags below this one will be ignored.\n";
+ t << "# used. If set to NO the values of all tags below this one will be ignored. \n";
t << "\n";
}
- t << "SEARCHENGINE = ";
+ t << "SEARCHENGINE = ";
writeBoolValue(t,Config::searchEngineFlag);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The CGI_NAME tag should be the name of the CGI script that\n";
- t << "# starts the search engine (doxysearch) with the correct parameters.\n";
- t << "# A script with this name will be generated by doxygen.\n";
+ t << "# The CGI_NAME tag should be the name of the CGI script that \n";
+ t << "# starts the search engine (doxysearch) with the correct parameters. \n";
+ t << "# A script with this name will be generated by doxygen. \n";
t << "\n";
}
- t << "CGI_NAME = ";
+ t << "CGI_NAME = ";
writeStringValue(t,Config::cgiName);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The CGI_URL tag should be the absolute URL to the directory where the\n";
+ t << "# The CGI_URL tag should be the absolute URL to the directory where the \n";
t << "# cgi binaries are located. See the documentation of your http daemon for \n";
- t << "# details.\n";
+ t << "# details. \n";
t << "\n";
}
- t << "CGI_URL = ";
+ t << "CGI_URL = ";
writeStringValue(t,Config::cgiURL);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The DOC_URL tag should be the absolute URL to the directory where the\n";
+ t << "# The DOC_URL tag should be the absolute URL to the directory where the \n";
t << "# documentation is located. If left blank the absolute path to the \n";
- t << "# documentation, with file:// prepended to it, will be used.\n";
+ t << "# documentation, with file:// prepended to it, will be used. \n";
t << "\n";
}
- t << "DOC_URL = ";
+ t << "DOC_URL = ";
writeStringValue(t,Config::docURL);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The DOC_ABSPATH tag should be the absolute path to the directory where the\n";
- t << "# documentation is located. If left blank the directory on the local machine\n";
- t << "# will be used.\n";
+ t << "# The DOC_ABSPATH tag should be the absolute path to the directory where the \n";
+ t << "# documentation is located. If left blank the directory on the local machine \n";
+ t << "# will be used. \n";
t << "\n";
}
- t << "DOC_ABSPATH = ";
+ t << "DOC_ABSPATH = ";
writeStringValue(t,Config::docAbsPath);
t << "\n";
if (!sl)
{
t << "\n";
- t << "# The BIN_ABSPATH tag must point to the directory where the doxysearch binary\n";
- t << "# is installed.\n";
+ t << "# The BIN_ABSPATH tag must point to the directory where the doxysearch binary \n";
+ t << "# is installed. \n";
t << "\n";
}
- t << "BIN_ABSPATH = ";
+ t << "BIN_ABSPATH = ";
writeStringValue(t,Config::binAbsPath);
t << "\n";
if (!sl)
{
t << "\n";
t << "# The EXT_DOC_PATHS tag can be used to specify one or more paths to \n";
- t << "# documentation generated for other projects. This allows doxysearch to search\n";
- t << "# the documentation for these projects as well.\n";
+ t << "# documentation generated for other projects. This allows doxysearch to search \n";
+ t << "# the documentation for these projects as well. \n";
t << "\n";
}
- t << "EXT_DOC_PATHS = ";
+ t << "EXT_DOC_PATHS = ";
writeStringList(t,Config::extDocPathList);
t << "\n";
}
@@ -1714,44 +1873,43 @@ static void substEnvVarsInStrList(QStrList &sl)
void substituteEnvironmentVars()
{
- substEnvVarsInString( Config::projectName );
- substEnvVarsInString( Config::projectNumber );
- substEnvVarsInString( Config::outputDir );
- substEnvVarsInString( Config::htmlOutputDir );
- substEnvVarsInString( Config::latexOutputDir );
- substEnvVarsInString( Config::manOutputDir );
- substEnvVarsInString( Config::rtfOutputDir );
+ substEnvVarsInString( Config::projectName );
+ substEnvVarsInString( Config::projectNumber );
+ substEnvVarsInString( Config::outputDir );
substEnvVarsInString( Config::outputLanguage );
- substEnvVarsInString( Config::headerFile );
- substEnvVarsInString( Config::latexHeaderFile );
- substEnvVarsInString( Config::footerFile );
- substEnvVarsInString( Config::cgiName );
- substEnvVarsInString( Config::cgiURL );
- substEnvVarsInString( Config::docURL );
- substEnvVarsInString( Config::binAbsPath );
- substEnvVarsInString( Config::docAbsPath );
- substEnvVarsInString( Config::perlPath );
- substEnvVarsInString( Config::genTagFile );
- substEnvVarsInString( Config::inputFilter );
- substEnvVarsInString( Config::paperType );
- substEnvVarsInString( Config::manExtension );
- substEnvVarsInString( Config::htmlStyleSheet );
- substEnvVarsInStrList( Config::ignorePrefixList );
- substEnvVarsInStrList( Config::includePath );
- substEnvVarsInStrList( Config::examplePath );
- substEnvVarsInStrList( Config::imagePath );
- substEnvVarsInStrList( Config::inputSources );
+ substEnvVarsInStrList( Config::stripFromPath );
+ substEnvVarsInStrList( Config::sectionFilterList );
+ substEnvVarsInStrList( Config::inputSources );
+ substEnvVarsInStrList( Config::filePatternList );
substEnvVarsInStrList( Config::excludeSources );
- substEnvVarsInStrList( Config::filePatternList );
substEnvVarsInStrList( Config::excludePatternList );
+ substEnvVarsInStrList( Config::examplePath );
substEnvVarsInStrList( Config::examplePatternList );
- substEnvVarsInStrList( Config::imagePatternList );
- substEnvVarsInStrList( Config::tagFileList );
- substEnvVarsInStrList( Config::extDocPathList );
- substEnvVarsInStrList( Config::predefined );
+ substEnvVarsInStrList( Config::imagePath );
+ substEnvVarsInString( Config::inputFilter );
+ substEnvVarsInStrList( Config::ignorePrefixList );
+ substEnvVarsInString( Config::htmlOutputDir );
+ substEnvVarsInString( Config::headerFile );
+ substEnvVarsInString( Config::footerFile );
+ substEnvVarsInString( Config::htmlStyleSheet );
+ substEnvVarsInString( Config::latexOutputDir );
+ substEnvVarsInString( Config::paperType );
substEnvVarsInStrList( Config::extraPackageList );
- substEnvVarsInStrList( Config::stripFromPath );
- substEnvVarsInStrList( Config::sectionFilterList );
+ substEnvVarsInString( Config::latexHeaderFile );
+ substEnvVarsInString( Config::rtfOutputDir );
+ substEnvVarsInString( Config::manOutputDir );
+ substEnvVarsInString( Config::manExtension );
+ substEnvVarsInStrList( Config::includePath );
+ substEnvVarsInStrList( Config::predefined );
+ substEnvVarsInStrList( Config::tagFileList );
+ substEnvVarsInString( Config::genTagFile );
+ substEnvVarsInString( Config::perlPath );
+ substEnvVarsInString( Config::cgiName );
+ substEnvVarsInString( Config::cgiURL );
+ substEnvVarsInString( Config::docURL );
+ substEnvVarsInString( Config::docAbsPath );
+ substEnvVarsInString( Config::binAbsPath );
+ substEnvVarsInStrList( Config::extDocPathList );
}
void checkConfig()
@@ -1761,6 +1919,7 @@ void checkConfig()
// projectName[0]=toupper(projectName[0]);
//}
+
// set default man page extension if non is given by the user
if (Config::manExtension.isEmpty())
{
@@ -1965,10 +2124,10 @@ void checkConfig()
}
// add default pattern if needed
- if (Config::imagePatternList.count()==0)
- {
- Config::imagePatternList.append("*");
- }
+ //if (Config::imagePatternList.count()==0)
+ //{
+ // Config::imagePatternList.append("*");
+ //}
// more checks needed if and only if the search engine is enabled.
if (Config::searchEngineFlag)
diff --git a/src/dot.cpp b/src/dot.cpp
index 3c59fd6..f4f5fbc 100644
--- a/src/dot.cpp
+++ b/src/dot.cpp
@@ -166,6 +166,18 @@ class DotNodeList : public QList<DotNode>
//--------------------------------------------------------------------
+
+/*! helper function that deletes all nodes in a connected graph, given
+ * one of the graph's nodes
+ */
+static void deleteNodes(DotNode *node)
+{
+ static DotNodeList deletedNodes;
+ deletedNodes.setAutoDelete(TRUE);
+ node->deleteNode(deletedNodes); // collect nodes to be deleted.
+ deletedNodes.clear(); // actually remove the nodes.
+}
+
DotNode::DotNode(int n,const char *lab,const char *url,int distance,bool isRoot)
: m_number(n), m_label(lab), m_url(url), m_isRoot(isRoot)
{
@@ -237,39 +249,32 @@ void DotNode::removeParent(DotNode *n)
if (m_parents) m_parents->remove(n);
}
-void DotNode::deleteNode()
+void DotNode::deleteNode(DotNodeList &deletedList)
{
if (m_deleted) return; // avoid recursive loops in case the graph has cycles
m_deleted=TRUE;
- if (m_parents!=0)
+ if (m_parents!=0) // delete all parent nodes of this node
{
QListIterator<DotNode> dnlip(*m_parents);
DotNode *pn;
for (dnlip.toFirst();(pn=dnlip.current());++dnlip)
{
- pn->removeChild(this);
- if (!pn->m_deleted)
- {
- pn->deleteNode();
- }
- // do not access pn after this!
+ //pn->removeChild(this);
+ pn->deleteNode(deletedList);
}
}
- if (m_children!=0)
+ if (m_children!=0) // delete all child nodes of this node
{
QListIterator<DotNode> dnlic(*m_children);
DotNode *cn;
for (dnlic.toFirst();(cn=dnlic.current());++dnlic)
{
- cn->removeParent(this);
- if (!cn->m_deleted)
- {
- cn->deleteNode();
- }
- // do not access cn after this!
+ //cn->removeParent(this);
+ cn->deleteNode(deletedList);
}
}
- delete this;
+ // add this node to the list of deleted nodes.
+ deletedList.append(this);
}
void DotNode::writeBox(QTextStream &t,bool hasNonReachableChildren)
@@ -684,7 +689,7 @@ DotGfxHierarchyTable::~DotGfxHierarchyTable()
{
DotNode *oldNode=n;
n=m_rootNodes->next();
- oldNode->deleteNode();
+ deleteNodes(oldNode);
}
delete m_rootNodes;
delete m_usedNodes;
@@ -792,7 +797,7 @@ bool DotGfxUsageGraph::isTrivial() const
DotGfxUsageGraph::~DotGfxUsageGraph()
{
- m_startNode->deleteNode();
+ deleteNodes(m_startNode);
delete m_usedNodes;
}
@@ -1011,7 +1016,7 @@ DotInclDepGraph::DotInclDepGraph(FileDef *fd)
DotInclDepGraph::~DotInclDepGraph()
{
- m_startNode->deleteNode();
+ deleteNodes(m_startNode);
delete m_usedNodes;
}
diff --git a/src/dot.h b/src/dot.h
index 97ba7a0..1b679c8 100644
--- a/src/dot.h
+++ b/src/dot.h
@@ -56,7 +56,7 @@ class DotNode
);
void setDistance(int distance);
void addParent(DotNode *n);
- void deleteNode();
+ void deleteNode(DotNodeList &deletedList);
void removeChild(DotNode *n);
void removeParent(DotNode *n);
int number() const { return m_number; }
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 9c51f74..3028d67 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -1265,12 +1265,7 @@ void buildMemberList(Entry *root)
md->setDefLine(root->startLine);
md->setDocumentation(root->doc);
md->setBriefDescription(root->brief);
- //md->setBody(root->body);
md->setBodySegment(root->bodyLine,root->endBodyLine);
- //if (root->mGrpId!=-1)
- //{
- // md->setMemberGroup(memberGroupDict[root->mGrpId]);
- //}
md->setInline(root->inLine);
bool ambig;
md->setBodyDef(findFileDef(&inputNameDict,root->fileName,ambig));
@@ -1597,9 +1592,15 @@ void findFriends()
else if (!mmd->briefDescription().isEmpty() && !fmd->briefDescription().isEmpty())
fmd->setBriefDescription(mmd->briefDescription());
if (mmd->getStartBodyLine()==-1 && fmd->getStartBodyLine()!=-1)
+ {
mmd->setBodySegment(fmd->getStartBodyLine(),fmd->getEndBodyLine());
+ mmd->setBodyDef(fmd->getBodyDef());
+ }
else if (mmd->getStartBodyLine()!=-1 && fmd->getStartBodyLine()==-1)
+ {
fmd->setBodySegment(mmd->getStartBodyLine(),mmd->getEndBodyLine());
+ fmd->setBodyDef(mmd->getBodyDef());
+ }
}
}
}
@@ -1724,7 +1725,7 @@ static bool findBaseClassRelation(Entry *root,ClassDef *cd,
{
baseClassName.prepend(scopeName.left(scopeOffset)+"::");
}
- ClassDef *baseClass=getClass(baseClassName);
+ ClassDef *baseClass=getResolvedClass(baseClassName);
if (baseClassName!=root->name) // check for base class with the same name,
// look in the outer scope for a match
{
@@ -1744,7 +1745,7 @@ static bool findBaseClassRelation(Entry *root,ClassDef *cd,
// but for now, we only look for the unspecializated base class.
templSpec=baseClassName.right(baseClassName.length()-i);
baseClassName=baseClassName.left(i);
- baseClass=getClass(baseClassName);
+ baseClass=getResolvedClass(baseClassName);
//printf("baseClass=%p baseClass=%s templSpec=%s\n",
// baseClass,baseClassName.data(),templSpec.data());
}
@@ -1766,7 +1767,7 @@ static bool findBaseClassRelation(Entry *root,ClassDef *cd,
for (nli.toFirst() ; (nd=nli.current()) && !found ; ++nli)
{
QCString fName = nd->name()+"::"+baseClassName;
- found = (baseClass=getClass(fName))!=0 && baseClass!=cd &&
+ found = (baseClass=getResolvedClass(fName))!=0 && baseClass!=cd &&
root->name!=fName;
}
}
@@ -1775,7 +1776,7 @@ static bool findBaseClassRelation(Entry *root,ClassDef *cd,
{
NamespaceList *nl = nd->getUsedNamespaces();
QCString fName = nd->name()+"::"+baseClassName;
- found = (baseClass=getClass(fName))!=0 && root->name!=fName;
+ found = (baseClass=getResolvedClass(fName))!=0 && root->name!=fName;
if (nl) // try to prepend any of the using namespace scopes.
{
NamespaceListIterator nli(*nl);
@@ -1783,7 +1784,7 @@ static bool findBaseClassRelation(Entry *root,ClassDef *cd,
for (nli.toFirst() ; (nd=nli.current()) && !found ; ++nli)
{
fName = nd->name()+"::"+baseClassName;
- found = (baseClass=getClass(fName))!=0 && baseClass!=cd &&
+ found = (baseClass=getResolvedClass(fName))!=0 && baseClass!=cd &&
root->name!=fName;
}
}
@@ -4935,7 +4936,7 @@ int main(int argc,char **argv)
s=Config::imagePath.first();
while (s)
{
- readFileOrDirectory(s,0,&imageNameDict,0,&Config::imagePatternList,
+ readFileOrDirectory(s,0,&imageNameDict,0,0,
0,0,0);
s=Config::imagePath.next();
}
diff --git a/src/doxygen.h b/src/doxygen.h
index aa8f4b4..93a2a27 100644
--- a/src/doxygen.h
+++ b/src/doxygen.h
@@ -79,7 +79,6 @@ class BufStr : public QCString
typedef QList<QCString> StringList;
typedef QDict<MemberDef> MemberDict;
-typedef QDict<ClassDef> ClassDict;
typedef QDict<FileDef> FileDict;
typedef QDict<QCString> StringDict;
typedef QDict<PageInfo> PageDict;
diff --git a/src/doxygen.t b/src/doxygen.t
index 3cff9b1..f887a68 100644
--- a/src/doxygen.t
+++ b/src/doxygen.t
@@ -1,7 +1,7 @@
#
#
#
-# Copyright (C) 1997-1999 by Dimitri van Heesch.
+# Copyright (C) 1997-2000 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp
index 17a9763..1ecf21a 100644
--- a/src/htmlgen.cpp
+++ b/src/htmlgen.cpp
@@ -624,7 +624,7 @@ void HtmlGenerator::insertMemberAlign()
DBG_HTML(t << "<!-- insertMemberAlign -->" << endl)
if (Config::htmlAlignMemberFlag)
{
- t << "&nbsp;</td><td valign=top>";
+ t << "&nbsp;</td><td valign=bottom>";
}
}
@@ -652,7 +652,7 @@ void HtmlGenerator::endMemberDescription()
}
else
{
- t << "</em></font></dl>";
+ t << "<br><br></em></font></dl>";
}
}
diff --git a/src/index.cpp b/src/index.cpp
index 62cf84d..bad6e18 100644
--- a/src/index.cpp
+++ b/src/index.cpp
@@ -167,6 +167,11 @@ void writeClassHierarchy(OutputList &ol)
for (;cli.current(); ++cli)
{
ClassDef *cd=cli.current();
+ //printf("class %s hasVisibleRoot=%d isVisibleInHierarchy=%d\n",
+ // cd->name().data(),
+ // hasVisibleRoot(cd->baseClasses()),
+ // cd->isVisibleInHierarchy()
+ // );
if (!hasVisibleRoot(cd->baseClasses()))
{
if (cd->isVisibleInHierarchy())
@@ -197,11 +202,11 @@ void writeClassHierarchy(OutputList &ol)
ol.writeIndexItem(0,0,cd->name());
//if (hasHtmlHelp) htmlHelp->addContentsItem(cd->name(),"nodoc");
}
- }
- if (!cd->visited && cd->superClasses()->count()>0)
- {
- writeClassTree(ol,cd->superClasses(),cd->visited);
- cd->visited=TRUE;
+ if (!cd->visited && cd->superClasses()->count()>0)
+ {
+ writeClassTree(ol,cd->superClasses(),cd->visited);
+ cd->visited=TRUE;
+ }
}
}
}
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index 36d4945..2f6aae7 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -634,12 +634,12 @@ void MemberDef::writeDeclaration(OutputList &ol,
else
{
type = type.left(i) + " { ... } " + type.right(type.length()-i-l);
- linkifyText(ol,cname,name(),type);
+ linkifyText(ol,cname,name(),type,TRUE);
}
}
else
{
- linkifyText(ol,cname,name(),type);
+ linkifyText(ol,cname,name(),type,TRUE);
}
bool htmlOn = ol.isEnabled(OutputGenerator::Html);
if (htmlOn && Config::htmlAlignMemberFlag && !type.isEmpty())
@@ -995,14 +995,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
parseText(ol,theTranslator->trInitialValue());
ol.endBold();
ol.startCodeFragment();
- if (isDefine())
- {
- parseCode(ol,scopeName,init,FALSE,0);
- }
- else
- {
- parseCode(ol,scopeName,init.simplifyWhiteSpace(),FALSE,0);
- }
+ parseCode(ol,scopeName,init,FALSE,0);
ol.endCodeFragment();
}
diff --git a/src/namespacedef.cpp b/src/namespacedef.cpp
index b1fb93a..b74f933 100644
--- a/src/namespacedef.cpp
+++ b/src/namespacedef.cpp
@@ -31,6 +31,7 @@ NamespaceDef::NamespaceDef(const char *name,const char *ref) : Definition(name)
{
fileName="namespace_"+nameToFile(name);
classList = new ClassList;
+ classDict = new ClassDict(1009);
//memList = new MemberList;
usingList = 0;
setReference(ref);
@@ -42,6 +43,7 @@ NamespaceDef::NamespaceDef(const char *name,const char *ref) : Definition(name)
NamespaceDef::~NamespaceDef()
{
delete classList;
+ delete classDict;
delete usingList;
delete memberGroupList;
delete memberGroupDict;
@@ -54,7 +56,11 @@ void NamespaceDef::insertUsedFile(const char *f)
void NamespaceDef::insertClass(ClassDef *cd)
{
- classList->append(cd);
+ if (classDict->find(cd->name())==0)
+ {
+ classList->append(cd);
+ classDict->insert(cd->name(),cd);
+ }
}
void NamespaceDef::addMemberToGroup(MemberDef *md,int groupId)
diff --git a/src/namespacedef.h b/src/namespacedef.h
index 797bf6b..13458c8 100644
--- a/src/namespacedef.h
+++ b/src/namespacedef.h
@@ -27,6 +27,7 @@
class ClassDef;
class OutputList;
class ClassList;
+class ClassDict;
class MemberDef;
class NamespaceList;
class MemberGroupDict;
@@ -77,6 +78,7 @@ class NamespaceDef : public Definition
QCString fileName;
QStrList files;
ClassList *classList;
+ ClassDict *classDict;
NamespaceList *usingList;
MemberList allMemberList;
diff --git a/src/scanner.l b/src/scanner.l
index ae2cc8f..171ca71 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -836,6 +836,13 @@ static QCString findAndCopyImage(const char *fileName,ImageTypes type)
return result;
}
+QCString extractName(const QCString &s)
+{
+ uint i=0;
+ while (i<s.length() && isId(s.at(i))) i++;
+ return s.left(i);
+}
+
/* ----------------------------------------------------------------- */
//static void addToBody(const char *text);
@@ -2823,6 +2830,16 @@ DOCPARAM ([a-z_A-Z0-9:\.\-]+)|("\"".*"\"")
current->type=current->type.simplifyWhiteSpace();
current->args=current->args.simplifyWhiteSpace();
current->name=current->name.stripWhiteSpace();
+ if (!current->name.isEmpty() && current->type.left(8)=="typedef ")
+ {
+ // add typedef to dictionary
+ QCString dest = extractName(current->type.right(current->type.length()-8));
+ if (!dest.isEmpty())
+ {
+ //printf(">>>>>>>>>> adding %s->%s\n",current->name.data(),dest.data());
+ typedefDict.insert(current->name, new QCString(dest));
+ }
+ }
current->section = Entry::VARIABLE_SEC ;
current->fileName = yyFileName;
current->startLine = yyLineNr;
@@ -3707,12 +3724,11 @@ DOCPARAM ([a-z_A-Z0-9:\.\-]+)|("\"".*"\"")
{
if (isTypedef)
{
- // typedefDict.insert(yytext,new QCString(current->name));
- // current->type.prepend("typedef ");
- // current->extends
- current->extends->append(
- new BaseInfo(yytext,Public,Normal)
- );
+ QCString dest = extractName(current->name);
+ typedefDict.insert(yytext,new QCString(current->name));
+ //current->extends->append(
+ // new BaseInfo(yytext,Public,Normal)
+ // );
}
current->type += ' ' ;
current->type += current->name ;
diff --git a/src/translator_ru.h b/src/translator_ru.h
index e6b33e8..1e58553 100644
--- a/src/translator_ru.h
+++ b/src/translator_ru.h
@@ -10,8 +10,7 @@
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
- * Documents produced by Doxygen are derivative works derived from the
- * input used in their production; they are not affected by this license.
+ * All output generated with Doxygen is not covered by this license.
*
*/
@@ -39,6 +38,7 @@ class TranslatorRussian : public Translator
}
QCString trMemberTypedefDocumentation()
{
+ // Need additional translation
return "Описание Членов typedef";
}
QCString trMemberEnumerationDocumentation()
@@ -71,7 +71,7 @@ class TranslatorRussian : public Translator
}
QCString trIncludeIncludingInheritedMembers()
{
- return ", включая все унаследованные методы.";
+ return ", включая все унаследованные члены.";
}
QCString trGeneratedAutomatically(const char *s)
{ QCString result="Автоматически создано системой Doxygen";
@@ -105,6 +105,7 @@ class TranslatorRussian : public Translator
}
QCString trCompoundList()
{
+ // Need additional translation
return "Составной список (compound list)";
}
QCString trFileList()
@@ -117,6 +118,7 @@ class TranslatorRussian : public Translator
}
QCString trCompoundMembers()
{
+ // Need additional translation
return "Составные члены (compound members)";
}
QCString trFileMembers()
@@ -137,9 +139,555 @@ class TranslatorRussian : public Translator
}
QCString trClassHierarchyDescription()
{
+ // Need additional translation
return "Этот список (inheritance) тупо отсортирован, почти по алфафиту";
}
-
+ QCString trFileListDescription(bool extractAll)
+ {
+ QCString result="Список всех ";
+ if(!extractAll) result+="документированных ";
+ result+="файлов с кратким описанием:";
+ return result;
+ }
+ QCString trCompoundListDescription()
+ {
+ return "Краткое описание классов, структур, объединений и "
+ "интерфейсов:";
+ }
+ QCString trCompoundMembersDescription(bool extractAll)
+ {
+ // Need additional translation
+ QCString result="Список всех ";
+ if(!extractAll) result+="документированных ";
+ result+="членов класса которые связаны с ";
+ if(extractAll)
+ result+="the class documentation for each member:";
+ else
+ result+="the classes the belong to:";
+ return result;
+ }
+ QCString trFileMembersDescription(bool extractAll)
+ {
+ // Need additional translation
+ QCString result="Список всех ";
+ if(!extractAll) result+="документированных ";
+ result+="членов файла, которые (links) указывают на";
+ if(extractAll)
+ result+="the class documentation for each member:";
+ else
+ result+="the classes the belong to:";
+ return result;
+ }
+ QCString trHeaderFilesDescription()
+ {
+ return "Список заголовочных файлов, которые представляют API:";
+ }
+ QCString trExamplesDescription()
+ {
+ return "Список всех примеров:";
+ }
+ QCString trRelatedPagesDescription()
+ {
+ // Need additional translation
+ return "Список всех страниц документации связанных с этой темой:";
+ }
+ QCString trModulesDescription()
+ {
+ return "Список всех модулей:";
+ }
+ QCString trNoDescriptionAvailable()
+ {
+ return "Нет описания";
+ }
+ QCString trDocumentation()
+ {
+ return "Документация";
+ }
+ QCString trModuleIndex()
+ {
+ return "Индекс модулей";
+ }
+ QCString trHierarchicalIndex()
+ {
+ return "Иерархический список";
+ }
+ QCString trCompoundIndex()
+ {
+ // Need additional translation
+ return "Составной список";
+ }
+ QCString trFileIndex()
+ {
+ return "Индекс Файлов";
+ }
+ QCString trModuleDocumentation()
+ {
+ return "Документация по Модулям";
+ }
+ QCString trClassDocumentation()
+ {
+ return "Документация по Классам";
+ }
+ QCString trFileDocumentation()
+ {
+ return "Документация по Файлам";
+ }
+ QCString trExampleDocumentation()
+ {
+ return "Примеры к Документации";
+ }
+ QCString trPageDocumentation()
+ {
+ return "Документация по Страницам";
+ }
+ QCString trReferenceManual()
+ {
+ return "Справочное Описание";
+ }
+ QCString trDefines()
+ {
+ // Need Translation
+ return "Определения (Defines)";
+ }
+ QCString trFunctionPrototypes()
+ {
+ return "Прототипы функций";
+ }
+ QCString trTypedefs()
+ {
+ return "Определения типов";
+ }
+ QCString trEnumerations()
+ {
+ // Need Translation
+ return "Перечисления (Enumerations)";
+ }
+ QCString trFunctions()
+ {
+ return "Функции:";
+ }
+ QCString trVariables()
+ {
+ return "Переменные:";
+ }
+ QCString trEnumerationValues()
+ {
+ return "Значение перечислимого типа";
+ }
+ QCString trAuthor()
+ {
+ return "Автор";
+ }
+ QCString trDefineDocumentation()
+ {
+ return "Документация по определениям (defines)";
+ }
+ QCString trFunctionPrototypeDocumentation()
+ {
+ return "Документация по прототипам функций";
+ }
+ QCString trTypedefDocumentation()
+ {
+ return "Документация по определениям типов";
+ }
+ QCString trEnumerationTypeDocumentation()
+ {
+ return "Документация по перечислимым типам";
+ }
+ QCString trEnumerationValueDocumentation()
+ {
+ return "Документация по значениям перечислимых типов";
+ }
+ QCString trFunctionDocumentation()
+ {
+ return "Документация по функциям";
+ }
+ QCString trVariableDocumentation()
+ {
+ return "Документация по переменным";
+ }
+ QCString trCompounds()
+ {
+ // need translation
+ return "Compounds";
+ }
+ QCString trFiles()
+ {
+ return "Файлы";
+ }
+ QCString trGeneratedAt(const char* date,const char* projName)
+ {
+ QCString result=(QCString)"Создано "+date;
+ if(projName) result+=(QCString)" для "+projName;
+ result+=(QCString)" с использованием";
+ return result;
+ }
+ QCString trWrittenBy()
+ {
+ return "Создано с использованием";
+ }
+ QCString trClassDiagram(const char* clName)
+ {
+ return (QCString)"Диаграмма наследования для "+clName;
+ }
+ QCString trForInternalUseOnly()
+ {
+ return "Только для внутреннего использования.";
+ }
+ QCString trReimplementedForInternalREasons()
+ {
+ // need translation
+ return "Переписано по необходимости о которой вам знать не нужно;"
+ " програмный интерфейс не изменен.";
+ }
+ QCString trWarning()
+ {
+ return "Предупреждение";
+ }
+ QCString trBugsAndLimitations()
+ {
+ return "Ошибки и ограничения";
+ }
+ QCString trVersion()
+ {
+ return "Версия";
+ }
+ QCString trDate()
+ {
+ return "Дата";
+ }
+ QCString trAuthors()
+ {
+ return "Автор(ы)";
+ }
+ QCString trReturns()
+ {
+ return "Возвращает";
+ }
+ QCString trSeeAlso()
+ {
+ return "Смотри";
+ }
+ QCString trParameters()
+ {
+ return "Параметры";
+ }
+ QCString trExceptions()
+ {
+ return "Исключения";
+ }
+ QCString trGeneratedBy()
+ {
+ return "Создано с использованием";
+ }
+ QCString trNamespaceList()
+ {
+ // Need translation
+ return "Список Пространств Имен";
+ }
+ QCString trNamespaceListDescription(bool extractAll)
+ {
+ // Need translation
+ QCString result="Список всех ";
+ if(!extractAll) result+="документированных ";
+ result+="пространств имен с кратким описанием:";
+ return result;
+ }
+ QCString trFriends()
+ {
+ return "Друзья";
+ }
+ QCString trRelatedFunctionDocumentation()
+ {
+ // need translation
+ return "Документация по друзьям класса и связанным с ними функциям";
+ }
+ QCString trCompoundReference(const char* clName,ClassDef::CompoundType compType)
+ {
+ QCString result=(QCString)clName+" ";
+ switch(compType)
+ {
+ case ClassDef::Class: result+=" Класс"; break;
+ case ClassDef::Struct: result+=" Структура"; break;
+ case ClassDef::Union: result+=" Объединение"; break;
+ case ClassDef::Interface: result+=" Интерфейс"; break;
+ case ClassDef::Exception: result+=" Исключение"; break;
+ }
+ result+=" Описание";
+ return result;
+ }
+ QCString trFileReference(const char* fileName)
+ {
+ QCString result;
+ result+=(QCString)"Описание Файла "+fileName;
+ return result;
+ }
+ QCString trNamespaceReference(const char* namespaceName)
+ {
+ // need translation
+ QCString result=(QCString)"Описание пространства имен "+namespaceName;
+ return result;
+ }
+ QCString trPublicMembers()
+ {
+ return "Открытые Методы";
+ }
+ QCString trPublicSlots()
+ {
+ // need translation
+ return "Открытые Слоты (Slots)";
+ }
+ QCString trSignals()
+ {
+ return "Сигналы";
+ }
+ QCString trStaticPublicMembers()
+ {
+ return "Статические Открытые Методы";
+ }
+ QCString trProtectedMembers()
+ {
+ return "Защищенные Методы";
+ }
+ QCString trProtectedSlots()
+ {
+ // need translation
+ return "Защищенные Слоты (Slots)";
+ }
+ QCString trStaticProtectedSlots()
+ {
+ // need translation
+ return "Статические Защищенные Слоты (Slots)";
+ }
+ QCString trPrivateMembers()
+ {
+ return "Закрытые Методы";
+ }
+ QCString trPrivateSlots()
+ {
+ // need translation
+ return "Закрытые Слоты (Slots)";
+ }
+ QCString trStaticPrivateMembers()
+ {
+ return "Статические Закрытые Методы";
+ }
+ QCString trWriteList(int numEntries)
+ {
+ QCString result;
+ int i;
+ for(i=0;i<numEntries;i++)
+ {
+ result+=generateMarker(i);
+ if(i!=numEntries-1)
+ {
+ if(i<numEntries-2)
+ result+=", ";
+ else
+ result+=", и ";
+ }
+ }
+ return result;
+ }
+ QCString trInheritsList(int numEntries)
+ {
+ // need translation
+ return "Дети (Inherits) "+trWriteList(numEntries)+".";
+ }
+ QCString trInheritedByList(int numEntries)
+ {
+ // need translation
+ return "Предки (Inherited By) "+trWriteList(numEntries)+".";
+ }
+ QCString trReimplementedInList(int numEntries)
+ {
+ return "Переопределяется в "+trWriteList(numEntries)+".";
+ }
+ QCString trNamespaceMembers()
+ {
+ // Need translation
+ return "Члены Пространства Имен";
+ }
+ QCString trNamespaceMemberDescription(bool extractAll)
+ {
+ QCString result="Список всех ";
+ if(!extractAll) result+="документированных ";
+ result+="членов пространства имен со ссылками на ";
+ if(extractAll)
+ result+="документацию по каждому члену";
+ else
+ result+="документацию по пространству имен к которому они принадлежат";
+ return result;
+ }
+ QCString trNamespaceIndex()
+ {
+ return "Индекс Пространства Имен";
+ }
+ QCString trNamespaceDocumentation()
+ {
+ return "Документация Пространства Имен";
+ }
+ QCString trNamespaces()
+ {
+ return "Пространства Имен";
+ }
+ QCString trGeneratedFromFiles(ClassDef::CompoundType compType, bool single)
+ {
+ QCString result=(QCString)"Документация для это";
+ switch(compType)
+ {
+ case ClassDef::Class: result+="го класса"; break;
+ case ClassDef::Struct: result+="й структуры"; break;
+ case ClassDef::Union: result+="го объединения"; break;
+ case ClassDef::Interface: result+="го интерфейса"; break;
+ case ClassDef::Exception: result+="го исключения"; break;
+ }
+ result+=" была создана из файл";
+ if(single)
+ result+="а:";
+ else
+ result+="ов:";
+ return result;
+ }
+ QCString trAlphabeticalList()
+ {
+ return "Алфавитный Список";
+ }
+ QCString trReturnValues()
+ {
+ return "Возвращаемые значения";
+ }
+ QCString trMainPage()
+ {
+ // need translation
+ return "Начальная Страница (Main Page)";
+ }
+ QCString trPageAbbreviation()
+ {
+ return "стр.";
+ }
+ QCString trSources()
+ {
+ return "Исходные тексты";
+ }
+ QCString trDefinedAtLineInSourceFile()
+ {
+ return "Определено в строке @0 файла @1.";
+ }
+ QCString trDefinedInSourceFile()
+ {
+ return "Определено в файле @0.";
+ }
+ QCString trDeprecated()
+ {
+ return "Устарело";
+ }
+ QCString trCollaborationDiagram(const char* clName)
+ {
+ // need translation
+ return (QCString)"Диаграмма связей для "+clName+":";
+ }
+ QCString trInclDepGraph(const char* fName)
+ {
+ // need translation
+ return (QCString)"Граф зависимостей для "+fName+":";
+ }
+ QCString trConstructorDocumentation()
+ {
+ return "Документация по Конструктору и Деструктору";
+ }
+ QCString trGotoSourceCode()
+ {
+ // need translation
+ return "Смотри исходные тексты этого файла.";
+ }
+ QCString trGotoDocumentation()
+ {
+ return "Смотри документацию по этому файлу.";
+ }
+ QCString trPrecondition()
+ {
+ // need translation
+ return "Начальное условие (Precondition)";
+ }
+ QCString trPostcondition()
+ {
+ // need translation
+ return "Конечное условие (Postcondition)";
+ }
+ QCString trInvariant()
+ {
+ // need translation
+ return "Инвариант";
+ }
+ QCString trInitialValue()
+ {
+ return "Начальное значение:";
+ }
+ QCString trCode()
+ {
+ return "исходные тексты";
+ }
+ QCString trGraphicalHierarchy()
+ {
+ // need translation
+ return "Графическая Иерархия Класса (ов?)";
+ }
+ QCString trGotoGraphicalHierarchy()
+ {
+ // need translation
+ return "Смотри графическую иерархию класса";
+ }
+ QCString trGotoTextualHierarchy()
+ {
+ // need translation
+ return "Смотри текстовую иерархию класса";
+ }
+ QCString trPageIndex()
+ {
+ return "Индекс Страниц";
+ }
+ QCString trNote()
+ {
+ return "Примечание";
+ }
+ QCString trPublicTypes()
+ {
+ return "Открытые Типы";
+ }
+ QCString trPublicAttribs()
+ {
+ return "Открытые Аттрибуты";
+ }
+ QCString trStaticPublicAttribs()
+ {
+ return "Статические Открытые Аттрибуты";
+ }
+ QCString trProtectedTypes()
+ {
+ return "Защищенные Типы";
+ }
+ QCString trProtectedAttribs()
+ {
+ return "Защищенные Аттрибуты";
+ }
+ QCString trStaticProtectedAttribs()
+ {
+ return "Статические Защищенные Аттрибуты";
+ }
+ QCString trPrivateTypes()
+ {
+ return "Закрытые Типы";
+ }
+ QCString trPrivateAttribs()
+ {
+ return "Закрытые Аттрибуты";
+ }
+ QCString trStaticPrivateAttribs()
+ {
+ return "Статические Закрытые Аттрибуты";
+ }
+
};
#endif
diff --git a/src/util.cpp b/src/util.cpp
index ccffae9..7227e40 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -203,13 +203,39 @@ int guessSection(const char *name)
ClassDef *getClass(const char *name)
{
if (name==0 || name[0]=='\0') return 0;
-// QCString *subst = typedefDict[name];
-// if (subst)
-// return classDict[subst->data()];
-// else
return classDict[name];
}
+ClassDef *getResolvedClass(const char *name)
+{
+ if (name==0 || name[0]=='\0') return 0;
+ QCString *subst = typedefDict[name];
+ if (subst) // there is a typedef with this name
+ {
+ int count=0; // recursion detection guard
+ QCString *newSubst;
+ while ((newSubst=typedefDict[*subst]) && count<10)
+ {
+ subst=newSubst;
+ count++;
+ }
+ if (count==10)
+ {
+ warn("Warning: possible recursive typedef dependency detected for %s!\n",name);
+ return classDict[name];
+ }
+ else
+ {
+ //printf("getClass: subst %s->%s\n",name,subst->data());
+ return classDict[subst->data()];
+ }
+ }
+ else
+ {
+ return classDict[name];
+ }
+}
+
QCString removeRedundantWhiteSpace(const QCString &s)
{
if (s.isEmpty()) return s;
@@ -249,21 +275,45 @@ bool leftScopeMatch(const QCString &scope, const QCString &name)
);
}
-void linkifyText(OutputList &ol,const char *scName,const char *name,const char *text)
+void linkifyText(OutputList &ol,const char *scName,const char *name,const char *text,bool autoBreak)
{
//printf("scope=`%s' name=`%s' Text: `%s'\n",scName,name,text);
static QRegExp regExp("[a-z_A-Z][a-z_A-Z0-9:]*");
QCString txtStr=text;
- OutputList result(&ol);
+ int strLen = txtStr.length();
+ //printf("linkifyText strtxt=%s strlen=%d\n",txtStr.data(),strLen);
int matchLen;
int index=0;
int newIndex;
int skipIndex=0;
+ int floatingIndex=0;
// read a word from the text string
while ((newIndex=regExp.match(txtStr,index,&matchLen))!=-1)
{
// add non-word part to the result
- result.docify(txtStr.mid(skipIndex,newIndex-skipIndex));
+ floatingIndex+=newIndex-skipIndex;
+ if (strLen>30 && floatingIndex>25 && autoBreak) // try to insert a split point
+ {
+ QCString splitText = txtStr.mid(skipIndex,newIndex-skipIndex);
+ int splitLength = splitText.length();
+ int i=splitText.find('<');
+ if (i==-1) i=splitText.find(',');
+ if (i==-1) i=splitText.find(' ');
+ if (i!=-1) // add a link-break at i in case of Html output
+ {
+ ol.docify(splitText.left(i+1));
+ ol.pushGeneratorState();
+ ol.disableAllBut(OutputGenerator::Html);
+ ol.lineBreak();
+ ol.popGeneratorState();
+ ol.docify(splitText.right(splitLength-i-1));
+ }
+ floatingIndex=splitLength-i-1;
+ }
+ else
+ {
+ ol.docify(txtStr.mid(skipIndex,newIndex-skipIndex));
+ }
// get word from string
QCString word=txtStr.mid(newIndex,matchLen);
ClassDef *cd=0;
@@ -300,7 +350,7 @@ void linkifyText(OutputList &ol,const char *scName,const char *name,const char *
// add link to the result
if (cd->isLinkable())
{
- result.writeObjectLink(cd->getReference(),cd->getOutputFileBase(),0,word);
+ ol.writeObjectLink(cd->getReference(),cd->getOutputFileBase(),0,word);
found=TRUE;
}
}
@@ -328,7 +378,7 @@ void linkifyText(OutputList &ol,const char *scName,const char *name,const char *
if (cd) d=cd; else if (nd) d=nd; else if (fd) d=fd; else d=gd;
if (d && d->isLinkable())
{
- result.writeObjectLink(d->getReference(),d->getOutputFileBase(),
+ ol.writeObjectLink(d->getReference(),d->getOutputFileBase(),
md->anchor(),word);
found=TRUE;
}
@@ -336,20 +386,19 @@ void linkifyText(OutputList &ol,const char *scName,const char *name,const char *
if (!found) // add word to the result
{
- result.docify(word);
+ ol.docify(word);
}
}
else
{
- result.docify(word);
+ ol.docify(word);
}
// set next start point in the string
skipIndex=index=newIndex+matchLen;
+ floatingIndex+=matchLen;
}
// add last part of the string to the result.
- result.docify(txtStr.right(txtStr.length()-skipIndex));
- //printf("linkify: %s\n",result.data());
- ol+=result;
+ ol.docify(txtStr.right(txtStr.length()-skipIndex));
}
diff --git a/src/util.h b/src/util.h
index a238ddf..b23a505 100644
--- a/src/util.h
+++ b/src/util.h
@@ -40,7 +40,7 @@ extern void setAnchors(char id,MemberList *ml,int groupId=-1);
extern QCString fileToString(const char *name);
extern QCString dateToString(bool);
extern void linkifyText(OutputList &ol,const char *clName,const char *name,
- const char *text);
+ const char *text,bool autoBreak=FALSE);
extern bool getDefs(const QCString &scopeName,const QCString &memberName,
const char *, MemberDef *&md,
ClassDef *&cd,FileDef *&fd,
@@ -60,6 +60,7 @@ extern QCString convertSlashes(const QCString &s,bool dots=FALSE);
extern QCString substitute(const char *s,const char *src,const char *dst);
extern QCString resolveDefines(const char *n);
extern ClassDef *getClass(const char *key);
+extern ClassDef *getResolvedClass(const char *key);
extern FileDef *findFileDef(const FileNameDict *fnDict,const char *n,
bool &ambig);
extern void showFileDefMatches(const FileNameDict *fnDict,const char *n);