diff options
-rw-r--r-- | INSTALL | 4 | ||||
-rw-r--r-- | README | 4 | ||||
-rwxr-xr-x | configure | 6 | ||||
-rw-r--r-- | doc/changelog.doc | 157 | ||||
-rw-r--r-- | doc/commands.doc | 518 | ||||
-rw-r--r-- | doc/config.doc | 497 | ||||
-rw-r--r-- | doc/faq.doc | 2 | ||||
-rw-r--r-- | doc/htmlcmds.doc | 4 | ||||
-rw-r--r-- | doc/install.doc | 96 | ||||
-rw-r--r-- | doc/language.doc | 8 | ||||
-rw-r--r-- | doc/searching.doc | 2 | ||||
-rw-r--r-- | doc/starting.doc | 15 | ||||
-rw-r--r-- | doc/translator_report.txt | 68 | ||||
-rw-r--r-- | doc/trouble.doc | 2 | ||||
-rw-r--r-- | doc/xmlcmds.doc | 2 | ||||
-rw-r--r-- | src/clangparser.cpp | 68 | ||||
-rw-r--r-- | src/commentscan.l | 7 | ||||
-rw-r--r-- | src/config.l | 5 | ||||
-rw-r--r-- | src/config.xml | 29 | ||||
-rw-r--r-- | src/configoptions.cpp | 24 | ||||
-rw-r--r-- | src/docparser.cpp | 4 | ||||
-rw-r--r-- | src/doctokenizer.l | 59 | ||||
-rw-r--r-- | src/doxygen.cpp | 3 | ||||
-rw-r--r-- | src/doxygen.sty | 464 | ||||
-rw-r--r-- | src/doxygen_sty.h | 464 | ||||
-rw-r--r-- | src/latexgen.cpp | 469 | ||||
-rw-r--r-- | src/libdoxygen.pro.in | 1 | ||||
-rw-r--r-- | src/libdoxygen.t.in | 3 | ||||
-rw-r--r-- | src/markdown.cpp | 9 | ||||
-rw-r--r-- | src/pagedef.cpp | 17 | ||||
-rw-r--r-- | src/pre.l | 2 | ||||
-rw-r--r-- | src/scanner.l | 11 | ||||
-rw-r--r-- | src/translator_ar.h | 2 | ||||
-rw-r--r-- | src/translator_ro.h | 649 | ||||
-rw-r--r-- | src/translator_sk.h | 59 |
35 files changed, 2371 insertions, 1363 deletions
@@ -1,7 +1,7 @@ -DOXYGEN Version 1.8.3.1-20130512 +DOXYGEN Version 1.8.4 Please read the installation section of the manual (http://www.doxygen.org/install.html) for instructions. -------- -Dimitri van Heesch (12 May 2013) +Dimitri van Heesch (19 May 2013) @@ -1,4 +1,4 @@ -DOXYGEN Version 1.8.3.1_20130512 +DOXYGEN Version 1.8.4 Please read INSTALL for compilation instructions. @@ -26,4 +26,4 @@ forum. Enjoy, -Dimitri van Heesch (dimitri@stack.nl) (12 May 2013) +Dimitri van Heesch (dimitri@stack.nl) (19 May 2013) @@ -17,10 +17,10 @@ doxygen_version_major=1 doxygen_version_minor=8 -doxygen_version_revision=3.1 +doxygen_version_revision=4 #NOTE: Setting version_mmn to "NO" will omit mmn info from the package. -doxygen_version_mmn=20130512 +doxygen_version_mmn=NO bin_dirs=`echo $PATH | sed -e "s/:/ /g"` @@ -478,7 +478,7 @@ if test "$f_libclang" = YES; then if test "$f_libclangstatic" = NO; then libclang_link="-L $i -lclang" else - libclang_link="$i/libLLVMBitReader.a $i/libLLVMMC.a $i/libLLVMMCParser.a $i/libLLVMSupport.a $i/libclang.a $i/libclangAST.a $i/libclangAnalysis.a $i/libclangBasic.a $i/libclangDriver.a $i/libclangEdit.a $i/libclangFrontend.a $i/libclangLex.a $i/libclangParse.a $i/libclangRewriteCore.a $i/libclangSema.a $i/libclangSerialization.a $i/libclangStaticAnalyzerCore.a" + libclang_link="$i/libclang.a $i/libclangFrontend.a $i/libclangSerialization.a $i/libclangParse.a $i/libclangSema.a $i/libclangAnalysis.a $i/libclangStaticAnalyzerCore.a $i/libclangAST.a $i/libclangBasic.a $i/libclangDriver.a $i/libclangEdit.a $i/libclangLex.a $i/libclangRewriteCore.a $i/libLLVMBitReader.a $i/libLLVMMC.a $i/libLLVMMCParser.a $i/libLLVMSupport.a -ldl -lpthread" fi break fi diff --git a/doc/changelog.doc b/doc/changelog.doc index f43bdff..04bb8b4 100644 --- a/doc/changelog.doc +++ b/doc/changelog.doc @@ -1,6 +1,161 @@ /** \page changelog Changelog \tableofcontents \section log_1_8 Release 1.8 + +\subsection log_1_8_4 Release 1.8.4 +\htmlonly +<b>(release date 19-05-2013)</b> +<a name="1.8.3.1"></a> +<h3>Changes</h3> +<ul> +<li> id 686384: When INLINE_SIMPLE_STRUCTS is enabled, also structs with + simple typedefs will be inlined. +<li> Doxywizard: scrolling with mouse wheel no longer affects the values in + the expert view. +<li> id 681733: More consistent warnings and errors. +</ul> +<h3>New features</h3> +<ul> +<li> Added support for "clang assisted parsing", which allows + the code to also be parsed via libclang (C/C++ frontend of LLVM) + and can improve the quality of the syntax highting, cross-references, + and call graphs, especially for template heavy C++ code. To enable + this feature you have to configure doxygen with the --with-libclang + option. Then you get two new configuration options: CLANG_ASSISTED_PARSING + to enable or disable parsing via clang and CLANG_OPTIONS to pass additional + compiler options needed to compile the files. Note that enabling this feature + has a significant performance penality. +<li> Included patch donated by Intel which adds Docbook support. + This can be enabled via GENERATE_DOCBOOK and the output location can + be controlled using DOCBOOK_OUTPUT. Docbook specific sections can be + added using \docbookonly ... \enddocbookonly +<li> Added support for UNO IDL (interace language used in Open/Libre Office), thanks to + Michael Stahl for the patch. +<li> Included patch by Adrian Negreanu which stores data gathered by + doxygen in a sqlite3 database. Currently still work in progress and + can only be enabled using --with-sqlite3 during ./configure. +<li> For interactive SVG graphs, edges are now highlighted when hovered by + the mouse. +<li> Include patch by Adrian Negreanu to show duration statistics after a run. + You can enable this by running doxygen with the "-d Time" option. +<li> Included patch by Markus Geimer which adds a new option + LATEX_EXTRA_FILES which works similarily to HTML_EXTRA_FILES in that + it copied specified files to the LaTeX output directory. +<li> id 698223: Added support for C++11 keyword alignas +<li> id 693178: Added support for processing DocSets with Dash (thanks to + Bogdan Popescu for the patch +<li> id 684782: Added option EXTERNAL_PAGES which can be used to determine + whether or not pages importated via tags will appear under related + pages (similar to EXTERNAL_GROUPS). +<li> id 692227: Added new MathJax command MATHJAX_CODEFILE which supports + including a file with MathJax related scripting to be inserted before + the MathJax script is loaded. Thanks to Albert for the patch. +<li> id 693537: Comments in the config file starting with ## will now be + kept when upgrading the file with doxygen -u (and doxygen -s -u). + Thanks to Albert for the patch. +<li> id 693422: Adds support for Latvian (thanks to a patch by Lauris). +<li> Included language updates for Ukrainian, Romanian, and Korean +</ul> +<h3>Bug fixes (ids refer to the <a href="http://bugzilla.gnome.org/buglist.cgi?product=doxygen&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=NEEDINFO&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&status_whiteboard=&status_whiteboard_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&newqueryname=&form_name=query&order=bugs.bug_id">bugzilla</a> database)</h3> +<ul> +<li> id 145294: Fixed parse issue when using less than inside a template + argument. +<li> id 325266 man page output was missing a linebreak before .SH when + definition a group with a section. +<li> id 338205: @anchor were wrong when CREATE_SUBDIRS was enabled. +<li> id 427012: Putting a @todo in front of an anonoymous namespace caused + bogus entry in the todo list. +<li> id 564462: Fixed alignment issue with tabs and multibyte characters. +<li> id 567542: Character entities in titles were not rendered correctly + in the HTML navigation tree. +<li> id 571561: No space between * and tag (e.g. \endcode) made parser + misbehave +<li> id 583233: Included patch to limit generated Doxyfile comments to 80 + columns +<li> id 592626: Fixed off-by-one with MAX_DOT_GRAPH_DEPTH. +<li> id 619790: Improved linking to template specializations. + Thanks to David Haney for the patch. +<li> id 627712: Doxygen Header in C Files makes empty Lines in HTML Source + Code when starts in Line 1 +<li> id 639954: Fortran: array constructors with brackets were not correctly + recognized. +<li> id 646428: The generated man pages had a .PP just before the subject + description +<li> id 646431: On generated manpages the return section is incorrectly + indented +<li> id 650004: use \page now generates a man page were the . is not + replaced by _8. +<li> id 657704: Fixed issue with PROJECT_LOGO when using backslashes in + the path. +<li> id 666008: Fortran: Using @var at module levele didn't work. + expect a file/path name. +<li> id 673218: Replaced "echo -n" with "printf" in the configure script. +<li> id 674856: Removed warning when using \endinternal +<li> id 675607: Added &, @, and # as allowed characters for commands that +<li> id 679626: Included patch by Abert to correctly link pages in the manual +<li> id 681874: Added support for single column Markdown tables. +<li> id 682369: Incomplete documentation on doxygen -w latex +<li> id 683516: Doxygen crashed when structural commands (like \var) appeared + in .md files. +<li> id 686259: Fixed character encoding problem when multibytes characters + were used in anchors. +<li> id 691071: Documentation before an anonymous member did not appear. +<li> id 692162: Fixed Markdown related indentation problem. +<li> id 692320: Regression: Text after @copydoc was not visible anymore. +<li> id 692537: Linked to external pages was done using the page label + rather than the file name. +<li> id 693331: build using ./configure ; make did not work if the path + contained a space. +<li> id 693406: Tag files are now identfied by the full path instead of + only the name of the tag file. +<li> id 694376: In some cases members were missing from the tag file. +<li> id 694027: Fortran: derive intent from documentation in case no + intent is specified +<li> id 694610: Warning was not reported at the correct line in two cases. +<li> id 694631, 694632: @cond..@endcond did not work properly for removing + macro definitions. +<li> id 694685: Fixed crash when adding two different functions with the + same name to the same group. +<li> id 694726: VHDL: fixed issue generating LaTeX output. +<li> id 695277: Fortran: improved handling of protected statement +<li> id 695974: Fortran: Fixed issue resulting in + "Stack buffers nested too deeply" error. +<li> id 696708: @cond was not handled properly by the preprocessor. +<li> id 697233: @copyright command did not end a brief description. +<li> id 697249: Markdown tables caused errors reported at wrong line number. +<li> id 697494: Removed double entry from the messages produced by doxygen. +<li> id 698818: Fixed problem handling @cond for #define's +<li> id 698007: Fixed potential crash when searching files. +<li> id 696925: #include's inside namespace could result in duplicate entries. +<li> id 696954: Doxywizard: Labels of items are now also grayed out + when an item is disabled (thanks to Albert for the patch). +<li> id 699195: Changed Markdown page label to support multiple .md files + with the same name. +<li> id 699218: Fixed issue with margin computation in resize.js. +<li> id 699381: Lonely h4,h5,h6 end tag caused assert. +<li> id 699437: Trailing comments were not always rendered properly if + MARKDOWN_SUPPORT was enabled. +<li> id 699460: Updated doxygen man page (thanks to Manuel for the patch). +<li> id 699464: Added reference to \xmlonly and \docbookonly in \htmlonly +<li> id 699731: LaTeX: switch to using the xtabular package instead of + longtable to prevent overfull vbox errors. +<li> id 699732: Template parameters and Exceptions were rendered differently + than Parameters and Return Values in the LaTeX output. +<li> id 700153: Tcl: Fixed crash when parsing certain Tcl code. +<li> id 700345: Comment blocking ending with ///// made slashes appear in + the output. +<li> id 700456: Added support for separating auto list items with an + empty paragraph. +<li> Included a couple of VHDL fixes (thanks to Martin Kreis for the patch) +<li> \include and \includelineno both showed line numbers. +<li> Putting '// @endverbatim' inside a C comment block was not handled + properly by the preprocessor. +<li> Fixed various typo's in the manual and improved cross referencing + (thanks to Albert and Guillem Jover for their help) +<li> Added a couple of missing configuration dependencies. +</ul> +\endhtmlonly + \subsection log_1_8_3_1 Release 1.8.3.1 \htmlonly <b>(release date 20-01-2013)</b> @@ -27,7 +182,7 @@ <li> To make navindex section without any link inside a layout file you can use usergroup with special title [none]. </ul> -<h3>Bug fixes (ids refer to the <a href="http://bugzilla.gnome.org/buglist.cgi?product=doxygen&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=NEEDINFO&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&status_whiteboard=&status_whiteboard_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&newqueryname=&form_name=query&order=bugs.bug_id">bugzilla</a> database)</h3> +<h3>Bug fixes</h3> <ul> <li> id 644350: Fortran: Included patch to improve parsing line continuation characters. diff --git a/doc/commands.doc b/doc/commands.doc index 03c789f..9cada6e 100644 --- a/doc/commands.doc +++ b/doc/commands.doc @@ -35,6 +35,7 @@ If in addition to the above argument specifiers [square] brackets are used the a Here is an alphabetically sorted list of all commands with references to their documentation: +\anchor showsecreflist \secreflist \refitem cmda \\a \refitem cmdaddindex \\addindex @@ -85,6 +86,7 @@ documentation: \refitem cmdendmanonly \\endmanonly \refitem cmdendmsc \\endmsc \refitem cmdendrtfonly \\endrtfonly +\refitem cmdendsecreflist \\endsecreflist \refitem cmdendverbatim \\endverbatim \refitem cmdendxmlonly \\endxmlonly \refitem cmdenum \\enum @@ -102,6 +104,7 @@ documentation: \refitem cmdhideinitializer \\hideinitializer \refitem cmdhtmlinclude \\htmlinclude \refitem cmdhtmlonly \\htmlonly +\refitem cmdidlexcept \\idlexcept \refitem cmdif \\if \refitem cmdifnot \\ifnot \refitem cmdimage \\image @@ -136,14 +139,16 @@ documentation: \refitem cmdpost \\post \refitem cmdpre \\pre \refitem cmdprivate \\private -\refitem cmdprivate \\privatesection +\refitem cmdprivatesection \\privatesection \refitem cmdproperty \\property \refitem cmdprotected \\protected -\refitem cmdprotected \\protectedsection +\refitem cmdprotectedsection \\protectedsection \refitem cmdprotocol \\protocol \refitem cmdpublic \\public -\refitem cmdpublic \\publicsection +\refitem cmdpublicsection \\publicsection +\refitem cmdpure \\pure \refitem cmdref \\ref +\refitem cmdrefitem \\refitem \refitem cmdrelated \\related \refitem cmdrelates \\relates \refitem cmdrelatedalso \\relatedalso @@ -156,6 +161,7 @@ documentation: \refitem cmdretval \\retval \refitem cmdrtfonly \\rtfonly \refitem cmdsa \\sa +\refitem cmdsecreflist \\secreflist \refitem cmdsection \\section \refitem cmdsee \\see \refitem cmdshort \\short @@ -198,6 +204,7 @@ documentation: \refitem cmdquot \\\" \refitem cmdchardot \\\. \refitem cmddcolon \:: +\refitem cmdpipe \\| \endsecreflist The following subsections provide a list of all commands that are recognized by @@ -251,7 +258,7 @@ Structural indicators \addindex \\callgraph When this command is put in a comment block of a function or method - and \ref cfg_have_dot "HAVE_DOT" is set to YES, then doxygen will + and \ref cfg_have_dot "HAVE_DOT" is set to \c YES, then doxygen will generate a call graph for that function (provided the implementation of the function or method calls other documented functions). The call graph will be generated regardless of the value of \ref cfg_call_graph "CALL_GRAPH". @@ -265,7 +272,7 @@ Structural indicators \addindex \\callergraph When this command is put in a comment block of a function or method - and \ref cfg_have_dot "HAVE_DOT" is set to YES, then doxygen will + and \ref cfg_have_dot "HAVE_DOT" is set to \c YES, then doxygen will generate a caller graph for that function (provided the implementation of the function or method calls other documented functions). The caller graph will be generated regardless of the value of \ref cfg_caller_graph "CALLER_GRAPH". @@ -358,7 +365,7 @@ Structural indicators the documentation block is located outside the class definition, the scope of the class should be specified as well. If a comment block is located directly in front of an enum declaration, - the \\enum comment may be omitted. + the \c \\enum comment may be omitted. \par Note: The type of an anonymous enum cannot be documented, but the values @@ -391,7 +398,7 @@ Structural indicators to disambiguate it. If more than one source file is needed for the example, - the \\include command can be used. + the \ref cmdinclude "\\include" command can be used. \par Example: \verbinclude example.cpp @@ -409,9 +416,9 @@ Structural indicators \addindex \\endinternal This command ends a documentation fragment that was started with a - \ref cmdinternal "\\internal" command. The text between \c \\internal and + \ref cmdinternal "\\internal" command. The text between \ref cmdinternal "\\internal" and \c \\endinternal will only be visible - if \ref cfg_internal_docs "INTERNAL_DOCS" is set to YES. + if \ref cfg_internal_docs "INTERNAL_DOCS" is set to \c YES. <hr> \section cmdextends \\extends <name> @@ -438,8 +445,8 @@ Structural indicators Indicates that a comment block contains documentation for a source or header file with name \<name\>. The file name may include (part of) the path if the file-name alone is not unique. If the file name is omitted - (i.e. the line after \\file is left blank) then the documentation block that - contains the \\file command will belong to the file it is located in. + (i.e. the line after \c \\file is left blank) then the documentation block that + contains the \c \\file command will belong to the file it is located in. \par Important: The documentation of global functions, variables, typedefs, and enums will @@ -453,7 +460,7 @@ Structural indicators \endhtmlonly \note In the above example \ref cfg_javadoc_autobrief "JAVADOC_AUTOBRIEF" - has been set to YES in the configuration file. + has been set to \c YES in the configuration file. <hr> \section cmdfn \\fn (function declaration) @@ -469,10 +476,11 @@ Structural indicators should) be omitted. A full function declaration including arguments should be specified after the - \\fn command on a \e single line, since the argument ends at the end + \c \\fn command on a \e single line, since the argument ends at the end of the line! - This command is equivalent to \\var, \\typedef, and \\property. + This command is equivalent to \ref cmdvar "\\var", \ref cmdtypedef "\\typedef", + and \ref cmdproperty "\\property". \warning Do not use this command if it is not absolutely needed, since it will lead to duplication of @@ -511,8 +519,8 @@ Structural indicators If a pair of double quotes is given for either the \<header-file\> or \<header-name\> argument, the current file (in which the command was found) - will be used but with quotes. So for a comment block with a \\headerfile - command inside a file test.h, the following three commands are equivalent: + will be used but with quotes. So for a comment block with a \c \\headerfile + command inside a file <code>test.h</code>, the following three commands are equivalent: \verbatim \headerfile test.h "test.h" \headerfile test.h "" @@ -546,6 +554,13 @@ Structural indicators \sa section \ref cmdshowinitializer "\\showinitializer". <hr> +\section cmdidlexcept \\idlexcept <name> + \addindex \\idlexcept + + Indicates that a comment block contains documentation for a + IDL exception with name \<name\>. + +<hr> \section cmdimplements \\implements <name> \addindex \\implements @@ -567,7 +582,7 @@ Structural indicators \section cmdingroup \\ingroup (<groupname> [<groupname> <groupname>]) \addindex \\ingroup - If the \\ingroup command is placed in a comment block of a + If the \c \\ingroup command is placed in a comment block of a class, file or namespace, then it will be added to the group or groups identified by \<groupname\>. @@ -579,8 +594,8 @@ Structural indicators \addindex \\interface Indicates that a comment block contains documentation for an - interface with name \<name\>. The arguments are equal to the arguments of the \\class - command. + interface with name \<name\>. The arguments are equal to the arguments of the + \ref cmdclass "\\class" command. \sa section \ref cmdclass "\\class". @@ -593,7 +608,7 @@ Structural indicators You can also force the internal section to end earlier by using the \ref cmdendinternal "\\endinternal" command. - If the \\internal command is put inside a section + If the \c \\internal command is put inside a section (see for example \ref cmdsection "\\section") all subsections after the command are considered to be internal as well. Only a new section at the same level will end the fragment that is considered internal. @@ -609,13 +624,13 @@ Structural indicators \addindex \\mainpage - If the \\mainpage command is placed in a comment block the + If the \c \\mainpage command is placed in a comment block the block is used to customize the index page (in HTML) or the first chapter (in \f$\mbox{\LaTeX}\f$). The title argument is optional and replaces the default title that doxygen normally generates. If you do not want any title you can - specify \c notitle as the argument of \\mainpage. + specify \c notitle as the argument of \c \\mainpage. Here is an example: \verbatim @@ -633,7 +648,7 @@ Structural indicators */ \endverbatim - You can refer to the main page using \\ref index. + You can refer to the main page using: <code>\ref cmdref "\\ref" index</code>. \sa section \ref cmdsection "\\section", section \ref cmdsubsection "\\subsection", and @@ -696,6 +711,7 @@ Structural indicators \sa sections \ref cmdpublicsection "\\publicsection", \ref cmdprotectedsection "\\protectedsection" and \ref cmdprivatesection "\\privatesection". + <hr> \section cmdoverload \\overload [(function declaration)] @@ -717,9 +733,9 @@ Structural indicators You are responsible that there is indeed an earlier documented member that is overloaded by this one. To prevent that document reorders the documentation you should set - \ref cfg_sort_member_docs "SORT_MEMBER_DOCS" to NO in this case. + \ref cfg_sort_member_docs "SORT_MEMBER_DOCS" to \c NO in this case. \par Note 2: - The \\overload command does not work inside a one-line comment. + The \c \\overload command does not work inside a one-line comment. \par Example: \verbinclude examples/overload.cpp \htmlonly @@ -755,7 +771,7 @@ Structural indicators The \<name\> argument consists of a combination of letters and number digits. If you wish to use upper case letters (e.g. \c MYPAGE1), or mixed case letters (e.g. \c MyPage1) in the \<name\> argument, you - should set \c CASE_SENSE_NAMES to \c YES. However, this is advisable + should set \ref cfg_case_sense_names "CASE_SENSE_NAMES" to \c YES. However, this is advisable only if your file system is case sensitive. Otherwise (and for better portability) you should use all lower case letters (e.g. \c mypage1) for \<name\> in all references to the page. @@ -768,7 +784,7 @@ Structural indicators \section cmdprivate \\private \addindex \\private - Indicates that the member documented in the comment block is private, + Indicates that the member documented by the comment block is private, i.e., should only be accessed by other members in the same class. Note that Doxygen automatically detects the protection level of members @@ -777,7 +793,7 @@ Structural indicators (e.g. C, PHP 4). For starting a section of private members, in a way similar to the - "private:" class marker in C++, use \\privatesection. + "private:" class marker in C++, use \ref cmdprivatesection "\\privatesection". \sa sections \ref cmdmemberof "\\memberof", \ref cmdpublic "\\public", \ref cmdprotected "\\protected" and \ref cmdprivatesection "\\privatesection". @@ -788,7 +804,7 @@ Structural indicators \addindex \\privatesection Starting a section of private members, in a way similar to the "private:" class marker in C++. - Indicates that the member documented in the comment block is private, + Indicates that the member documented by the comment block is private, i.e., should only be accessed by other members in the same class. \sa sections \ref cmdmemberof "\\memberof", \ref cmdpublic "\\public", @@ -800,7 +816,8 @@ Structural indicators \addindex \\property Indicates that a comment block contains documentation for a property (either global or as a member of a class). - This command is equivalent to \\var, \\typedef, and \\fn. + This command is equivalent to \ref cmdfn "\\fn", + \ref cmdtypedef "\\typedef", and \ref cmdvar "\\var". \sa sections \ref cmdfn "\\fn", \ref cmdtypedef "\\typedef", and \ref cmdvar "\\var". @@ -809,7 +826,7 @@ Structural indicators \section cmdprotected \\protected \addindex \\protected - Indicates that the member documented in the comment block is protected, + Indicates that the member documented by the comment block is protected, i.e., should only be accessed by other members in the same or derived classes. @@ -819,7 +836,7 @@ Structural indicators (e.g. C, PHP 4). For starting a section of protected members, in a way similar to the - "protected:" class marker in C++, use \\protectedsection. + "protected:" class marker in C++, use \ref cmdprotectedsection "\\protectedsection". \sa sections \ref cmdmemberof "\\memberof", \ref cmdpublic "\\public", \ref cmdprivate "\\private" and \ref cmdprotectedsection "\\protectedsection". @@ -830,7 +847,7 @@ Structural indicators \addindex \\protectedsection Starting a section of protected members, in a way similar to the "protected:" class marker in C++. - Indicates that the member documented in the comment block is protected, + Indicates that the member documented by the comment block is protected, i.e., should only be accessed by other members in the same or derived classes. @@ -843,7 +860,7 @@ Structural indicators \addindex \\protocol Indicates that a comment block contains documentation for a protocol in Objective-C with name \<name\>. The arguments are equal - to the \\class command. + to the \ref cmdclass "\\class" command. \sa section \ref cmdclass "\\class". @@ -851,7 +868,7 @@ Structural indicators \section cmdpublic \\public \addindex \\public - Indicates that the member documented in the comment block is public, + Indicates that the member documented by the comment block is public, i.e., can be accessed by any other class or function. Note that Doxygen automatically detects the protection level of members @@ -860,7 +877,7 @@ Structural indicators (e.g. C, PHP 4). For starting a section of public members, in a way similar to the - "public:" class marker in C++, use \\publicsection. + "public:" class marker in C++, use \ref cmdpublicsection "\\publicsection". \sa sections \ref cmdmemberof "\\memberof", \ref cmdprotected "\\protected", \ref cmdprivate "\\private" and \ref cmdpublicsection "\\publicsection". @@ -871,13 +888,24 @@ Structural indicators \addindex \\publicsection Starting a section of public members, in a way similar to the "public:" class marker in C++. - Indicates that the member documented in the comment block is public, + Indicates that the member documented by the comment block is public, i.e., can be accessed by any other class or function. \sa sections \ref cmdmemberof "\\memberof", \ref cmdprotected "\\protected", \ref cmdprivate "\\private" and \ref cmdpublic "\\public". <hr> +\section cmdpure \\pure + + \addindex \\pure + Indicates that the member documented by the comment block is pure virtual, + i.e., it is abstract and has no implementation associated with it. + + This command is intended for use only when + the language does not support the concept of pure virtual methods natively + (e.g. C, PHP 4). + +<hr> \section cmdrelates \\relates <name> \addindex \\relates @@ -934,12 +962,22 @@ Structural indicators \sa section \ref cmdhideinitializer "\\hideinitializer". <hr> +\section cmdstatic \\static + + \addindex \\static + Indicates that the member documented by the comment block is static, + i.e., it works on a class, instead of on an instance of the class. + + This command is intended for use only when + the language does not support the concept of static methods natively (e.g. C). + +<hr> \section cmdstruct \\struct <name> [<header-file>] [<header-name>] \addindex \\struct Indicates that a comment block contains documentation for a - struct with name \<name\>. The arguments are equal to the arguments of the \\class - command. + struct with name \<name\>. The arguments are equal to the arguments of the + \ref cmdclass "\\class" command. \sa section \ref cmdclass "\\class". @@ -949,7 +987,8 @@ Structural indicators \addindex \\typedef Indicates that a comment block contains documentation for a typedef (either global or as a member of a class). - This command is equivalent to \\var, \\property, and \\fn. + This command is equivalent to \ref cmdfn "\\fn", + \ref cmdproperty "\\property", and \ref cmdvar "\\var". \sa section \ref cmdfn "\\fn", \ref cmdproperty "\\property", and \ref cmdvar "\\var". @@ -959,8 +998,8 @@ Structural indicators \addindex \\union Indicates that a comment block contains documentation for a - union with name \<name\>. The arguments are equal to the arguments of the \\class - command. + union with name \<name\>. The arguments are equal to the arguments of the + \ref cmdclass "\\class" command. \sa section \ref cmdclass "\\class". @@ -970,7 +1009,8 @@ Structural indicators \addindex \\var Indicates that a comment block contains documentation for a variable or enum value (either global or as a member of a class). - This command is equivalent to \\typedef, \\property, and \\fn. + This command is equivalent to \ref cmdfn "\\fn", + \ref cmdproperty "\\property", and \ref cmdtypedef "\\typedef". \sa section \ref cmdfn "\\fn", \ref cmdproperty "\\property", and \ref cmdtypedef "\\typedef". @@ -1010,8 +1050,8 @@ Section indicators The paragraph will be indented. The text of the paragraph has no special internal structure. All visual enhancement commands may be used inside the paragraph. - Multiple adjacent \\attention commands will be joined into a single paragraph. - The \\attention command ends when a blank line or some other + Multiple adjacent \c \\attention commands will be joined into a single paragraph. + The \c \\attention command ends when a blank line or some other sectioning command is encountered. <hr> @@ -1022,9 +1062,9 @@ Section indicators The paragraph will be indented. The text of the paragraph has no special internal structure. All visual enhancement commands may be used inside the paragraph. - Multiple adjacent \\author commands will be joined into a single paragraph. - Each author description will start a new line. Alternatively, one \\author command - may mention several authors. The \\author command ends when a blank line or some other + Multiple adjacent \c \\author commands will be joined into a single paragraph. + Each author description will start a new line. Alternatively, one \c \\author command + may mention several authors. The \c \\author command ends when a blank line or some other sectioning command is encountered. \par Example: @@ -1051,10 +1091,10 @@ Section indicators detailed description. A brief description may span several lines (although it is advised to keep it brief!). A brief description ends when a blank line or another sectioning command is encountered. If multiple - \\brief commands are present they will be joined. See section + \c \\brief commands are present they will be joined. See section \ref cmdauthor "\\author" for an example. - Synonymous to \\short. + Synonymous to \ref cmdshort "\\short". <hr> \section cmdbug \\bug { bug description } @@ -1064,10 +1104,10 @@ Section indicators The paragraph will be indented. The text of the paragraph has no special internal structure. All visual enhancement commands may be used inside the paragraph. - Multiple adjacent \\bug commands will be joined into a single paragraph. + Multiple adjacent \c \\bug commands will be joined into a single paragraph. Each bug description will start on a new line. - Alternatively, one \\bug command may mention - several bugs. The \\bug command ends when a blank line or some other + Alternatively, one \c \\bug command may mention + several bugs. The \c \\bug command ends when a blank line or some other sectioning command is encountered. See section \ref cmdauthor "\\author" for an example. @@ -1081,11 +1121,11 @@ Section indicators commands is to (conditionally) exclude part of a file from processing (in older version of doxygen this could only be achieved using C preprocessor commands). - The section between \\cond and \\endcond commands can be included by + The section between \c \\cond and \ref cmdendcond "\\endcond" can be included by adding its section label to the \ref cfg_enabled_sections "ENABLED_SECTIONS" configuration option. If the section label is omitted, the section will be excluded from processing unconditionally. The section label can be a - logical expression build of section lavels, round brackets, && (AND), || (OR) and ! (NOT). + logical expression build of section labels, round brackets, && (AND), || (OR) and ! (NOT). If you use an expression you need to wrap it in round brackets, i.e <tt>\\cond (!LABEL1 && LABEL2)</tt>. @@ -1137,10 +1177,10 @@ class Implementation : public Intf /// @endcond \endverbatim -The output will be different depending on whether or not \c ENABLED_SECTIONS +The output will be different depending on whether or not \ref cfg_enabled_sections "ENABLED_SECTIONS" contains \c TEST, or \c DEV - \sa section \ref cmdendcond "\\endcond". + \sa sections \ref cmdendcond "\\endcond" and \ref cfg_enabled_sections "ENABLED_SECTIONS". <hr> \section cmdcopyright \\copyright { copyright description } @@ -1159,10 +1199,10 @@ contains \c TEST, or \c DEV The paragraph will be indented. The text of the paragraph has no special internal structure. All visual enhancement commands may be used inside the paragraph. - Multiple adjacent \\date commands will be joined into a single paragraph. + Multiple adjacent \c \\date commands will be joined into a single paragraph. Each date description will start on a new line. - Alternatively, one \\date command may mention - several dates. The \\date command ends when a blank line or some other + Alternatively, one \c \\date command may mention + several dates. The \c \\date command ends when a blank line or some other sectioning command is encountered. See section \ref cmdauthor "\\author" for an example. @@ -1178,9 +1218,9 @@ contains \c TEST, or \c DEV \section cmddetails \\details { detailed description } \addindex \\details - Just like \ref cmdbrief "\\brief" starts a brief description, \\details + Just like \ref cmdbrief "\\brief" starts a brief description, \c \\details starts the detailed description. You can also start a new paragraph (blank line) - then the \\details command is not needed. + then the \c \\details command is not needed. <hr> \section cmdelse \\else @@ -1188,7 +1228,8 @@ contains \c TEST, or \c DEV \addindex \\else Starts a conditional section if the previous conditional section was not enabled. The previous section should have been started with - a \c \\if, \c \\ifnot, or \c \\elseif command. + a \ref cmdif "\\if", \ref cmdifnot "\\ifnot", or \ref cmdelseif "\\elseif" + command. \sa \ref cmdif "\\if", \ref cmdifnot "\\ifnot", \ref cmdelseif "\\elseif", \ref cmdendif "\\endif." @@ -1221,8 +1262,9 @@ contains \c TEST, or \c DEV \section cmdendif \\endif \addindex \\endif - Ends a conditional section that was started by \c \\if or \c \\ifnot - For each \c \\if or \c \\ifnot one and only one matching \c \\endif must follow. + Ends a conditional section that was started by \ref cmdif "\\if" or \ref cmdifnot "\\ifnot" + For each \ref cmdif "\\if" or \ref cmdifnot "\\ifnot" one and only one matching + \ref cmdendif "\\endif" must follow. \sa sections \ref cmdif "\\if" and \ref cmdifnot "\\ifnot". @@ -1235,9 +1277,9 @@ contains \c TEST, or \c DEV The existence of the exception object is not checked. The text of the paragraph has no special internal structure. All visual enhancement commands may be used inside the paragraph. - Multiple adjacent \\exception commands will be joined into a single paragraph. + Multiple adjacent \c \\exception commands will be joined into a single paragraph. Each exception description will start on a new line. - The \\exception description ends when a blank line or some other + The \c \\exception description ends when a blank line or some other sectioning command is encountered. See section \ref cmdfn "\\fn" for an example. @@ -1246,7 +1288,7 @@ contains \c TEST, or \c DEV \addindex \\if Starts a conditional documentation section. The section ends - with a matching \c \\endif command. A conditional section is + with a matching \ref cmdendif "\\endif" command. A conditional section is disabled by default. To enable it you must put the section-label after the \ref cfg_enabled_sections "ENABLED_SECTIONS" tag in the configuration file. @@ -1302,24 +1344,26 @@ ALIASES = "english=\if english" \ "enddutch=\endif" \endverbatim - and \c ENABLED_SECTIONS can be used to enable either \c english or \c dutch. + and \ref cfg_enabled_sections "ENABLED_SECTIONS" can be used to enable either \c english or \c dutch. \sa sections \ref cmdendif "\\endif", \ref cmdifnot "\\ifnot", - \ref cmdelse "\\else", and \ref cmdelseif "\\elseif". + \ref cmdelse "\\else", \ref cmdelseif "\\elseif", and + \ref cfg_enabled_sections "ENABLED_SECTIONS". <hr> \section cmdifnot \\ifnot (section-label) \addindex \\ifnot Starts a conditional documentation section. The section ends - with a matching \c \\endif command. This conditional section is + with a matching \ref cmdendif "\\endif" command. This conditional section is enabled by default. To disable it you must put the section-label after the \ref cfg_enabled_sections "ENABLED_SECTIONS" tag in the configuration file. The section label can be a logical expression build of section names, round brackets, && (AND), || (OR) and ! (NOT). \sa sections \ref cmdendif "\\endif", \ref cmdif "\\if", - \ref cmdelse "\\else", and \ref cmdelseif "\\elseif". + \ref cmdelse "\\else", and \ref cmdelseif "\\elseif", and + \ref cfg_enabled_sections "ENABLED_SECTIONS". <hr> \section cmdinvariant \\invariant { description of invariant } @@ -1329,10 +1373,10 @@ ALIASES = "english=\if english" \ The paragraph will be indented. The text of the paragraph has no special internal structure. All visual enhancement commands may be used inside the paragraph. - Multiple adjacent \\invariant commands will be joined into a single paragraph. + Multiple adjacent \c \\invariant commands will be joined into a single paragraph. Each invariant description will start on a new line. - Alternatively, one \\invariant command may mention - several invariants. The \\invariant command ends when a blank line or some other + Alternatively, one \c \\invariant command may mention + several invariants. The \c \\invariant command ends when a blank line or some other sectioning command is encountered. <hr> @@ -1342,10 +1386,10 @@ ALIASES = "english=\if english" \ Starts a paragraph where a note can be entered. The paragraph will be indented. The text of the paragraph has no special internal structure. All visual enhancement commands may be used inside the paragraph. - Multiple adjacent \\note commands will be joined into a single paragraph. + Multiple adjacent \c \\note commands will be joined into a single paragraph. Each note description will start on a new line. - Alternatively, one \\note command may mention - several notes. The \\note command ends when a blank line or some other + Alternatively, one \c \\note command may mention + several notes. The \c \\note command ends when a blank line or some other sectioning command is encountered. See section \ref cmdpar "\\par" for an example. @@ -1359,11 +1403,11 @@ ALIASES = "english=\if english" \ If no paragraph title is given this command will start a new paragraph. This will also work inside other paragraph commands - (like \\param or \\warning) without ending that command. + (like \ref cmdparam "\\param" or \ref cmdwarning "\\warning") without ending that command. The text of the paragraph has no special internal structure. All visual enhancement commands may be used inside the paragraph. - The \\par command ends when a blank line or some other + The \c \\par command ends when a blank line or some other sectioning command is encountered. \par Example: @@ -1383,11 +1427,11 @@ ALIASES = "english=\if english" \ the documentation of this (or any other) parameter is missing or not present in the function declaration or definition. - The \\param command has an optional attribute, (dir), specifying the direction + The \c \\param command has an optional attribute, (dir), specifying the direction of the parameter. Possible values are "[in]", "[in,out]", and "[out]", note the [square] brackets in this description. When a parameter is both input and output, [in,out] is used as attribute. - Here is an example for the function memcpy: + Here is an example for the function \c memcpy: \code /*! * Copies bytes from a source memory area to a destination memory area, @@ -1402,14 +1446,14 @@ void memcpy(void *dest, const void *src, size_t n); The parameter description is a paragraph with no special internal structure. All visual enhancement commands may be used inside the paragraph. - Multiple adjacent \\param commands will be joined into a single paragraph. + Multiple adjacent \c \\param commands will be joined into a single paragraph. Each parameter description will start on a new line. - The \\param description ends when a blank line or some other + The \c \\param description ends when a blank line or some other sectioning command is encountered. See section \ref cmdfn "\\fn" for an example. Note that you can also document multiple parameters with a single - \\param command using a comma separated list. Here is an example: + \c \\param command using a comma separated list. Here is an example: \code /** Sets the position. @@ -1446,10 +1490,10 @@ void setPosition(double x,double y,double z,double t) The paragraph will be indented. The text of the paragraph has no special internal structure. All visual enhancement commands may be used inside the paragraph. - Multiple adjacent \\post commands will be joined into a single paragraph. + Multiple adjacent \c \\post commands will be joined into a single paragraph. Each postcondition will start on a new line. - Alternatively, one \\post command may mention - several postconditions. The \\post command ends when a blank line or some other + Alternatively, one \c \\post command may mention + several postconditions. The \c \\post command ends when a blank line or some other sectioning command is encountered. <hr> @@ -1460,10 +1504,10 @@ void setPosition(double x,double y,double z,double t) The paragraph will be indented. The text of the paragraph has no special internal structure. All visual enhancement commands may be used inside the paragraph. - Multiple adjacent \\pre commands will be joined into a single paragraph. + Multiple adjacent \c \\pre commands will be joined into a single paragraph. Each precondition will start on a new line. - Alternatively, one \\pre command may mention - several preconditions. The \\pre command ends when a blank line or some other + Alternatively, one \c \\pre command may mention + several preconditions. The \c \\pre command ends when a blank line or some other sectioning command is encountered. <hr> @@ -1474,10 +1518,10 @@ void setPosition(double x,double y,double z,double t) The paragraph will be indented. The text of the paragraph has no special internal structure. All visual enhancement commands may be used inside the paragraph. - Multiple adjacent \\remark commands will be joined into a single paragraph. + Multiple adjacent \c \\remark commands will be joined into a single paragraph. Each remark will start on a new line. - Alternatively, one \\remark command may mention - several remarks. The \\remark command ends when a blank line or some other + Alternatively, one \c \\remark command may mention + several remarks. The \c \\remark command ends when a blank line or some other sectioning command is encountered. <hr> @@ -1499,8 +1543,8 @@ void setPosition(double x,double y,double z,double t) Starts a return value description for a function. The text of the paragraph has no special internal structure. All visual enhancement commands may be used inside the paragraph. - Multiple adjacent \\return commands will be joined into a single paragraph. - The \\return description ends when a blank line or some other + Multiple adjacent \c \\return commands will be joined into a single paragraph. + The \c \\return description ends when a blank line or some other sectioning command is encountered. See section \ref cmdfn "\\fn" for an example. @@ -1519,9 +1563,9 @@ void setPosition(double x,double y,double z,double t) The text of the paragraph that forms the description has no special internal structure. All visual enhancement commands may be used inside the paragraph. - Multiple adjacent \\retval commands will be joined into a single paragraph. + Multiple adjacent \c \\retval commands will be joined into a single paragraph. Each return value description will start on a new line. - The \\retval description ends when a blank line or some other + The \c \\retval description ends when a blank line or some other sectioning command is encountered. <hr> @@ -1558,9 +1602,9 @@ void setPosition(double x,double y,double z,double t) \addindex \\since This tag can be used to specify since when (version or time) an - entity is available. The paragraph that follows \\since does not have any + entity is available. The paragraph that follows \c \\since does not have any special internal structure. All visual enhancement commands may be - used inside the paragraph. The \\since description ends when a blank + used inside the paragraph. The \c \\since description ends when a blank line or some other sectioning command is encountered. <hr> @@ -1577,10 +1621,10 @@ void setPosition(double x,double y,double z,double t) \section cmdthrow \\throw <exception-object> { exception description } \addindex \\throw - Synonymous to \\exception (see section \ref cmdexception "\\exception"). + Synonymous \ref cmdexception "\\exception". \par Note: - the tag \\throws is a synonym for this tag. + the tag \c \\throws is a synonym for this tag. \sa section \ref cmdexception "\\exception" @@ -1608,9 +1652,9 @@ void setPosition(double x,double y,double z,double t) The paragraph will be indented. The text of the paragraph has no special internal structure. All visual enhancement commands may be used inside the paragraph. - Multiple adjacent \\version commands will be joined into a single paragraph. + Multiple adjacent \c \\version commands will be joined into a single paragraph. Each version description will start on a new line. - Alternatively, one \\version command may mention + Alternatively, one \c \\version command may mention several version strings. The \\version command ends when a blank line or some other sectioning command is encountered. @@ -1624,10 +1668,10 @@ void setPosition(double x,double y,double z,double t) The paragraph will be indented. The text of the paragraph has no special internal structure. All visual enhancement commands may be used inside the paragraph. - Multiple adjacent \\warning commands will be joined into a single paragraph. + Multiple adjacent \c \\warning commands will be joined into a single paragraph. Each warning description will start on a new line. - Alternatively, one \\warning command may mention - several warnings. The \\warning command ends when a blank line or some other + Alternatively, one \c \\warning command may mention + several warnings. The \c \\warning command ends when a blank line or some other sectioning command is encountered. See section \ref cmdauthor "\\author" for an example. @@ -1647,9 +1691,9 @@ void setPosition(double x,double y,double z,double t) is a quoted string representing the heading of the section under which text passed as the fourth argument is put. The third argument (list title) is used as the title for the related page containing all items with the - same key. The keys "todo", "test", "bug" and "deprecated" are predefined. + same key. The keys \c "todo", \c "test", \c "bug" and \c "deprecated" are predefined. - To get an idea on how to use the \\xrefitem command and what its effect + To get an idea on how to use the \c \\xrefitem command and what its effect is, consider the todo list, which (for English output) can be seen an alias for the command \verbatim \xrefitem todo "Todo" "Todo List" \endverbatim @@ -1658,11 +1702,11 @@ void setPosition(double x,double y,double z,double t) parameters of the command for each section, the command is meant to be used in combination with the \ref cfg_aliases "ALIASES" option in the configuration file. - To define a new command \\reminder, for instance, one should add the following + To define a new command \c \\reminder, for instance, one should add the following line to the configuration file: \verbatim ALIASES += "reminder=\xrefitem reminders \"Reminder\" \"Reminders\"" \endverbatim Note the use of escaped quotes for the second and third argument of the - \\xrefitem command. + \c \\xrefitem command. <hr> @@ -1685,7 +1729,7 @@ Commands to create links \addindex \\anchor This command places an invisible, named anchor into the documentation - to which you can refer with the \\ref command. + to which you can refer with the \ref cmdref "\\ref" command. \note Anchors can currently only be put into a comment block that is marked as a page (using \ref cmdpage "\\page") or mainpage @@ -1709,7 +1753,7 @@ Commands to create links \section cmdendlink \\endlink \addindex \\endlink - This command ends a link that is started with the \\link command. + This command ends a link that is started with the \ref cmdlink "\\link" command. \sa section \ref cmdlink "\\link". @@ -1720,13 +1764,13 @@ Commands to create links The links that are automatically generated by doxygen always have the name of the object they point to as link-text. - The \\link command can be used to create a link to an object (a file, + The \c \\link command can be used to create a link to an object (a file, class, or member) with a user specified link-text. - The link command should end with an \\endlink command. All text between - the \\link and \\endlink commands serves as text for a link to - the \<link-object\> specified as the first argument of \\link. + The link command should end with an \ref cmdendlink "\\endlink" command. All text between + the \c \\link and \ref cmdendlink "\\endlink" commands serves as text for a link to + the \<link-object\> specified as the first argument of \c \\link. - See section \ref autolink "autolink" for more information on automatically + \sa Section \ref autolink "autolink" for more information on automatically generated links and valid link-objects. <hr> @@ -1743,7 +1787,28 @@ Commands to create links page number if \<name\> refers to an anchor. \sa - Section \ref cmdpage "\\page" for an example of the \\ref command. + Section \ref cmdpage "\\page" for an example of the \c \\ref command. + +<hr> +\section cmdrefitem \\refitem <name> + \addindex \\refitem + Just like the \ref cmdref "\\ref" command, this command creates a reference + to a named section, but this reference appears in a list that is started by + \ref cmdsecreflist "\\secreflist" + and ends with \ref cmdendsecreflist "\\endsecreflist". + An example of such a list can be seen + \ref showsecreflist "at the top of the page". + +<hr> +\section cmdsecreflist \\secreflist + \addindex \\secreflist + Starts an index list of item, created with \ref cmdrefitem "\\refitem" + that each link to a named section. + +<hr> +\section cmdendsecreflist \\endsecreflist + \addindex \\endsecreflist + End an index list started with \ref cmdsecreflist "\\secreflist". <hr> \section cmdsubpage \\subpage <name> ["(text)"] @@ -1751,7 +1816,7 @@ Commands to create links \addindex \\subpage This command can be used to create a hierarchy of pages. The same structure can be made using the \ref cmddefgroup "\\defgroup" and - \ref cmdingroup "\\ingroup" commands, but for pages the \\subpage command + \ref cmdingroup "\\ingroup" commands, but for pages the \c \\subpage command is often more convenient. The main page (see \ref cmdmainpage "\\mainpage") is typically the root of hierarchy. @@ -1759,7 +1824,7 @@ Commands to create links it creates a reference to a page labeled \<name\> with the optional link text as specified in the second argument. - It differs from the \\ref command in that it only works for pages, + It differs from the \ref cmdref "\\ref" command in that it only works for pages, and creates a parent-child relation between pages, where the child page (or sub page) is identified by label \<name\>. @@ -1813,7 +1878,7 @@ Make sure you have first read \ref intro "the introduction". \addindex \\section Creates a section with name \<section-name\>. The title of the - section should be specified as the second argument of the \\section + section should be specified as the second argument of the \c \\section command. \warning This command only works inside related page documentation and @@ -1821,14 +1886,14 @@ Make sure you have first read \ref intro "the introduction". \sa Section \ref cmdpage "\\page" for an example of the - \ref cmdsection "\\section" command. + \c \\section command. <hr> \section cmdsubsection \\subsection <subsection-name> (subsection title) \addindex \\subsection Creates a subsection with name \<subsection-name\>. The title of the - subsection should be specified as the second argument of the \\subsection + subsection should be specified as the second argument of the \c \\subsection command. \warning This command only works inside a section of a related page @@ -1837,7 +1902,7 @@ Make sure you have first read \ref intro "the introduction". \sa Section \ref cmdpage "\\page" for an example of the - \ref cmdsubsection "\\subsection" command. + \c \\subsection command. <hr> \section cmdsubsubsection \\subsubsection <subsubsection-name> (subsubsection title) @@ -1845,7 +1910,7 @@ Make sure you have first read \ref intro "the introduction". \addindex \\subsubsection Creates a subsubsection with name \<subsubsection-name\>. The title of the subsubsection should be specified as the second argument of the - \\subsubsection command. + \c \\subsubsection command. \warning This command only works inside a subsection of a related page documentation block and @@ -1862,7 +1927,7 @@ Make sure you have first read \ref intro "the introduction". \addindex \\paragraph Creates a named paragraph with name \<paragraph-name\>. The title of the paragraph should be specified as the second argument of the - \\paragraph command. + \c \\paragraph command. \warning This command only works inside a subsubsection of a related page documentation block and @@ -1883,7 +1948,7 @@ Commands for displaying examples \addindex \\dontinclude This command can be used to parse a source file without actually - verbatim including it in the documentation (as the \\include command does). + verbatim including it in the documentation (as the \ref cmdinclude "\\include" command does). This is useful if you want to divide the source file into smaller pieces and add documentation between the pieces. Source files or directories can be specified using the @@ -1892,12 +1957,13 @@ Commands for displaying examples The class and member declarations and definitions inside the code fragment are 'remembered' during the parsing of the comment block that contained - the \\dontinclude command. + the \c \\dontinclude command. For line by line descriptions of source files, one or more lines - of the example can be displayed using the \\line, \\skip, \\skipline, and - \\until commands. An internal pointer is used for these commands. The - \\dontinclude command sets the pointer to the first line of the example. + of the example can be displayed using the \ref cmdline "\\line", + \ref cmdskip "\\skip", \ref cmdskipline "\\skipline", and + \ref cmduntil "\\until" commands. An internal pointer is used for these commands. The + \c \\dontinclude command sets the pointer to the first line of the example. \par Example: \verbinclude include.cpp @@ -1930,11 +1996,11 @@ Commands for displaying examples by the \ref cfg_example_path "EXAMPLE_PATH" tag, you can include part of the absolute path to disambiguate it. - Using the \\include command is equivalent to inserting the file into + Using the \c \\include command is equivalent to inserting the file into the documentation block and surrounding it with \ref cmdcode "\\code" and \ref cmdendcode "\\endcode" commands. - The main purpose of the \\include command is to avoid code + The main purpose of the \c \\include command is to avoid code duplication in case of example blocks that consist of multiple source and header files. @@ -1958,7 +2024,7 @@ Commands for displaying examples \section cmdincludelineno \\includelineno <file-name> \addindex \\includelineno - This command works the same way as \\include, but will add line + This command works the same way as \ref cmdinclude "\\include", but will add line numbers to the included file. \sa section \ref cmdinclude "\\include". @@ -1968,7 +2034,8 @@ Commands for displaying examples \addindex \\line This command searches line by line through the example that was last - included using \\include or \\dontinclude until it finds a non-blank + included using \ref cmdinclude "\\include" or + \ref cmddontinclude "\\dontinclude" until it finds a non-blank line. If that line contains the specified pattern, it is written to the output. @@ -1984,7 +2051,8 @@ Commands for displaying examples \addindex \\skip This command searches line by line through the example that was last - included using \\include or \\dontinclude until it finds a line that contains + included using \ref cmdinclude "\\include" or + \ref cmddontinclude "\\dontinclude" until it finds a line that contains the specified pattern. The internal pointer that is used to keep track of the current line in @@ -1998,7 +2066,8 @@ Commands for displaying examples \addindex \\skipline This command searches line by line through the example that was last - included using \\include or \\dontinclude until it finds a line that contains + included using \ref cmdinclude "\\include" or + \ref cmddontinclude "\\dontinclude" until it finds a line that contains the specified pattern. It then writes the line to the output. The internal pointer that is used to keep track of the current line in @@ -2033,7 +2102,7 @@ Commands for displaying examples The text following the file name is the unique identifier for the snippet. This is used to delimit the quoted code in the relevant snippet file as - shown in the following example that corresponds to the above \\snippet + shown in the following example that corresponds to the above \c \\snippet command: \code @@ -2066,7 +2135,8 @@ Commands for displaying examples \addindex \\until This command writes all lines of the example that was last - included using \\include or \\dontinclude to the output, until it finds + included using \ref cmdinclude "\\include" or + \ref cmddontinclude "\\dontinclude" to the output, until it finds a line containing the specified pattern. The line containing the pattern will be written as well. @@ -2082,7 +2152,8 @@ Commands for displaying examples \addindex \\verbinclude This command includes the file \<file-name\> verbatim in the documentation. The command is equivalent to pasting the file in the documentation and - placing \\verbatim and \\endverbatim commands around it. + placing \ref cmdverbatim "\\verbatim" and \ref cmdendverbatim "\\endverbatim" + commands around it. Files or directories that doxygen should look for can be specified using the \ref cfg_example_path "EXAMPLE_PATH" tag of doxygen's configuration file. @@ -2093,7 +2164,8 @@ Commands for displaying examples \addindex \\htmlinclude This command includes the file \<file-name\> as is in the HTML documentation. The command is equivalent to pasting the file in the documentation and - placing \\htmlonly and \\endhtmlonly commands around it. + placing \ref cmdhtmlonly "\\htmlonly" and \ref cmdendhtmlonly "\\endhtmlonly" + commands around it. Files or directories that doxygen should look for can be specified using the \ref cfg_example_path "EXAMPLE_PATH" tag of doxygen's configuration file. @@ -2122,7 +2194,7 @@ Commands for visual enhancements This will result in the following text:<br><br> ... the \a x and \a y coordinates are used to ... - Equivalent to \ref cmda "\\e" and \ref cmdem "\\em". + Equivalent to \ref cmde "\\e" and \ref cmdem "\\em". To emphasize multiple words use \<em\>multiple words\</em\>. <hr> @@ -2130,10 +2202,10 @@ Commands for visual enhancements \addindex \\arg This command has one argument that continues until the first - blank line or until another \\arg is encountered. + blank line or until another \c \\arg is encountered. The command can be used to generate a simple, not nested list of arguments. - Each argument should start with a \\arg command. + Each argument should start with a \c \\arg command. \par Example: Typing: @@ -2195,12 +2267,12 @@ Commands for visual enhancements replaced by links to the documentation. By default the language that is assumed for syntax highlighting is based - on the location where the \\code block was found. If this part of + on the location where the \c \\code block was found. If this part of a Python file for instance, the syntax highlight will be done according to the Python syntax. If it unclear from the context which language is meant (for instance the - comment is in a .txt or .markdown file) then you can also explicitly + comment is in a <code>.txt</code> or <code>.markdown</code> file) then you can also explicitly indicate the language, by putting the file extension typically that doxygen associated with the language in curly brackets after the code block. Here is an example: @@ -2253,7 +2325,7 @@ Commands for visual enhancements Qualified names are only needed if the context in which the documentation block is found requires them. - The \\copydoc command can be used recursively, but cycles in the \\copydoc + The \c \\copydoc command can be used recursively, but cycles in the \c \\copydoc relation will be broken and flagged as an error. Note that <code>\\copydoc foo()</code> is roughly equivalent to doing: @@ -2285,6 +2357,13 @@ only copy the detailed documentation, not the brief description. generated docbook documentation only. The block ends with a \ref cmdenddocbookonly "\\enddocbookonly" command. + \sa section \ref cmdmanonly "\\manonly", + \ref cmdxmlonly "\\xmlonly", + \ref cmdlatexonly "\\latexonly", + \ref cmdrtfonly "\\rtfonly", + \ref cmdxmlonly "\\xmlonly", and + \ref cmdhtmlonly "\\htmlonly". + <hr> \section cmddot \\dot @@ -2332,7 +2411,7 @@ class C {}; \note You need to install the <code>mscgen</code> tool, if you want to use this command. -Here is an example of the use of the \\msc command. +Here is an example of the use of the \c \\msc command. \code /** Sender class. Can be used to send a command to the server. * The receiver will acknowledge the command by calling Ack(). @@ -2454,7 +2533,7 @@ class Receiver \section cmdenddocbookonly \\enddocbookonly \addindex \\enddocbookonly - Ends a block of text that was started with a \\docbookonly command. + Ends a block of text that was started with a \ref cmddocbookonly "\\docbookonly" command. \sa section \ref cmddocbookonly "\\docbookonly". @@ -2462,19 +2541,19 @@ class Receiver \section cmdenddot \\enddot \addindex \\enddot - Ends a blocks that was started with \ref cmddot "\\dot". + Ends a block that was started with \ref cmddot "\\dot". <hr> \section cmdendmsc \\endmsc \addindex \\endmsc - Ends a blocks that was started with \ref cmdmsc "\\msc". + Ends a block that was started with \ref cmdmsc "\\msc". <hr> \section cmdendhtmlonly \\endhtmlonly \addindex \\endhtmlonly - Ends a block of text that was started with a \\htmlonly command. + Ends a block of text that was started with a \ref cmdhtmlonly "\\htmlonly" command. \sa section \ref cmdhtmlonly "\\htmlonly". @@ -2482,7 +2561,7 @@ class Receiver \section cmdendlatexonly \\endlatexonly \addindex \\endlatexonly - Ends a block of text that was started with a \\latexonly command. + Ends a block of text that was started with a \ref cmdlatexonly "\\latexonly" command. \sa section \ref cmdlatexonly "\\latexonly". @@ -2490,7 +2569,7 @@ class Receiver \section cmdendmanonly \\endmanonly \addindex \\endmanonly - Ends a block of text that was started with a \\manonly command. + Ends a block of text that was started with a \ref cmdmanonly "\\manonly" command. \sa section \ref cmdmanonly "\\manonly". @@ -2498,7 +2577,7 @@ class Receiver \section cmdendrtfonly \\endrtfonly \addindex \\endrtfonly - Ends a block of text that was started with a \\rtfonly command. + Ends a block of text that was started with a \ref cmdrtfonly "\\rtfonly" command. \sa section \ref cmdrtfonly "\\rtfonly". @@ -2507,7 +2586,7 @@ class Receiver \section cmdendverbatim \\endverbatim \addindex \\endverbatim - Ends a block of text that was started with a \\verbatim command. + Ends a block of text that was started with a \ref cmdverbatim "\\verbatim" command. \sa section \ref cmdverbatim "\\verbatim". @@ -2515,7 +2594,7 @@ class Receiver \section cmdendxmlonly \\endxmlonly \addindex \\endxmlonly - Ends a block of text that was started with a \\xmlonly command. + Ends a block of text that was started with a \ref cmdxmlonly "\\xmlonly" command. \sa section \ref cmdxmlonly "\\xmlonly". @@ -2549,7 +2628,7 @@ class Receiver \section cmdfcurlyopen \\f{environment}{ Marks the start of a formula that is in a specific environment. - \note The second { is optional and is only to help editors (such as Vim) to + \note The second \c { is optional and is only to help editors (such as \c Vim) to do proper syntax highlighting by making the number of opening and closing braces the same. \sa section \ref cmdfcurlyclose "\\f}" and section \ref formulas "formulas". @@ -2566,20 +2645,22 @@ class Receiver \addindex \\htmlonly Starts a block of text that will be verbatim included in the generated HTML documentation only. The block ends with a - \ref cmdhtmlonly "\\endhtmlonly" command. + \ref cmdendhtmlonly "\\endhtmlonly" command. This command can be used to include HTML code that is too complex for doxygen (i.e. applets, java-scripts, and HTML tags that - require attributes). You can use the \\latexonly and \\endlatexonly + require attributes). You can use the \ref cmdlatexonly "\\latexonly" and + \ref cmdendlatexonly "\\endlatexonly" pair to provide a proper \f$\mbox{\LaTeX}\f$ alternative. \note environment variables (like \$(HOME) ) are resolved inside a HTML-only block. - \sa section \ref cmdmanonly "\\manonly", section - \ref cmdlatexonly "\\latexonly", section - \ref cmdrtfonly "\\rtfonly", section - \ref cmdxmlonly "\\xmlonly", and + \sa section \ref cmdmanonly "\\manonly", + \ref cmdxmlonly "\\xmlonly", + \ref cmdlatexonly "\\latexonly", + \ref cmdrtfonly "\\rtfonly", + \ref cmdxmlonly "\\xmlonly", and \ref cmddocbookonly "\\docbookonly". <hr> @@ -2647,17 +2728,18 @@ class Receiver This command can be used to include \f$\mbox{\LaTeX}\f$ code that is too complex for doxygen (i.e. images, formulas, special characters). You can - use the \\htmlonly and \\endhtmlonly pair to provide a proper HTML - alternative. + use the \ref cmdhtmlonly "\\htmlonly" and \ref cmdendhtmlonly "\\endhtmlonly" + pair to provide a proper HTML alternative. \b Note: environment variables (like \$(HOME) ) are resolved inside a \f$\mbox{\LaTeX}\f$-only block. - \sa section \ref cmdrtfonly "\\rtfonly", - section \ref cmdxmlonly "\\xmlonly", - section \ref cmdmanonly "\\manonly", and - section \ref cmdhtmlonly "\\htmlonly". + \sa sections \ref cmdrtfonly "\\rtfonly", + \ref cmdxmlonly "\\xmlonly", + \ref cmdmanonly "\\manonly", + \ref cmdhtmlonly "\\htmlonly", and + \ref cmdhtmlonly "\\docbookonly". <hr> \section cmdmanonly \\manonly @@ -2668,24 +2750,27 @@ class Receiver \ref cmdendmanonly "\\endmanonly" command. This command can be used to include groff code directly into - MAN pages. You can use the \\htmlonly and \\latexonly and - \\endhtmlonly and \\endlatexonly pairs to provide proper + MAN pages. You can use the \ref cmdhtmlonly "\\htmlonly" and + \ref cmdendhtmlonly "\\endhtmlonly" and + \ref cmdlatexonly "\\latexonly" and + \ref cmdendlatexonly "\\endlatexonly" pairs to provide proper HTML and \f$\mbox{\LaTeX}\f$ alternatives. - \sa section \ref cmdhtmlonly "\\htmlonly", - section \ref cmdxmlonly "\\xmlonly", - section \ref cmdrtfonly "\\rtfonly", and - section \ref cmdlatexonly "\\latexonly". + \sa sections \ref cmdhtmlonly "\\htmlonly", + \ref cmdxmlonly "\\xmlonly", + \ref cmdrtfonly "\\rtfonly", + \ref cmdlatexonly "\\latexonly", and + \ref cmddocbookonly "\\docbookonly". <hr> \section cmdli \\li { item-description } \addindex \\li This command has one argument that continues until the first - blank line or until another \\li is encountered. + blank line or until another \c \\li is encountered. The command can be used to generate a simple, not nested list of arguments. - Each argument should start with a \\li command. + Each argument should start with a \c \\li command. \par Example: Typing: @@ -2714,7 +2799,7 @@ class Receiver \addindex \\n Forces a new line. Equivalent to \<br\> and inspired by - the printf function. + the \c printf function. <hr> \section cmdp \\p <word> @@ -2749,10 +2834,11 @@ class Receiver environment variables (like \$(HOME) ) are resolved inside a RTF-only block. - \sa section \ref cmdmanonly "\\manonly", section - \ref cmdxmlonly "\\xmlonly", section - \ref cmdlatexonly "\\latexonly", and section - \ref cmdhtmlonly "\\htmlonly". + \sa sections \ref cmdmanonly "\\manonly", + \ref cmdxmlonly "\\xmlonly", + \ref cmdlatexonly "\\latexonly", + \ref cmdhtmlonly "\\htmlonly", and + \ref cmddocbookonly "\\docbookonly". <hr> \section cmdverbatim \\verbatim @@ -2760,14 +2846,15 @@ class Receiver \addindex \\verbatim Starts a block of text that will be verbatim included in the documentation. The block should end with a - \ref cmdendverbatim "\\endverbatim" block. + \ref cmdendverbatim "\\endverbatim" command. All commands are disabled in a verbatim block. - \warning Make sure you include a \\endverbatim command for each - \\verbatim command or the parser will get confused! + \warning Make sure you include a \ref cmdendverbatim "\\endverbatim" command for each + \c \\verbatim command or the parser will get confused! - \sa section \ref cmdcode "\\code", and - section \ref cmdverbinclude "\\verbinclude". + \sa sections \ref cmdcode "\\code", + \ref cmdendverbatim "\\endverbatim", and + \ref cmdverbinclude "\\verbinclude". <hr> \section cmdxmlonly \\xmlonly @@ -2775,20 +2862,21 @@ class Receiver \addindex \\xmlonly Starts a block of text that will be verbatim included in the generated XML output only. The block ends with a - endxmlonly command. + \ref cmdendxmlonly "\\endxmlonly" command. This command can be used to include custom XML tags. - \sa section \ref cmdmanonly "\\manonly", section - \ref cmdrtfonly "\\rtfonly", section - \ref cmdlatexonly "\\latexonly", and section - \ref cmdhtmlonly "\\htmlonly". + \sa sections \ref cmdmanonly "\\manonly", + \ref cmdrtfonly "\\rtfonly", + \ref cmdlatexonly "\\latexonly", + \ref cmdhtmlonly "\\htmlonly", and + \ref cmddocbookonly "\\docbookonly". <hr> \section cmdbackslash \\\\ \addindex \\\\ - This command writes a backslash character (\\) to the + This command writes a backslash character (\c \\) to the output. The backslash has to be escaped in some cases because doxygen uses it to detect commands. @@ -2796,7 +2884,7 @@ class Receiver \section cmdat \\\@ \addindex \\\@ - This command writes an at-sign (\@) to the output. + This command writes an at-sign (\c \@) to the output. The at-sign has to be escaped in some cases because doxygen uses it to detect JavaDoc commands. @@ -2805,14 +2893,14 @@ class Receiver \addindex \\~ This command enables/disables a language specific filter. This can be used to put documentation for different language into one comment block - and use the \c OUTPUT_LANGUAGE tag to filter out only a specific language. - Use \\~language_id to enable output for a specific language only and - \\~ to enable output for all languages (this is also the default mode). + and use the \ref cfg_output_language "OUTPUT_LANGUAGE" tag to filter out only a specific language. + Use \c \\~language_id to enable output for a specific language only and + \c \\~ to enable output for all languages (this is also the default mode). Example: \verbatim -/*! \~english This is english \~dutch Dit is Nederlands \~german Dieses ist - deutsch. \~ output for all languages. +/*! \~english This is English \~dutch Dit is Nederlands \~german Dies ist + Deutsch. \~ output for all languages. */ \endverbatim @@ -2821,14 +2909,14 @@ class Receiver \section cmdamp \\\& \addindex \\\& - This command writes the \& character to output. + This command writes the \c \& character to output. This character has to be escaped because it has a special meaning in HTML. <hr> \section cmddollar \\\$ \addindex \\\$ - This command writes the \$ character to the output. + This command writes the \c \$ character to the output. This character has to be escaped in some cases, because it is used to expand environment variables. @@ -2836,7 +2924,7 @@ class Receiver \section cmdhash \\\# \addindex \\\# - This command writes the \# character to the output. This + This command writes the \c \# character to the output. This character has to be escaped in some cases, because it is used to refer to documented entities. @@ -2844,21 +2932,21 @@ class Receiver \section cmdlt \\\< \addindex \\\< - This command writes the \< character to the output. + This command writes the \c \< character to the output. This character has to be escaped because it has a special meaning in HTML. <hr> \section cmdgt \\\> \addindex \\\> - This command writes the \> character to the output. This + This command writes the \c \> character to the output. This character has to be escaped because it has a special meaning in HTML. <hr> \section cmdperc \\\% \addindex \\\% - This command writes the \% character to the output. This + This command writes the \c \% character to the output. This character has to be escaped in some cases, because it is used to prevent auto-linking to word that is also a documented class or struct. @@ -2866,7 +2954,7 @@ class Receiver \section cmdquot \\" \addindex \\\" - This command writes the \" character to the output. This + This command writes the \c \" character to the output. This character has to be escaped in some cases, because it is used in pairs to indicate an unformatted text fragment. @@ -2874,7 +2962,7 @@ class Receiver \section cmdchardot \\. \addindex \\\. - This command writes a dot to the output. This can be useful to + This command writes a dot (\c .) to the output. This can be useful to prevent ending a brief description when JAVADOC_AUTOBRIEF is enabled or to prevent starting a numbered list when the dot follows a number at the start of a line. @@ -2883,9 +2971,17 @@ class Receiver \section cmddcolon \\:: \addindex \\\:: - This command write a double colon (\::) to the output. This + This command write a double colon (\c \::) to the output. This character sequence has to be escaped in some cases, because it is used - to ref to documented entities. + to reference to documented entities. + +<hr> +\section cmdpipe \\| + + \addindex \\| + This command write a pip symbol (\|) to the output. This + character has to be escaped in some cases, because it is used + for Markdown tables. <hr> \htmlonly <center> \endhtmlonly diff --git a/doc/config.doc b/doc/config.doc index a32f225..6bd0b84 100644 --- a/doc/config.doc +++ b/doc/config.doc @@ -20,25 +20,25 @@ e****************************************************************************** \section config_format Format A configuration file is a free-form ASCII text file with a structure -that is similar to that of a Makefile, with the default name \c Doxyfile. It is -parsed by \c doxygen. The file may contain tabs and newlines for -formatting purposes. The statements in the file are case-sensitive. +that is similar to that of a \c Makefile, with the default name \c Doxyfile. It is +parsed by \c doxygen. The file may contain tabs and newlines for +formatting purposes. The statements in the file are case-sensitive. Comments may be placed anywhere within the file (except within quotes). -Comments beginning with two hash characters (\#\#) are kept when updating +Comments beginning with two hash characters (\c \#\#) are kept when updating the configuration file and are placed in front of the TAG are in front of. -Comments beginning with two hash characters (\#\#) at the end of the +Comments beginning with two hash characters (\c \#\#) at the end of the configuration file are also kept and placed at the end of the file. -Comments begin with the \# character and end at the end of the line. +Comments begin with the hash character (\c \#) and ends at the end of the line. The file essentially consists of a list of assignment statements. Each statement consists of a \c TAG_NAME written in capitals, -followed by the <code>=</code> character and one or more values. If the same tag +followed by the equal sign (<code>=</code>) and one or more values. If the same tag is assigned more than once, the last assignment overwrites any earlier -assignment. For options that take a list as their argument, +assignment. For tags that take a list as their argument, the <code>+=</code> operator can be used instead of <code>=</code> to append new values to the list. Values are sequences of non-blanks. If the value should -contain one or more blanks it must be surrounded by quotes ("..."). -Multiple lines can be concatenated by inserting a backslash (\\) +contain one or more blanks it must be surrounded by quotes (<code>"..."</code>). +Multiple lines can be concatenated by inserting a backslash (\c \\) as the last character of a line. Environment variables can be expanded using the pattern <code>\$(ENV_VARIABLE_NAME)</code>. @@ -75,6 +75,8 @@ followed by the descriptions of the tags grouped by category. \refitem cfg_chm_file CHM_FILE \refitem cfg_chm_index_encoding CHM_INDEX_ENCODING \refitem cfg_cite_bib_files CITE_BIB_FILES +\refitem cfg_clang_assisted_parsig CLANG_ASSISTED_PARSING +\refitem cfg_clang_options CLANG_OPTIONS \refitem cfg_class_diagrams CLASS_DIAGRAMS \refitem cfg_class_graph CLASS_GRAPH \refitem cfg_collaboration_graph COLLABORATION_GRAPH @@ -322,8 +324,8 @@ followed by the descriptions of the tags grouped by category. \addindex DOXYFILE_ENCODING This tag specifies the encoding used for all characters in the config file that follow. The default is UTF-8 which is also the encoding used for all text before - the first occurrence of this tag. Doxygen uses libiconv (or the iconv built into - libc) for the transcoding. See http://www.gnu.org/software/libiconv for the list of + the first occurrence of this tag. Doxygen uses \c libiconv (or the iconv built into + \c libc) for the transcoding. See http://www.gnu.org/software/libiconv for the list of possible encodings. \anchor cfg_project_name @@ -389,7 +391,7 @@ followed by the descriptions of the tags grouped by category. \addindex BRIEF_MEMBER_DESC If the \c BRIEF_MEMBER_DESC tag is set to \c YES (the default) doxygen will include brief member descriptions after the members that are listed in - the file and class documentation (similar to JavaDoc). + the file and class documentation (similar to \c Javadoc). Set to \c NO to disable this. \anchor cfg_repeat_brief @@ -400,7 +402,8 @@ followed by the descriptions of the tags grouped by category. description \par Note: - If both \c HIDE_UNDOC_MEMBERS and \c BRIEF_MEMBER_DESC are set to \c NO, the + If both \ref cfg_hide_undoc_members "HIDE_UNDOC_MEMBERS" and + \ref cfg_brief_member_desc "BRIEF_MEMBER_DESC" are set to \c NO, the brief descriptions will be completely suppressed. \anchor cfg_abbreviate_brief @@ -409,9 +412,9 @@ followed by the descriptions of the tags grouped by category. This tag implements a quasi-intelligent brief description abbreviator that is used to form the text in various listings. Each string in this list, if found as the leading text of the brief description, will be - stripped from the text and the result after processing the whole list, is used + stripped from the text and the result, after processing the whole list, is used as the annotated text. Otherwise, the brief description is used as-is. If left - blank, the following values are used ("\$name" is automatically replaced with the + blank, the following values are used ("$name" is automatically replaced with the name of the entity): "The $name class" "The $name widget" "The $name file" "is" "provides" "specifies" "contains" "represents" "a" "an" "the". @@ -441,7 +444,7 @@ followed by the descriptions of the tags grouped by category. \anchor cfg_strip_from_path <dt>\c STRIP_FROM_PATH <dd> \addindex STRIP_FROM_PATH - If the \c FULL_PATH_NAMES tag is set to \c YES then the \c STRIP_FROM_PATH tag + If the \ref cfg_full_path_names "FULL_PATH_NAMES" tag is set to \c YES then the \c STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. Stripping is only done if one of the specified strings matches the left-hand part of the path. The tag can be used to show relative paths in the file list. @@ -469,7 +472,7 @@ followed by the descriptions of the tags grouped by category. <dt>\c JAVADOC_AUTOBRIEF <dd> \addindex JAVADOC_AUTOBRIEF If the \c JAVADOC_AUTOBRIEF is set to \c YES then doxygen - will interpret the first line (until the first dot) of a JavaDoc-style + will interpret the first line (until the first dot) of a Javadoc-style comment as the brief description. If set to \c NO (the default), the Javadoc-style will behave just like regular Qt-style comments (thus requiring an explicit \ref cmdbrief "\@brief" command for a brief description.) @@ -481,7 +484,7 @@ followed by the descriptions of the tags grouped by category. will interpret the first line (until the first dot) of a Qt-style comment as the brief description. If set to \c NO (the default), the Qt-style will behave just like regular Qt-style comments (thus - requiring an explicit \\brief command for a brief description.) + requiring an explicit \ref cmdbrief "\\brief" command for a brief description.) \anchor cfg_markdown_support <dt>\c MARKDOWN_SUPPORT <dd> @@ -498,7 +501,7 @@ followed by the descriptions of the tags grouped by category. \addindex AUTOLINK_SUPPORT When enabled doxygen tries to link words that correspond to documented classes, or namespaces to their corresponding documentation. Such a link can be - prevented in individual cases by by putting a % sign in front of the word or + prevented in individual cases by by putting a \c % sign in front of the word or globally by setting \c AUTOLINK_SUPPORT to \c NO. \anchor cfg_builtin_stl_support @@ -528,7 +531,7 @@ followed by the descriptions of the tags grouped by category. \anchor cfg_idl_property_support <dt>\c IDL_PROPERTY_SUPPORT <dd> \addindex IDL_PROPERTY_SUPPORT - For Microsoft's IDL there are propget and propput attributes to indicate getter + For Microsoft's IDL there are \c propget and \c propput attributes to indicate getter and setter methods for a property. Setting this option to \c YES (the default) will make doxygen to replace the get and set methods by a property in the documentation. This will only work if the methods are indeed getting or @@ -546,8 +549,8 @@ followed by the descriptions of the tags grouped by category. \anchor cfg_multiline_cpp_is_brief <dt>\c MULTILINE_CPP_IS_BRIEF <dd> \addindex MULTILINE_CPP_IS_BRIEF - The \c MULTILINE_CPP_IS_BRIEF tag can be set to \c YES to make Doxygen - treat a multi-line C++ special comment block (i.e. a block of //! or /// + The \c MULTILINE_CPP_IS_BRIEF tag can be set to \c YES to make doxygen + treat a multi-line C++ special comment block (i.e. a block of \c //! or \c /// comments) as a brief description. This used to be the default behavior. The new default is to treat a multi-line C++ comment block as a detailed description. Set this tag to \c YES if you prefer the old behavior instead. @@ -558,8 +561,8 @@ followed by the descriptions of the tags grouped by category. \anchor cfg_details_at_top <dt>\c DETAILS_AT_TOP <dd> \addindex DETAILS_AT_TOP - If the \c DETAILS_AT_TOP tag is set to \c YES then Doxygen - will output the detailed description near the top, like JavaDoc. + If the \c DETAILS_AT_TOP tag is set to \c YES then doxygen + will output the detailed description near the top, like \c Javadoc. If set to \c NO, the detailed description appears after the member documentation. --> @@ -599,7 +602,7 @@ followed by the descriptions of the tags grouped by category. will allow you to put the command \\sideeffect (or \@sideeffect) in the documentation, which will result in a user-defined paragraph with heading "Side Effects:". - You can put \\n's in the value part of an alias to insert newlines. + You can put \ref cmdn "\\n"'s in the value part of an alias to insert newlines. \anchor cfg_tcl_subst <dt>\c TCL_SUBST <dd> @@ -667,8 +670,8 @@ followed by the descriptions of the tags grouped by category. \addindex INLINE_GROUPED_CLASSES When the \c INLINE_GROUPED_CLASSES tag is set to \c YES, classes, structs and unions are shown inside the group in which they are included -(e.g. using @@ingroup) instead of on a separate page (for HTML and Man pages) -or section (for LaTeX and RTF). Note that this feature does not work in +(e.g. using \ref cmdingroup "\\ingroup") instead of on a separate page (for HTML and Man pages) +or section (for \f$\mbox{\LaTeX}\f$ and RTF). Note that this feature does not work in combination with \ref cfg_separate_member_pages "SEPARATE_MEMBER_PAGES". \anchor cfg_inline_simple_structs @@ -679,7 +682,7 @@ unions with only public data fields or simple typedef fields will be shown inline in the documentation of the scope in which they are defined (i.e. file, namespace, or group documentation), provided this scope is documented. If set to \c NO (the default), structs, classes, and unions are shown on a separate -page (for HTML and Man pages) or section (for LaTeX and RTF). +page (for HTML and Man pages) or section (for \f$\mbox{\LaTeX}\f$ and RTF). \anchor cfg_typedef_hides_struct <dt>\c TYPEDEF_HIDES_STRUCT <dd> @@ -717,11 +720,12 @@ page (for HTML and Man pages) or section (for LaTeX and RTF). If the \c EXTRACT_ALL tag is set to \c YES doxygen will assume all entities in documentation are documented, even if no documentation was available. Private class members and static file members will be hidden - unless the \c EXTRACT_PRIVATE and \c EXTRACT_STATIC tags are set to \c YES + unless the \ref cfg_extract_private "EXTRACT_PRIVATE" respectively + \ref cfg_extract_static "EXTRACT_STATIC" tags are set to \c YES - \par Note: - This will also disable the warnings about undocumented members - that are normally produced when \c WARNINGS is set to \c YES + \note This will also disable the warnings about undocumented members + that are normally produced when \ref cfg_warnings "WARNINGS" is + set to \c YES \anchor cfg_extract_private <dt>\c EXTRACT_PRIVATE <dd> @@ -772,7 +776,7 @@ page (for HTML and Man pages) or section (for LaTeX and RTF). undocumented members inside documented classes or files. If set to \c NO (the default) these members will be included in the various overviews, but no documentation section is generated. - This option has no effect if \c EXTRACT_ALL is enabled. + This option has no effect if \ref cfg_extract_all "EXTRACT_ALL" is enabled. \anchor cfg_hide_undoc_classes <dt>\c HIDE_UNDOC_CLASSES <dd> @@ -781,12 +785,12 @@ page (for HTML and Man pages) or section (for LaTeX and RTF). undocumented classes. If set to \c NO (the default) these classes will be included in the various overviews. - This option has no effect if \c EXTRACT_ALL is enabled. + This option has no effect if \ref cfg_extract_all "EXTRACT_ALL" is enabled. \anchor cfg_hide_friend_compounds <dt>\c HIDE_FRIEND_COMPOUNDS <dd> \addindex HIDE_FRIEND_COMPOUNDS - If the \c HIDE_FRIEND_COMPOUNDS tag is set to \c YES, Doxygen will hide all + If the \c HIDE_FRIEND_COMPOUNDS tag is set to \c YES, doxygen will hide all friend (class|struct|union) declarations. If set to \c NO (the default) these declarations will be included in the documentation. @@ -794,7 +798,7 @@ page (for HTML and Man pages) or section (for LaTeX and RTF). \anchor cfg_hide_in_body_docs <dt>\c HIDE_IN_BODY_DOCS <dd> \addindex HIDE_IN_BODY_DOCS -If the \c HIDE_IN_BODY_DOCS tag is set to \c YES, Doxygen will hide any +If the \c HIDE_IN_BODY_DOCS tag is set to \c YES, doxygen will hide any documentation blocks found inside the body of a function. If set to \c NO (the default) these blocks will be appended to the function's detailed documentation block. @@ -834,7 +838,7 @@ function's detailed documentation block. \anchor cfg_force_local_includes <dt>\c FORCE_LOCAL_INCLUDES <dd> \addindex FORCE_LOCAL_INCLUDES - If the \c FORCE_LOCAL_INCLUDES tag is set to \c YES then Doxygen + If the \c FORCE_LOCAL_INCLUDES tag is set to \c YES then doxygen will list include files with double quotes in the documentation rather than with sharp brackets. @@ -873,22 +877,12 @@ function's detailed documentation block. \addindex SORT_BY_SCOPE_NAME If the \c SORT_BY_SCOPE_NAME tag is set to \c YES, the class list will be sorted by fully-qualified names, including namespaces. If set to - NO (the default), the class list will be sorted only by class name, + \c NO (the default), the class list will be sorted only by class name, not including the namespace part. - @note This option is not very useful if \c HIDE_SCOPE_NAMES is set to \c YES. + @note This option is not very useful if \ref cfg_hide_scope_names "HIDE_SCOPE_NAMES" is set to \c YES. @note This option applies only to the class list, not to the alphabetical list. -\anchor cfg_strict_proto_matching -<dt>\c STRICT_PROTO_MATCHING <dd> - \addindex STRICT_PROTO_MATCHING - If the \c STRICT_PROTO_MATCHING option is enabled and doxygen fails to - do proper type resolution of all parameters of a function it will reject a - match between the prototype and the implementation of a member function even - if there is only one candidate or it is obvious which candidate to choose - by doing a simple string match. By disabling \c STRICT_PROTO_MATCHING doxygen - will still accept a match between prototype and implementation in such cases. - \anchor cfg_sort_members_constructors_first <dt>\c SORT_MEMBERS_CTORS_1ST <dd> \addindex SORT_MEMBERS_CTORS_1ST @@ -897,16 +891,16 @@ function's detailed documentation block. constructors and destructors are listed first. If set to \c NO (the default) the constructors will appear in the respective orders defined by \c SORT_MEMBER_DOCS and \c SORT_BRIEF_DOCS. - @note If \c SORT_BRIEF_DOCS is set to \c NO this option is ignored for + @note If \ref cfg_sort_brief_docs "SORT_BRIEF_DOCS" is set to \c NO this option is ignored for sorting brief member documentation. - @note If \c SORT_MEMBER_DOCS is set to \c NO this option is ignored for + @note If \ref cfg_sort_member_docs "SORT_MEMBER_DOCS" is set to \c NO this option is ignored for sorting detailed member documentation. \anchor cfg_generate_deprecatedlist <dt>\c GENERATE_DEPRECATEDLIST <dd> \addindex GENERATE_DEPRECATEDLIST - The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or - disable (NO) the deprecated list. This list is created by + The GENERATE_DEPRECATEDLIST tag can be used to enable (\c YES) or + disable (\c NO) the deprecated list. This list is created by putting \ref cmddeprecated "\\deprecated" commands in the documentation. @@ -924,7 +918,7 @@ function's detailed documentation block. <dt>\c GENERATE_TODOLIST <dd> \addindex GENERATE_TODOLIST The GENERATE_TODOLIST tag can be used to enable (YES) or - disable (NO) the todo list. This list is created by + disable (\c NO) the todo list. This list is created by putting \ref cmdtodo "\\todo" commands in the documentation. @@ -932,14 +926,14 @@ function's detailed documentation block. <dt>\c GENERATE_TESTLIST <dd> \addindex GENERATE_TESTLIST The GENERATE_TESTLIST tag can be used to enable (YES) or - disable (NO) the test list. This list is created by + disable (\c NO) the test list. This list is created by putting \ref cmdtest "\\test" commands in the documentation. \anchor cfg_generate_buglist <dt>\c GENERATE_BUGLIST <dd> \addindex GENERATE_BUGLIST The GENERATE_BUGLIST tag can be used to enable (YES) or - disable (NO) the bug list. This list is created by + disable (\c NO) the bug list. This list is created by putting \ref cmdbug "\\bug" commands in the documentation. \anchor cfg_enabled_sections @@ -987,7 +981,7 @@ function's detailed documentation block. The \c FILE_VERSION_FILTER tag can be used to specify a program or script that doxygen should invoke to get the current version for each file (typically from the version control system). Doxygen will invoke the program by executing (via - popen()) the command <code>command input-file</code>, where \c command is + <code>popen()</code>) the command <code>command input-file</code>, where \c command is the value of the \c FILE_VERSION_FILTER tag, and \c input-file is the name of an input file provided by doxygen. Whatever the program writes to standard output is used as the file version. @@ -1020,19 +1014,19 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn" doxygen. The layout file controls the global structure of the generated output files in an output format independent way. To create the layout file that represents doxygen's defaults, run doxygen with the -l option. You can optionally specify a - file name after the option, if omitted DoxygenLayout.xml will be used as the name + file name after the option, if omitted \c DoxygenLayout.xml will be used as the name of the layout file. Note that if you run doxygen from a directory containing - a file called `DoxygenLayout.xml`, doxygen will parse it automatically even if + a file called \c DoxygenLayout.xml, doxygen will parse it automatically even if the \c LAYOUT_FILE tag is left empty. \anchor cfg_cite_bib_files <dt>\c CITE_BIB_FILES <dd> \addindex CITE_BIB_FILES The \c CITE_BIB_FILES tag can be used to specify one or more bib files - containing the reference definitions. This must be a list of .bib files. The - .bib extension is automatically appended if omitted. This requires the - bibtex tool to be installed. See also http://en.wikipedia.org/wiki/BibTeX - for more info. For LaTeX the style of the bibliography can be controlled + containing the reference definitions. This must be a list of <code>.bib</code> files. The + <code>.bib</code> extension is automatically appended if omitted. This requires the + \c bibtex tool to be installed. See also http://en.wikipedia.org/wiki/BibTeX + for more info. For \f$\mbox{\LaTeX}\f$ the style of the bibliography can be controlled using \ref cfg_latex_bib_style "LATEX_BIB_STYLE". See also \ref cmdcite "\\cite" for info how to create references. @@ -1062,7 +1056,7 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn" <dt>\c WARN_IF_UNDOCUMENTED <dd> \addindex WARN_IF_UNDOCUMENTED If \c WARN_IF_UNDOCUMENTED is set to \c YES, then doxygen will generate warnings - for undocumented members. If \c EXTRACT_ALL is set to \c YES then this flag will + for undocumented members. If \ref cfg_extract_all "EXTRACT_ALL" is set to \c YES then this flag will automatically be disabled. \anchor cfg_warn_if_doc_error @@ -1096,7 +1090,7 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn" \addindex WARN_LOGFILE The \c WARN_LOGFILE tag can be used to specify a file to which warning and error messages should be written. If left blank the output is written - to stderr. + to \c stderr. </dl> @@ -1111,7 +1105,7 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn" \c myfile.cpp or directories like \c /usr/src/myproject. Separate the files or directories with spaces.<br> - \note Note If this tag is empty the current directory is searched. + \note If this tag is empty the current directory is searched. \anchor cfg_input_encoding <dt>\c INPUT_ENCODING <dd> @@ -1125,7 +1119,7 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn" \anchor cfg_file_patterns <dt>\c FILE_PATTERNS <dd> \addindex FILE_PATTERNS - If the value of the \c INPUT tag contains directories, you can use the + If the value of the \ref cfg_input "INPUT" tag contains directories, you can use the \c FILE_PATTERNS tag to specify one or more wildcard patterns (like `*.cpp` and `*.h`) to filter out the source-files in the directories. If left blank the following patterns are tested: @@ -1146,8 +1140,8 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn" <dt>\c EXCLUDE <dd> \addindex EXCLUDE The \c EXCLUDE tag can be used to specify files and/or directories that should be - excluded from the \c INPUT source files. This way you can easily exclude a - subdirectory from a directory tree whose root is specified with the \c INPUT tag. + excluded from the \ref cfg_input "INPUT" source files. This way you can easily exclude a + subdirectory from a directory tree whose root is specified with the \ref cfg_input "INPUT" tag. Note that relative paths are relative to the directory from which doxygen is run. \anchor cfg_exclude_symlinks @@ -1159,7 +1153,7 @@ FILE_VERSION_INFO = "cleartool desc -fmt \%Vn" \anchor cfg_exclude_patterns <dt>\c EXCLUDE_PATTERNS <dd> \addindex EXCLUDE_PATTERNS - If the value of the \c INPUT tag contains directories, you can use the + If the value of the \ref cfg_input "INPUT" tag contains directories, you can use the \c EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude certain files from those directories. @@ -1186,7 +1180,8 @@ wildcard `*` is used, a substring. Examples: `ANamespace`, `AClass`, <dt>\c EXAMPLE_RECURSIVE <dd> \addindex EXAMPLE_RECURSIVE If the \c EXAMPLE_RECURSIVE tag is set to \c YES then subdirectories will be - searched for input files to be used with the \\include or \\dontinclude + searched for input files to be used with the \ref cmdinclude "\\include" or + \ref cmddontinclude "\\dontinclude" commands irrespective of the value of the \ref cfg_recursive "RECURSIVE" tag. Possible values are \c YES and \c NO. If left blank \c NO is used. @@ -1211,12 +1206,12 @@ wildcard `*` is used, a substring. Examples: `ANamespace`, `AClass`, \addindex INPUT_FILTER The \c INPUT_FILTER tag can be used to specify a program that doxygen should invoke to filter for each input file. Doxygen will invoke the filter program - by executing (via popen()) the command: + by executing (via <code>popen()</code>) the command: \verbatim <filter> <input-file> \endverbatim - where \<filter\> - is the value of the \c INPUT_FILTER tag, and \<input-file\> is the name of an + where <code>\<filter\></code> + is the value of the \c INPUT_FILTER tag, and <code>\<input-file\></code> is the name of an input file. Doxygen will then use the output that the filter program writes to standard output. @@ -1301,8 +1296,9 @@ the introduction page also for the doxygen output. <dt>\c REFERENCES_LINK_SOURCE <dd> \addindex REFERENCES_LINK_SOURCE If the \c REFERENCES_LINK_SOURCE tag is set to \c YES (the default) - and SOURCE_BROWSER tag is set to \c YES, then the hyperlinks from - functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will + and \ref cfg_source_browser "SOURCE_BROWSER" tag is set to \c YES, then the hyperlinks from + functions in \ref cfg_references_relation "REFERENCES_RELATION" and + \ref cfg_referenced_by_relation "REFERENCED_BY_RELATION" lists will link to the source code. Otherwise they will link to the documentation. \anchor cfg_verbatim_headers @@ -1313,25 +1309,45 @@ the introduction page also for the doxygen output. which an include is specified. Set to \c NO to disable this. \sa Section \ref cmdclass "\\class". +\anchor cfg_clang_assisted_parsig +<dt>\c CLANG_ASSISTED_PARSING <dd> + \addindex CLANG_ASSISTED_PARSING + If \c CLANG_ASSISTED_PARSING is set to \c YES, then doxygen will use the + <a href="http://clang.llvm.org/">clang parser</a> for more acurate parsing + at the cost of reduced performance. This can be particularly helpful with + template rich C++ code for which doxygen's built-in parser lacks the + necessairy type information. + + @note The availability of this option depends on whether or not doxygen + was compiled with the `--with-libclang` option. + +\anchor cfg_clang_options +<dt>\c CLANG_OPTIONS <dd> + \addindex CLANG_OPTIONS + If clang assisted parsing is enabled you can provide the compiler with command + line options that you would normally use when invoking the compiler. Note that + the include paths will already be set by doxygen for the files and directories + specified at \c INPUT and \c INCLUDE_PATH. + \anchor cfg_use_htags <dt>\c USE_HTAGS <dd> \addindex USE_HTAGS If the \c USE_HTAGS tag is set to \c YES then the references to source code - will point to the HTML generated by the htags(1) tool instead of doxygen - built-in source browser. The htags tool is part of GNU's global source + will point to the HTML generated by the \c htags(1) tool instead of doxygen + built-in source browser. The \c htags tool is part of GNU's global source tagging system (see http://www.gnu.org/software/global/global.html). To use it do the following: -# Install the latest version of global (i.e. 4.8.6 or better) - -# Enable SOURCE_BROWSER and USE_HTAGS in the config file - -# Make sure the INPUT points to the root of the source tree + -# Enable \ref cfg_source_browser "SOURCE_BROWSER" and \c USE_HTAGS in the config file + -# Make sure the \ref cfg_input "INPUT" points to the root of the source tree -# Run doxygen as normal - Doxygen will invoke htags (and that will in turn invoke gtags), so these tools + Doxygen will invoke \c htags (and that will in turn invoke \c gtags), so these tools must be available from the command line (i.e. in the search path). The result: instead of the source browser generated by doxygen, the links to - source code will now point to the output of htags. + source code will now point to the output of \c htags. </dl> @@ -1349,7 +1365,7 @@ the introduction page also for the doxygen output. \anchor cfg_cols_in_alpha_index \addindex COLS_IN_ALPHA_INDEX If the alphabetical index is enabled - (see \c ALPHABETICAL_INDEX) then the \c COLS_IN_ALPHA_INDEX tag can be + (see \ref cfg_alphabetical_index "ALPHABETICAL_INDEX") then the \c COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in which this list will be split (can be a number in the range [1..20]) \anchor cfg_ignore_prefix @@ -1375,15 +1391,15 @@ the introduction page also for the doxygen output. <dt>\c HTML_OUTPUT <dd> \addindex HTML_OUTPUT The \c HTML_OUTPUT tag is used to specify where the HTML docs will be put. - If a relative path is entered the value of \c OUTPUT_DIRECTORY will be - put in front of it. If left blank 'html' will be used as the default path. + If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be + put in front of it. If left blank '<code>html</code>' will be used as the default path. \anchor cfg_html_file_extension <dt>\c HTML_FILE_EXTENSION <dd> \addindex HTML_FILE_EXTENSION The \c HTML_FILE_EXTENSION tag can be used to specify the file extension for - each generated HTML page (for example: .htm, .php, .asp). If it is left blank - doxygen will generate files with .html extension. + each generated HTML page (for example: <code>.htm, .php, .asp</code>). If it is left blank + doxygen will generate files with <code>.html</code> extension. \anchor cfg_html_header <dt>\c HTML_HEADER <dd> @@ -1428,9 +1444,9 @@ doxygen -w html new_header.html new_footer.html new_stylesheet.css YourConfigFil the javascript and style sheets needed for the MathJax feature (or an empty string when \ref cfg_use_mathjax "USE_MATHJAX" is disabled). <dt><code>\$relpath^</code><dd> - If \c CREATE_SUBDIRS is enabled, the command <code>\$relpath^</code> can be + If \ref cfg_create_subdirs "CREATE_SUBDIRS" is enabled, the command <code>\$relpath^</code> can be used to produce a relative path to the root of the HTML output directory, - e.g. use \$relpath^doxygen.css, to refer to the standard style sheet. + e.g. use <code>\$relpath^doxygen.css</code>, to refer to the standard style sheet. </dl> To cope with differences in the layout of the header and footer that depend on @@ -1503,7 +1519,8 @@ doxygen -w html new_header.html new_footer.html new_stylesheet.css YourConfigFil the style sheet that doxygen normally uses. \note It is recommended to use - \c HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and + \ref cfg_html_extra_stylesheet "HTML_EXTRA_STYLESHEET" instead of this tag, + as it is more robust and this tag will in the future become obsolete. \anchor cfg_html_extra_stylesheet @@ -1512,7 +1529,7 @@ doxygen -w html new_header.html new_footer.html new_stylesheet.css YourConfigFil The HTML_EXTRA_STYLESHEET tag can be used to specify an additional user-defined cascading style sheet that is included after the standard style sheets created by doxygen. Using this option one can overrule - certain style aspects. This is preferred over using \c HTML_STYLESHEET + certain style aspects. This is preferred over using \ref cfg_html_stylesheet "HTML_STYLESHEET" since it does not replace the standard style sheet and is therefor more robust against future updates. Doxygen will copy the style sheet file to the output directory. @@ -1554,8 +1571,9 @@ hr.footer { The \c HTML_EXTRA_FILES tag can be used to specify one or more extra images or other source files which should be copied to the HTML output directory. Note that these files will be copied to the base HTML output directory. Use the - $relpath^ marker in the \c HTML_HEADER and/or \c HTML_FOOTER files to load these - files. In the \c HTML_STYLESHEET file, use the file name only. Also note that + <code>$relpath^</code> marker in the \ref cfg_html_header "HTML_HEADER" and/or + \ref cfg_html_footer "HTML_FOOTER" files to load these + files. In the \ref cfg_html_stylesheet "HTML_STYLESHEET" file, use the file name only. Also note that the files will be copied as-is; there are no commands or markers available. \anchor cfg_html_colorstyle_hue @@ -1641,27 +1659,28 @@ hr.footer { \anchor cfg_docset_feedname <dt>\c DOCSET_FEEDNAME <dd> \addindex DOCSET_FEEDNAME - When \c GENERATE_DOCSET tag is set to \c YES, this tag determines the name of the + When \ref cfg_generate_docset "GENERATE_DOCSET" tag is set to \c YES, this tag determines the name of the feed. A documentation feed provides an umbrella under which multiple documentation sets from a single provider (such as a company or product suite) can be grouped. \anchor cfg_docset_bundle_id <dt>\c DOCSET_BUNDLE_ID <dd> - When \c GENERATE_DOCSET tag is set to \c YES, this tag specifies a string that + When \ref cfg_generate_docset "GENERATE_DOCSET" tag is set to \c YES, this tag specifies a string that should uniquely identify the documentation set bundle. This should be a reverse domain-name style string, e.g. <code>com.mycompany.MyDocSet</code>. Doxygen will append <code>.docset</code> to the name. \anchor cfg_docset_publisher_id <dt>\c DOCSET_PUBLISHER_ID <dd> -When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +When \ref cfg_generate_docset "GENERATE_DOCSET" tag is set to \c YES \c DOCSET_PUBLISHER_ID +tag specifies a string that should uniquely identify the documentation publisher. This should be a reverse domain-name style string, e.g. com.mycompany.MyDocSet.documentation. \anchor cfg_docset_publisher_name <dt>\c DOCSET_PUBLISHER_NAME <dd> -The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. +The \c DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. \anchor cfg_generate_htmlhelp <dt>\c GENERATE_HTMLHELP <dd> @@ -1670,14 +1689,14 @@ The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. doxygen generates three additional HTML index files: \c index.hhp, \c index.hhc, and \c index.hhk. The \c index.hhp is a project file that can be read by - <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html/vsconHH1Start.asp"> + <a href="http://www.microsoft.com/en-us/download/details.aspx?id=21138"> Microsoft's HTML Help Workshop</a> on Windows. The HTML Help Workshop contains a compiler that can convert all HTML output - generated by doxygen into a single compiled HTML file (.chm). Compiled + generated by doxygen into a single compiled HTML file (`.chm`). Compiled HTML files are now used as the Windows 98 help format, and will replace - the old Windows help format (.hlp) on all Windows platforms in the future. + the old Windows help format (`.hlp`) on all Windows platforms in the future. Compressed HTML files also contain an index, a table of contents, and you can search for words in the documentation. The HTML workshop also contains a viewer for compressed HTML files. @@ -1685,39 +1704,39 @@ The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. \anchor cfg_chm_file <dt>\c CHM_FILE <dd> \addindex CHM_FILE - If the \c GENERATE_HTMLHELP tag is set to \c YES, the \c CHM_FILE tag can - be used to specify the file name of the resulting .chm file. You + If the \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP" tag is set to \c YES, the \c CHM_FILE tag can + be used to specify the file name of the resulting `.chm` file. You can add a path in front of the file if the result should not be written to the html output directory. \anchor cfg_hhc_location <dt>\c HHC_LOCATION <dd> \addindex HHC_LOCATION - If the \c GENERATE_HTMLHELP tag is set to \c YES, the \c HHC_LOCATION tag can + If the \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP" tag is set to \c YES, the \c HHC_LOCATION tag can be used to specify the location (absolute path including file name) of - the HTML help compiler (hhc.exe). If non-empty doxygen will try to run - the HTML help compiler on the generated index.hhp. + the HTML help compiler (\c hhc.exe). If non-empty doxygen will try to run + the HTML help compiler on the generated \c index.hhp. \anchor cfg_generate_chi <dt>\c GENERATE_CHI <dd> \addindex GENERATE_CHI - If the \c GENERATE_HTMLHELP tag is set to \c YES, the \c GENERATE_CHI flag - controls if a separate .chi index file is generated (<code>YES</code>) or that - it should be included in the master .chm file (<code>NO</code>). + If the \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP" tag is set to \c YES, the \c GENERATE_CHI flag + controls if a separate `.chi` index file is generated (\c YES) or that + it should be included in the master `.chm` file (\c NO). \anchor cfg_chm_index_encoding <dt>\c CHM_INDEX_ENCODING <dd> \addindex CHM_INDEX_ENCODING - If the \c GENERATE_HTMLHELP tag is set to \c YES, the \c CHM_INDEX_ENCODING - is used to encode HtmlHelp index (hhk), content (hhc) and project file + If the \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP" tag is set to \c YES, the \c CHM_INDEX_ENCODING + is used to encode HtmlHelp index (\c hhk), content (\c hhc) and project file content. \anchor cfg_binary_toc <dt>\c BINARY_TOC <dd> \addindex BINARY_TOC - If the \c GENERATE_HTMLHELP tag is set to \c YES, the \c BINARY_TOC flag - controls whether a binary table of contents is generated (<code>YES</code>) or a - normal table of contents (<code>NO</code>) in the .chm file. + If the \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP" tag is set to \c YES, the \c BINARY_TOC flag + controls whether a binary table of contents is generated (\c YES) or a + normal table of contents (\c NO) in the .chm file. \anchor cfg_toc_expand <dt>\c TOC_EXPAND <dd> @@ -1729,79 +1748,79 @@ The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. \anchor cfg_generate_qhp <dt>\c GENERATE_QHP <dd> \addindex GENERATE_QHP - If the GENERATE_QHP tag is set to \c YES and both \c QHP_NAMESPACE - and QHP_VIRTUAL_FOLDER are set, an additional index file will + If the \c GENERATE_QHP tag is set to \c YES and both \ref cfg_qhp_namespace "QHP_NAMESPACE" + and \ref cfg_qhp_virtual_folder "QHP_VIRTUAL_FOLDER" are set, an additional index file will be generated that can be used as input for Qt's qhelpgenerator - to generate a Qt Compressed Help (.qch) of the generated HTML + to generate a Qt Compressed Help (`.qch`) of the generated HTML documentation. \anchor cfg_qch_file <dt>\c QCH_FILE <dd> \addindex QCH_FILE - If the QHG_LOCATION tag is specified, the QCH_FILE tag can - be used to specify the file name of the resulting .qch file. + If the \ref cfg_qhg_location "QHG_LOCATION" tag is specified, the \c QCH_FILE tag can + be used to specify the file name of the resulting `.qch` file. The path specified is relative to the HTML output folder. \anchor cfg_qhp_namespace <dt>\c QHP_NAMESPACE <dd> \addindex QHP_NAMESPACE - The QHP_NAMESPACE tag specifies the namespace to use when generating + The \c QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help Project output. For more information please see <a href="http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace">Qt Help Project / Namespace</a>. \anchor cfg_qhp_virtual_folder <dt>\c QHP_VIRTUAL_FOLDER <dd> \addindex QHP_VIRTUAL_FOLDER - The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when + The \c QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt Help Project output. For more information please see <a href="http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-folders">Qt Help Project / Virtual Folders</a>. \anchor cfg_qhp_cust_filter_name <dt>\c QHP_CUST_FILTER_NAME <dd> \addindex QHP_CUST_FILTER_NAME - If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. For more information please see + If \c QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. For more information please see <a href="http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>. \anchor cfg_qhp_cust_filter_attrs <dt>\c QHP_CUST_FILTER_ATTRS <dd> \addindex QHP_CUST_FILTER_ATTRS - The QHP_CUST_FILTER_ATTRIBUTES tag specifies the list of the attributes of the custom filter to add. + The \c QHP_CUST_FILTER_ATTRIBUTES tag specifies the list of the attributes of the custom filter to add. For more information please see <a href="http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>. \anchor cfg_qhp_sect_filter_attrs <dt>\c QHP_SECT_FILTER_ATTRS <dd> \addindex QHP_SECT_FILTER_ATTRS - The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's filter section matches. + The \c QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's filter section matches. <a href="http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>. \anchor cfg_qhg_location <dt>\c QHG_LOCATION <dd> \addindex QHG_LOCATION - If the GENERATE_QHP tag is set to \c YES, the \c QHG_LOCATION tag can + If the \ref cfg_generate_qhp "GENERATE_QHP" tag is set to \c YES, the \c QHG_LOCATION tag can be used to specify the location of Qt's qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the generated - .qhp file. + `.qhp` file. \anchor cfg_generate_eclipsehelp <dt>\c GENERATE_ECLIPSEHELP <dd> \addindex GENERATE_ECLIPSEHELP If the \c GENERATE_ECLIPSEHELP tag is set to \c YES, additional index files - will be generated, which together with the HTML files, form an Eclipse help + will be generated, which together with the HTML files, form an `Eclipse` help plugin. To install this plugin and make it available under the help contents - menu in Eclipse, the contents of the directory containing the HTML and XML + menu in `Eclipse`, the contents of the directory containing the HTML and XML files needs to be copied into the plugins directory of eclipse. The name of the directory within the plugins directory should be the same as the \ref cfg_eclipse_doc_id "ECLIPSE_DOC_ID" value. - After copying Eclipse needs to be restarted before the help appears. + After copying `Eclipse` needs to be restarted before the help appears. \anchor cfg_eclipse_doc_id <dt>\c ECLIPSE_DOC_ID <dd> \addindex ECLIPSE_DOC_ID - A unique identifier for the eclipse help plugin. When installing the plugin + A unique identifier for the `Eclipse` help plugin. When installing the plugin the directory name containing the HTML and XML files should also have this name. Each documentation set should have its own identifier. @@ -1827,7 +1846,7 @@ The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. \anchor cfg_generate_treeview <dt>\c GENERATE_TREEVIEW <dd> \addindex GENERATE_TREEVIEW - The GENERATE_TREEVIEW tag is used to specify whether a tree-like index + The \c GENERATE_TREEVIEW tag is used to specify whether a tree-like index structure should be generated to display hierarchical information. If the tag value is set to \c YES, a side panel will be generated containing a tree-like index structure (just like the one that @@ -1835,16 +1854,16 @@ The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). Windows users are probably better off using the HTML help feature. - Via custom stylesheets (see \ref cfg_html_stylesheet "HTML_STYLESHEET") + Via custom stylesheets (see \ref cfg_html_extra_stylesheet "HTML_EXTRA_STYLESHEET") one can further \ref doxygen_finetune "fine-tune" the look of the index. As an example, the default style sheet generated by doxygen has an example that shows how to put an image at the root of the tree instead of - the \ref cfg_project_name "project name". + the \ref cfg_project_name "PROJECT_NAME". \anchor cfg_treeview_width <dt>\c TREEVIEW_WIDTH <dd> \addindex TREEVIEW_WIDTH - If the treeview is enabled (see \c GENERATE_TREEVIEW) then this tag can be + If the treeview is enabled (see \ref cfg_generate_treeview "GENERATE_TREEVIEW") then this tag can be used to set the initial width (in pixels) of the frame in which the tree is shown. @@ -1857,7 +1876,7 @@ The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. \anchor cfg_formula_fontsize <dt>\c FORMULA_FONTSIZE <dd> \addindex FORMULA_FONTSIZE - Use this tag to change the font size of Latex formulas included + Use this tag to change the font size of \f$\mbox{\LaTeX}\f$ formulas included as images in the HTML documentation. The default is 10. when you change the font size after a successful doxygen run you need to manually remove any `form_*.png` images from the HTML @@ -1875,10 +1894,10 @@ The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. \anchor cfg_use_mathjax <dt>\c USE_MATHJAX <dd> \addindex USE_MATHJAX - Enable the \c USE_MATHJAX option to render LaTeX formulas using MathJax + Enable the \c USE_MATHJAX option to render \f$\mbox{\LaTeX}\f$ formulas using MathJax (see http://www.mathjax.org) which uses client side Javascript for the rendering instead of using prerendered bitmaps. Use this if you do not - have LaTeX installed or if you want to formulas look prettier in the HTML + have \f$\mbox{\LaTeX}\f$ installed or if you want to formulas look prettier in the HTML output. When enabled you may also need to install MathJax separately and configure the path to it using the \ref cfg_mathjax_relpath "MATHJAX_RELPATH" option. @@ -1917,7 +1936,7 @@ MATHJAX_CODEFILE = disableRenderer \addindex MATHJAX_RELPATH When MathJax is enabled you need to specify the location relative to the HTML output directory using the \c MATHJAX_RELPATH option. The destination - directory should contain the MathJax.js script. For instance, if the mathjax + directory should contain the `MathJax.js` script. For instance, if the \c mathjax directory is located at the same level as the HTML output directory, then \c MATHJAX_RELPATH should be <code>../mathjax</code>. The default value points to the MathJax Content Delivery Network so you can quickly see the result without @@ -1927,7 +1946,7 @@ MATHJAX_CODEFILE = disableRenderer \anchor cfg_mathjax_extensions <dt>\c MATHJAX_EXTENSIONS <dd> \addindex MATHJAX_EXTENSIONS - The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension + The \c MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension names that should be enabled during MathJax rendering. For example \verbatim MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols @@ -1949,14 +1968,14 @@ MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols better solution. It is possible to search using the keyboard; - to jump to the search box use access key + S (what the access key is - depends on the OS and browser, but it is typically CTRL, ALT/option, or both). - Inside the search box use the cursor down key to jump into the search - results window, the results can be navigated using the cursor keys. - Press Enter to select an item or escape to cancel the search. The + to jump to the search box use `<access key> + S` (what the `<access key>` is + depends on the OS and browser, but it is typically `<CTRL>`, `<ALT>`/`<option>`, or both). + Inside the search box use the `<cursor down key>` to jump into the search + results window, the results can be navigated using the `<cursor keys>`. + Press `<Enter>` to select an item or `<escape>` to cancel the search. The filter options can be selected when the cursor is inside the search box - by pressing Shift+cursor down. Also here use the cursor keys to - select a filter and enter or escape to activate or cancel the filter option. + by pressing `<Shift>+<cursor down>`. Also here use the `<cursor keys>` to + select a filter and `<Enter>` or `<escape>` to activate or cancel the filter option. \anchor cfg_server_based_search <dt>\c SERVER_BASED_SEARCH <dd> @@ -1999,13 +2018,14 @@ When \ref cfg_server_based_search "SERVER_BASED_SEARCH" and \ref cfg_external_search "EXTERNAL_SEARCH" are both enabled the unindexed search data is written to a file for indexing by an external tool. With the \c SEARCHDATA_FILE tag the name of this file can be specified. -The default is searchdata.xml. +The default is `searchdata.xml`. \anchor cfg_external_search_id <dt>\c EXTERNAL_SEARCH_ID <dd> \addindex EXTERNAL_SEARCH_ID -When \c SERVER_BASED_SEARCH AND \c EXTERNAL_SEARCH are both enabled the +When \ref cfg_server_based_search "SERVER_BASED_SEARCH" and +\ref cfg_external_search "EXTERNAL_SEARCH" are both enabled the \c EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is useful in combination with \ref cfg_extra_search_mappings "EXTRA_SEARCH_MAPPINGS" to search through multiple projects and redirect the results back to the right project. @@ -2042,23 +2062,23 @@ EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ... \addindex LATEX_OUTPUT The \c LATEX_OUTPUT tag is used to specify where the \f$\mbox{\LaTeX}\f$ docs will be put. - If a relative path is entered the value of \c OUTPUT_DIRECTORY will be - put in front of it. If left blank 'latex' will be used as the default path. + If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be + put in front of it. If left blank '`latex`' will be used as the default path. \anchor cfg_latex_cmd_name <dt>\c LATEX_CMD_NAME <dd> \addindex LATEX_CMD_NAME - The \c LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be invoked. + The \c LATEX_CMD_NAME tag can be used to specify the \f$\mbox{\LaTeX}\f$ command name to be invoked. If left blank 'latex' will be used as the default command name. - Note that when enabling USE_PDFLATEX this option is only used for + Note that when enabling \ref cfg_use_pdflatex "USE_PDFLATEX" this option is only used for generating bitmaps for formulas in the HTML output, but not in the - Makefile that is written to the output directory. + \c Makefile that is written to the output directory. \anchor cfg_makeindex_cmd_name <dt>\c MAKEINDEX_CMD_NAME <dd> \addindex MAKEINDEX_CMD_NAME The MAKEINDEX_CMD_NAME tag can be used to specify the command name to - generate index for LaTeX. If left blank 'makeindex' will be used as the + generate index for \f$\mbox{\LaTeX}\f$. If left blank '`makeindex`' will be used as the default command name. \anchor cfg_compact_latex @@ -2079,7 +2099,7 @@ EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ... <li><code>legal</code> (8.5 x 14 inches). <li><code>executive</code> (7.25 x 10.5 inches) </ul> - If left blank a4 will be used. + If left blank \c a4 will be used. \anchor cfg_extra_packages <dt>\c EXTRA_PACKAGES <dd> @@ -2112,22 +2132,25 @@ EXTRA_PACKAGES = times <code>\$projectnumber</code>. Doxygen will replace them by respectively the title of the page, the current date and time, only the current date, - the version number of doxygen, the project name (see \c PROJECT_NAME), or the - project number (see \c PROJECT_NUMBER). + the version number of doxygen, the project name (see \ref cfg_project_name "PROJECT_NAME"), or the + project number (see \ref cfg_project_number "PROJECT_NUMBER"). \anchor cfg_latex_footer <dt>\c LATEX_FOOTER <dd> \addindex LATEX_FOOTER - The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for - the generated latex document. The footer should contain everything after + The LATEX_FOOTER tag can be used to specify a personal \f$\mbox{\LaTeX}\f$ footer for + the generated \f$\mbox{\LaTeX}\f$ document. The footer should contain everything after the last chapter. If it is left blank doxygen will generate a - standard footer. Notice: only use this tag if you know what you are doing! + standard footer. + + \par Note: + Only use a user-defined footer if you know what you are doing! \anchor cfg_latex_extra_files <dt>\c LATEX_EXTRA_FILES <dd> \addindex LATEX_EXTRA_FILES The \c LATEX_EXTRA_FILES tag can be used to specify one or more extra images - or other source files which should be copied to the LaTeX output directory. + or other source files which should be copied to the \f$\mbox{\LaTeX}\f$ output directory. Note that the files will be copied as-is; there are no commands or markers available. @@ -2136,7 +2159,7 @@ EXTRA_PACKAGES = times \addindex PDF_HYPERLINKS If the \c PDF_HYPERLINKS tag is set to \c YES, the \f$\mbox{\LaTeX}\f$ that - is generated is prepared for conversion to PDF (using ps2pdf or pdflatex). + is generated is prepared for conversion to PDF (using \c ps2pdf or \c pdflatex). The PDF file will contain links (just like the HTML output) instead of page references. This makes the output suitable for online browsing using a PDF viewer. @@ -2146,14 +2169,14 @@ EXTRA_PACKAGES = times \addindex LATEX_PDFLATEX If the \c LATEX_PDFLATEX tag is set to \c YES, doxygen will use - pdflatex to generate the PDF file directly from the \f$\mbox{\LaTeX}\f$ + \c pdflatex to generate the PDF file directly from the \f$\mbox{\LaTeX}\f$ files. \anchor cfg_latex_batchmode <dt>\c LATEX_BATCHMODE <dd> \addindex LATEX_BATCHMODE - If the \c LATEX_BATCHMODE tag is set to \c YES, doxygen will add the \\batchmode. + If the \c LATEX_BATCHMODE tag is set to \c YES, doxygen will add the \c \\batchmode command to the generated \f$\mbox{\LaTeX}\f$ files. This will instruct \f$\mbox{\LaTeX}\f$ to keep running if errors occur, instead of asking the user for help. This option is also used when generating formulas @@ -2179,7 +2202,7 @@ EXTRA_PACKAGES = times \anchor cfg_latex_source_code <dt>\c LATEX_SOURCE_CODE <dd> If \c LATEX_SOURCE_CODE is set to \c YES then doxygen will include - source code with syntax highlighting in the LaTeX output. + source code with syntax highlighting in the \f$\mbox{\LaTeX}\f$ output. Note that which sources are shown also depends on other settings such as \ref cfg_source_browser "SOURCE_BROWSER". @@ -2198,8 +2221,8 @@ EXTRA_PACKAGES = times <dt>\c RTF_OUTPUT <dd> \addindex RTF_OUTPUT The \c RTF_OUTPUT tag is used to specify where the RTF docs will be put. - If a relative path is entered the value of \c OUTPUT_DIRECTORY will be - put in front of it. If left blank \c rtf will be used as the default path. + If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be + put in front of it. If left blank '`rtf`' will be used as the default path. \anchor cfg_compact_rtf <dt>\c COMPACT_RTF <dd> @@ -2252,9 +2275,9 @@ EXTRA_PACKAGES = times <dt>\c MAN_OUTPUT <dd> \addindex MAN_OUTPUT The \c MAN_OUTPUT tag is used to specify where the man pages will be put. - If a relative path is entered the value of \c OUTPUT_DIRECTORY will be - put in front of it. If left blank 'man' will be used as the default path. - A directory man3 will be created inside the directory specified by + If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be + put in front of it. If left blank '`man`' will be used as the default path. + A directory \c man3 will be created inside the directory specified by \c MAN_OUTPUT. \anchor cfg_man_extension @@ -2263,7 +2286,7 @@ EXTRA_PACKAGES = times The \c MAN_EXTENSION tag determines the extension that is added to the generated man pages (default is the subroutine's section .3). In case the manual section does not start with a number, the number 3 is prepended. - The dot (.) at the beginning of the MAN_EXTENSION is optional. + The dot (.) at the beginning of the \c MAN_EXTENSION is optional. \anchor cfg_man_links <dt>\c MAN_LINKS <dd> @@ -2282,7 +2305,7 @@ EXTRA_PACKAGES = times <dt>\c GENERATE_XML <dd> \addindex GENERATE_XML - If the \c GENERATE_XML tag is set to \c YES Doxygen will + If the \c GENERATE_XML tag is set to \c YES doxygen will generate an XML file that captures the structure of the code including all documentation. @@ -2290,27 +2313,27 @@ EXTRA_PACKAGES = times <dt>\c XML_OUTPUT <dd> \addindex XML_OUTPUT The \c XML_OUTPUT tag is used to specify where the XML pages will be put. - If a relative path is entered the value of \c OUTPUT_DIRECTORY will be - put in front of it. If left blank \c xml will be used as the default path. + If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be + put in front of it. If left blank '`xml`' will be used as the default path. \anchor cfg_xml_schema <dt>\c XML_SCHEMA <dd> \addindex XML_SCHEMA - The \c XML_SCHEMA tag can be used to specify an XML schema, + The \c XML_SCHEMA tag can be used to specify a XML schema, which can be used by a validating XML parser to check the syntax of the XML files. \anchor cfg_xml_dtd <dt>\c XML_DTD <dd> \addindex XML_DTD - The \c XML_DTD tag can be used to specify an XML DTD, + The \c XML_DTD tag can be used to specify a XML DTD, which can be used by a validating XML parser to check the syntax of the XML files. \anchor cfg_xml_programlisting <dt>\c XML_PROGRAMLISTING <dd> \addindex XML_PROGRAMLISTING - If the \c XML_PROGRAMLISTING tag is set to \c YES Doxygen will + If the \c XML_PROGRAMLISTING tag is set to \c YES doxygen will dump the program listings (including syntax highlighting and cross-referencing information) to the XML output. Note that enabling this will significantly increase the size of the XML output. @@ -2323,7 +2346,7 @@ EXTRA_PACKAGES = times <dt>\c GENERATE_DOCBOOK <dd> \addindex GENERATE_DOCBOOK -If the \c GENERATE_DOCBOOK tag is set to \c YES Doxygen will generate Docbook files +If the \c GENERATE_DOCBOOK tag is set to \c YES doxygen will generate Docbook files that can be used to generate PDF. \anchor cfg_docbook_output @@ -2331,7 +2354,7 @@ that can be used to generate PDF. \addindex DOCBOOK_OUTPUT The \c DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put. If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be put in -front of it. If left blank docbook will be used as the default path. +front of it. If left blank '`docbook`' will be used as the default path. </dl> @@ -2341,7 +2364,7 @@ front of it. If left blank docbook will be used as the default path. <dt>\c GENERATE_AUTOGEN_DEF <dd> \addindex GENERATE_AUTOGEN_DEF - If the \c GENERATE_AUTOGEN_DEF tag is set to \c YES Doxygen will + If the \c GENERATE_AUTOGEN_DEF tag is set to \c YES doxygen will generate an AutoGen Definitions (see http://autogen.sf.net) file that captures the structure of the code including all documentation. Note that this feature is still experimental @@ -2355,7 +2378,7 @@ front of it. If left blank docbook will be used as the default path. <dt>\c GENERATE_PERLMOD <dd> \addindex GENERATE_PERLMOD - If the \c GENERATE_PERLMOD tag is set to \c YES Doxygen will + If the \c GENERATE_PERLMOD tag is set to \c YES doxygen will generate a Perl module file that captures the structure of the code including all documentation. Note that this feature is still experimental and incomplete at the @@ -2364,8 +2387,8 @@ front of it. If left blank docbook will be used as the default path. \anchor cfg_perlmod_latex <dt>\c PERLMOD_LATEX <dd> \addindex PERLMOD_LATEX - If the \c PERLMOD_LATEX tag is set to \c YES Doxygen will generate - the necessary Makefile rules, Perl scripts and LaTeX code to be able + If the \c PERLMOD_LATEX tag is set to \c YES doxygen will generate + the necessary Makefile rules, Perl scripts and \f$\mbox{\LaTeX}\f$ code to be able to generate PDF and DVI output from the Perl module output. \anchor cfg_perlmod_pretty @@ -2380,10 +2403,10 @@ front of it. If left blank docbook will be used as the default path. \anchor cfg_perlmod_makevar_prefix <dt>\c PERLMOD_MAKEVAR_PREFIX <dd> \addindex PERLMOD_MAKEVAR_PREFIX - The names of the make variables in the generated doxyrules.make file + The names of the make variables in the generated `doxyrules.make` file are prefixed with the string contained in \c PERLMOD_MAKEVAR_PREFIX. - This is useful so different doxyrules.make files included by the same - Makefile don't overwrite each other's variables. + This is useful so different `doxyrules.make` files included by the same + `Makefile` don't overwrite each other's variables. </dl> @@ -2403,20 +2426,20 @@ front of it. If left blank docbook will be used as the default path. If the \c MACRO_EXPANSION tag is set to \c YES doxygen will expand all macro names in the source code. If set to \c NO (the default) only conditional compilation will be performed. Macro expansion can be done in a controlled - way by setting \c EXPAND_ONLY_PREDEF to \c YES. + way by setting \ref cfg_expand_only_predef "EXPAND_ONLY_PREDEF" to \c YES. \anchor cfg_expand_only_predef <dt>\c EXPAND_ONLY_PREDEF <dd> \addindex EXPAND_ONLY_PREDEF - If the \c EXPAND_ONLY_PREDEF and \c MACRO_EXPANSION tags are both set to \c YES + If the \c EXPAND_ONLY_PREDEF and \ref cfg_macro_expansion "MACRO_EXPANSION" tags are both set to \c YES then the macro expansion is limited to the macros specified with the - \c PREDEFINED and \c EXPAND_AS_DEFINED tags. + \ref cfg_predefined "PREDEFINED" and \ref cfg_expand_as_defined "EXPAND_AS_DEFINED" tags. \anchor cfg_search_includes <dt>\c SEARCH_INCLUDES <dd> \addindex SEARCH_INCLUDES If the \c SEARCH_INCLUDES tag is set to \c YES (the default) the includes files - in the \c INCLUDE_PATH (see below) will be searched if a \#include is found. + in the \ref cfg_include_path "INCLUDE_PATH" will be searched if a \c \#include is found. \anchor cfg_include_path <dt>\c INCLUDE_PATH <dd> @@ -2430,27 +2453,28 @@ front of it. If left blank docbook will be used as the default path. \addindex INCLUDE_FILE_PATTERNS You can use the \c INCLUDE_FILE_PATTERNS tag to specify one or more wildcard patterns (like `*.h` and `*.hpp`) to filter out the header-files in the - directories. If left blank, the patterns specified with \c FILE_PATTERNS will + directories. If left blank, the patterns specified with \ref cfg_file_patterns "FILE_PATTERNS" will be used. \anchor cfg_predefined <dt>\c PREDEFINED <dd> \addindex PREDEFINED The \c PREDEFINED tag can be used to specify one or more macro names that - are defined before the preprocessor is started (similar to the -D option of - gcc). The argument of the tag is a list of macros of the form: + are defined before the preprocessor is started (similar to the `-D` option of + \c gcc). The argument of the tag is a list of macros of the form: <code>name</code> or <code>name=definition</code> (no spaces). If the definition and the "=" are omitted, "=1" is assumed. To prevent - a macro definition from being undefined via \#undef or recursively expanded - use the := operator instead of the = operator. + a macro definition from being undefined via \c \#undef or recursively expanded + use the \c := operator instead of the \c = operator. \anchor cfg_expand_as_defined <dt>\c EXPAND_AS_DEFINED <dd> \addindex EXPAND_AS_DEFINED - If the \c MACRO_EXPANSION and \c EXPAND_ONLY_PREDEF tags are set to \c YES then + If the \ref cfg_macro_expansion "MACRO_EXPANSION" and + \ref cfg_expand_only_predef "EXPAND_ONLY_PREDEF" tags are set to \c YES then this tag can be used to specify a list of macro names that should be expanded. The macro definition that is found in the sources will be used. - Use the \c PREDEFINED tag if you want to use a different macro definition. + Use the \ref cfg_predefined "PREDEFINED" tag if you want to use a different macro definition. \anchor cfg_skip_function_macros <dt>\c SKIP_FUNCTION_MACROS <dd> @@ -2473,7 +2497,7 @@ front of it. If left blank docbook will be used as the default path. See \ref external for more information about the use of tag files. \note - Each tag file must have a unique name + Each tag file must have an unique name (where the name does \e not include the path). If a tag file is not located in the directory in which doxygen is run, you must also specify the path to the tagfile here. @@ -2523,8 +2547,8 @@ front of it. If left blank docbook will be used as the default path. If the \c CLASS_DIAGRAMS tag is set to \c YES (the default) doxygen will generate a class diagram (in HTML and \f$\mbox{\LaTeX}\f$) for classes with base or super classes. Setting the tag to \c NO turns the diagrams off. Note that -this option also works with \c HAVE_DOT disabled, but it is recommended to -install and use dot, since it yields more powerful graphs. +this option also works with \ref cfg_have_dot "HAVE_DOT" disabled, but it is recommended to +install and use \c dot, since it yields more powerful graphs. \anchor cfg_mscgen_path <dt>\c MSCGEN_PATH <dd> @@ -2538,16 +2562,16 @@ install and use dot, since it yields more powerful graphs. \anchor cfg_have_dot <dt>\c HAVE_DOT <dd> \addindex HAVE_DOT - If you set the \c HAVE_DOT tag to \c YES then doxygen will assume the dot tool is - available from the path. This tool is part of - <a href="http://www.research.att.com/sw/tools/graphviz/">Graphviz</a>, a graph + If you set the \c HAVE_DOT tag to \c YES then doxygen will assume the \c dot tool is + available from the \c path. This tool is part of + <a href=" http://www.graphviz.org/">Graphviz</a>, a graph visualization toolkit from AT\&T and Lucent Bell Labs. The other options in this section have no effect if this option is set to \c NO (the default) \anchor cfg_dot_num_threads <dt>\c DOT_NUM_THREADS <dd> \addindex DOT_NUM_THREADS - The \c DOT_NUM_THREADS specifies the number of dot invocations doxygen is + The \c DOT_NUM_THREADS specifies the number of \c dot invocations doxygen is allowed to run in parallel. When set to 0 (the default) doxygen will base this on the number of processors available in the system. You can set it explicitly to a value larger than 0 to get control over the balance @@ -2561,7 +2585,7 @@ install and use dot, since it yields more powerful graphs. When you want a differently looking font you can specify the font name using \c DOT_FONTNAME. You need to make sure dot is able to find the font, which can be done by putting it in a standard location or by setting the - \c DOTFONTPATH environment variable or by setting \c DOT_FONTPATH to the + \c DOTFONTPATH environment variable or by setting \ref cfg_dot_fontpath "DOT_FONTPATH" to the directory containing the font. \anchor cfg_dot_fontsize @@ -2572,23 +2596,23 @@ The default size is 10pt. \anchor cfg_dot_fontpath <dt>\c DOT_FONTPATH <dd> \addindex DOT_FONTPATH - By default doxygen will tell dot to use the output directory to look for the + By default doxygen will tell \c dot to use the output directory to look for the \c FreeSans.ttf font (which doxygen will put there itself). If you specify a - different font using \c DOT_FONTNAME you can set the path where dot + different font using \ref cfg_dot_fontname "DOT_FONTNAME" you can set the path where \c dot can find it using this tag. \anchor cfg_class_graph <dt>\c CLASS_GRAPH <dd> \addindex CLASS_GRAPH - If the \c CLASS_GRAPH and \c HAVE_DOT tags are set to \c YES then doxygen + If the \c CLASS_GRAPH and \ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then doxygen will generate a graph for each documented class showing the direct and indirect inheritance relations. Setting this tag to \c YES will force - the \c CLASS_DIAGRAMS tag to \c NO. + the \ref cfg_class_diagrams "CLASS_DIAGRAMS" tag to \c NO. \anchor cfg_collaboration_graph <dt>\c COLLABORATION_GRAPH <dd> \addindex COLLABORATION_GRAPH - If the \c COLLABORATION_GRAPH and \c HAVE_DOT tags are set to \c YES then doxygen + If the \c COLLABORATION_GRAPH and \ref cfg_have_dot "HAVE_DOT" are set to \c YES then doxygen will generate a graph for each documented class showing the direct and indirect implementation dependencies (inheritance, containment, and class references variables) of the class with other documented classes. @@ -2596,20 +2620,20 @@ The default size is 10pt. \anchor cfg_group_graphs <dt>\c GROUP_GRAPHS <dd> \addindex GROUP_GRAPHS - If the GROUP_GRAPHS and HAVE_DOT tags are set to \c YES then doxygen + If the \c GROUP_GRAPHS and \ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then doxygen will generate a graph for groups, showing the direct groups dependencies. \anchor cfg_uml_look <dt>\c UML_LOOK <dd> \addindex UML_LOOK - If the UML_LOOK tag is set to \c YES doxygen will generate inheritance and + If the \c UML_LOOK tag is set to \c YES doxygen will generate inheritance and collaboration diagrams in a style similar to the OMG's Unified Modeling Language. \anchor cfg_uml_limit_num_fields <dt>\c UML_LIMIT_NUM_FIELDS <dd> \addindex UML_LIMIT_NUM_FIELDS - If the \c UML_LOOK tag is enabled, the fields and methods are shown inside + If the \ref cfg_uml_look "UML_LOOK" tag is enabled, the fields and methods are shown inside the class node. If there are many fields or methods and many nodes the graph may become too big to be useful. The \c UML_LIMIT_NUM_FIELDS threshold limits the number of items for each type to make the size more @@ -2621,7 +2645,7 @@ The default size is 10pt. \anchor cfg_template_relations <dt>\c TEMPLATE_RELATIONS <dd> \addindex TEMPLATE_RELATIONS - If the \c TEMPLATE_RELATIONS and \c HAVE_DOT tags are set to \c YES then + If the \c TEMPLATE_RELATIONS and \ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then doxygen will show the relations between templates and their instances. \anchor cfg_hide_undoc_relations @@ -2634,7 +2658,9 @@ The default size is 10pt. \anchor cfg_include_graph <dt>\c INCLUDE_GRAPH <dd> \addindex INCLUDE_GRAPH - If the \c ENABLE_PREPROCESSING, \c SEARCH_INCLUDES, \c INCLUDE_GRAPH, and \c HAVE_DOT + If the \ref cfg_enable_preprocessing "ENABLE_PREPROCESSING", + \ref cfg_search_includes "SEARCH_INCLUDES", \ref cfg_include_graph "INCLUDE_GRAPH", + and \ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then doxygen will generate a graph for each documented file showing the direct and indirect include dependencies of the file with other documented files. @@ -2642,41 +2668,42 @@ The default size is 10pt. \anchor cfg_included_by_graph <dt>\c INCLUDED_BY_GRAPH <dd> \addindex INCLUDED_BY_GRAPH - If the \c ENABLE_PREPROCESSING, \c SEARCH_INCLUDES, \c INCLUDED_BY_GRAPH, and - \c HAVE_DOT tags are set to \c YES then doxygen will generate a graph for each + If the \ref cfg_enable_preprocessing "ENABLE_PREPROCESSING", + \ref cfg_search_includes "SEARCH_INCLUDES", \ref cfg_include_graph "INCLUDED_BY_GRAPH", and + \ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then doxygen will generate a graph for each documented header file showing the documented files that directly or indirectly include this file. \anchor cfg_call_graph <dt>\c CALL_GRAPH <dd> \addindex CALL_GRAPH - If the \c CALL_GRAPH and \c HAVE_DOT tags are set to \c YES then doxygen will + If the \c CALL_GRAPH and \ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then doxygen will generate a call dependency graph for every global function or class method. Note that enabling this option will significantly increase the time of a run. So in most cases it will be better to enable call graphs for selected - functions only using the \\callgraph command. + functions only using the \ref cmdcallgraph "\\callgraph" command. \anchor cfg_caller_graph <dt>\c CALLER_GRAPH <dd> \addindex CALLER_GRAPH - If the \c CALLER_GRAPH and \c HAVE_DOT tags are set to \c YES then doxygen will + If the \c CALLER_GRAPH and \ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then doxygen will generate a caller dependency graph for every global function or class method. Note that enabling this option will significantly increase the time of a run. So in most cases it will be better to enable caller graphs for selected - functions only using the \\callergraph command. + functions only using the \ref cmdcallergraph "\\callergraph" command. \anchor cfg_graphical_hierarchy <dt>\c GRAPHICAL_HIERARCHY <dd> \addindex GRAPHICAL_HIERARCHY - If the \c GRAPHICAL_HIERARCHY and \c HAVE_DOT tags are set to \c YES then + If the \c GRAPHICAL_HIERARCHY and \ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then doxygen will graphical hierarchy of all classes instead of a textual one. \anchor cfg_directory_graph <dt>\c DIRECTORY_GRAPH <dd> \addindex DIRECTORY_GRAPH - If the \c DIRECTORY_GRAPH, and \c HAVE_DOT options are set + If the \c DIRECTORY_GRAPH, and \ref cfg_have_dot "HAVE_DOT" options are set to \c YES then doxygen will show the dependencies a directory has on other directories - in a graphical way. The dependency relations are determined by the \#include + in a graphical way. The dependency relations are determined by the \c \#include relations between the files in the directories. \anchor cfg_dot_graph_max_nodes @@ -2688,43 +2715,43 @@ The default size is 10pt. visualized by representing a node as a red box. Note that doxygen if the number of direct children of the root node in a graph is already larger than \c DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note - that the size of a graph can be further restricted by \c MAX_DOT_GRAPH_DEPTH. + that the size of a graph can be further restricted by \ref cfg_max_dot_graph_depth "MAX_DOT_GRAPH_DEPTH". \anchor cfg_max_dot_graph_depth <dt>\c MAX_DOT_GRAPH_DEPTH <dd> \addindex MAX_DOT_GRAPH_DEPTH The \c MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the - graphs generated by dot. A depth value of 3 means that only nodes reachable + graphs generated by \c dot. A depth value of 3 means that only nodes reachable from the root by following a path via at most 3 edges will be shown. Nodes that lay further from the root node will be omitted. Note that setting this option to 1 or 2 may greatly reduce the computation time needed for large code bases. Also note that the size of a graph can be further restricted by - \c DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction (the default). + \ref cfg_dot_graph_max_nodes "DOT_GRAPH_MAX_NODES". Using a depth of 0 means no depth restriction (the default). \anchor cfg_dot_image_format <dt>\c DOT_IMAGE_FORMAT <dd> \addindex DOT_IMAGE_FORMAT The \c DOT_IMAGE_FORMAT tag can be used to set the image format of the images - generated by dot. Possible values are svg, png, jpg, or gif. + generated by \c dot. Possible values are \c svg, \c png, \c jpg, or \c gif. If left blank png will be used. \note If you choose \c svg you need to set - HTML_FILE_EXTENSION to xhtml in order to make the SVG files + \ref cfg_html_file_extension "HTML_FILE_EXTENSION" to \c xhtml in order to make the SVG files visible in IE 9+ (other browsers do not have this requirement). \anchor cfg_interactive_svg <dt>\c INTERACTIVE_SVG <dd> - If DOT_IMAGE_FORMAT is set to svg, then this option can be set to \c YES to + If \ref cfg_dot_image_format "DOT_IMAGE_FORMAT" is set to \c svg, then this option can be set to \c YES to enable generation of interactive SVG images that allow zooming and panning. Note that this requires a modern browser other than Internet Explorer. Tested and working are Firefox, Chrome, Safari, and Opera. - \note For IE 9+ you need to set \c HTML_FILE_EXTENSION to xhtml in order + \note For IE 9+ you need to set \ref cfg_html_file_extension "HTML_FILE_EXTENSION" to xhtml in order to make the SVG files visible. Older versions of IE do not have SVG support. \anchor cfg_dot_path <dt>\c DOT_PATH <dd> \addindex DOT_PATH - This tag can be used to specify the path where the dot tool can be found. - If left blank, it is assumed the dot tool can be found on the path. + This tag can be used to specify the path where the \c dot tool can be found. + If left blank, it is assumed the \c dot tool can be found in the \c path. \anchor cfg_dotfile_dirs <dt>\c DOTFILE_DIRS <dd> @@ -2754,7 +2781,7 @@ The default size is 10pt. \addindex DOT_MULTI_TARGET Set the \c DOT_MULTI_TARGETS tag to \c YES allow dot to generate multiple output files in one run (i.e. multiple -o and -T options on the command line). This - makes dot run faster, but since only newer versions of dot (>1.8.10) + makes \c dot run faster, but since only newer versions of \c dot (>1.8.10) support this, this feature is disabled by default. \anchor cfg_generate_legend @@ -2781,7 +2808,7 @@ Then a minimal configuration file is as simple as: INPUT = example.cc example.h \endverbatim -Assuming the example makes use of Qt classes and perl is located +Assuming the example makes use of Qt classes and \c perl is located in <code>/usr/bin</code>, a more realistic configuration file would be: \verbatim PROJECT_NAME = Example diff --git a/doc/faq.doc b/doc/faq.doc index 79e6585..a4308b6 100644 --- a/doc/faq.doc +++ b/doc/faq.doc @@ -274,7 +274,7 @@ documentation -> docs -> dox generator -> gen \endverbatim -At the time I was looking into lex and yacc, where a lot of things start with +At the time I was looking into \c lex and \c yacc, where a lot of things start with "yy", so the "y" slipped in and made things pronounceable (the proper pronouncement is Docs-ee-gen, so with a long "e"). diff --git a/doc/htmlcmds.doc b/doc/htmlcmds.doc index 6b7172d..6fe96fe 100644 --- a/doc/htmlcmds.doc +++ b/doc/htmlcmds.doc @@ -20,7 +20,7 @@ Here is a list of all HTML commands that may be used inside the documentation. Note that although these HTML tags are translated to the proper commands for output formats other than HTML, all attributes of a HTML tag are passed on to the HTML output only -(the HREF and NAME attributes for the A tag are the only exception). +(the \c HREF and \c NAME attributes for the \c A tag are the only exception). <ul> <li><tt>\<A HREF="..."\></tt> Starts a hyperlink @@ -89,7 +89,7 @@ of a HTML tag are passed on to the HTML output only <li><tt>\<SUB\></tt> Starts a piece of text displayed in subscript. <li><tt>\</SUB\></tt> Ends a <tt>\<SUB\></tt> section. <li><tt>\<SUP\></tt> Starts a piece of text displayed in superscript. -<li><tt>\</SUP\></tt> Ends a <tt>\</SUP\></tt> section. +<li><tt>\</SUP\></tt> Ends a <tt>\<SUP\></tt> section. <li><tt>\<TABLE\></tt> starts a table. <li><tt>\</TABLE\></tt> ends a table. <li><tt>\<TD\></tt> Starts a new table data element. diff --git a/doc/install.doc b/doc/install.doc index 4ec6e66..4eb0308 100644 --- a/doc/install.doc +++ b/doc/install.doc @@ -29,16 +29,16 @@ If you downloaded the source distribution, you need at least the following to build the executable: <ul> <li>The <a href="ftp://prep.ai.mit.edu/pub/gnu/">GNU</a> tools - flex, bison and GNU make, and strip + \c flex, \c bison and <code>GNU make</code>, and \c strip \addindex flex \addindex bison \addindex make \addindex strip -<li>In order to generate a Makefile for your platform, you need +<li>In order to generate a \c Makefile for your platform, you need <a href="http://www.perl.com/">perl</a> \addindex perl <li>The configure script assume the availability of standard UNIX tools such - as sed, date, find, uname, mv, cp, cat, echo, tr, cd, and rm. + as <code>sed, date, find, uname, mv, cp, cat, echo, tr, cd</code> and \c rm. </ul> To take full advantage of doxygen's features the following additional @@ -168,9 +168,9 @@ standard installation procedure that is required for these packages. <b>Qt problems</b> The Qt include files and libraries are not a subdirectory of the -directory pointed to by QTDIR on some systems -(for instance on Red Hat 6.0 includes are in /usr/include/qt and -libs are in /usr/lib). +directory pointed to by <code>QTDIR</code> on some systems +(for instance on Red Hat 6.0 includes are in <code>/usr/include/qt</code> and +libs are in <code>/usr/lib</code>). The solution: go to the root of the doxygen distribution and do: @@ -181,96 +181,26 @@ The solution: go to the root of the doxygen distribution and do: ln -s your-qt-bin-dir-here bin export QTDIR=$PWD -If you have a csh-like shell you should use <code>setenv QTDIR \$PWD</code> +If you have a <code>csh</code>-like shell you should use <code>setenv QTDIR \$PWD</code> instead of the <code>export</code> command above. Now install doxygen as described above. <b>Bison problems</b> -Versions 1.31 to 1.34 of bison contain a "bug" that results in a +Versions 1.31 to 1.34 of \c bison contain a "bug" that results in a compiler errors like this: -ce_parse.cpp:348: member `class CPPValue yyalloc::yyvs' with +<code>ce_parse.cpp:348: member `class CPPValue yyalloc::yyvs' with </code> constructor not allowed in union This problem has been solved in version 1.35 (versions before 1.31 will also work). -<b>Latex problems</b> - -The file <code>a4wide.sty</code> is not available for all distributions. If -your distribution does not have it please select another paper type -in the config file (see the \ref cfg_paper_type "PAPER_TYPE" tag in the -config file). - -<b>HP-UX \& Digital UNIX problems</b> - -If you are compiling for HP-UX with aCC and you get this error: - - /opt/aCC/lbin/ld: Unsatisfied symbols: - alloca (code) - -then you should (according to Anke Selig) edit <code>ce_parse.cpp</code> -and replace - - extern "C" { - void *alloca (unsigned int); - }; - -with - - #include <alloca.h> - -If that does not help, try removing <code>ce_parse.cpp</code> and let -bison rebuild it (this worked for me). - -If you are compiling for Digital UNIX, the same problem can be solved -(according to Barnard Schmallhof) by replacing the following in -ce_parse.cpp: - -\verbatim - #else /* not GNU C. */ - #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \ - || defined (__sparc) || defined (__sgi) - #include <alloca.h> -\endverbatim - - with - -\verbatim - #else /* not GNU C. */ - #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \ - || defined (__sparc) || defined (__sgi) || defined (__osf__) - #include <alloca.h> -\endverbatim - - Alternatively, one could fix the problem at the bison side. - Here is patch for bison.simple (provided by Andre Johansen): - -\verbatim ---- bison.simple~ Tue Nov 18 11:45:53 1997 -+++ bison.simple Mon Jan 26 15:10:26 1998 -@@ -27,7 +27,7 @@ - #ifdef __GNUC__ - #define alloca __builtin_alloca - #else /* not GNU C. */ --#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \ - || defined (__sparc) || defined (__sgi) -+#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \ - || defined (__sparc) || defined (__sgi) || defined (__alpha) - #include <alloca.h> - #else /* not sparc */ - #if defined (MSDOS) && !defined (__TURBOC__) -\endverbatim - - The generated scanner.cpp that comes with doxygen is build with this - patch applied. - <b>Sun compiler problems</b> It appears that doxygen doesn't work properly if it is compiled -with Sun's C++ WorkShop 6 Compiler. I cannot verify this myself as I do +with Sun's C++ WorkShop Compiler. I cannot verify this myself as I do not have access to a Solaris machine with this compiler. With GNU compiler it does work and installing Sun patch 111679-13 has also been reported as a way to fix the problem. @@ -338,7 +268,7 @@ compile doxygen. Alternatively, you can compile doxygen <a href="http://en.wikipedia.org/wiki/Cygwin">Cygwin</a> or <a href="http://www.mingw.org/">MinGW</a>. -The next step is to install bison, flex, and tar +The next step is to install \c bison, \c flex, and \c tar (see http://gnuwin32.sourceforge.net/packages.html). This packages are needed during the compilation process if you use a CVS snapshot of doxygen (the official source releases @@ -399,7 +329,7 @@ Here is what is required: The good, tested, and free alternative is the <code>tar</code> utility supplied with <a href="http://sourceware.cygnus.com/cygwin/">cygwin - tools</a>. Anyway, the cygwin's flex, bison, and sed are also + tools</a>. Anyway, the Cygwin's \c flex, \c bison, and \c sed are also recommended below. <li>Microsoft Visual C++ (I only tested with version 6.0). @@ -412,7 +342,7 @@ Here is what is required: <li>Perl 5.0 or higher for Windows. This can be downloaded from: http://www.ActiveState.com/Products/ActivePerl/ -<li>The GNU tools flex, bison, and sed. +<li>The GNU tools \c flex, \c bison, and \c sed. To get these working on Windows you should install the <a href="http://sources.redhat.com/cygwin/">cygwin tools</a> diff --git a/doc/language.doc b/doc/language.doc index 7327e14..0673fea 100644 --- a/doc/language.doc +++ b/doc/language.doc @@ -242,7 +242,7 @@ when the translator was updated. <td>Romanian</td> <td>Ionut Dumitrascu<br/>Alexandru Iosup</td> <td>reddumy at yahoo dot com<br/>aiosup at yahoo dot com</td> - <td>1.6.0</td> + <td>up-to-date</td> </tr> <tr bgcolor="#ffffff"> <td>Russian</td> @@ -266,7 +266,7 @@ when the translator was updated. <td>Slovak</td> <td>Kali+Laco Švec<br/>Petr Přikryl</td> <td><span style="color: brown">[the Slovak language advisors]</span><br/>prikryl at atlas dot cz</td> - <td>1.8.04</td> + <td>up-to-date</td> </tr> <tr bgcolor="#ffffff"> <td>Slovene</td> @@ -403,7 +403,7 @@ when the translator was updated. Portuguese & Rui Godinho Lopes & {\tt\tiny [resigned] rgl at ruilopes dot com} & 1.8.0 \\ ~ & Fabio "FJTC" Jun Takada Chino & {\tt\tiny jun-chino at uol dot com dot br} & ~ \\ \hline - Romanian & Ionut Dumitrascu & {\tt\tiny reddumy at yahoo dot com} & 1.6.0 \\ + Romanian & Ionut Dumitrascu & {\tt\tiny reddumy at yahoo dot com} & up-to-date \\ ~ & Alexandru Iosup & {\tt\tiny aiosup at yahoo dot com} & ~ \\ \hline Russian & Alexandr Chelpanov & {\tt\tiny cav at cryptopro dot ru} & 1.7.5 \\ @@ -412,7 +412,7 @@ when the translator was updated. \hline SerbianCyrilic & Nedeljko Stefanovic & {\tt\tiny stenedjo at yahoo dot com} & 1.6.0 \\ \hline - Slovak & Kali+Laco Švec & {\tt\tiny [the Slovak language advisors]} & 1.8.04 \\ + Slovak & Kali+Laco Švec & {\tt\tiny [the Slovak language advisors]} & up-to-date \\ ~ & Petr Přikryl & {\tt\tiny prikryl at atlas dot cz} & ~ \\ \hline Slovene & Matjaž Ostroveršnik & {\tt\tiny matjaz dot ostroversnik at ostri dot org} & 1.4.6 \\ diff --git a/doc/searching.doc b/doc/searching.doc index 1306a97..55b23dc 100644 --- a/doc/searching.doc +++ b/doc/searching.doc @@ -140,7 +140,7 @@ has its own advantages and disadvantages: If you develop for or want to install the Qt application framework, you will get an application called <a href="http://qt-project.org/doc/qt-4.8/assistant-manual.html">Qt assistant</a>. - This is a help viewer for Qt Compressed Help files (.qch). + This is a help viewer for Qt Compressed Help files (<code>.qch</code>). To enable this feature set \ref cfg_generate_qhp "GENERATE_QHP" to \c YES. You also need to fill in the other Qt help related options, such as diff --git a/doc/starting.doc b/doc/starting.doc index 636fd3a..a84be00 100644 --- a/doc/starting.doc +++ b/doc/starting.doc @@ -163,10 +163,10 @@ doxygen <config-file> \endverbatim Depending on your settings doxygen will create \c html, \c rtf, -\c latex, \c xml and/or \c man directories inside the output directory. +\c latex, \c xml, \c man, and/or docbook directories inside the output directory. As the names suggest these directories contain the -generated documentation in HTML, RTF, \f$\mbox{\LaTeX}\f$, XML and -Unix-Man page format. +generated documentation in HTML, RTF, \f$\mbox{\LaTeX}\f$, XML, +Unix-Man page, and DocBook format. The default output directory is the directory in which \c doxygen is started. The root directory to which the output is written can be changed @@ -174,7 +174,7 @@ using the \ref cfg_output_directory "OUTPUT_DIRECTORY". The format specific directory within the output directory can be selected using the \ref cfg_html_output "HTML_OUTPUT", \ref cfg_rtf_output "RTF_OUTPUT", \ref cfg_latex_output "LATEX_OUTPUT", \ref cfg_xml_output "XML_OUTPUT", -and \ref cfg_man_output "MAN_OUTPUT" +\ref cfg_man_output "MAN_OUTPUT", and \ref cfg_docbook_output "DOCBOOK_OUTPUT". tags of the configuration file. If the output directory does not exist, \c doxygen will try to create it for you (but it will \e not try to create a whole path recursively, like <code>mkdir -p</code> does). @@ -250,12 +250,19 @@ the XML output produced by doxygen in an incremental way (see `addon/doxmlparser/include/doxmlintf.h` for the interface of the library) \subsection man_out Man page output +\addindex man The generated man pages can be viewed using the \c man program. You do need to make sure the man directory is in the man path (see the \c MANPATH environment variable). Note that there are some limitations to the capabilities of the man page format, so some information (like class diagrams, cross references and formulas) will be lost. +\subsection docbook_out DocBook output +\addindex docbook +Doxygen can also generate output in the +<a href="http://www.docbook.org/">DocBook</a> format. How to process the +DocBook output is beyond the scope of this manual. + \section step3 Step 3: Documenting the sources Although documenting the sources is presented as step 3, in a new project diff --git a/doc/translator_report.txt b/doc/translator_report.txt index cbc0ba5..0fffb30 100644 --- a/doc/translator_report.txt +++ b/doc/translator_report.txt @@ -10,7 +10,7 @@ Macedonian, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Serbian, SerbianCyrilic, Slovak, Slovene, Spanish, Swedish, Turkish, Ukrainian, and Vietnamese. -Of them, 3 translators are up-to-date, 37 translators are based on +Of them, 5 translators are up-to-date, 35 translators are based on some adapter class, and 2 are English based. ---------------------------------------------------------------------- @@ -22,6 +22,8 @@ still may be some details listed even for them: TranslatorEnglish TranslatorKorean -- Change the base class to Translator. TranslatorLatvian -- Reimplementation using UTF-8 suggested. + TranslatorRomanian -- Reimplementation using UTF-8 suggested. + TranslatorSlovak ---------------------------------------------------------------------- The following translator classes need some maintenance (the most @@ -35,9 +37,6 @@ must be implemented to become up-to-date: TranslatorSpanish 1.8.04 8 methods to implement (3 %) Note: Change the base class to TranslatorAdapter_1_8_4. - TranslatorSlovak 1.8.04 8 methods to implement (3 %) - Note: Change the base class to TranslatorAdapter_1_8_4. - TranslatorGreek 1.8.04 8 methods to implement (3 %) Note: Change the base class to TranslatorAdapter_1_8_4. @@ -86,9 +85,6 @@ must be implemented to become up-to-date: Note: Reimplementation using UTF-8 suggested. TranslatorSerbianCyrilic 1.6.0 34 methods to implement (13 %) - TranslatorRomanian 1.6.0 34 methods to implement (13 %) - Note: Reimplementation using UTF-8 suggested. - TranslatorMacedonian 1.6.0 34 methods to implement (13 %) TranslatorJapanese 1.6.0 33 methods to implement (13 %) Note: Reimplementation using UTF-8 suggested. @@ -1134,47 +1130,10 @@ TranslatorPortuguese (TranslatorAdapter_1_8_0) 22 methods to implement (8 %) virtual QCString trInstanceMethods() -TranslatorRomanian (TranslatorAdapter_1_6_0) 34 methods to implement (13 %) +TranslatorRomanian (Translator) ------------------ - Implements 216 of the required methods (86 %). - - Missing methods (should be implemented): - - virtual QCString trDetailLevel() - virtual QCString trSearching() - virtual QCString trTemplateParameters() - virtual QCString trNoMatches() - virtual QCString trLoading() - virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime) - virtual QCString trServices() - virtual QCString trFileIn(const char * name) - virtual QCString trClassMethods() - virtual QCString trProvidedByCategory() - virtual QCString trSingletonGeneratedFromFiles(bool single) - virtual QCString trGlobalNamespace() - virtual QCString trServiceReference(const char * sName) - virtual QCString trDesignOverview() - virtual QCString trAndMore(const QCString & number) - virtual QCString trConstantGroups() - virtual QCString trDirDepGraph(const char * name) - virtual QCString trDirRelation(const char * name) - virtual QCString trMethodDocumentation() - virtual QCString trEnumReference(const char * name) - virtual QCString trInheritedFrom(const char * members, const char * what) - virtual QCString trCiteReferences() - virtual QCString trAdditionalInheritedMembers() - virtual QCString trDirDependency(const char * name) - virtual QCString trInterfaces() - virtual QCString trCopyright() - virtual QCString trIncludesFileIn(const char * name) - virtual QCString trServiceGeneratedFromFiles(bool single) - virtual QCString trEnumGeneratedFromFiles(bool single) - virtual QCString trConstantGroupReference(const char * namespaceName) - virtual QCString trPanelSynchronisationTooltip(bool enable) - virtual QCString trExtendsClass() - virtual QCString trSingletonReference(const char * sName) - virtual QCString trInstanceMethods() + Implements 250 of the required methods (100 %). TranslatorRussian (TranslatorAdapter_1_7_5) 25 methods to implement (10 %) @@ -1297,23 +1256,6 @@ TranslatorSerbianCyrilic (TranslatorAdapter_1_6_0) 34 methods to implement (1 virtual QCString trInstanceMethods() -TranslatorSlovak (TranslatorAdapter_1_8_2) 8 methods to implement (3 %) ----------------- - - Implements 242 of the required methods (96 %). - - Missing methods (should be implemented): - - virtual QCString trServices() - virtual QCString trSingletonGeneratedFromFiles(bool single) - virtual QCString trServiceReference(const char * sName) - virtual QCString trConstantGroups() - virtual QCString trInterfaces() - virtual QCString trServiceGeneratedFromFiles(bool single) - virtual QCString trConstantGroupReference(const char * namespaceName) - virtual QCString trSingletonReference(const char * sName) - - TranslatorSlovene (TranslatorAdapter_1_4_6) 58 methods to implement (23 %) ----------------- diff --git a/doc/trouble.doc b/doc/trouble.doc index 133ccaf..3a89922 100644 --- a/doc/trouble.doc +++ b/doc/trouble.doc @@ -31,7 +31,7 @@ or unions with the same name in your code. It should not crash however, rather it should ignore all of the classes with the same name except one. <li>Some commands do not work inside the arguments of other commands. - Inside a HTML link (i.e. \<a href="..."\>...\<a\>) for instance + Inside a HTML link (i.e. \<a href="..."\>...\<a\>) for instance other commands (including other HTML commands) do not work! The sectioning commands are an important exception. <li>Redundant braces can confuse doxygen in some cases. diff --git a/doc/xmlcmds.doc b/doc/xmlcmds.doc index 16beed3..5df9b7b 100644 --- a/doc/xmlcmds.doc +++ b/doc/xmlcmds.doc @@ -28,7 +28,7 @@ Here is the list of tags supported by doxygen: <li><tt>\<c\></tt> Identifies inline text that should be rendered as a piece of code. Similar to using <tt>\<tt\></tt>text<tt>\</tt\></tt>. <li><tt>\<code\></tt> Set one or more lines of source code or program output. - Note that this command behaves like <tt>\\code ... \\endcode</tt> + Note that this command behaves like \ref cmdcode "\\code" ... \ref cmdendcode "\\endcode" for C# code, but it behaves like the HTML equivalent <tt>\<code\>...\</code\></tt> for other languages. <li><tt>\<description\></tt> Part of a <tt>\<list\></tt> command, describes an item. diff --git a/src/clangparser.cpp b/src/clangparser.cpp index d35f5da..459fd26 100644 --- a/src/clangparser.cpp +++ b/src/clangparser.cpp @@ -40,8 +40,10 @@ ClangParser *ClangParser::s_instance = 0; class ClangParser::Private { public: + enum DetectedLang { Detected_Cpp, Detected_ObjC, Detected_ObjCpp }; Private() : tu(0), tokens(0), numTokens(0), cursors(0), - ufs(0), sources(0), numFiles(0), fileMapping(257) + ufs(0), sources(0), numFiles(0), fileMapping(257), + detectedLang(Detected_Cpp) { fileMapping.setAutoDelete(TRUE); } int getCurrentTokenLine(); CXIndex index; @@ -56,6 +58,7 @@ class ClangParser::Private QCString *sources; uint numFiles; QDict<uint> fileMapping; + DetectedLang detectedLang; }; static QCString detab(const QCString &s) @@ -112,28 +115,6 @@ static QCString detab(const QCString &s) return out.get(); } -static QStrList getClangOptions() -{ - static QCString clangOptions = Config_getString("CLANG_OPTIONS"); - int p=0,i; - QStrList options; - while ((i=clangOptions.find(' ',p))!=-1) - { - QCString opt = clangOptions.mid(p,i-p).stripWhiteSpace(); - if (!opt.isEmpty()) - { - options.append(opt); - } - p=i+1; - } - QCString opt = clangOptions.right(clangOptions.length()-p).stripWhiteSpace(); - if (!opt.isEmpty()) - { - options.append(opt); - } - return options; -} - /** Callback function called for each include in a translation unit */ static void inclusionVisitor(CXFile includedFile, CXSourceLocation* /*inclusionStack*/, @@ -177,7 +158,7 @@ void ClangParser::start(const char *fileName,QStrList &filesInTranslationUnit) { static bool clangAssistedParsing = Config_getBool("CLANG_ASSISTED_PARSING"); static QStrList &includePath = Config_getList("INCLUDE_PATH"); - static QStrList clangOptions = getClangOptions(); + static QStrList clangOptions = Config_getList("CLANG_OPTIONS"); if (!clangAssistedParsing) return; //printf("ClangParser::start(%s)\n",fileName); p->fileName = fileName; @@ -207,8 +188,43 @@ void ClangParser::start(const char *fileName,QStrList &filesInTranslationUnit) } // extra options argv[argc++]=strdup("-ferror-limit=0"); - argv[argc++]=strdup("-x"); // force C++ - argv[argc++]=strdup("c++"); + argv[argc++]=strdup("-x"); + + // Since we can be presented with a .h file that can contain C/C++ or + // Objective C code and we need to configure the parser before knowing this, + // we use the source file to detected the language. Detection will fail if you + // pass a bunch of .h files containing ObjC code, and no sources :-( + SrcLangExt lang = getLanguageFromFileName(fileName); + if (lang==SrcLangExt_ObjC || p->detectedLang!=ClangParser::Private::Detected_Cpp) + { + QCString fn = fileName; + if (p->detectedLang==ClangParser::Private::Detected_Cpp && + (fn.right(4).lower()==".cpp" || fn.right(4).lower()==".cxx" || + fn.right(3).lower()==".cc" || fn.right(2).lower()==".c")) + { // fall back to C/C++ once we see an extension that indicates this + p->detectedLang = ClangParser::Private::Detected_Cpp; + } + else if (fn.right(3).lower()==".mm") // switch to Objective C++ + { + p->detectedLang = ClangParser::Private::Detected_ObjCpp; + } + else if (fn.right(2).lower()==".m") // switch to Objective C + { + p->detectedLang = ClangParser::Private::Detected_ObjC; + } + } + switch(p->detectedLang) + { + case ClangParser::Private::Detected_Cpp: + argv[argc++]=strdup("c++"); + break; + case ClangParser::Private::Detected_ObjC: + argv[argc++]=strdup("objective-c"); + break; + case ClangParser::Private::Detected_ObjCpp: + argv[argc++]=strdup("objective-c++"); + break; + } // provide the input and and its dependencies as unsaved files so we can // pass the filtered versions diff --git a/src/commentscan.l b/src/commentscan.l index 1644a6d..45f5425 100644 --- a/src/commentscan.l +++ b/src/commentscan.l @@ -871,7 +871,7 @@ DOCNL "\n"|"\\_linebr" LC "\\"{B}*"\n" NW [^a-z_A-Z0-9] FILESCHAR [a-z_A-Z0-9\x80-\xFF\\:\\\/\-\+@&#] -FILEECHAR [a-z_A-Z0-9\x80-\xFF\-\+] +FILEECHAR [a-z_A-Z0-9\x80-\xFF\-\+@&#] FILE ({FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*)|("\""[^\n\"]*"\"") ID "$"?[a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF]* LABELID [a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF\-]* @@ -2528,6 +2528,11 @@ static bool handleEndIf(const QCString &) delete guards.pop(); } enabledSectionFound=FALSE; + if (g_spaceBeforeCmd) + { + addOutput(' '); + g_spaceBeforeCmd=FALSE; + } BEGIN( GuardParamEnd ); return FALSE; } diff --git a/src/config.l b/src/config.l index 8a4188e..58717ab 100644 --- a/src/config.l +++ b/src/config.l @@ -1113,7 +1113,7 @@ void Config::check() if (paperType!="a4" && paperType!="a4wide" && paperType!="letter" && paperType!="legal" && paperType!="executive") { - config_err("Error: Unknown page type specified"); + config_err("Error: Unknown page type specified\n"); } QCString &outputLanguage=Config_getEnum("OUTPUT_LANGUAGE"); @@ -1261,7 +1261,8 @@ void Config::check() if (dotFontName=="FreeSans" || dotFontName=="FreeSans.ttf") { config_err("Warning: doxygen no longer ships with the FreeSans font.\n" - "You may want to clear DOT_FONTPATH or risk wrong fonts being used for dot generated graphs.\n"); + "You may want to clear or change DOT_FONTPATH.\n" + "Otherwise you run the risk that the wrong font is being used for dot generated graphs.\n"); } diff --git a/src/config.xml b/src/config.xml index 5bbc6e6..0b67283 100644 --- a/src/config.xml +++ b/src/config.xml @@ -344,7 +344,7 @@ symbols. If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in documentation are documented, even if no documentation was available. Private class members and static file members will be hidden unless -the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES +the EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES ' defval='0'/> <option type='bool' id='EXTRACT_PRIVATE' docs=' If the EXTRACT_PRIVATE tag is set to YES all private members of a class @@ -800,14 +800,14 @@ which an include is specified. Set to NO to disable this. ' defval='1'/> <option type='bool' id='CLANG_ASSISTED_PARSING' setting='USE_LIBCLANG' docs=' If CLANG_ASSISTED_PARSING is set to YES, then doxygen will use the clang parser -for better parsing at the cost of reduced performance. This can be particularly -helpful with template rich C++ code for which doxygen's built-in +for more acurate parsing at the cost of reduced performance. This can be +particularly helpful with template rich C++ code for which doxygen's built-in parser lacks the necessairy type information. ' defval='0'/> - <option type='string' id='CLANG_OPTIONS' setting='USE_LIBCLANG' docs=' + <option type='list' id='CLANG_OPTIONS' setting='USE_LIBCLANG' docs=' If clang assisted parsing is enabled you can provide the compiler with command line options that you would normally use when invoking the compiler. Note that -the include paths will be set by doxygen based on the files and directory +the include paths will already be set by doxygen for the files and directories specified at INPUT and INCLUDE_PATH. ' defval='' depends='CLANG_ASSISTED_PARSING'/> </group> @@ -821,13 +821,13 @@ contains a lot of classes, structs, unions or interfaces. If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in which this list will be split (can be a number in the range [1..20]) -' minval='1' maxval='20' defval='5'/> +' minval='1' maxval='20' defval='5' depends='ALPHABETICAL_INDEX'/> <option type='list' id='IGNORE_PREFIX' format='string' docs=' In case all classes in a project start with a common prefix, all classes will be put under the same header in the alphabetical index. The IGNORE_PREFIX tag can be used to specify one or more prefixes that should be ignored while generating the index headers. -'> +' depends='ALPHABETICAL_INDEX'> </option> </group> <group name='HTML' docs='configuration options related to the HTML output'> @@ -1112,13 +1112,13 @@ rendering instead of using prerendered bitmaps. Use this if you do not have LaTeX installed or if you want to formulas look prettier in the HTML output. When enabled you may also need to install MathJax separately and configure the path to it using the MATHJAX_RELPATH option. -' defval='0'/> +' defval='0' depends='GENERATE_HTML'/> <option type='enum' id='MATHJAX_FORMAT' defval='HTML-CSS' docs=' When MathJax is enabled you can set the default output format to be used for the MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and SVG. The default value is HTML-CSS, which is slower, but has the best compatibility. -'> +' depends='USE_MATHJAX'> <value name="HTML-CSS"/> <value name="NativeMML"/> <value name="SVG"/> @@ -1132,7 +1132,7 @@ MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax Content Delivery Network so you can quickly see the result without installing MathJax. However, it is strongly recommended to install a local copy of MathJax from http://www.mathjax.org before deployment. -' defval='http://cdn.mathjax.org/mathjax/latest'/> +' defval='http://cdn.mathjax.org/mathjax/latest' depends='USE_MATHJAX'/> <option type='list' id='MATHJAX_EXTENSIONS' format='string' docs=' The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension names that should be enabled during MathJax rendering. @@ -1187,7 +1187,7 @@ When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple projects and redirect the results back to the right project. -' defval='' dependes='SEARCHENGINE'/> +' defval='' depends='SEARCHENGINE'/> <option type='list' id='EXTRA_SEARCH_MAPPINGS' docs=' The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen projects other than the one defined by this configuration file, but that are @@ -1227,10 +1227,9 @@ save some trees in general. <option type='enum' id='PAPER_TYPE' defval='a4' docs=' The PAPER_TYPE tag can be used to set the paper type that is used by the printer. Possible values are: a4, letter, legal and -executive. If left blank a4wide will be used. +executive. If left blank a4 will be used. ' depends='GENERATE_LATEX'> <value name='a4'/> - <value name='a4wide'/> <value name='letter'/> <value name='legal'/> <value name='executive'/> @@ -1460,7 +1459,7 @@ pointed to by INCLUDE_PATH will be searched when a #include is found. The INCLUDE_PATH tag can be used to specify one or more directories that contain include files that are not input files but should be processed by the preprocessor. -' depends='ENABLE_PREPROCESSING'> +' depends='SEARCH_INCLUDES'> </option> <option type='list' id='INCLUDE_FILE_PATTERNS' format='string' docs=' You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard @@ -1565,7 +1564,7 @@ allowed to run in parallel. When set to 0 (the default) doxygen will base this on the number of processors available in the system. You can set it explicitly to a value larger than 0 to get control over the balance between CPU load and processing speed. -' defval='0' minval='0' maxval='32' dependes='HAVE_DOT'/> +' defval='0' minval='0' maxval='32' depends='HAVE_DOT'/> <option type='string' id='DOT_FONTNAME' format='string' docs=' By default doxygen will use the Helvetica font for all dot files that doxygen generates. When you want a differently looking font you can specify diff --git a/src/configoptions.cpp b/src/configoptions.cpp index 1cb144d..11a7f43 100644 --- a/src/configoptions.cpp +++ b/src/configoptions.cpp @@ -484,7 +484,7 @@ void addConfigOptions(Config *cfg) "If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in\n" "documentation are documented, even if no documentation was available.\n" "Private class members and static file members will be hidden unless\n" - "the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES", + "the EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES", FALSE ); //---- @@ -1138,8 +1138,8 @@ void addConfigOptions(Config *cfg) cb = cfg->addBool( "CLANG_ASSISTED_PARSING", "If CLANG_ASSISTED_PARSING is set to YES, then doxygen will use the clang parser\n" - "for better parsing at the cost of reduced performance. This can be particularly\n" - "helpful with template rich C++ code for which doxygen's built-in\n" + "for more acurate parsing at the cost of reduced performance. This can be\n" + "particularly helpful with template rich C++ code for which doxygen's built-in\n" "parser lacks the necessairy type information.", FALSE ); @@ -1148,14 +1148,14 @@ void addConfigOptions(Config *cfg) #endif #if USE_LIBCLANG //---- - cs = cfg->addString( + cl = cfg->addList( "CLANG_OPTIONS", "If clang assisted parsing is enabled you can provide the compiler with command\n" "line options that you would normally use when invoking the compiler. Note that\n" - "the include paths will be set by doxygen based on the files and directory\n" + "the include paths will already be set by doxygen for the files and directories\n" "specified at INPUT and INCLUDE_PATH." ); - cs->addDependency("CLANG_ASSISTED_PARSING"); + cl->addDependency("CLANG_ASSISTED_PARSING"); #else cfg->addDisabled("CLANG_OPTIONS"); #endif @@ -1179,6 +1179,7 @@ void addConfigOptions(Config *cfg) "in which this list will be split (can be a number in the range [1..20])", 1,20,5 ); + ci->addDependency("ALPHABETICAL_INDEX"); //---- cl = cfg->addList( "IGNORE_PREFIX", @@ -1187,6 +1188,7 @@ void addConfigOptions(Config *cfg) "The IGNORE_PREFIX tag can be used to specify one or more prefixes that\n" "should be ignored while generating the index headers." ); + cl->addDependency("ALPHABETICAL_INDEX"); //--------------------------------------------------------------------------- cfg->addInfo("HTML","configuration options related to the HTML output"); //--------------------------------------------------------------------------- @@ -1644,6 +1646,7 @@ void addConfigOptions(Config *cfg) "configure the path to it using the MATHJAX_RELPATH option.", FALSE ); + cb->addDependency("GENERATE_HTML"); //---- ce = cfg->addEnum( "MATHJAX_FORMAT", @@ -1656,6 +1659,7 @@ void addConfigOptions(Config *cfg) ce->addValue("HTML-CSS"); ce->addValue("NativeMML"); ce->addValue("SVG"); + ce->addDependency("USE_MATHJAX"); //---- cs = cfg->addString( "MATHJAX_RELPATH", @@ -1670,6 +1674,7 @@ void addConfigOptions(Config *cfg) "copy of MathJax from http://www.mathjax.org before deployment." ); cs->setDefaultValue("http://cdn.mathjax.org/mathjax/latest"); + cs->addDependency("USE_MATHJAX"); //---- cl = cfg->addList( "MATHJAX_EXTENSIONS", @@ -1751,6 +1756,7 @@ void addConfigOptions(Config *cfg) "useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple\n" "projects and redirect the results back to the right project." ); + cs->addDependency("SEARCHENGINE"); //---- cl = cfg->addList( "EXTRA_SEARCH_MAPPINGS", @@ -1819,11 +1825,10 @@ void addConfigOptions(Config *cfg) "PAPER_TYPE", "The PAPER_TYPE tag can be used to set the paper type that is used\n" "by the printer. Possible values are: a4, letter, legal and\n" - "executive. If left blank a4wide will be used.", + "executive. If left blank a4 will be used.", "a4" ); ce->addValue("a4"); - ce->addValue("a4wide"); ce->addValue("letter"); ce->addValue("legal"); ce->addValue("executive"); @@ -2196,7 +2201,7 @@ void addConfigOptions(Config *cfg) "contain include files that are not input files but should be processed by\n" "the preprocessor." ); - cl->addDependency("ENABLE_PREPROCESSING"); + cl->addDependency("SEARCH_INCLUDES"); cl->setWidgetType(ConfigList::Dir); //---- cl = cfg->addList( @@ -2350,6 +2355,7 @@ void addConfigOptions(Config *cfg) "between CPU load and processing speed.", 0,32,0 ); + ci->addDependency("HAVE_DOT"); //---- cs = cfg->addString( "DOT_FONTNAME", diff --git a/src/docparser.cpp b/src/docparser.cpp index aa9153a..1cc3b3c 100644 --- a/src/docparser.cpp +++ b/src/docparser.cpp @@ -4403,10 +4403,6 @@ int DocAutoListItem::parse() int retval = RetVal_OK; g_nodeStack.push(this); - //retval=m_paragraph->parse(); - //m_paragraph->markFirst(); - //m_paragraph->markLast(); - // first parse any number of paragraphs bool isFirst=TRUE; DocPara *lastPar=0; diff --git a/src/doctokenizer.l b/src/doctokenizer.l index c884976..cdf2933 100644 --- a/src/doctokenizer.l +++ b/src/doctokenizer.l @@ -338,7 +338,7 @@ ATTRIB {ATTRNAME}{WS}*("="{WS}*(("\""[^\"]*"\"")|("'"[^\']*"'")|[^ \t\r\n'">< URLCHAR [a-z_A-Z0-9\!\~\,\:\;\'\$\?\@\&\%\#\.\-\+\/\=] URLMASK ({URLCHAR}+([({]{URLCHAR}*[)}])?)+ FILESCHAR [a-z_A-Z0-9\\:\\\/\-\+@&#] -FILEECHAR [a-z_A-Z0-9\-\+] +FILEECHAR [a-z_A-Z0-9\-\+@&#] HFILEMASK ("."{FILESCHAR}*{FILEECHAR}+)* FILEMASK ({FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*)|{HFILEMASK} LINKMASK [^ \t\n\r\\@<&${}]+("("[^\n)]*")")?({BLANK}*("const"|"volatile"){BLANK}+)? @@ -690,34 +690,37 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3} g_token->name = yytext; return TK_COMMAND; } +<St_Para>({BLANK}*\n)+{BLANK}*\n/{LISTITEM} { /* skip trailing paragraph followed by new list item */ + if (g_insidePre) + { + REJECT; + } + } +<St_Para>({BLANK}*\n)+{BLANK}*\n/{MLISTITEM} { /* skip trailing paragraph followed by new list item */ + if (!Doxygen::markdownSupport || g_insidePre) + { + REJECT; + } + } +<St_Para>({BLANK}*\n)+{BLANK}*\n/{OLISTITEM} { /* skip trailing paragraph followed by new list item */ + if (!Doxygen::markdownSupport || g_insidePre) + { + REJECT; + } + } <St_Para>({BLANK}*\n)+{BLANK}*\n{BLANK}* { - // g_insidePre was always FALSE, so the next section - // was never executed, now g_insidePre is set properly - // again, so the section is commented out to keep the - // old behavior. - //if (g_insidePre) - //{ - // /* Inside a <pre>..</pre> blank lines are treated - // * as whitespace. - // */ - // g_token->chars=yytext; - // return TK_WHITESPACE; - //} - //else // found end of a paragraph - { - g_token->indent=computeIndent(yytext,(int)yyleng); - int i; - // put back the indentation (needed for list items) - for (i=0;i<g_token->indent;i++) - { - unput(' '); - } - // tell flex that after putting the last indent - // back we are at the beginning of the line - YY_CURRENT_BUFFER->yy_at_bol=1; - // start of a new paragraph - return TK_NEWPARA; - } + g_token->indent=computeIndent(yytext,(int)yyleng); + int i; + // put back the indentation (needed for list items) + for (i=0;i<g_token->indent;i++) + { + unput(' '); + } + // tell flex that after putting the last indent + // back we are at the beginning of the line + YY_CURRENT_BUFFER->yy_at_bol=1; + // start of a new paragraph + return TK_NEWPARA; } <St_CodeOpt>{BLANK}*"{"(".")?{LABELID}"}" { g_token->name = yytext; diff --git a/src/doxygen.cpp b/src/doxygen.cpp index d97c0f6..e1fe597 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -11249,8 +11249,9 @@ void generateOutput() if (Config_getBool("GENERATE_LEGEND")) { - msg("Generating graph info page...\n"); + g_s.begin("Generating graph info page...\n"); writeGraphInfo(*g_outputList); + g_s.end(); } g_s.begin("Generating directory documentation...\n"); diff --git a/src/doxygen.sty b/src/doxygen.sty new file mode 100644 index 0000000..199abf8 --- /dev/null +++ b/src/doxygen.sty @@ -0,0 +1,464 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{doxygen} + +% Packages used by this style file +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{calc} +\RequirePackage{float} +\RequirePackage{ifthen} +\RequirePackage{verbatim} +\RequirePackage[table]{xcolor} +\RequirePackage{xtab} + +%---------- Internal commands used in this style file ---------------- + +\newcommand{\ensurespace}[1]{% + \begingroup% + \setlength{\dimen@}{#1}% + \vskip\z@\@plus\dimen@% + \penalty -100\vskip\z@\@plus -\dimen@% + \vskip\dimen@% + \penalty 9999% + \vskip -\dimen@% + \vskip\z@skip% hide the previous |\vskip| from |\addvspace| + \endgroup% +} + +\newcommand{\DoxyLabelFont}{} +\newcommand{\entrylabel}[1]{% + {% + \parbox[b]{\labelwidth-4pt}{% + \makebox[0pt][l]{\DoxyLabelFont#1}% + \vspace{1.5\baselineskip}% + }% + }% +} + +\newenvironment{DoxyDesc}[1]{% + \ensurespace{4\baselineskip}% + \begin{list}{}{% + \settowidth{\labelwidth}{20pt}% + \setlength{\parsep}{0pt}% + \setlength{\itemsep}{0pt}% + \setlength{\leftmargin}{\labelwidth+\labelsep}% + \renewcommand{\makelabel}{\entrylabel}% + }% + \item[#1]% +}{% + \end{list}% +} + +\newsavebox{\xrefbox} +\newlength{\xreflength} +\newcommand{\xreflabel}[1]{% + \sbox{\xrefbox}{#1}% + \setlength{\xreflength}{\wd\xrefbox}% + \ifthenelse{\xreflength>\labelwidth}{% + \begin{minipage}{\textwidth}% + \setlength{\parindent}{0pt}% + \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}% + \end{minipage}% + }{% + \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}% + }% +} + +%---------- Commands used by doxygen LaTeX output generator ---------- + +% Used by <pre> ... </pre> +\newenvironment{DoxyPre}{% + \small% + \begin{alltt}% +}{% + \end{alltt}% + \normalsize% +} + +% Used by @code ... @endcode +\newenvironment{DoxyCode}{% + \par% + \scriptsize% + \begin{alltt}% +}{% + \end{alltt}% + \normalsize% +} + +% Used by @example, @include, @includelineno and @dontinclude +\newenvironment{DoxyCodeInclude}{% + \DoxyCode% +}{% + \endDoxyCode% +} + +% Used by @verbatim ... @endverbatim +\newenvironment{DoxyVerb}{% + \footnotesize% + \verbatim% +}{% + \endverbatim% + \normalsize% +} + +% Used by @verbinclude +\newenvironment{DoxyVerbInclude}{% + \DoxyVerb% +}{% + \endDoxyVerb% +} + +% Used by numbered lists (using '-#' or <ol> ... </ol>) +\newenvironment{DoxyEnumerate}{% + \enumerate% +}{% + \endenumerate% +} + +% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>) +\newenvironment{DoxyItemize}{% + \itemize% +}{% + \enditemize% +} + +% Used by description lists (using <dl> ... </dl>) +\newenvironment{DoxyDescription}{% + \description% +}{% + \enddescription% +} + +% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc +% (only if caption is specified) +\newenvironment{DoxyImage}{% + \begin{figure}[H]% + \begin{center}% +}{% + \end{center}% + \end{figure}% +} + +% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc +% (only if no caption is specified) +\newenvironment{DoxyImageNoCaption}{% +}{% +} + +% Used by @attention +\newenvironment{DoxyAttention}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @author and @authors +\newenvironment{DoxyAuthor}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @date +\newenvironment{DoxyDate}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @invariant +\newenvironment{DoxyInvariant}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @note +\newenvironment{DoxyNote}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @post +\newenvironment{DoxyPostcond}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @pre +\newenvironment{DoxyPrecond}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @copyright +\newenvironment{DoxyCopyright}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @remark +\newenvironment{DoxyRemark}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @return and @returns +\newenvironment{DoxyReturn}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @since +\newenvironment{DoxySince}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @see +\newenvironment{DoxySeeAlso}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @version +\newenvironment{DoxyVersion}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @warning +\newenvironment{DoxyWarning}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @internal +\newenvironment{DoxyInternal}[1]{% + \paragraph*{#1}% +}{% +} + +% Used by @par and @paragraph +\newenvironment{DoxyParagraph}[1]{% + \begin{list}{}{% + \settowidth{\labelwidth}{40pt}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\parsep}{0pt}% + \setlength{\itemsep}{-4pt}% + \renewcommand{\makelabel}{\entrylabel}% + }% + \item[#1]% +}{% + \end{list}% +} + +% Used by parameter lists +\newenvironment{DoxyParams}[2][]{% + \par% + \tabletail{\hline}% + \tablelasttail{\hline}% + \tablefirsthead{}% + \tablehead{}% + \ifthenelse{\equal{#1}{}}% + {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}% + \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% + p{0.805\textwidth}|}}% + {\ifthenelse{\equal{#1}{1}}% + {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}% + \begin{xtabular}{|>{\centering}p{0.10\textwidth}|% + >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% + p{0.678\textwidth}|}}% + {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}% + \begin{xtabular}{|>{\centering}p{0.10\textwidth}|% + >{\centering\hspace{0pt}}p{0.15\textwidth}|% + >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% + p{0.501\textwidth}|}}% + }\hline% +}{% + \end{xtabular}% + \tablefirsthead{}% + \vspace{6pt}% +} + +% Used for fields of simple structs +\newenvironment{DoxyFields}[1]{% + \par% + \tabletail{\hline}% + \tablelasttail{\hline}% + \tablehead{}% + \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% + \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% + p{0.15\textwidth}|% + p{0.63\textwidth}|}% + \hline% +}{% + \end{xtabular}% + \tablefirsthead{}% + \vspace{6pt}% +} + +% Used for parameters within a detailed function description +\newenvironment{DoxyParamCaption}{% + \renewcommand{\item}[2][]{##1 {\em ##2}}% +}{% +} + +% Used by return value lists +\newenvironment{DoxyRetVals}[1]{% + \par% + \tabletail{\hline}% + \tablelasttail{\hline}% + \tablehead{}% + \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% + \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% + p{0.705\textwidth}|}% + \hline% +}{% + \end{xtabular}% + \tablefirsthead{}% + \vspace{6pt}% +} + +% Used by exception lists +\newenvironment{DoxyExceptions}[1]{% + \par% + \tabletail{\hline}% + \tablelasttail{\hline}% + \tablehead{}% + \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% + \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% + p{0.705\textwidth}|}% + \hline% +}{% + \end{xtabular}% + \tablefirsthead{}% + \vspace{6pt}% +} + +% Used by template parameter lists +\newenvironment{DoxyTemplParams}[1]{% + \par% + \tabletail{\hline}% + \tablelasttail{\hline}% + \tablehead{}% + \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% + \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% + p{0.705\textwidth}|}% + \hline% +}{% + \end{xtabular}% + \tablefirsthead{}% + \vspace{6pt}% +} + +% Used for member lists +\newenvironment{DoxyCompactItemize}{% + \begin{itemize}% + \setlength{\itemsep}{-3pt}% + \setlength{\parsep}{0pt}% + \setlength{\topsep}{0pt}% + \setlength{\partopsep}{0pt}% +}{% + \end{itemize}% +} + +% Used for member descriptions +\newenvironment{DoxyCompactList}{% + \begin{list}{}{% + \setlength{\leftmargin}{0.5cm}% + \setlength{\itemsep}{0pt}% + \setlength{\parsep}{0pt}% + \setlength{\topsep}{0pt}% + \renewcommand{\makelabel}{\hfill}% + }% +}{% + \end{list}% +} + +% Used for reference lists (@bug, @deprecated, @todo, etc.) +\newenvironment{DoxyRefList}{% + \begin{list}{}{% + \setlength{\labelwidth}{10pt}% + \setlength{\leftmargin}{\labelwidth}% + \addtolength{\leftmargin}{\labelsep}% + \renewcommand{\makelabel}{\xreflabel}% + }% +}{% + \end{list}% +} + +% Used by @bug, @deprecated, @todo, etc. +\newenvironment{DoxyRefDesc}[1]{% + \begin{list}{}{% + \renewcommand\makelabel[1]{\textbf{##1}}% + \settowidth\labelwidth{\makelabel{#1}}% + \setlength\leftmargin{\labelwidth+\labelsep}% + }% +}{% + \end{list}% +} + +% Used by parameter lists and simple sections +\newenvironment{Desc} +{\begin{list}{}{% + \settowidth{\labelwidth}{40pt}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\parsep}{0pt}% + \setlength{\itemsep}{-4pt}% + \renewcommand{\makelabel}{\entrylabel}% + } +}{% + \end{list}% +} + +% Used by tables +\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}% +\newlength{\tmplength}% +\newenvironment{TabularC}[1]% +{% +\setlength{\tmplength}% + {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}% + \par\begin{xtabular*}{\linewidth}% + {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}% +}% +{\end{xtabular*}\par}% + +% Used for member group headers +\newenvironment{Indent}{% + \begin{list}{}{% + \setlength{\leftmargin}{0.5cm}% + }% + \item[]\ignorespaces% +}{% + \unskip% + \end{list}% +} + +% Used when hyperlinks are turned off +\newcommand{\doxyref}[3]{% + \textbf{#1} (\textnormal{#2}\,\pageref{#3})% +} + +% Used for syntax highlighting +\definecolor{comment}{rgb}{0.5,0.0,0.0} +\definecolor{keyword}{rgb}{0.0,0.5,0.0} +\definecolor{keywordtype}{rgb}{0.38,0.25,0.125} +\definecolor{keywordflow}{rgb}{0.88,0.5,0.0} +\definecolor{preprocessor}{rgb}{0.5,0.38,0.125} +\definecolor{stringliteral}{rgb}{0.0,0.125,0.25} +\definecolor{charliteral}{rgb}{0.0,0.5,0.5} +\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0} +\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43} +\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0} +\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0} diff --git a/src/doxygen_sty.h b/src/doxygen_sty.h new file mode 100644 index 0000000..fedbd17 --- /dev/null +++ b/src/doxygen_sty.h @@ -0,0 +1,464 @@ +"\\NeedsTeXFormat{LaTeX2e}\n" +"\\ProvidesPackage{doxygen}\n" +"\n" +"% Packages used by this style file\n" +"\\RequirePackage{alltt}\n" +"\\RequirePackage{array}\n" +"\\RequirePackage{calc}\n" +"\\RequirePackage{float}\n" +"\\RequirePackage{ifthen}\n" +"\\RequirePackage{verbatim}\n" +"\\RequirePackage[table]{xcolor}\n" +"\\RequirePackage{xtab}\n" +"\n" +"%---------- Internal commands used in this style file ----------------\n" +"\n" +"\\newcommand{\\ensurespace}[1]{%\n" +" \\begingroup%\n" +" \\setlength{\\dimen@}{#1}%\n" +" \\vskip\\z@\\@plus\\dimen@%\n" +" \\penalty -100\\vskip\\z@\\@plus -\\dimen@%\n" +" \\vskip\\dimen@%\n" +" \\penalty 9999%\n" +" \\vskip -\\dimen@%\n" +" \\vskip\\z@skip% hide the previous |\\vskip| from |\\addvspace|\n" +" \\endgroup%\n" +"}\n" +"\n" +"\\newcommand{\\DoxyLabelFont}{}\n" +"\\newcommand{\\entrylabel}[1]{%\n" +" {%\n" +" \\parbox[b]{\\labelwidth-4pt}{%\n" +" \\makebox[0pt][l]{\\DoxyLabelFont#1}%\n" +" \\vspace{1.5\\baselineskip}%\n" +" }%\n" +" }%\n" +"}\n" +"\n" +"\\newenvironment{DoxyDesc}[1]{%\n" +" \\ensurespace{4\\baselineskip}%\n" +" \\begin{list}{}{%\n" +" \\settowidth{\\labelwidth}{20pt}%\n" +" \\setlength{\\parsep}{0pt}%\n" +" \\setlength{\\itemsep}{0pt}%\n" +" \\setlength{\\leftmargin}{\\labelwidth+\\labelsep}%\n" +" \\renewcommand{\\makelabel}{\\entrylabel}%\n" +" }%\n" +" \\item[#1]%\n" +"}{%\n" +" \\end{list}%\n" +"}\n" +"\n" +"\\newsavebox{\\xrefbox}\n" +"\\newlength{\\xreflength}\n" +"\\newcommand{\\xreflabel}[1]{%\n" +" \\sbox{\\xrefbox}{#1}%\n" +" \\setlength{\\xreflength}{\\wd\\xrefbox}%\n" +" \\ifthenelse{\\xreflength>\\labelwidth}{%\n" +" \\begin{minipage}{\\textwidth}%\n" +" \\setlength{\\parindent}{0pt}%\n" +" \\hangindent=15pt\\bfseries #1\\vspace{1.2\\itemsep}%\n" +" \\end{minipage}%\n" +" }{%\n" +" \\parbox[b]{\\labelwidth}{\\makebox[0pt][l]{\\textbf{#1}}}%\n" +" }%\n" +"}\n" +"\n" +"%---------- Commands used by doxygen LaTeX output generator ----------\n" +"\n" +"% Used by <pre> ... </pre>\n" +"\\newenvironment{DoxyPre}{%\n" +" \\small%\n" +" \\begin{alltt}%\n" +"}{%\n" +" \\end{alltt}%\n" +" \\normalsize%\n" +"}\n" +"\n" +"% Used by @code ... @endcode\n" +"\\newenvironment{DoxyCode}{%\n" +" \\par%\n" +" \\scriptsize%\n" +" \\begin{alltt}%\n" +"}{%\n" +" \\end{alltt}%\n" +" \\normalsize%\n" +"}\n" +"\n" +"% Used by @example, @include, @includelineno and @dontinclude\n" +"\\newenvironment{DoxyCodeInclude}{%\n" +" \\DoxyCode%\n" +"}{%\n" +" \\endDoxyCode%\n" +"}\n" +"\n" +"% Used by @verbatim ... @endverbatim\n" +"\\newenvironment{DoxyVerb}{%\n" +" \\footnotesize%\n" +" \\verbatim%\n" +"}{%\n" +" \\endverbatim%\n" +" \\normalsize%\n" +"}\n" +"\n" +"% Used by @verbinclude\n" +"\\newenvironment{DoxyVerbInclude}{%\n" +" \\DoxyVerb%\n" +"}{%\n" +" \\endDoxyVerb%\n" +"}\n" +"\n" +"% Used by numbered lists (using '-#' or <ol> ... </ol>)\n" +"\\newenvironment{DoxyEnumerate}{%\n" +" \\enumerate%\n" +"}{%\n" +" \\endenumerate%\n" +"}\n" +"\n" +"% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)\n" +"\\newenvironment{DoxyItemize}{%\n" +" \\itemize%\n" +"}{%\n" +" \\enditemize%\n" +"}\n" +"\n" +"% Used by description lists (using <dl> ... </dl>)\n" +"\\newenvironment{DoxyDescription}{%\n" +" \\description%\n" +"}{%\n" +" \\enddescription%\n" +"}\n" +"\n" +"% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc\n" +"% (only if caption is specified)\n" +"\\newenvironment{DoxyImage}{%\n" +" \\begin{figure}[H]%\n" +" \\begin{center}%\n" +"}{%\n" +" \\end{center}%\n" +" \\end{figure}%\n" +"}\n" +"\n" +"% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc\n" +"% (only if no caption is specified)\n" +"\\newenvironment{DoxyImageNoCaption}{%\n" +"}{%\n" +"}\n" +"\n" +"% Used by @attention\n" +"\\newenvironment{DoxyAttention}[1]{%\n" +" \\begin{DoxyDesc}{#1}%\n" +"}{%\n" +" \\end{DoxyDesc}%\n" +"}\n" +"\n" +"% Used by @author and @authors\n" +"\\newenvironment{DoxyAuthor}[1]{%\n" +" \\begin{DoxyDesc}{#1}%\n" +"}{%\n" +" \\end{DoxyDesc}%\n" +"}\n" +"\n" +"% Used by @date\n" +"\\newenvironment{DoxyDate}[1]{%\n" +" \\begin{DoxyDesc}{#1}%\n" +"}{%\n" +" \\end{DoxyDesc}%\n" +"}\n" +"\n" +"% Used by @invariant\n" +"\\newenvironment{DoxyInvariant}[1]{%\n" +" \\begin{DoxyDesc}{#1}%\n" +"}{%\n" +" \\end{DoxyDesc}%\n" +"}\n" +"\n" +"% Used by @note\n" +"\\newenvironment{DoxyNote}[1]{%\n" +" \\begin{DoxyDesc}{#1}%\n" +"}{%\n" +" \\end{DoxyDesc}%\n" +"}\n" +"\n" +"% Used by @post\n" +"\\newenvironment{DoxyPostcond}[1]{%\n" +" \\begin{DoxyDesc}{#1}%\n" +"}{%\n" +" \\end{DoxyDesc}%\n" +"}\n" +"\n" +"% Used by @pre\n" +"\\newenvironment{DoxyPrecond}[1]{%\n" +" \\begin{DoxyDesc}{#1}%\n" +"}{%\n" +" \\end{DoxyDesc}%\n" +"}\n" +"\n" +"% Used by @copyright\n" +"\\newenvironment{DoxyCopyright}[1]{%\n" +" \\begin{DoxyDesc}{#1}%\n" +"}{%\n" +" \\end{DoxyDesc}%\n" +"}\n" +"\n" +"% Used by @remark\n" +"\\newenvironment{DoxyRemark}[1]{%\n" +" \\begin{DoxyDesc}{#1}%\n" +"}{%\n" +" \\end{DoxyDesc}%\n" +"}\n" +"\n" +"% Used by @return and @returns\n" +"\\newenvironment{DoxyReturn}[1]{%\n" +" \\begin{DoxyDesc}{#1}%\n" +"}{%\n" +" \\end{DoxyDesc}%\n" +"}\n" +"\n" +"% Used by @since\n" +"\\newenvironment{DoxySince}[1]{%\n" +" \\begin{DoxyDesc}{#1}%\n" +"}{%\n" +" \\end{DoxyDesc}%\n" +"}\n" +"\n" +"% Used by @see\n" +"\\newenvironment{DoxySeeAlso}[1]{%\n" +" \\begin{DoxyDesc}{#1}%\n" +"}{%\n" +" \\end{DoxyDesc}%\n" +"}\n" +"\n" +"% Used by @version\n" +"\\newenvironment{DoxyVersion}[1]{%\n" +" \\begin{DoxyDesc}{#1}%\n" +"}{%\n" +" \\end{DoxyDesc}%\n" +"}\n" +"\n" +"% Used by @warning\n" +"\\newenvironment{DoxyWarning}[1]{%\n" +" \\begin{DoxyDesc}{#1}%\n" +"}{%\n" +" \\end{DoxyDesc}%\n" +"}\n" +"\n" +"% Used by @internal\n" +"\\newenvironment{DoxyInternal}[1]{%\n" +" \\paragraph*{#1}%\n" +"}{%\n" +"}\n" +"\n" +"% Used by @par and @paragraph\n" +"\\newenvironment{DoxyParagraph}[1]{%\n" +" \\begin{list}{}{%\n" +" \\settowidth{\\labelwidth}{40pt}%\n" +" \\setlength{\\leftmargin}{\\labelwidth}%\n" +" \\setlength{\\parsep}{0pt}%\n" +" \\setlength{\\itemsep}{-4pt}%\n" +" \\renewcommand{\\makelabel}{\\entrylabel}%\n" +" }%\n" +" \\item[#1]%\n" +"}{%\n" +" \\end{list}%\n" +"}\n" +"\n" +"% Used by parameter lists\n" +"\\newenvironment{DoxyParams}[2][]{%\n" +" \\par%\n" +" \\tabletail{\\hline}%\n" +" \\tablelasttail{\\hline}%\n" +" \\tablefirsthead{}%\n" +" \\tablehead{}%\n" +" \\ifthenelse{\\equal{#1}{}}%\n" +" {\\tablefirsthead{\\multicolumn{2}{l}{\\hspace{-6pt}\\bfseries\\fontseries{bc}\\selectfont\\color{darkgray} #2}\\\\[1ex]}%\n" +" \\begin{xtabular}{|>{\\raggedleft\\hspace{0pt}}p{0.15\\textwidth}|%\n" +" p{0.805\\textwidth}|}}%\n" +" {\\ifthenelse{\\equal{#1}{1}}%\n" +" {\\tablefirsthead{\\multicolumn{2}{l}{\\hspace{-6pt}\\bfseries\\fontseries{bc}\\selectfont\\color{darkgray} #2}\\\\[1ex]}%\n" +" \\begin{xtabular}{|>{\\centering}p{0.10\\textwidth}|%\n" +" >{\\raggedleft\\hspace{0pt}}p{0.15\\textwidth}|%\n" +" p{0.678\\textwidth}|}}%\n" +" {\\tablefirsthead{\\multicolumn{2}{l}{\\hspace{-6pt}\\bfseries\\fontseries{bc}\\selectfont\\color{darkgray} #2}\\\\[1ex]}%\n" +" \\begin{xtabular}{|>{\\centering}p{0.10\\textwidth}|%\n" +" >{\\centering\\hspace{0pt}}p{0.15\\textwidth}|%\n" +" >{\\raggedleft\\hspace{0pt}}p{0.15\\textwidth}|%\n" +" p{0.501\\textwidth}|}}%\n" +" }\\hline%\n" +"}{%\n" +" \\end{xtabular}%\n" +" \\tablefirsthead{}%\n" +" \\vspace{6pt}%\n" +"}\n" +"\n" +"% Used for fields of simple structs\n" +"\\newenvironment{DoxyFields}[1]{%\n" +" \\par%\n" +" \\tabletail{\\hline}%\n" +" \\tablelasttail{\\hline}%\n" +" \\tablehead{}%\n" +" \\tablefirsthead{\\multicolumn{2}{l}{\\hspace{-6pt}\\bfseries\\fontseries{bc}\\selectfont\\color{darkgray} #1}\\\\[1ex]}%\n" +" \\begin{xtabular}{|>{\\raggedleft\\hspace{0pt}}p{0.15\\textwidth}|%\n" +" p{0.15\\textwidth}|%\n" +" p{0.63\\textwidth}|}%\n" +" \\hline%\n" +"}{%\n" +" \\end{xtabular}%\n" +" \\tablefirsthead{}%\n" +" \\vspace{6pt}%\n" +"}\n" +"\n" +"% Used for parameters within a detailed function description\n" +"\\newenvironment{DoxyParamCaption}{%\n" +" \\renewcommand{\\item}[2][]{##1 {\\em ##2}}%\n" +"}{%\n" +"}\n" +"\n" +"% Used by return value lists\n" +"\\newenvironment{DoxyRetVals}[1]{%\n" +" \\par%\n" +" \\tabletail{\\hline}%\n" +" \\tablelasttail{\\hline}%\n" +" \\tablehead{}%\n" +" \\tablefirsthead{\\multicolumn{2}{l}{\\hspace{-6pt}\\bfseries\\fontseries{bc}\\selectfont\\color{darkgray} #1}\\\\[1ex]}%\n" +" \\begin{xtabular}{|>{\\raggedleft\\hspace{0pt}}p{0.25\\textwidth}|%\n" +" p{0.705\\textwidth}|}%\n" +" \\hline%\n" +"}{%\n" +" \\end{xtabular}%\n" +" \\tablefirsthead{}%\n" +" \\vspace{6pt}%\n" +"}\n" +"\n" +"% Used by exception lists\n" +"\\newenvironment{DoxyExceptions}[1]{%\n" +" \\par%\n" +" \\tabletail{\\hline}%\n" +" \\tablelasttail{\\hline}%\n" +" \\tablehead{}%\n" +" \\tablefirsthead{\\multicolumn{2}{l}{\\hspace{-6pt}\\bfseries\\fontseries{bc}\\selectfont\\color{darkgray} #1}\\\\[1ex]}%\n" +" \\begin{xtabular}{|>{\\raggedleft\\hspace{0pt}}p{0.25\\textwidth}|%\n" +" p{0.705\\textwidth}|}%\n" +" \\hline%\n" +"}{%\n" +" \\end{xtabular}%\n" +" \\tablefirsthead{}%\n" +" \\vspace{6pt}%\n" +"}\n" +"\n" +"% Used by template parameter lists\n" +"\\newenvironment{DoxyTemplParams}[1]{%\n" +" \\par%\n" +" \\tabletail{\\hline}%\n" +" \\tablelasttail{\\hline}%\n" +" \\tablehead{}%\n" +" \\tablefirsthead{\\multicolumn{2}{l}{\\hspace{-6pt}\\bfseries\\fontseries{bc}\\selectfont\\color{darkgray} #1}\\\\[1ex]}%\n" +" \\begin{xtabular}{|>{\\raggedleft\\hspace{0pt}}p{0.25\\textwidth}|%\n" +" p{0.705\\textwidth}|}%\n" +" \\hline%\n" +"}{%\n" +" \\end{xtabular}%\n" +" \\tablefirsthead{}%\n" +" \\vspace{6pt}%\n" +"}\n" +"\n" +"% Used for member lists\n" +"\\newenvironment{DoxyCompactItemize}{%\n" +" \\begin{itemize}%\n" +" \\setlength{\\itemsep}{-3pt}%\n" +" \\setlength{\\parsep}{0pt}%\n" +" \\setlength{\\topsep}{0pt}%\n" +" \\setlength{\\partopsep}{0pt}%\n" +"}{%\n" +" \\end{itemize}%\n" +"}\n" +"\n" +"% Used for member descriptions\n" +"\\newenvironment{DoxyCompactList}{%\n" +" \\begin{list}{}{%\n" +" \\setlength{\\leftmargin}{0.5cm}%\n" +" \\setlength{\\itemsep}{0pt}%\n" +" \\setlength{\\parsep}{0pt}%\n" +" \\setlength{\\topsep}{0pt}%\n" +" \\renewcommand{\\makelabel}{\\hfill}%\n" +" }%\n" +"}{%\n" +" \\end{list}%\n" +"}\n" +"\n" +"% Used for reference lists (@bug, @deprecated, @todo, etc.)\n" +"\\newenvironment{DoxyRefList}{%\n" +" \\begin{list}{}{%\n" +" \\setlength{\\labelwidth}{10pt}%\n" +" \\setlength{\\leftmargin}{\\labelwidth}%\n" +" \\addtolength{\\leftmargin}{\\labelsep}%\n" +" \\renewcommand{\\makelabel}{\\xreflabel}%\n" +" }%\n" +"}{%\n" +" \\end{list}%\n" +"}\n" +"\n" +"% Used by @bug, @deprecated, @todo, etc.\n" +"\\newenvironment{DoxyRefDesc}[1]{%\n" +" \\begin{list}{}{%\n" +" \\renewcommand\\makelabel[1]{\\textbf{##1}}%\n" +" \\settowidth\\labelwidth{\\makelabel{#1}}%\n" +" \\setlength\\leftmargin{\\labelwidth+\\labelsep}%\n" +" }%\n" +"}{%\n" +" \\end{list}%\n" +"}\n" +"\n" +"% Used by parameter lists and simple sections\n" +"\\newenvironment{Desc}\n" +"{\\begin{list}{}{%\n" +" \\settowidth{\\labelwidth}{40pt}%\n" +" \\setlength{\\leftmargin}{\\labelwidth}%\n" +" \\setlength{\\parsep}{0pt}%\n" +" \\setlength{\\itemsep}{-4pt}%\n" +" \\renewcommand{\\makelabel}{\\entrylabel}%\n" +" }\n" +"}{%\n" +" \\end{list}%\n" +"}\n" +"\n" +"% Used by tables\n" +"\\newcommand{\\PBS}[1]{\\let\\temp=\\\\#1\\let\\\\=\\temp}%\n" +"\\newlength{\\tmplength}%\n" +"\\newenvironment{TabularC}[1]%\n" +"{%\n" +"\\setlength{\\tmplength}%\n" +" {\\linewidth/(#1)-\\tabcolsep*2-\\arrayrulewidth*(#1+1)/(#1)}%\n" +" \\par\\begin{xtabular*}{\\linewidth}%\n" +" {*{#1}{|>{\\PBS\\raggedright\\hspace{0pt}}p{\\the\\tmplength}}|}%\n" +"}%\n" +"{\\end{xtabular*}\\par}%\n" +"\n" +"% Used for member group headers\n" +"\\newenvironment{Indent}{%\n" +" \\begin{list}{}{%\n" +" \\setlength{\\leftmargin}{0.5cm}%\n" +" }%\n" +" \\item[]\\ignorespaces%\n" +"}{%\n" +" \\unskip%\n" +" \\end{list}%\n" +"}\n" +"\n" +"% Used when hyperlinks are turned off\n" +"\\newcommand{\\doxyref}[3]{%\n" +" \\textbf{#1} (\\textnormal{#2}\\,\\pageref{#3})%\n" +"}\n" +"\n" +"% Used for syntax highlighting\n" +"\\definecolor{comment}{rgb}{0.5,0.0,0.0}\n" +"\\definecolor{keyword}{rgb}{0.0,0.5,0.0}\n" +"\\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}\n" +"\\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}\n" +"\\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}\n" +"\\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}\n" +"\\definecolor{charliteral}{rgb}{0.0,0.5,0.5}\n" +"\\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}\n" +"\\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}\n" +"\\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}\n" +"\\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}\n" diff --git a/src/latexgen.cpp b/src/latexgen.cpp index ac73331..1434dca 100644 --- a/src/latexgen.cpp +++ b/src/latexgen.cpp @@ -37,6 +37,10 @@ #include "namespacedef.h" #include "filename.h" +static const char doxygenLatexStyle[] = +#include "doxygen_sty.h" +; + //static QCString filterTitle(const char *s) //{ // QCString tmp=s,result; @@ -505,470 +509,7 @@ static void writeDefaultHeaderPart3(FTextStream &t) static void writeDefaultStyleSheet(FTextStream &t) { - // part 1 - t << "\\NeedsTeXFormat{LaTeX2e}\n" - "\\ProvidesPackage{doxygen}\n" - "\n"; - t << "% Packages used by this style file\n" - "\\RequirePackage{alltt}\n" - "\\RequirePackage{array}\n" - "\\RequirePackage{calc}\n" - "\\RequirePackage{float}\n" - "\\RequirePackage{ifthen}\n" - "\\RequirePackage{longtable}\n" - "\\RequirePackage{verbatim}\n" - "\\RequirePackage[table]{xcolor}\n" - "\\RequirePackage{xtab}\n" - "\n" - "\n"; - t << "%---------- Internal commands used in this style file ----------------\n" - "\n"; - t << "\\newcommand{\\ensurespace}[1]{%\n" - " \\begingroup%\n" - " \\setlength{\\dimen@}{#1}%\n" - " \\vskip\\z@\\@plus\\dimen@%\n" - " \\penalty -100\\vskip\\z@\\@plus -\\dimen@%\n" - " \\vskip\\dimen@%\n" - " \\penalty 9999%\n" - " \\vskip -\\dimen@%\n" - " \\vskip\\z@skip% hide the previous |\\vskip| from |\\addvspace|\n" - " \\endgroup%\n" - "}\n" - "\n"; - t << "\\newcommand{\\DoxyLabelFont}{}\n" - "\\newcommand{\\entrylabel}[1]{%\n" - " {%\n" - " \\parbox[b]{\\labelwidth-4pt}{%\n" - " \\makebox[0pt][l]{\\DoxyLabelFont#1}%\n" - " \\vspace{1.5\\baselineskip}%\n" - " }%\n" - " }%\n" - "}\n" - "\n"; - t << "\\newenvironment{DoxyDesc}[1]{%\n" - " \\ensurespace{4\\baselineskip}%\n" - " \\begin{list}{}{%\n" - " \\settowidth{\\labelwidth}{40pt}%\n" - " \\setlength{\\leftmargin}{\\labelwidth}%\n" - " \\setlength{\\parsep}{0pt}%\n" - " \\setlength{\\itemsep}{-4pt}%\n" - " \\renewcommand{\\makelabel}{\\entrylabel}%\n" - " }%\n" - " \\item[#1]%\n" - "}{%\n" - " \\end{list}%\n" - "}\n" - "\n"; - t << "\\newsavebox{\\xrefbox}\n" - "\\newlength{\\xreflength}\n" - "\\newcommand{\\xreflabel}[1]{%\n" - " \\sbox{\\xrefbox}{#1}%\n" - " \\setlength{\\xreflength}{\\wd\\xrefbox}%\n" - " \\ifthenelse{\\xreflength>\\labelwidth}{%\n" - " \\begin{minipage}{\\textwidth}%\n" - " \\setlength{\\parindent}{0pt}%\n" - " \\hangindent=15pt\\bfseries #1\\vspace{1.2\\itemsep}%\n" - " \\end{minipage}%\n" - " }{%\n" - " \\parbox[b]{\\labelwidth}{\\makebox[0pt][l]{\\textbf{#1}}}%\n" - " }%\n" - "}\n" - "\n" - "\n"; - t << "%---------- Commands used by doxygen LaTeX output generator ----------\n" - "\n"; - t << "% Used by <pre> ... </pre>\n" - "\\newenvironment{DoxyPre}{%\n" - " \\small%\n" - " \\begin{alltt}%\n" - "}{%\n" - " \\end{alltt}%\n" - " \\normalsize%\n" - "}\n" - "\n"; - t << "% Used by @code ... @endcode\n" - "\\newenvironment{DoxyCode}{%\n" - " \\par%\n" - " \\scriptsize%\n" - " \\begin{alltt}%\n" - "}{%\n" - " \\end{alltt}%\n" - " \\normalsize%\n" - "}\n" - "\n"; - t << "% Used by @example, @include, @includelineno and @dontinclude\n" - "\\newenvironment{DoxyCodeInclude}{%\n" - " \\DoxyCode%\n" - "}{%\n" - " \\endDoxyCode%\n" - "}\n" - "\n"; - t << "% Used by @verbatim ... @endverbatim\n" - "\\newenvironment{DoxyVerb}{%\n" - " \\footnotesize%\n" - " \\verbatim%\n" - "}{%\n" - " \\endverbatim%\n" - " \\normalsize%\n" - "}\n" - "\n"; - t << "% Used by @verbinclude\n" - "\\newenvironment{DoxyVerbInclude}{%\n" - " \\DoxyVerb%\n" - "}{%\n" - " \\endDoxyVerb%\n" - "}\n" - "\n"; - t << "% Used by numbered lists (using '-#' or <ol> ... </ol>)\n" - "\\newenvironment{DoxyEnumerate}{%\n" - " \\enumerate%\n" - "}{%\n" - " \\endenumerate%\n" - "}\n" - "\n"; - t << "% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)\n" - "\\newenvironment{DoxyItemize}{%\n" - " \\itemize%\n" - "}{%\n" - " \\enditemize%\n" - "}\n" - "\n"; - t << "% Used by description lists (using <dl> ... </dl>)\n" - "\\newenvironment{DoxyDescription}{%\n" - " \\description%\n" - "}{%\n" - " \\enddescription%\n" - "}\n" - "\n"; - t << "% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc\n" - "% (only if caption is specified)\n" - "\\newenvironment{DoxyImage}{%\n" - " \\begin{figure}[H]%\n" - " \\begin{center}%\n" - "}{%\n" - " \\end{center}%\n" - " \\end{figure}%\n" - "}\n" - "\n"; - t << "% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc\n" - "% (only if no caption is specified)\n" - "\\newenvironment{DoxyImageNoCaption}{%\n" - "}{%\n" - "}\n" - "\n"; - t << "% Used by @attention\n" - "\\newenvironment{DoxyAttention}[1]{%\n" - " \\begin{DoxyDesc}{#1}%\n" - "}{%\n" - " \\end{DoxyDesc}%\n" - "}\n" - "\n"; - t << "% Used by @author and @authors\n" - "\\newenvironment{DoxyAuthor}[1]{%\n" - " \\begin{DoxyDesc}{#1}%\n" - "}{%\n" - " \\end{DoxyDesc}%\n" - "}\n" - "\n"; - t << "% Used by @date\n" - "\\newenvironment{DoxyDate}[1]{%\n" - " \\begin{DoxyDesc}{#1}%\n" - "}{%\n" - " \\end{DoxyDesc}%\n" - "}\n" - "\n"; - t << "% Used by @invariant\n" - "\\newenvironment{DoxyInvariant}[1]{%\n" - " \\begin{DoxyDesc}{#1}%\n" - "}{%\n" - " \\end{DoxyDesc}%\n" - "}\n" - "\n"; - t << "% Used by @note\n" - "\\newenvironment{DoxyNote}[1]{%\n" - " \\begin{DoxyDesc}{#1}%\n" - "}{%\n" - " \\end{DoxyDesc}%\n" - "}\n" - "\n"; - t << "% Used by @post\n" - "\\newenvironment{DoxyPostcond}[1]{%\n" - " \\begin{DoxyDesc}{#1}%\n" - "}{%\n" - " \\end{DoxyDesc}%\n" - "}\n" - "\n"; - t << "% Used by @pre\n" - "\\newenvironment{DoxyPrecond}[1]{%\n" - " \\begin{DoxyDesc}{#1}%\n" - "}{%\n" - " \\end{DoxyDesc}%\n" - "}\n" - "\n"; - t << "% Used by @copyright\n" - "\\newenvironment{DoxyCopyright}[1]{%\n" - " \\begin{DoxyDesc}{#1}%\n" - "}{%\n" - " \\end{DoxyDesc}%\n" - "}\n" - "\n"; - t << "% Used by @remark\n" - "\\newenvironment{DoxyRemark}[1]{%\n" - " \\begin{DoxyDesc}{#1}%\n" - "}{%\n" - " \\end{DoxyDesc}%\n" - "}\n" - "\n"; - t << "% Used by @return and @returns\n" - "\\newenvironment{DoxyReturn}[1]{%\n" - " \\begin{DoxyDesc}{#1}%\n" - "}{%\n" - " \\end{DoxyDesc}%\n" - "}\n" - "\n"; - t << "% Used by @since\n" - "\\newenvironment{DoxySince}[1]{%\n" - " \\begin{DoxyDesc}{#1}%\n" - "}{%\n" - " \\end{DoxyDesc}%\n" - "}\n" - "\n"; - t << "% Used by @see\n" - "\\newenvironment{DoxySeeAlso}[1]{%\n" - " \\begin{DoxyDesc}{#1}%\n" - "}{%\n" - " \\end{DoxyDesc}%\n" - "}\n" - "\n"; - t << "% Used by @version\n" - "\\newenvironment{DoxyVersion}[1]{%\n" - " \\begin{DoxyDesc}{#1}%\n" - "}{%\n" - " \\end{DoxyDesc}%\n" - "}\n" - "\n"; - t << "% Used by @warning\n" - "\\newenvironment{DoxyWarning}[1]{%\n" - " \\begin{DoxyDesc}{#1}%\n" - "}{%\n" - " \\end{DoxyDesc}%\n" - "}\n" - "\n"; - t << "% Used by @internal\n" - "\\newenvironment{DoxyInternal}[1]{%\n" - " \\paragraph*{#1}%\n" - "}{%\n" - "}\n" - "\n"; - t << "% Used by @par and @paragraph\n" - "\\newenvironment{DoxyParagraph}[1]{%\n" - " \\begin{list}{}{%\n" - " \\settowidth{\\labelwidth}{40pt}%\n" - " \\setlength{\\leftmargin}{\\labelwidth}%\n" - " \\setlength{\\parsep}{0pt}%\n" - " \\setlength{\\itemsep}{-4pt}%\n" - " \\renewcommand{\\makelabel}{\\entrylabel}%\n" - " }%\n" - " \\item[#1]%\n" - "}{%\n" - " \\end{list}%\n" - "}\n" - "\n"; - t << "% Used by parameter lists\n" - "\\newenvironment{DoxyParams}[2][]{%\n" - " \\begin{DoxyDesc}{#2}%\n" - " \\item[] \\hspace{\\fill} \\vspace{-25pt}%\n" - " \\settowidth{\\labelwidth}{40pt}%\n" - " \\setlength{\\LTleft}{0pt}%\n" - " \\setlength{\\tabcolsep}{0.01\\textwidth}%\n" - " \\ifthenelse{\\equal{#1}{}}%\n" // default: name, docs columns - " {\\begin{longtable}{|>{\\raggedleft\\hspace{0pt}}p{0.15\\textwidth}|%\n" - " p{0.815\\textwidth}|}}%\n" - " {\\ifthenelse{\\equal{#1}{1}}%\n" // inout, name, docs columns, or type, name, docs columns - " {\\begin{longtable}{|>{\\centering}p{0.10\\textwidth}|%\n" - " >{\\raggedleft\\hspace{0pt}}p{0.15\\textwidth}|%\n" - " p{0.685\\textwidth}|}}%\n" - " {\\begin{longtable}{|>{\\centering}p{0.10\\textwidth}|%\n" // inout, type, name, docs columns - " >{\\centering\\hspace{0pt}}p{0.15\\textwidth}|%\n" - " >{\\raggedleft\\hspace{0pt}}p{0.15\\textwidth}|%\n" - " p{0.515\\textwidth}|}}%\n" - " }\\hline%\n" - "}{%\n" - " \\end{longtable}%\n" - " \\end{DoxyDesc}%\n" - "}\n" - "\n"; - t << "% Used for fields of simple structs\n" - "\\newenvironment{DoxyFields}[1]{%\n" - " \\begin{DoxyDesc}{#1}%\n" - " \\item[] \\hspace{\\fill} \\vspace{-25pt}%\n" - " \\settowidth{\\labelwidth}{40pt}%\n" - " \\setlength{\\LTleft}{0pt}%\n" - " \\setlength{\\tabcolsep}{0.01\\textwidth}%\n" - " \\begin{longtable}{|>{\\raggedleft\\hspace{0pt}}p{0.15\\textwidth}|%\n" - " p{0.15\\textwidth}|%\n" - " p{0.635\\textwidth}|}%\n" - " \\hline%\n" - "}{%\n" - " \\end{longtable}%\n" - " \\end{DoxyDesc}%\n" - "}\n" - "\n"; - t << "% Used for parameters within a detailed function description\n" - "\\newenvironment{DoxyParamCaption}{%\n" - " \\renewcommand{\\item}[2][]{##1 {\\em ##2}}%\n" - "}{%\n" - "}\n" - "\n"; - t << "% Used by return value lists\n" - "\\newenvironment{DoxyRetVals}[1]{%\n" - " \\begin{DoxyDesc}{#1}%\n" - " \\begin{description}%\n" - " \\item[] \\hspace{\\fill} \\vspace{-25pt}%\n" - " \\setlength{\\tabcolsep}{0.01\\textwidth}%\n" - " \\begin{longtable}{|>{\\raggedleft\\hspace{0pt}}p{0.25\\textwidth}|%\n" - " p{0.705\\textwidth}|}%\n" - " \\hline%\n" - "}{%\n" - " \\end{longtable}%\n" - " \\end{description}%\n" - " \\end{DoxyDesc}%\n" - "}\n" - "\n"; - t << "% Used by exception lists\n" - "\\newenvironment{DoxyExceptions}[1]{%\n" - " \\begin{DoxyDesc}{#1}%\n" - " \\begin{description}%\n" - " \\item[] \\hspace{\\fill} \\vspace{-25pt}%\n" - " \\setlength{\\tabcolsep}{0.01\\textwidth}%\n" - " \\begin{longtable}{|>{\\raggedleft\\hspace{0pt}}p{0.25\\textwidth}|%\n" - " p{0.705\\textwidth}|}%\n" - " \\hline%\n" - "}{%\n" - " \\end{longtable}%\n" - " \\end{description}%\n" - " \\end{DoxyDesc}%\n" - "}\n" - "\n"; - t << "% Used by template parameter lists\n" - "\\newenvironment{DoxyTemplParams}[1]{%\n" - " \\begin{DoxyDesc}{#1}%\n" - " \\begin{description}%\n" - " \\item[] \\hspace{\\fill} \\vspace{-25pt}%\n" - " \\setlength{\\tabcolsep}{0.01\\textwidth}%\n" - " \\begin{longtable}{|>{\\raggedleft\\hspace{0pt}}p{0.25\\textwidth}|%\n" - " p{0.705\\textwidth}|}%\n" - " \\hline%\n" - "}{%\n" - " \\end{longtable}%\n" - " \\end{description}%\n" - " \\end{DoxyDesc}%\n" - "}\n" - "\n"; - t << "% Used for member lists\n" - "\\newenvironment{DoxyCompactItemize}{%\n" - " \\begin{itemize}%\n" - " \\setlength{\\itemsep}{-3pt}%\n" - " \\setlength{\\parsep}{0pt}%\n" - " \\setlength{\\topsep}{0pt}%\n" - " \\setlength{\\partopsep}{0pt}%\n" - "}{%\n" - " \\end{itemize}%\n" - "}\n" - "\n"; - t << "% Used for member descriptions\n" - "\\newenvironment{DoxyCompactList}{%\n" - " \\begin{list}{}{%\n" - " \\setlength{\\leftmargin}{0.5cm}%\n" - " \\setlength{\\itemsep}{0pt}%\n" - " \\setlength{\\parsep}{0pt}%\n" - " \\setlength{\\topsep}{0pt}%\n" - " \\renewcommand{\\makelabel}{\\hfill}%\n" - " }%\n" - "}{%\n" - " \\end{list}%\n" - "}\n" - "\n"; - t << "% Used for reference lists (@bug, @deprecated, @todo, etc.)\n" - "\\newenvironment{DoxyRefList}{%\n" - " \\begin{list}{}{%\n" - " \\setlength{\\labelwidth}{10pt}%\n" - " \\setlength{\\leftmargin}{\\labelwidth}%\n" - " \\addtolength{\\leftmargin}{\\labelsep}%\n" - " \\renewcommand{\\makelabel}{\\xreflabel}%\n" - " }%\n" - "}{%\n" - " \\end{list}%\n" - "}\n" - "\n"; - t << "% Used by @bug, @deprecated, @todo, etc.\n" - "\\newenvironment{DoxyRefDesc}[1]{%\n" - " \\begin{list}{}{%\n" - " \\renewcommand\\makelabel[1]{\\textbf{##1}}%\n" - " \\settowidth\\labelwidth{\\makelabel{#1}}%\n" - " \\setlength\\leftmargin{\\labelwidth+\\labelsep}%\n" - " }%\n" - "}{%\n" - " \\end{list}%\n" - "}\n" - "\n"; - t << "% Used by parameter lists and simple sections\n" - "\\newenvironment{Desc}\n" - "{\\begin{list}{}{%\n" - " \\settowidth{\\labelwidth}{40pt}%\n" - " \\setlength{\\leftmargin}{\\labelwidth}%\n" - " \\setlength{\\parsep}{0pt}%\n" - " \\setlength{\\itemsep}{-4pt}%\n" - " \\renewcommand{\\makelabel}{\\entrylabel}%\n" - " }\n" - "}{%\n" - " \\end{list}%\n" - "}\n" - "\n"; - t << "% Used by tables\n" - "\\newcommand{\\PBS}[1]{\\let\\temp=\\\\#1\\let\\\\=\\temp}\n" - "\\newlength{\\tmplength}\n" - "\\newenvironment{TabularC}[1]{%\n" - " \\setlength{\\tmplength}{%\n" - " \\linewidth/(#1)-\\tabcolsep*2-\\arrayrulewidth*(#1+1)/(#1)%\n" - " }%\n" - " \\par%\n" - " \\begin{xtabular*}{\\linewidth}{%\n" - " *{#1}{|>{\\PBS\\raggedright\\hspace{0pt}}p{\\the\\tmplength}}|%\n" - " }%\n" - "}{%\n" - " \\end{xtabular*}%\n" - " \\par%\n" - "}\n" - "\n"; - t << "% Used for member group headers\n" - "\\newenvironment{Indent}{%\n" - " \\begin{list}{}{%\n" - " \\setlength{\\leftmargin}{0.5cm}%\n" - " }%\n" - " \\item[]\\ignorespaces%\n" - "}{%\n" - " \\unskip%\n" - " \\end{list}%\n" - "}\n" - "\n"; - t << "% Used when hyperlinks are turned off\n" - "\\newcommand{\\doxyref}[3]{%\n" - " \\textbf{#1} (\\textnormal{#2}\\,\\pageref{#3})%\n" - "}\n" - "\n"; - t << "% Used for syntax highlighting\n" - "\\definecolor{comment}{rgb}{0.5,0.0,0.0}\n" - "\\definecolor{keyword}{rgb}{0.0,0.5,0.0}\n" - "\\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}\n" - "\\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}\n" - "\\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}\n" - "\\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}\n" - "\\definecolor{charliteral}{rgb}{0.0,0.5,0.5}\n" - "\\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}\n" - "\\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}\n" - "\\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}\n" - "\\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}\n"; + t << doxygenLatexStyle; } static void writeDefaultFooter(FTextStream &t) diff --git a/src/libdoxygen.pro.in b/src/libdoxygen.pro.in index 48bd7df..d63f7ac 100644 --- a/src/libdoxygen.pro.in +++ b/src/libdoxygen.pro.in @@ -47,6 +47,7 @@ HEADERS = arguments.h \ doxygen.h \ doxygen_bst.h \ doxygen_css.h \ + doxygen_sty.h \ eclipsehelp.h \ entry.h \ example.h \ diff --git a/src/libdoxygen.t.in b/src/libdoxygen.t.in index 6b45ce7..526a097 100644 --- a/src/libdoxygen.t.in +++ b/src/libdoxygen.t.in @@ -144,6 +144,9 @@ extsearch_js.h: extsearch.js doxygen_css.h: doxygen.css cat doxygen.css | $(TO_C_CMD) >doxygen_css.h +doxygen_sty.h: doxygen.sty + cat doxygen.sty | $(TO_C_CMD) >doxygen_sty.h + navtree_js.h: navtree.js cat navtree.js | $(TO_C_CMD) >navtree_js.h diff --git a/src/markdown.cpp b/src/markdown.cpp index c15516e..a3ac468 100644 --- a/src/markdown.cpp +++ b/src/markdown.cpp @@ -1466,19 +1466,20 @@ int findTableColumns(const char *data,int size,int &start,int &end,int &columns) // count columns between start and end columns=0; - if (n==2) // table row has | ... | - { - columns++; - } if (end>start) { i=start; while (i<=end) // look for more column markers { if (data[i]=='|' && (i==0 || data[i-1]!='\\')) columns++; + if (columns==1) columns++; // first | make a non-table into a two column table i++; } } + if (n==2 && columns==0) // table row has | ... | + { + columns++; + } //printf("findTableColumns(start=%d,end=%d,columns=%d) eol=%d\n", // start,end,columns,eol); return eol; diff --git a/src/pagedef.cpp b/src/pagedef.cpp index 113eaa5..e93b3fd 100644 --- a/src/pagedef.cpp +++ b/src/pagedef.cpp @@ -90,8 +90,9 @@ void PageDef::writeDocumentation(OutputList &ol) static bool generateTreeView = Config_getBool("GENERATE_TREEVIEW"); //outputList->disable(OutputGenerator::Man); - QCString pageName; - pageName=escapeCharsInString(name(),FALSE,TRUE); + QCString pageName,manPageName; + pageName = escapeCharsInString(name(),FALSE,TRUE); + manPageName = escapeCharsInString(name(),TRUE,TRUE); //printf("PageDef::writeDocumentation: %s\n",getOutputFileBase().data()); @@ -110,7 +111,15 @@ void PageDef::writeDocumentation(OutputList &ol) ol.enable(OutputGenerator::Html); } + ol.pushGeneratorState(); + //2.{ + ol.disableAllBut(OutputGenerator::Man); + startFile(ol,getOutputFileBase(),manPageName,title(),HLI_Pages,!generateTreeView); + ol.enableAll(); + ol.disable(OutputGenerator::Man); startFile(ol,getOutputFileBase(),pageName,title(),HLI_Pages,!generateTreeView); + ol.popGeneratorState(); + //2.} if (!generateTreeView) { @@ -126,8 +135,8 @@ void PageDef::writeDocumentation(OutputList &ol) ol.pushGeneratorState(); //2.{ ol.disableAllBut(OutputGenerator::Man); - ol.startTitleHead(pageName); - ol.endTitleHead(pageName, pageName); + ol.startTitleHead(manPageName); + ol.endTitleHead(manPageName, manPageName); if (si) { ol.generateDoc(docFile(),docLine(),this,0,si->title,TRUE,FALSE,0,TRUE,FALSE); @@ -2522,6 +2522,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) g_ccomment=FALSE; } g_condCtx=YY_START; + startCondSection(" "); BEGIN(SkipCond); } <SkipCond>\n { g_yyLineNr++; outputChar('\n'); } @@ -2940,6 +2941,7 @@ void preprocessFile(const char *fileName,BufStr &input,BufStr &output) g_macroExpansion = Config_getBool("MACRO_EXPANSION"); g_expandOnlyPredef = Config_getBool("EXPAND_ONLY_PREDEF"); + g_skip=FALSE; g_curlyCount=0; g_nospaces=FALSE; g_inputBuf=&input; diff --git a/src/scanner.l b/src/scanner.l index 32f00c8..6bbf1c4 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -1119,6 +1119,10 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\" current->type = "id"; } current->name = yytext; + if (insideCpp || insideObjC) + { + current->id = ClangParser::instance()->lookup(yyLineNr,yytext); + } } <ObjCMethod>":"{B}* { // start of parameter list current->name += ':'; @@ -6074,6 +6078,10 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\" docBlock.resize(docBlock.length() - 3); lineCount(); } +<DocLine>{B}*"///"[/]+{B}*/"\n" { // ignore marker line (see bug700345) + handleCommentBlock(docBlock.data(),current->brief.isEmpty()); + BEGIN( docBlockContext ); + } <DocLine>[^\n]*/"\n" { // whole line docBlock+=yytext; handleCommentBlock(docBlock.data(),current->brief.isEmpty()); @@ -6833,7 +6841,8 @@ void CLanguageScanner::parseCode(CodeOutputInterface & codeOutIntf, bool CLanguageScanner::needsPreprocessing(const QCString &extension) { QCString fe=extension.lower(); - return + SrcLangExt lang = getLanguageFromFileName(extension); + return (SrcLangExt_Cpp == lang) || !( fe==".java" || fe==".as" || fe==".d" || fe==".php" || fe==".php4" || fe==".inc" || fe==".phtml" ); diff --git a/src/translator_ar.h b/src/translator_ar.h index 156a471..89be422 100644 --- a/src/translator_ar.h +++ b/src/translator_ar.h @@ -71,7 +71,7 @@ class TranslatorArabic : public TranslatorAdapter_1_4_6 /*! return the language charset. This will be used for the HTML output */ virtual QCString idLanguageCharset() { - return "cp1256"; + return "utf-8"; } // --- Language translation methods ------------------- diff --git a/src/translator_ro.h b/src/translator_ro.h index 1cba127..70da281 100644 --- a/src/translator_ro.h +++ b/src/translator_ro.h @@ -1,12 +1,12 @@ /****************************************************************************** * - * + * * * Copyright (C) 1997-2013 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 - * granted. No representations are made about the suitability of this software + * documentation under the terms of the GNU General Public License is hereby + * granted. No representations are made about the suitability of this software * for any purpose. It is provided "as is" without express or implied warranty. * See the GNU General Public License for more details. * @@ -20,12 +20,13 @@ * * ------------------------------------------- * Project start : 20.09.2000 - * Last Doxygen version covered : 1.5.8 - * Last revision : 15.01.2009 + * Last Doxygen version covered : 1.8.4 + * Last revision : 17.05.2013 * ------------------------------------------- * * Revision history * ---------------- + * 17.05.2013 - Updated translation to cover Doxygen 1.8.4 (Ionuț Dumitrașcu) * 15.01.2009 - Updated Romanian translation to Doxygen 1.5.8 and modified strings to UTF-8, as well as some other changes (Ionuţ Dumitraşcu) * 28.07.2008 - Updated version - covering Doxygen 1.5.6 - and some minor changes (Ionuţ Dumitraşcu) * @@ -41,23 +42,23 @@ #define TRANSLATOR_RO_H -class TranslatorRomanian : public TranslatorAdapter_1_6_0 +class TranslatorRomanian : public Translator { public: // --- Language control methods ------------------- - - /*! Used for identification of the language. The identification - * should not be translated. It should be replaced by the name + + /*! Used for identification of the language. The identification + * should not be translated. It should be replaced by the name * of the language in English using lower-case characters only - * (e.g. "czech", "japanese", "russian", etc.). It should be equal to + * (e.g. "czech", "japanese", "russian", etc.). It should be equal to * the identification used in language.cpp. */ virtual QCString idLanguage() { return "romanian"; } - /*! Used to get the LaTeX command(s) for the language support. + /*! Used to get the LaTeX command(s) for the language support. * This method should return string with commands that switch - * LaTeX to the desired language. For example + * LaTeX to the desired language. For example * <pre>"\\usepackage[german]{babel}\n" * </pre> * or @@ -65,7 +66,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 * "\\usepackage[latin2]{inputenc}\n" * "\\usepackage[T1]{fontenc}\n" * </pre> - * + * * The English LaTeX does not use such commands. Because of this * the empty string is returned in this implementation. */ @@ -97,31 +98,31 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 /*! header that is put before the list of typedefs. */ virtual QCString trMemberTypedefDocumentation() { return "Documentaţia Definiţiilor de Tipuri (typedef) Membre"; } - + /*! header that is put before the list of enumerations. */ virtual QCString trMemberEnumerationDocumentation() { return "Documentaţia Enumerărilor Membre"; } - + /*! header that is put before the list of member functions. */ virtual QCString trMemberFunctionDocumentation() { return "Documentaţia Funcţiilor Membre"; } - + /*! header that is put before the list of member attributes. */ virtual QCString trMemberDataDocumentation() - { + { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "Documentaţia Câmpurilor"; + return "Documentaţia Câmpurilor"; } else { - return "Documentaţia Datelor Membre"; + return "Documentaţia Datelor Membre"; } } /*! this is the text of a link put after brief descriptions. */ - virtual QCString trMore() + virtual QCString trMore() { return "Mai mult..."; } /*! put in the class documentation */ @@ -139,65 +140,65 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 /*! this is the remainder of the sentence after the class name */ virtual QCString trIncludingInheritedMembers() { return ", inclusiv a tuturor membrilor moşteniţi."; } - + /*! this is put at the author sections at the bottom of man pages. * parameter s is name of the project name. */ virtual QCString trGeneratedAutomatically(const char *s) { QCString result="Generat automat de Doxygen"; if (s) result+=(QCString)" pentru "+s; - result+=" din codul sursă."; + result+=" din codul sursă."; return result; } /*! put after an enum name in the list of all members */ virtual QCString trEnumName() { return "nume enumerare"; } - + /*! put after an enum value in the list of all members */ virtual QCString trEnumValue() { return "valoare enumerare"; } - + /*! put after an undocumented member in the list of all members */ virtual QCString trDefinedIn() { return "definit în"; } // quick reference sections - /*! This is put above each page as a link to the list of all groups of + /*! This is put above each page as a link to the list of all groups of * compounds or files (see the \\group command). */ virtual QCString trModules() { return "Module"; } - + /*! This is put above each page as a link to the class hierarchy */ virtual QCString trClassHierarchy() { return "Ierarhia Claselor"; } - + /*! This is put above each page as a link to the list of annotated classes */ virtual QCString trCompoundList() - { + { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { return "Structuri de Date"; } else { - return "Lista Claselor"; + return "Lista Claselor"; } } - + /*! This is put above each page as a link to the list of documented files */ virtual QCString trFileList() { return "Lista fişierelor"; } /*! This is put above each page as a link to all members of compounds. */ virtual QCString trCompoundMembers() - { + { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "Câmpurile de Date"; + return "Câmpurile de Date"; } else { @@ -208,10 +209,10 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 /*! This is put above each page as a link to all members of files. */ virtual QCString trFileMembers() - { + { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "Globale"; + return "Globale"; } else { @@ -250,15 +251,15 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 /*! This is an introduction to the annotated compound list. */ virtual QCString trCompoundListDescription() - { + { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "Lista structurilor de date, cu scurte descrieri:"; + return "Lista structurilor de date, cu scurte descrieri:"; } else { return "Lista claselor, structurilor, uniunilor şi interfeţelor" - ", cu scurte descrieri:"; + ", cu scurte descrieri:"; } } @@ -267,7 +268,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 virtual QCString trCompoundMembersDescription(bool extractAll) { QCString result="Lista tuturor "; - + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { result+="câmpurilor "; @@ -281,7 +282,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 result+="din toate clasele "; } result+=", cu legături către "; - if (!extractAll) + if (!extractAll) { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { @@ -292,7 +293,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 result+="documentaţia clasei pentru fiecare membru în parte:"; } } - else + else { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { @@ -303,7 +304,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 result+="clasele de care aparţin:"; } } - + return result; } @@ -323,9 +324,9 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 result+="din toate fişierele"; } result+=", cu legături către "; - if (extractAll) + if (extractAll) result+="fişierele de care aparţin:"; - else + else result+="documentaţia aferentă:"; return result; @@ -343,37 +344,37 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 virtual QCString trModulesDescription() { return "Lista tuturor modulelor:"; } - // index titles (the project name is prepended for these) + // index titles (the project name is prepended for these) /*! This is used in HTML as the title of index.html. */ virtual QCString trDocumentation() { return "Documentaţie"; } - /*! This is used in LaTeX as the title of the chapter with the + /*! This is used in LaTeX as the title of the chapter with the * index of all groups. */ virtual QCString trModuleIndex() { return "Indexul Modulelor"; } - /*! This is used in LaTeX as the title of the chapter with the + /*! This is used in LaTeX as the title of the chapter with the * class hierarchy. */ virtual QCString trHierarchicalIndex() { return "Index Ierarhic"; } - /*! This is used in LaTeX as the title of the chapter with the + /*! This is used in LaTeX as the title of the chapter with the * annotated compound index. */ virtual QCString trCompoundIndex() - { + { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { + { return "Indexul Structurilor de Date"; } else { - return "Indexul Claselor"; + return "Indexul Claselor"; } } @@ -381,7 +382,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 /*! This is used in LaTeX as the title of the chapter with the * list of all files. */ - virtual QCString trFileIndex() + virtual QCString trFileIndex() { return "Indexul Fişierelor"; } /*! This is used in LaTeX as the title of the chapter containing @@ -394,14 +395,14 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 * the documentation of all classes, structs and unions. */ virtual QCString trClassDocumentation() - { + { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "Documentaţia Structurilor de Date"; + return "Documentaţia Structurilor de Date"; } else { - return "Documentaţia Claselor"; + return "Documentaţia Claselor"; } } @@ -427,106 +428,106 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 /*! This is used in LaTeX as the title of the document */ virtual QCString trReferenceManual() { return "Manual de utilizare"; } - - /*! This is used in the documentation of a file as a header before the + + /*! This is used in the documentation of a file as a header before the * list of defines */ virtual QCString trDefines() { return "Definiţii"; } - /*! This is used in the documentation of a file as a header before the + /*! This is used in the documentation of a file as a header before the * list of function prototypes */ virtual QCString trFuncProtos() { return "Prototipuri de funcţii"; } - /*! This is used in the documentation of a file as a header before the + /*! This is used in the documentation of a file as a header before the * list of typedefs */ virtual QCString trTypedefs() { return "Definiţii de tipuri"; } - /*! This is used in the documentation of a file as a header before the + /*! This is used in the documentation of a file as a header before the * list of enumerations */ virtual QCString trEnumerations() { return "Enumerări"; } - /*! This is used in the documentation of a file as a header before the + /*! This is used in the documentation of a file as a header before the * list of (global) functions */ virtual QCString trFunctions() { return "Funcţii"; } - /*! This is used in the documentation of a file as a header before the + /*! This is used in the documentation of a file as a header before the * list of (global) variables */ virtual QCString trVariables() { return "Variabile"; } - /*! This is used in the documentation of a file as a header before the + /*! This is used in the documentation of a file as a header before the * list of (global) variables */ virtual QCString trEnumerationValues() { return "Valori de enumerări"; } - + /*! This is used in the documentation of a file before the list of * documentation blocks for defines */ virtual QCString trDefineDocumentation() { return "Documentaţia definiţiilor"; } - /*! This is used in the documentation of a file/namespace before the list + /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for function prototypes */ virtual QCString trFunctionPrototypeDocumentation() { return "Documentaţia prototipurilor de funcţii"; } - /*! This is used in the documentation of a file/namespace before the list + /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for typedefs */ virtual QCString trTypedefDocumentation() { return "Documentaţia definiţiilor de tipuri"; } - /*! This is used in the documentation of a file/namespace before the list + /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for enumeration types */ virtual QCString trEnumerationTypeDocumentation() { return "Documentaţia enumerărilor"; } - /*! This is used in the documentation of a file/namespace before the list + /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for functions */ virtual QCString trFunctionDocumentation() { return "Documentaţia funcţiilor"; } - /*! This is used in the documentation of a file/namespace before the list + /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for variables */ virtual QCString trVariableDocumentation() { return "Documentaţia variabilelor"; } - /*! This is used in the documentation of a file/namespace/group before + /*! This is used in the documentation of a file/namespace/group before * the list of links to documented compounds */ virtual QCString trCompounds() - { + { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "Structuri de Date"; + return "Structuri de Date"; } else { - return "Membri"; + return "Membri"; } } - /*! This is used in the standard footer of each page and indicates when - * the page was generated + /*! This is used in the standard footer of each page and indicates when + * the page was generated */ virtual QCString trGeneratedAt(const char *date,const char *projName) - { + { QCString result=(QCString)"Generat "+date; if (projName) result+=(QCString)" pentru "+projName; result+=(QCString)" de către"; @@ -544,7 +545,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 { return (QCString)"Diagrama de relaţii pentru "+clName; } - + /*! this text is generated when the \\internal command is used. */ virtual QCString trForInternalUseOnly() { return "Doar pentru uz intern."; } @@ -576,13 +577,13 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 /*! this text is generated when the \\exception command is used. */ virtual QCString trExceptions() { return "Excepţii"; } - + /*! this text is used in the title page of a LaTeX document. */ virtual QCString trGeneratedBy() { return "Generat de"; } // new since 0.49-990307 - + /*! used as the title of page containing all the index of all namespaces. */ virtual QCString trNamespaceList() { return "Lista de Namespace-uri"; } @@ -602,17 +603,17 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 */ virtual QCString trFriends() { return "Prieteni"; } - + ////////////////////////////////////////////////////////////////////////// // new since 0.49-990405 ////////////////////////////////////////////////////////////////////////// - + /*! used in the class documentation as a header before the list of all - * related classes + * related classes */ virtual QCString trRelatedFunctionDocumentation() { return "Documentaţia funcţiilor prietene sau înrudite"; } - + ////////////////////////////////////////////////////////////////////////// // new since 0.49-990425 ////////////////////////////////////////////////////////////////////////// @@ -655,7 +656,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 result+=namespaceName; return result; } - + /* these are for the member sections of a class, struct or union */ virtual QCString trPublicMembers() { return "Metode Publice"; } @@ -677,7 +678,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 { return "Conectori (slots) Privaţi"; } virtual QCString trStaticPrivateMembers() { return "Metode Statice Private"; } - + /*! this function is used to produce a comma-separated list of items. * use generateMarker(i) to indicate where item i should be put. */ @@ -686,23 +687,23 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 QCString result; int i; // the inherits list contain `numEntries' classes - for (i=0;i<numEntries;i++) + for (i=0;i<numEntries;i++) { // use generateMarker to generate placeholders for the class links! - result+=generateMarker(i); // generate marker for entry i in the list + result+=generateMarker(i); // generate marker for entry i in the list // (order is left to right) - + if (i!=numEntries-1) // not the last entry, so we need a separator { - if (i<numEntries-2) // not the fore last entry + if (i<numEntries-2) // not the fore last entry result+=", "; else // the fore last entry result+=" şi "; } } - return result; + return result; } - + /*! used in class documentation to produce a list of base classes, * if class diagrams are disabled. */ @@ -719,7 +720,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 return "Moştenit de "+trWriteList(numEntries)+"."; } - /*! used in member documentation blocks to produce a list of + /*! used in member documentation blocks to produce a list of * members that are hidden by this one. */ virtual QCString trReimplementedFromList(int numEntries) @@ -741,18 +742,18 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 /*! This is an introduction to the page with all namespace members */ virtual QCString trNamespaceMemberDescription(bool extractAll) - { + { QCString result="Lista tuturor membrilor "; if (!extractAll) result+="documentaţi "; result+="din toate namespace-urile, cu legături către "; - - if (extractAll) + + if (extractAll) result+="documentaţia namespace-ului pentru fiecare membru în parte:"; - else + else result+="namespace-urile de care aparţin:"; return result; } - /*! This is used in LaTeX as the title of the chapter with the + /*! This is used in LaTeX as the title of the chapter with the * index of all namespaces. */ virtual QCString trNamespaceIndex() @@ -821,7 +822,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 virtual QCString trMainPage() { return "Pagina principală"; } - /*! This is used in references to page that are put in the LaTeX + /*! This is used in references to page that are put in the LaTeX * documentation. It should be an abbreviation of the word page. */ virtual QCString trPageAbbreviation() @@ -866,7 +867,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 /*! header that is put before the list of constructor/destructors. */ virtual QCString trConstructorDocumentation() { - return "Documentaţia pentru Constructori şi Destructori"; + return "Documentaţia pentru Constructori şi Destructori"; } /*! Used in the file documentation to point to the corresponding sources. */ virtual QCString trGotoSourceCode() @@ -923,7 +924,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 ////////////////////////////////////////////////////////////////////////// // new since 1.1.0 ////////////////////////////////////////////////////////////////////////// - + virtual QCString trNote() { return "Notă"; @@ -942,7 +943,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 { return "Atribute Publice"; } - + } virtual QCString trStaticPublicAttribs() { @@ -1013,7 +1014,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 { return "Din"; } - + ////////////////////////////////////////////////////////////////////////// // new since 1.1.5 ////////////////////////////////////////////////////////////////////////// @@ -1026,7 +1027,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 /*! page explaining how the dot graph's should be interpreted */ virtual QCString trLegendDocs() { - return + return "Această pagină arată modul în care trebuie să interpretaţi " "grafurile generate de doxygen.<p>\n" "Consideraţi următorul exemplu:\n" @@ -1088,11 +1089,11 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 { return "legenda"; } - + ////////////////////////////////////////////////////////////////////////// // new since 1.2.0 ////////////////////////////////////////////////////////////////////////// - + /*! Used as a marker that is put before a test item */ virtual QCString trTest() { @@ -1170,11 +1171,11 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 { return "Valoare:"; } - + ////////////////////////////////////////////////////////////////////////// // new since 1.2.5 ////////////////////////////////////////////////////////////////////////// - + /*! Used as a marker that is put before a \\bug item */ virtual QCString trBug() { @@ -1190,9 +1191,9 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 // new since 1.2.6 ////////////////////////////////////////////////////////////////////////// - /*! Used as ansicpg for RTF file - * - * The following table shows the correlation of Charset name, Charset Value and + /*! Used as ansicpg for RTF file + * + * The following table shows the correlation of Charset name, Charset Value and * <pre> * Codepage number: * Charset Name Charset Value(hex) Codepage number @@ -1213,15 +1214,15 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 * GB2313_CHARSET 134 (x86) 936 * CHINESEBIG5_CHARSET 136 (x88) 950 * </pre> - * + * */ virtual QCString trRTFansicp() { return "1250"; //EASTEUROPE_CHARSET } - - /*! Used as ansicpg for RTF fcharset + + /*! Used as ansicpg for RTF fcharset * \see trRTFansicp() for a table of possible values. */ virtual QCString trRTFCharSet() @@ -1234,82 +1235,82 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 { return "Index"; } - + /*! This is used for translation of the word that will possibly - * be followed by a single name or by a list of names + * be followed by a single name or by a list of names * of the category. */ virtual QCString trClass(bool first_capital, bool singular) - { + { QCString result((first_capital ? "Clas" : "clas")); result+= singular ? "a":"ele"; - return result; + return result; } /*! This is used for translation of the word that will possibly - * be followed by a single name or by a list of names + * be followed by a single name or by a list of names * of the category. */ virtual QCString trFile(bool first_capital, bool singular) - { + { QCString result((first_capital ? "Fişier" : "fişier")); result+= singular ? "ul":"ele"; - return result; + return result; } /*! This is used for translation of the word that will possibly - * be followed by a single name or by a list of names + * be followed by a single name or by a list of names * of the category. */ virtual QCString trNamespace(bool first_capital, bool singular) - { + { QCString result((first_capital ? "Namespace" : "namespace")); result+= singular ? "-ul":"-urile"; - return result; + return result; } /*! This is used for translation of the word that will possibly - * be followed by a single name or by a list of names + * be followed by a single name or by a list of names * of the category. */ virtual QCString trGroup(bool first_capital, bool singular) - { + { QCString result((first_capital ? "Grupu" : "grupu")); result+= singular ? "l":"rile"; - return result; + return result; } /*! This is used for translation of the word that will possibly - * be followed by a single name or by a list of names + * be followed by a single name or by a list of names * of the category. */ virtual QCString trPage(bool first_capital, bool singular) - { + { QCString result((first_capital ? "Pagin" : "pagin")); result+= singular ? "a":"ile"; - return result; + return result; } /*! This is used for translation of the word that will possibly - * be followed by a single name or by a list of names + * be followed by a single name or by a list of names * of the category. */ virtual QCString trMember(bool first_capital, bool singular) - { + { QCString result((first_capital ? "Membr" : "membr")); result+= singular ? "ul":"ii"; - return result; + return result; } - + /*! This is used for translation of the word that will possibly - * be followed by a single name or by a list of names + * be followed by a single name or by a list of names * of the category. */ virtual QCString trGlobal(bool first_capital, bool singular) - { + { QCString result((first_capital ? "Global" : "global")); if (!singular) result+="e"; - return result; + return result; } ////////////////////////////////////////////////////////////////////////// @@ -1319,10 +1320,10 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 /*! This text is generated when the \\author command is used and * for the author section in man pages. */ virtual QCString trAuthor(bool first_capital, bool singular) - { + { QCString result((first_capital ? "Autor" : "autor")); result+= singular ? "ul":"ii"; - return result; + return result; } ////////////////////////////////////////////////////////////////////////// @@ -1340,7 +1341,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 // new since 1.2.13 ////////////////////////////////////////////////////////////////////////// - /*! used in member documentation blocks to produce a list of + /*! used in member documentation blocks to produce a list of * members that are implemented by this one. */ virtual QCString trImplementedFromList(int numEntries) @@ -1372,8 +1373,8 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 // new since 1.2.17 ////////////////////////////////////////////////////////////////////////// - /*! Used as the header of the list of item that have been - * flagged deprecated + /*! Used as the header of the list of item that have been + * flagged deprecated */ virtual QCString trDeprecatedList() { @@ -1384,7 +1385,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 // new since 1.2.18 ////////////////////////////////////////////////////////////////////////// - /*! Used as a header for declaration section of the events found in + /*! Used as a header for declaration section of the events found in * a C# program */ virtual QCString trEvents() @@ -1404,35 +1405,35 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 /*! Used as a heading for a list of Java class types with package scope. */ virtual QCString trPackageTypes() - { + { return "Tipuri în pachet"; } - /*! Used as a heading for a list of Java class functions with package - * scope. + /*! Used as a heading for a list of Java class functions with package + * scope. */ virtual QCString trPackageMembers() - { + { return "Funcţii în pachet"; } - /*! Used as a heading for a list of static Java class functions with + /*! Used as a heading for a list of static Java class functions with * package scope. */ virtual QCString trStaticPackageMembers() - { + { return "Funcţii statice în pachet"; } - /*! Used as a heading for a list of Java class variables with package + /*! Used as a heading for a list of Java class variables with package * scope. */ virtual QCString trPackageAttribs() - { + { return "Atribute în pachet"; } - /*! Used as a heading for a list of static Java class variables with + /*! Used as a heading for a list of static Java class variables with * package scope. */ virtual QCString trStaticPackageAttribs() - { + { return "Atribute statice în pachet"; } @@ -1440,7 +1441,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 // new since 1.3.1 ////////////////////////////////////////////////////////////////////////// - /*! Used in the quick index of a class/file/namespace member list page + /*! Used in the quick index of a class/file/namespace member list page * to link to the unfiltered list of all members. */ virtual QCString trAll() @@ -1457,9 +1458,9 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 // new since 1.3.3 ////////////////////////////////////////////////////////////////////////// - /*! When the search engine is enabled this text is put in the header - * of each page before the field where one can enter the text to search - * for. + /*! When the search engine is enabled this text is put in the header + * of each page before the field where one can enter the text to search + * for. */ virtual QCString trSearchForIndex() { @@ -1476,7 +1477,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 * text can be different depending on the number of documents found. * Inside the text you can put the special marker $num to insert * the number representing the actual number of search results. - * The @a numDocuments parameter can be either 0, 1 or 2, where the + * The @a numDocuments parameter can be either 0, 1 or 2, where the * value 2 represents 2 or more matches. HTML markup is allowed inside * the returned string. */ @@ -1490,13 +1491,13 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 { return "Am găsit <b>1</b> document corespunzând cererii."; } - else + else { return "Am găsit <b>$num</b> documente corespunzând cererii. " "Lista documentelor găsite, sortate după relevanţă."; } } - /*! This string is put before the list of matched words, for each search + /*! This string is put before the list of matched words, for each search * result. What follows is the list of words that matched the query. */ virtual QCString trSearchMatches() @@ -1549,9 +1550,9 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 * directory is passed via \a dirName. */ virtual QCString trDirReference(const char *dirName) - { - QCString result="Director-referinţă "; result+=dirName; - return result; + { + QCString result="Director-referinţă "; result+=dirName; + return result; } /*! This returns the word directory with or without starting capital @@ -1588,7 +1589,7 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 return "Graful de apeluri pentru această funcţie:"; } - /*! This is used in the documentation of a file/namespace before the list + /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for enumeration values */ virtual QCString trEnumerationValueDocumentation() @@ -1597,12 +1598,12 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 ////////////////////////////////////////////////////////////////////////// // new since 1.5.4 (mainly for Fortran) ////////////////////////////////////////////////////////////////////////// - + /*! header that is put before the list of member subprograms (Fortran). */ virtual QCString trMemberFunctionDocumentationFortran() { return "Documentaţia Funcţiei Membre/Subrutinei"; } - /*! This is put above each page as a link to the list of annotated data types (Fortran). */ + /*! This is put above each page as a link to the list of annotated data types (Fortran). */ virtual QCString trCompoundListFortran() { return "Lista Tipurilor de Date"; } @@ -1623,18 +1624,18 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 result+="documentate "; } result+=" cu legături către "; - if (!extractAll) + if (!extractAll) { result+="documentaţia structurii de date pentru fiecare membru"; } - else + else { result+="tipurile de date de care aparţin:"; } return result; } - /*! This is used in LaTeX as the title of the chapter with the + /*! This is used in LaTeX as the title of the chapter with the * annotated compound index (Fortran). */ virtual QCString trCompoundIndexFortran() @@ -1646,24 +1647,24 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 virtual QCString trTypeDocumentation() { return "Documentaţia Tipurilor de Date"; } - /*! This is used in the documentation of a file as a header before the + /*! This is used in the documentation of a file as a header before the * list of (global) subprograms (Fortran). */ virtual QCString trSubprograms() { return "Funcţii/Subrutine"; } - /*! This is used in the documentation of a file/namespace before the list + /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for subprograms (Fortran) */ virtual QCString trSubprogramDocumentation() { return "Documentaţia Funcţiilor/Subrutinelor"; } - /*! This is used in the documentation of a file/namespace/group before + /*! This is used in the documentation of a file/namespace/group before * the list of links to documented compounds (Fortran) */ virtual QCString trDataTypes() { return "Tipuri de Date"; } - + /*! used as the title of page containing all the index of all modules (Fortran). */ virtual QCString trModulesList() { return "Lista Modulelor"; } @@ -1705,44 +1706,44 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 result += namespaceName; return result; } - + /*! This is put above each page as a link to all members of modules. (Fortran) */ virtual QCString trModulesMembers() { return "Membrii Modulului"; } /*! This is an introduction to the page with all modules members (Fortran) */ virtual QCString trModulesMemberDescription(bool extractAll) - { + { QCString result="Lista tuturor membrilor "; if (!extractAll) result+="documentaţi ai "; result+="modulului cu legături către "; - if (extractAll) + if (extractAll) { result+="documentaţia modulului pentru fiecare membru:"; } - else + else { result+="modulele de care aparţin:"; } return result; } - /*! This is used in LaTeX as the title of the chapter with the + /*! This is used in LaTeX as the title of the chapter with the * index of all modules (Fortran). */ virtual QCString trModulesIndex() { return "Indexul Modulelor"; } - + /*! This is used for translation of the word that will possibly - * be followed by a single name or by a list of names + * be followed by a single name or by a list of names * of the category. */ virtual QCString trModule(bool first_capital, bool singular) - { + { QCString result((first_capital ? "Modul" : "modul")); if (singular) result+="ul"; else result += "ele"; - return result; + return result; } /*! This is put at the bottom of a module documentation page and is * followed by a list of files that were used to generate the page. @@ -1768,26 +1769,26 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 return result; } /*! This is used for translation of the word that will possibly - * be followed by a single name or by a list of names + * be followed by a single name or by a list of names * of the category. */ virtual QCString trType(bool first_capital, bool singular) - { + { QCString result((first_capital ? "Tip" : "tip")); if (singular) result+="ul"; else result += "urile"; - return result; + return result; } /*! This is used for translation of the word that will possibly - * be followed by a single name or by a list of names + * be followed by a single name or by a list of names * of the category. */ virtual QCString trSubprogram(bool first_capital, bool singular) - { + { QCString result((first_capital ? "Subprogram" : "subprogram")); if (singular) result+="ul"; - else result += "urile"; - return result; + else result += "ele"; + return result; } /*! C# Type Constraint list */ @@ -1795,7 +1796,279 @@ class TranslatorRomanian : public TranslatorAdapter_1_6_0 { return "Constrângerile de Tip"; } - + +////////////////////////////////////////////////////////////////////////// +// new since 1.6.0 (mainly for the new search engine) +////////////////////////////////////////////////////////////////////////// + + /*! directory relation for \a name */ + virtual QCString trDirRelation(const char *name) + { + return QCString(name)+" Relație"; + } + + /*! Loading message shown when loading search results */ + virtual QCString trLoading() + { + return "Se încarcă..."; + } + + /*! Label used for search results in the global namespace */ + virtual QCString trGlobalNamespace() + { + return "Namespace Global"; + } + + /*! Message shown while searching */ + virtual QCString trSearching() + { + return "Căutare..."; + } + + /*! Text shown when no search results are found */ + virtual QCString trNoMatches() + { + return "Niciun rezultat"; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.6.3 (missing items for the directory pages) +////////////////////////////////////////////////////////////////////////// + + /*! introduction text for the directory dependency graph */ + virtual QCString trDirDependency(const char *name) + { + return (QCString)"Grafic de dependență a directoarelor pentru "+name; + } + + /*! when clicking a directory dependency label, a page with a + * table is shown. The heading for the first column mentions the + * source file that has a relation to another file. + */ + virtual QCString trFileIn(const char *name) + { + return (QCString)"Fișierul din "+name; + } + + /*! when clicking a directory dependency label, a page with a + * table is shown. The heading for the second column mentions the + * destination file that is included. + */ + virtual QCString trIncludesFileIn(const char *name) + { + return (QCString)"Include fișierul din "+name; + } + + /** Compiles a date string. + * @param year Year in 4 digits + * @param month Month of the year: 1=January + * @param day Day of the Month: 1..31 + * @param dayOfWeek Day of the week: 1=Monday..7=Sunday + * @param hour Hour of the day: 0..23 + * @param minutes Minutes in the hour: 0..59 + * @param seconds Seconds within the minute: 0..59 + * @param includeTime Include time in the result string? + */ + virtual QCString trDateTime(int year,int month,int day,int dayOfWeek, + int hour,int minutes,int seconds, + bool includeTime) + { + static const char *days[] = { "Luni","Marți","Miercuri","Joi","Vineri","Sâmbătă","Duminică" }; + static const char *months[] = { "Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Noi","Dec" }; + QCString sdate; + sdate.sprintf("%s %s %d %d",days[dayOfWeek-1],months[month-1],day,year); + if (includeTime) + { + QCString stime; + stime.sprintf(" %.2d:%.2d:%.2d",hour,minutes,seconds); + sdate+=stime; + } + return sdate; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.7.5 +////////////////////////////////////////////////////////////////////////// + + /*! Header for the page with bibliographic citations */ + virtual QCString trCiteReferences() + { return "Referințe Bibliografice"; } + + /*! Text for copyright paragraph */ + virtual QCString trCopyright() + { return "Copyright"; } + + /*! Header for the graph showing the directory dependencies */ + virtual QCString trDirDepGraph(const char *name) + { return QCString("Grafic de dependență a directoarelor pentru ")+name+":"; } + +////////////////////////////////////////////////////////////////////////// +// new since 1.8.0 +////////////////////////////////////////////////////////////////////////// + + /*! Detail level selector shown for hierarchical indices */ + virtual QCString trDetailLevel() + { return "nivel de detaliu"; } + + /*! Section header for list of template parameters */ + virtual QCString trTemplateParameters() + { return "Parametri Template"; } + + /*! Used in dot graph when UML_LOOK is enabled and there are many fields */ + virtual QCString trAndMore(const QCString &number) + { return "și încă " + number; } + + /*! Used file list for a Java enum */ + virtual QCString trEnumGeneratedFromFiles(bool single) + { QCString result = "Documentația pentru acest enum a fost generată din "; + if (single) + result += "următorul fișier:"; + else + result += "următoarele fișiere:"; + return result; + } + + /*! Header of a Java enum page (Java enums are represented as classes). */ + virtual QCString trEnumReference(const char *name) + { return QCString(name)+" Referință Enum"; } + + /*! Used for a section containing inherited members */ + virtual QCString trInheritedFrom(const char *members,const char *what) + { return QCString(members)+" moștenit(e) din "+what; } + + /*! Header of the sections with inherited members specific for the + * base class(es) + */ + virtual QCString trAdditionalInheritedMembers() + { return "Membri Moșteniți Adiționali"; } + +////////////////////////////////////////////////////////////////////////// +// new since 1.8.2 +////////////////////////////////////////////////////////////////////////// + + /*! Used as a tooltip for the toggle button that appears in the + * navigation tree in the HTML output when GENERATE_TREEVIEW is + * enabled. This tooltip explains the meaning of the button. + */ + virtual QCString trPanelSynchronisationTooltip(bool enable) + { + QCString opt = enable ? "activa" : "dezactiva"; + return "apasă 'click' pentru a "+opt+" sincronizarea panourilor"; + } + + /*! Used in a method of an Objective-C class that is declared in a + * a category. Note that the @1 marker is required and is replaced + * by a link. + */ + virtual QCString trProvidedByCategory() + { + return "Furnizat de categoria @1."; + } + + /*! Used in a method of an Objective-C category that extends a class. + * Note that the @1 marker is required and is replaced by a link to + * the class method. + */ + virtual QCString trExtendsClass() + { + return "Extinde clasa @1."; + } + + /*! Used as the header of a list of class methods in Objective-C. + * These are similar to static public member functions in C++. + */ + virtual QCString trClassMethods() + { + return "Metodele Clasei"; + } + + /*! Used as the header of a list of instance methods in Objective-C. + * These are similar to public member functions in C++. + */ + virtual QCString trInstanceMethods() + { + return "Metodele Instanței"; + } + + /*! Used as the header of the member functions of an Objective-C class. + */ + virtual QCString trMethodDocumentation() + { + return "Documentația Metodelor"; + } + + /*! Used as the title of the design overview picture created for the + * VHDL output. + */ + virtual QCString trDesignOverview() + { + return "Vedere de Ansamblu a Designului"; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.8.4 +////////////////////////////////////////////////////////////////////////// + + /** old style UNO IDL services: implemented interfaces */ + virtual QCString trInterfaces() + { return "Interfețe exportate"; } + + /** old style UNO IDL services: inherited services */ + virtual QCString trServices() + { return "Servicii Incluse"; } + + /** UNO IDL constant groups */ + virtual QCString trConstantGroups() + { return "Grupuri Constante"; } + + /** UNO IDL constant groups */ + virtual QCString trConstantGroupReference(const char *namespaceName) + { + QCString result=namespaceName; + result+=" Referință Grup Constant"; + return result; + } + /** UNO IDL service page title */ + virtual QCString trServiceReference(const char *sName) + { + QCString result=(QCString)sName; + result+=" Referință Serviciu"; + return result; + } + /** UNO IDL singleton page title */ + virtual QCString trSingletonReference(const char *sName) + { + QCString result=(QCString)sName; + result+=" Referință Singleton"; + return result; + } + /** UNO IDL service page */ + virtual QCString trServiceGeneratedFromFiles(bool single) + { + // single is true implies a single file + QCString result=(QCString)"Documentația pentru acest serviciu " + "a fost generată din "; + if (single) + result += "următorul fișier:"; + else + result += "următoarele fișiere:"; + return result; + } + /** UNO IDL singleton page */ + virtual QCString trSingletonGeneratedFromFiles(bool single) + { + // single is true implies a single file + QCString result=(QCString)"Documentația pentru acest singleton " + "a fost generată din "; + if (single) + result += "următorul fișier:"; + else + result += "următoarele fișiere:"; + return result; + } + +////////////////////////////////////////////////////////////////////////// + }; #endif diff --git a/src/translator_sk.h b/src/translator_sk.h index 4fd63ec..836d7f2 100644 --- a/src/translator_sk.h +++ b/src/translator_sk.h @@ -17,6 +17,7 @@ // Updates: // -------- +// 2013/05/14 - Updates for "new since 1.8.4". // 2012/08/02 - Updates for "new since 1.8.2". // 2012/04/18 - Updates for "new since 1.8.0". // 2011/07/28 - Updates for "new since 1.7.5". @@ -31,7 +32,7 @@ #ifndef TRANSLATOR_SK_H #define TRANSLATOR_SK_H -class TranslatorSlovak : public TranslatorAdapter_1_8_2 +class TranslatorSlovak : public Translator { public: // --- Language control methods ------------------- @@ -1963,6 +1964,62 @@ class TranslatorSlovak : public TranslatorAdapter_1_8_2 } ////////////////////////////////////////////////////////////////////////// +// new since 1.8.4 +////////////////////////////////////////////////////////////////////////// + + /** old style UNO IDL services: implemented interfaces */ + virtual QCString trInterfaces() + { return "Exportované rozhrania"; } + + /** old style UNO IDL services: inherited services */ + virtual QCString trServices() + { return "Začlenené služby"; } + + /** UNO IDL constant groups */ + virtual QCString trConstantGroups() + { return "Konštantné skupiny"; } + + /** UNO IDL constant groups */ + virtual QCString trConstantGroupReference(const char *namespaceName) + { + QCString result="Konštantné skupiny z "; + result += namespaceName; + return result; + } + /** UNO IDL service page title */ + virtual QCString trServiceReference(const char *sName) + { + QCString result="Popis služby "; + result += sName; + return result; + } + /** UNO IDL singleton page title */ + virtual QCString trSingletonReference(const char *sName) + { + QCString result="Popis singletonu "; + result += sName; + return result; + } + /** UNO IDL service page */ + virtual QCString trServiceGeneratedFromFiles(bool single) + { + // single is true implies a single file + QCString result="Dokumentácia k tejto službe bola vygenerovaná "; + if (single) result+="z nasledujúceho súboru:"; + else result+="z nasledujúcich súborov:"; + return result; + } + /** UNO IDL singleton page */ + virtual QCString trSingletonGeneratedFromFiles(bool single) + { + // single is true implies a single file + QCString result="Dokumentácia k tomuto singletonu bola vygenerovaná "; + if (single) result+="z nasledujúceho súboru:"; + else result+="z nasledujúcich súborov:"; + return result; + } + +////////////////////////////////////////////////////////////////////////// }; #endif // TRANSLATOR_SK_H |