diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2000-02-20 17:34:13 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2000-02-20 17:34:13 (GMT) |
commit | a81ce4743212122ae050e5efbc4bfda92e6a664e (patch) | |
tree | f122ed1db8000e070cab7f8ad4c4af87b89adbe5 /src/config.l | |
parent | ddbc18f5fb336d3a83521404620b6734b13e5610 (diff) | |
download | Doxygen-a81ce4743212122ae050e5efbc4bfda92e6a664e.zip Doxygen-a81ce4743212122ae050e5efbc4bfda92e6a664e.tar.gz Doxygen-a81ce4743212122ae050e5efbc4bfda92e6a664e.tar.bz2 |
+ The graphical class hierarchy was not properly generated when
template classes were used.
+ Template specialization could not be documented using the
\class command. This is now fixed. Example:
/*!
* \class T<A,int>
* My template specialization of template T.
*/
+ Fixed a bug when parsing M$-IDL code, containing
helpstring("bla") attributes. The attributes of a method are no longer
shown in the documentation (the attributes of method arguments
still visible however).
+ Improved the search algorithm that tries to connect classes with their
base classes. It should now (hopefully) work correct in all cases
where nested classes and/or namespaces are used.
+ Fixed a scanner problem that could cause doxygen to get
confused after parsing struct initializers.
+ the DOTFONTPATH environment variable is now automatically set
for Windows. This should make any "missing doxfont.ttf"
messages disappear.
+ the extra LaTeX packages specified with EXTRA_PACKAGES can now
also be used when generating formulas for HTML.
+ The documentation of a parameters that is part of a member definition,
is now used in the documentation as well.
+ Fixed a HTML output bug in the class/file group-pages.
+ Links to example files generated with \link ... \endlink where not
correct.
+ made the bullet list generation more robust. A space is now required
after the - sign. A list can now start a paragraph.
+ the configure script now detects whether or not dot is installed.
+ The VERBATIM_HEADERS option didn't have any effect any more.
It should now works again as advertised.
+ The IGNORE_PREFIX option can now also deal with a list of prefixes.
+ @verbatim ... @endverbatim blocks did not work.
+ new option SHOW_INCLUDE_FILES, which can be set to NO to turn of the
list of include files that is generated for each documented file.
+ new option STRIP_CODE_COMMENTS, which can be set to NO to keep any
special comment blocks in the generated code fragments.
Diffstat (limited to 'src/config.l')
-rw-r--r-- | src/config.l | 40 |
1 files changed, 35 insertions, 5 deletions
diff --git a/src/config.l b/src/config.l index 004ba50..d5d2227 100644 --- a/src/config.l +++ b/src/config.l @@ -20,6 +20,7 @@ * includes */ #include <stdio.h> +#include <stdlib.h> #include <iostream.h> #include <assert.h> #include <ctype.h> @@ -84,7 +85,7 @@ QCString Config::inputFilter; QCString Config::paperType; QCString Config::manExtension; QCString Config::htmlStyleSheet; -QCString Config::ignorePrefix; +QStrList Config::ignorePrefixList; QStrList Config::includePath; QStrList Config::examplePath; QStrList Config::imagePath; @@ -141,6 +142,8 @@ bool Config::inlineInfoFlag = TRUE; bool Config::collGraphFlag = TRUE; bool Config::includeGraphFlag = TRUE; bool Config::gfxHierarchyFlag = TRUE; +bool Config::showIncFileFlag = TRUE; +bool Config::stripCommentsFlag = TRUE; int Config::tabSize = 8; int Config::colsInAlphaIndex = 5; @@ -219,7 +222,7 @@ static int yyread(char *buf,int max_size) <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(GetString); s=&Config::ignorePrefix; 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=""; } @@ -276,6 +279,8 @@ static int yyread(char *buf,int max_size) <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>[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 { @@ -433,7 +438,7 @@ void Config::init() Config::paperType = "a4wide"; Config::manExtension = ".3"; Config::htmlStyleSheet.resize(0); - Config::ignorePrefix.resize(0); + Config::ignorePrefixList.clear(); Config::includePath.clear(); Config::examplePath.clear(); Config::imagePath.clear(); @@ -492,6 +497,8 @@ void Config::init() Config::collGraphFlag = TRUE; Config::includeGraphFlag = TRUE; Config::gfxHierarchyFlag = TRUE; + Config::showIncFileFlag = TRUE; + Config::stripCommentsFlag = TRUE; } void writeTemplateConfig(QFile *f,bool sl) @@ -697,6 +704,15 @@ void writeTemplateConfig(QFile *f,bool sl) 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 << "\n"; + } + t << "STRIP_CODE_COMMENTS = YES\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"; @@ -717,6 +733,15 @@ void writeTemplateConfig(QFile *f,bool sl) 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 << "\n"; + } + t << "SHOW_INCLUDE_FILES = YES\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"; @@ -945,8 +970,8 @@ void writeTemplateConfig(QFile *f,bool 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 use to specify a prefix that should be ignored\n"; - t << "# while generating the index headers.\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 << "IGNORE_PREFIX = \n"; @@ -1649,6 +1674,11 @@ void checkConfig() } } } + +#if defined(_WIN32) + if (Config::haveDotFlag) _putenv("DOTFONTPATH=."); +#endif + } void parseConfig(const QCString &s) |