Commit eed0c89f authored by Dimitri van Heesch's avatar Dimitri van Heesch

Bug 692004 - show includes for free functions

parent 727e5e1c
......@@ -882,6 +882,13 @@ 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'>
<![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.
]]>
</option>
<option type='bool' id='FORCE_LOCAL_INCLUDES' defval='0'>
<docs>
<![CDATA[
......
......@@ -2382,6 +2382,46 @@ void MemberDef::_writeEnumValues(OutputList &ol,Definition *container,
}
}
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.
......@@ -2711,6 +2751,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
......
......@@ -385,6 +385,7 @@ class MemberDef : public Definition
void _computeIsConstructor();
void _computeIsDestructor();
void _getLabels(QStrList &sl,Definition *container) const;
void _writeGroupInclude(OutputList &ol,bool inGroup);
void _writeCallGraph(OutputList &ol);
void _writeCallerGraph(OutputList &ol);
void _writeReimplements(OutputList &ol);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment