Commit a9f93437 authored by Dimitri van Heesch's avatar Dimitri van Heesch
Browse files

Fixed issues with SEPARATE_MEMBER_PAGES and INLINE_SIMPLE_STRUCTS

parent 9214d84a
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -3409,11 +3409,12 @@ 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)
  {
    Definition *scope=0;
    if (inlineGroupedClasses && partOfGroups()!=0)
    {
+2 −2
Original line number Diff line number Diff line
@@ -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; }
+18 −11
Original line number Diff line number Diff line
@@ -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,7 +366,9 @@ void addMembersToIndex(T *def,LayoutDocManager::LayoutPart part,
              MemberDef *emd;
              for (emli.toFirst();(emd=emli.current());++emli)
              {
                if (emd->getOuterScope()==def)
                if (!hideUndocMembers || emd->hasDocumentation())
                {
                  if (emd->getOuterScope()==def || emd->getOuterScope()==Doxygen::globalScope)
                  {
                    Doxygen::indexList->addContentsItem(FALSE,
                        emd->name(),emd->getReference(),emd->getOutputFileBase(),emd->anchor(),FALSE,addToIndex);
@@ -377,6 +379,7 @@ void addMembersToIndex(T *def,LayoutDocManager::LayoutPart part,
                        emd->name(),def->getReference(),def->getOutputFileBase(),emd->anchor(),FALSE,addToIndex);
                  }
                }
              }
              if (!isAnonymous)
              {
                Doxygen::indexList->decContentsDepth();
@@ -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)
          {
+5 −4
Original line number Diff line number Diff line
@@ -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();
+47 −37
Original line number Diff line number Diff line
@@ -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"))
              {
@@ -693,11 +702,12 @@ void MemberList::writeDocumentationPage(OutputList &ol,
  MemberListIterator mli(*this);
  MemberDef *md;
  for ( ; (md=mli.current()) ; ++mli)
  {
    if (md->isDetailedSectionLinkable())
    {
      QCString diskName=md->getOutputFileBase();
      QCString title=md->qualifiedName();
    startFile(ol,diskName,md->name(),title,HLI_None,!generateTreeView,
              container->getOutputFileBase());
      startFile(ol,diskName,md->name(),title,HLI_None,!generateTreeView,diskName);
      if (!generateTreeView)
      {
        container->writeNavigationPath(ol);
@@ -705,7 +715,6 @@ void MemberList::writeDocumentationPage(OutputList &ol,
      }
      ol.startContents();


      if (generateTreeView)
      {
        md->writeDocumentation(this,ol,scopeName,container,m_inGroup);
@@ -743,6 +752,7 @@ void MemberList::writeDocumentationPage(OutputList &ol,
      }
    }
  }
}

void MemberList::addMemberGroup(MemberGroup *mg)
{
Loading