summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2013-11-29 19:49:28 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2013-11-29 19:49:28 (GMT)
commitd3de023dd3ece65ce932584b0000770449463359 (patch)
treedd11c8b2790e0a8873120fa0c71ff68b06a68204 /src
parent00b7d393215f6b7e08d6b931c6da32e4103c5a36 (diff)
parent006dd531b693473fb948aa2648c3bc840d66f9fa (diff)
downloadDoxygen-d3de023dd3ece65ce932584b0000770449463359.zip
Doxygen-d3de023dd3ece65ce932584b0000770449463359.tar.gz
Doxygen-d3de023dd3ece65ce932584b0000770449463359.tar.bz2
Merge branch 'master' into template
Conflicts: src/memberdef.cpp src/memberdef.h
Diffstat (limited to 'src')
-rw-r--r--src/config.xml9
-rw-r--r--src/memberdef.cpp43
-rw-r--r--src/memberdef.h1
3 files changed, 53 insertions, 0 deletions
diff --git a/src/config.xml b/src/config.xml
index e9c9add..eff8cff 100644
--- a/src/config.xml
+++ b/src/config.xml
@@ -882,6 +882,15 @@ Go to the <a href="commands.html">next</a> section or return to the
]]>
</docs>
</option>
+ <option type='bool' id='SHOW_GROUPED_MEMB_INC' defval='0'>
+ <docs>
+<![CDATA[
+ If the SHOW_GROUPED_MEMB_INC tag is set to \c YES then Doxygen
+ will add for each grouped member an include statement to the documentation,
+ telling the reader which file to include in order to use the member.
+]]>
+ </docs>
+ </option>
<option type='bool' id='FORCE_LOCAL_INCLUDES' defval='0'>
<docs>
<![CDATA[
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index 2f47e9d..2059341 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -2447,6 +2447,47 @@ QCString MemberDef::displayDefinition() const
return substitute(ldef,"::",sep);
}
+void MemberDef::_writeGroupInclude(OutputList &ol,bool inGroup)
+{
+ // only write out the include file if this is not part of a class or file
+ // definition
+ static bool showGroupedMembInc = Config_getBool("SHOW_GROUPED_MEMB_INC");
+ FileDef *fd = getFileDef();
+ QCString nm;
+ if (fd) nm = getFileDef()->docName();
+ if (inGroup && fd && showGroupedMembInc && !nm.isEmpty())
+ {
+ ol.startParagraph();
+ ol.startTypewriter();
+ SrcLangExt lang = getLanguage();
+ bool isIDLorJava = lang==SrcLangExt_IDL || lang==SrcLangExt_Java;
+ if (isIDLorJava)
+ {
+ ol.docify("import ");
+ }
+ else
+ {
+ ol.docify("#include ");
+ }
+
+ if (isIDLorJava) ol.docify("\""); else ol.docify("<");
+
+ if (fd && fd->isLinkable())
+ {
+ ol.writeObjectLink(fd->getReference(),fd->getOutputFileBase(),fd->anchor(),nm);
+ }
+ else
+ {
+ ol.docify(nm);
+ }
+
+ if (isIDLorJava) ol.docify("\""); else ol.docify(">");
+
+ ol.endTypewriter();
+ ol.endParagraph();
+ }
+}
+
/*! Writes the "detailed documentation" section of this member to
* all active output formats.
*/
@@ -2775,6 +2816,8 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
ol.endDoxyAnchor(cfname,memAnchor);
ol.startIndent();
+ _writeGroupInclude(ol,inGroup);
+
/* write multi-line initializer (if any) */
if (hasMultiLineInitializer()
//initLines>0 && ((initLines<maxInitLines && userInitLines==-1) // implicitly enabled
diff --git a/src/memberdef.h b/src/memberdef.h
index 590cf65..aa17798 100644
--- a/src/memberdef.h
+++ b/src/memberdef.h
@@ -386,6 +386,7 @@ class MemberDef : public Definition
void _computeLinkableInProject();
void _computeIsConstructor();
void _computeIsDestructor();
+ void _writeGroupInclude(OutputList &ol,bool inGroup);
void _writeCallGraph(OutputList &ol);
void _writeCallerGraph(OutputList &ol);
void _writeReimplements(OutputList &ol);