summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/classdef.cpp7
-rw-r--r--src/htmlgen.h4
-rw-r--r--src/index.cpp29
-rw-r--r--src/memberdef.cpp9
-rw-r--r--src/memberlist.cpp84
-rw-r--r--src/navtree.js14
6 files changed, 84 insertions, 63 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp
index b8501ad..419e387 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -3410,10 +3410,11 @@ QCString ClassDef::compoundTypeString() const
QCString ClassDef::getOutputFileBase() const
{
- if (!Doxygen::generatingXmlOutput)
+ 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)
{
- static bool inlineGroupedClasses = Config_getBool("INLINE_GROUPED_CLASSES");
- static bool inlineSimpleClasses = Config_getBool("INLINE_SIMPLE_STRUCTS");
Definition *scope=0;
if (inlineGroupedClasses && partOfGroups()!=0)
{
diff --git a/src/htmlgen.h b/src/htmlgen.h
index 366027d..5d86878 100644
--- a/src/htmlgen.h
+++ b/src/htmlgen.h
@@ -280,9 +280,9 @@ class HtmlGenerator : public OutputGenerator
{ t << "</table>" << endl; }
void startDescTableTitle()
//{ t << "<tr><td valign=\"top\"><em>"; }
- { t << "<tr><td class=\"fieldname\"><em>"; }
+ { t << "<tr><td class=\"fieldname\">"; }
void endDescTableTitle()
- { t << "</em>&#160;</td>"; }
+ { t << "&#160;</td>"; }
void startDescTableData()
//{ t << "<td>" << endl; }
{ t << "<td class=\"fielddoc\">" << endl; }
diff --git a/src/index.cpp b/src/index.cpp
index 392acfa..88dbd73 100644
--- a/src/index.cpp
+++ b/src/index.cpp
@@ -345,7 +345,7 @@ void addMembersToIndex(T *def,LayoutDocManager::LayoutPart part,
(!md->isStatic() || extractStatic)
)
{
- if (md->getOuterScope()==def)
+ if (md->getOuterScope()==def || md->getOuterScope()==Doxygen::globalScope)
{
Doxygen::indexList->addContentsItem(isDir,
md->name(),md->getReference(),md->getOutputFileBase(),md->anchor(),FALSE,addToIndex);
@@ -366,15 +366,18 @@ void addMembersToIndex(T *def,LayoutDocManager::LayoutPart part,
MemberDef *emd;
for (emli.toFirst();(emd=emli.current());++emli)
{
- if (emd->getOuterScope()==def)
+ if (!hideUndocMembers || emd->hasDocumentation())
{
- Doxygen::indexList->addContentsItem(FALSE,
- emd->name(),emd->getReference(),emd->getOutputFileBase(),emd->anchor(),FALSE,addToIndex);
- }
- else // inherited member
- {
- Doxygen::indexList->addContentsItem(FALSE,
- emd->name(),def->getReference(),def->getOutputFileBase(),emd->anchor(),FALSE,addToIndex);
+ if (emd->getOuterScope()==def || emd->getOuterScope()==Doxygen::globalScope)
+ {
+ Doxygen::indexList->addContentsItem(FALSE,
+ emd->name(),emd->getReference(),emd->getOutputFileBase(),emd->anchor(),FALSE,addToIndex);
+ }
+ else // inherited member
+ {
+ Doxygen::indexList->addContentsItem(FALSE,
+ emd->name(),def->getReference(),def->getOutputFileBase(),emd->anchor(),FALSE,addToIndex);
+ }
}
}
if (!isAnonymous)
@@ -398,9 +401,10 @@ void addMembersToIndex(T *def,LayoutDocManager::LayoutPart part,
{
if (cd->isLinkable() && (cd->partOfGroups()==0 || def->definitionType()==Definition::TypeGroup))
{
+ static bool inlineSimpleStructs = Config_getBool("INLINE_SIMPLE_STRUCTS");
bool isNestedClass = def->definitionType()==Definition::TypeClass;
addMembersToIndex(cd,LayoutDocManager::Class,cd->displayName(FALSE),cd->anchor(),
- addToIndex && isNestedClass,
+ addToIndex && (isNestedClass || (cd->isSimple() && inlineSimpleStructs)),
preventSeparateIndex || cd->isEmbeddedInOuterScope());
}
}
@@ -1364,7 +1368,10 @@ void writeClassTree(ClassSDict *clDict,FTVHelp *ftv,bool addToIndex,bool globalO
)
)
{
- addMembersToIndex(cd,LayoutDocManager::Class,cd->displayName(FALSE),cd->anchor(),cd->partOfGroups()==0);
+ addMembersToIndex(cd,LayoutDocManager::Class,
+ cd->displayName(FALSE),
+ cd->anchor(),
+ cd->partOfGroups()==0 && !cd->isSimple());
}
if (count>0)
{
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index f26e453..6b890c1 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -979,7 +979,7 @@ QCString MemberDef::getOutputFileBase() const
);
return "dummy";
}
- else if (separateMemberPages)
+ else if (separateMemberPages && isDetailedSectionLinkable())
{
if (getEnumScope()) // enum value, which is part of enum's documentation
{
@@ -1791,11 +1791,12 @@ void MemberDef::writeDeclaration(OutputList &ol,
ol.writeDoc(rootNode,getOuterScope()?getOuterScope():d,this);
if (detailsVisible)
{
+ static bool separateMemberPages = Config_getBool("SEPARATE_MEMBER_PAGES");
ol.pushGeneratorState();
ol.disableAllBut(OutputGenerator::Html);
//ol.endEmphasis();
ol.docify(" ");
- if (m_impl->group!=0 && gd==0) // forward link to the group
+ if (separateMemberPages || (m_impl->group!=0 && gd==0)) // forward link to the page or group
{
ol.startTextLink(getOutputFileBase(),anchor());
}
@@ -1899,7 +1900,7 @@ bool MemberDef::isDetailedSectionVisible(bool inGroup,bool inFile) const
static bool hideUndocMembers = Config_getBool("HIDE_UNDOC_MEMBERS");
bool groupFilter = getGroupDef()==0 || inGroup || separateMemPages;
bool fileFilter = getNamespaceDef()==0 || !inFile;
- bool simpleFilter = !hideUndocMembers && inlineSimpleStructs &&
+ bool simpleFilter = (hasBriefDescription() || !hideUndocMembers) && inlineSimpleStructs &&
getClassDef()!=0 && getClassDef()->isSimple();
bool visible = isDetailedSectionLinkable() && groupFilter && fileFilter &&
@@ -2317,7 +2318,7 @@ void MemberDef::_writeEnumValues(OutputList &ol,Definition *container,
Doxygen::indexList->addIndexItem(container,fmd);
//ol.writeListItem();
- ol.startDescTableTitle(); // this enables emphasis!
+ ol.startDescTableTitle();
ol.startDoxyAnchor(cfname,cname,fmd->anchor(),fmd->name(),fmd->argsString());
first=FALSE;
//ol.startEmphasis();
diff --git a/src/memberlist.cpp b/src/memberlist.cpp
index d5f9ea4..e0851fe 100644
--- a/src/memberlist.cpp
+++ b/src/memberlist.cpp
@@ -379,9 +379,18 @@ void MemberList::writePlainDeclarations(OutputList &ol,
}
ol.startMemberDeclaration();
ol.startMemberItem(md->anchor(),0,inheritId);
+ bool detailsLinkable = md->isDetailedSectionLinkable();
+ if (!detailsLinkable)
+ {
+ ol.startDoxyAnchor(md->getOutputFileBase(),0,md->anchor(),md->name(),QCString());
+ }
ol.writeString("enum ");
ol.insertMemberAlign();
md->writeEnumDeclaration(ol,cd,nd,fd,gd,compoundType);
+ if (!detailsLinkable)
+ {
+ ol.endDoxyAnchor(md->getOutputFileBase(),md->anchor());
+ }
ol.endMemberItem();
if (!md->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
{
@@ -694,52 +703,53 @@ void MemberList::writeDocumentationPage(OutputList &ol,
MemberDef *md;
for ( ; (md=mli.current()) ; ++mli)
{
- QCString diskName=md->getOutputFileBase();
- QCString title=md->qualifiedName();
- startFile(ol,diskName,md->name(),title,HLI_None,!generateTreeView,
- container->getOutputFileBase());
- if (!generateTreeView)
+ if (md->isDetailedSectionLinkable())
{
- container->writeNavigationPath(ol);
- ol.endQuickIndices();
- }
- ol.startContents();
-
+ QCString diskName=md->getOutputFileBase();
+ QCString title=md->qualifiedName();
+ startFile(ol,diskName,md->name(),title,HLI_None,!generateTreeView,diskName);
+ if (!generateTreeView)
+ {
+ container->writeNavigationPath(ol);
+ ol.endQuickIndices();
+ }
+ ol.startContents();
- if (generateTreeView)
- {
- md->writeDocumentation(this,ol,scopeName,container,m_inGroup);
- ol.endContents();
- endFileWithNavPath(container,ol);
- }
- else
- {
- ol.writeString("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n"
- " <tr>\n"
- " <td valign=\"top\">\n");
+ if (generateTreeView)
+ {
+ md->writeDocumentation(this,ol,scopeName,container,m_inGroup);
+ ol.endContents();
+ endFileWithNavPath(container,ol);
+ }
+ else
+ {
+ ol.writeString("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n"
+ " <tr>\n"
+ " <td valign=\"top\">\n");
- container->writeQuickMemberLinks(ol,md);
+ container->writeQuickMemberLinks(ol,md);
- ol.writeString(" </td>\n");
- ol.writeString(" <td valign=\"top\" class=\"mempage\">\n");
+ ol.writeString(" </td>\n");
+ ol.writeString(" <td valign=\"top\" class=\"mempage\">\n");
- md->writeDocumentation(this,ol,scopeName,container,m_inGroup);
+ md->writeDocumentation(this,ol,scopeName,container,m_inGroup);
- ol.writeString(" </td>\n");
- ol.writeString(" </tr>\n");
- ol.writeString("</table>\n");
+ ol.writeString(" </td>\n");
+ ol.writeString(" </tr>\n");
+ ol.writeString("</table>\n");
- endFile(ol);
+ endFile(ol);
+ }
}
- }
- if (memberGroupList)
- {
- //printf("MemberList::writeDocumentation() -- member groups\n");
- MemberGroupListIterator mgli(*memberGroupList);
- MemberGroup *mg;
- for (;(mg=mgli.current());++mgli)
+ if (memberGroupList)
{
- mg->writeDocumentationPage(ol,scopeName,container);
+ //printf("MemberList::writeDocumentation() -- member groups\n");
+ MemberGroupListIterator mgli(*memberGroupList);
+ MemberGroup *mg;
+ for (;(mg=mgli.current());++mgli)
+ {
+ mg->writeDocumentationPage(ol,scopeName,container);
+ }
}
}
}
diff --git a/src/navtree.js b/src/navtree.js
index da868e5..9026962 100644
--- a/src/navtree.js
+++ b/src/navtree.js
@@ -116,11 +116,13 @@ var animationInProgress = false;
function gotoAnchor(anchor,aname,updateLocation)
{
var pos, docContent = $('#doc-content');
- if (anchor.parent().attr('class')=='memItemLeft' ||
- anchor.parent().attr('class')=='fieldtype' ||
- anchor.parent().is(':header'))
+ var ancParent = $(anchor.parent());
+ if (ancParent.hasClass('memItemLeft') ||
+ ancParent.hasClass('fieldname') ||
+ ancParent.hasClass('fieldtype') ||
+ ancParent.is(':header'))
{
- pos = anchor.parent().position().top;
+ pos = ancParent.position().top;
} else if (anchor.position()) {
pos = anchor.position().top;
}
@@ -278,8 +280,8 @@ function highlightAnchor()
var rows = $('.memberdecls tr[class$="'+
window.location.hash.substring(1).replace(/</g,'\\3c ')+'"]');
glowEffect(rows.children(),300); // member without details
- } else if (anchor.parents().slice(2).prop('tagName')=='TR') {
- glowEffect(anchor.parents('div.memitem'),1000); // enum value
+ } else if (anchor.parent().attr('class')=='fieldname'){
+ glowEffect(anchor.parent().parent(),1000); // enum value
} else if (anchor.parent().attr('class')=='fieldtype'){
glowEffect(anchor.parent().parent(),1000); // struct field
} else if (anchor.parent().is(":header")) {