diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2004-08-24 20:00:14 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2004-08-24 20:00:14 (GMT) |
commit | 4b77f4fc83a7954a741c1b35ec50e918a2786559 (patch) | |
tree | acf5ce8ed64ee56e5f7eec664f2f00260d068e9c /src/docparser.cpp | |
parent | bb18b811e8f1a4a939eadf28d12bc5f99dd74b82 (diff) | |
download | Doxygen-4b77f4fc83a7954a741c1b35ec50e918a2786559.zip Doxygen-4b77f4fc83a7954a741c1b35ec50e918a2786559.tar.gz Doxygen-4b77f4fc83a7954a741c1b35ec50e918a2786559.tar.bz2 |
Release-1.3.8-20040824
Diffstat (limited to 'src/docparser.cpp')
-rw-r--r-- | src/docparser.cpp | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/src/docparser.cpp b/src/docparser.cpp index 6043a2d..d474cfe 100644 --- a/src/docparser.cpp +++ b/src/docparser.cpp @@ -747,6 +747,7 @@ static void handleLinkedWord(DocNode *parent,QList<DocNode> &children) MemberDef *member=0; QString name = linkToText(g_token->name,TRUE); int len = g_token->name.length(); + ClassDef *cd=0; if (!g_insideHtmlLink && resolveRef(g_context,g_token->name,g_inSeeBlock,&compound,&member)) { @@ -784,6 +785,16 @@ static void handleLinkedWord(DocNode *parent,QList<DocNode> &children) handleLinkedWord(parent,children); children.append(new DocWord(parent,":")); } + else if (!g_insideHtmlLink && (cd=getClass(g_token->name+"-p"))) + { + // special case 2, where the token name is not a class, but could + // be a Obj-C protocol + children.append(new + DocLinkedWord(parent,name, + cd->getReference(), + cd->getOutputFileBase(), + "")); + } else // normal non-linkable word { children.append(new DocWord(parent,g_token->name)); @@ -4383,15 +4394,25 @@ reparsetoken: goto endparagraph; } } + + // determine list depth + int depth = 0; + n=parent(); + while(n) { + if(n->kind() == DocNode::Kind_AutoList) ++depth; + n=n->parent(); + } + // first item or sub list => create new list DocAutoList *al=0; do { - al = new DocAutoList(this,g_token->indent,g_token->isEnumList); + al = new DocAutoList(this,g_token->indent,g_token->isEnumList, + depth); m_children.append(al); retval = al->parse(); } while (retval==TK_LISTITEM && // new list - al->indent()==g_token->indent // at some indent level + al->indent()==g_token->indent // at same indent level ); // check the return value |