summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2014-06-16 19:11:22 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2014-06-16 19:11:22 (GMT)
commit21178ab40160abf011fa084a10892b5b7821e44c (patch)
tree9ead1d7a97ec1f37cd48ff2ad32906d3bade24f9
parent0921dea6f50b31b217cb70a6c1e2327a17591b5f (diff)
downloadDoxygen-21178ab40160abf011fa084a10892b5b7821e44c.zip
Doxygen-21178ab40160abf011fa084a10892b5b7821e44c.tar.gz
Doxygen-21178ab40160abf011fa084a10892b5b7821e44c.tar.bz2
Bug 730520 - No documentation generated for method-less C++ struct
-rw-r--r--src/classdef.cpp3
-rw-r--r--src/classlist.cpp13
-rw-r--r--src/filedef.cpp8
-rw-r--r--src/memberdef.cpp6
4 files changed, 20 insertions, 10 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp
index eded587..cef4720 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -3413,8 +3413,7 @@ QCString ClassDef::getOutputFileBase() const
{
static bool inlineGroupedClasses = Config_getBool("INLINE_GROUPED_CLASSES");
static bool inlineSimpleClasses = Config_getBool("INLINE_SIMPLE_STRUCTS");
- static bool separateMemberPages = Config_getBool("SEPARATE_MEMBER_PAGES");
- if (!Doxygen::generatingXmlOutput && !separateMemberPages)
+ if (!Doxygen::generatingXmlOutput)
{
Definition *scope=0;
if (inlineGroupedClasses && partOfGroups()!=0)
diff --git a/src/classlist.cpp b/src/classlist.cpp
index 5751356..6615a99 100644
--- a/src/classlist.cpp
+++ b/src/classlist.cpp
@@ -24,6 +24,7 @@
#include "vhdldocgen.h"
#include "defargs.h"
#include "arguments.h"
+#include "groupdef.h"
ClassList::ClassList() : QList<ClassDef>()
{
@@ -131,21 +132,17 @@ void ClassSDict::writeDocumentation(OutputList &ol,Definition * container)
ClassDef *cd=0;
for (sdi.toFirst();(cd=sdi.current());++sdi)
{
- //printf("%s:writeDocumentation() %p embedded=%d container=%p\n",
- // cd->name().data(),cd->getOuterScope(),cd->isEmbeddedInOuterScope(),
- // container);
+ //printf("%s:writeDocumentation() %p linkable=%d embedded=%d container=%p partOfGroups=%d\n",
+ // cd->name().data(),cd->getOuterScope(),cd->isLinkableInProject(),cd->isEmbeddedInOuterScope(),
+ // container,cd->partOfGroups() ? cd->partOfGroups()->count() : 0);
if (cd->name().find('@')==-1 &&
cd->isLinkableInProject() &&
cd->isEmbeddedInOuterScope() &&
(container==0 || cd->partOfGroups()==0) // if container==0 -> show as part of the group docs, otherwise only show if not part of a group
- //&&
- //(container==0 || // no container -> used for groups
- // cd->getOuterScope()==container || // correct container -> used for namespaces and classes
- // (container->definitionType()==Definition::TypeFile && cd->getOuterScope()==Doxygen::globalScope && cd->partOfGroups()==0) // non grouped class with file scope -> used for files
- //)
)
{
+ //printf(" showing class %s\n",cd->name().data());
if (!found)
{
ol.writeRuler();
diff --git a/src/filedef.cpp b/src/filedef.cpp
index 5752e8c..9e8a61c 100644
--- a/src/filedef.cpp
+++ b/src/filedef.cpp
@@ -432,7 +432,15 @@ void FileDef::writeClassDeclarations(OutputList &ol,const QCString &title)
void FileDef::writeInlineClasses(OutputList &ol)
{
+ // temporarily undo the disbling could be done by startMemberDocumentation()
+ // as a result of setting SEPARATE_MEMBER_PAGES to YES; see bug730512
+ bool isEnabled = ol.isEnabled(OutputGenerator::Html);
+ ol.enable(OutputGenerator::Html);
+
if (m_classSDict) m_classSDict->writeDocumentation(ol,this);
+
+ // restore the initial state if needed
+ if (!isEnabled) ol.disable(OutputGenerator::Html);
}
void FileDef::startMemberDeclarations(OutputList &ol)
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index a1b23e8..9ef3515 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -942,7 +942,9 @@ bool MemberDef::hasExamples()
QCString MemberDef::getOutputFileBase() const
{
static bool separateMemberPages = Config_getBool("SEPARATE_MEMBER_PAGES");
+ static bool inlineSimpleClasses = Config_getBool("INLINE_SIMPLE_STRUCTS");
QCString baseName;
+
//printf("Member: %s: templateMaster=%p group=%p classDef=%p nspace=%p fileDef=%p\n",
// name().data(),m_impl->templateMaster,m_impl->group,m_impl->classDef,
// m_impl->nspace,m_impl->fileDef);
@@ -961,6 +963,10 @@ QCString MemberDef::getOutputFileBase() const
else if (m_impl->classDef)
{
baseName=m_impl->classDef->getOutputFileBase();
+ if (inlineSimpleClasses && m_impl->classDef->isSimple())
+ {
+ return baseName;
+ }
}
else if (m_impl->nspace)
{