summaryrefslogtreecommitdiffstats
path: root/src/docparser.cpp
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2004-08-24 20:00:14 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2004-08-24 20:00:14 (GMT)
commit4b77f4fc83a7954a741c1b35ec50e918a2786559 (patch)
treeacf5ce8ed64ee56e5f7eec664f2f00260d068e9c /src/docparser.cpp
parentbb18b811e8f1a4a939eadf28d12bc5f99dd74b82 (diff)
downloadDoxygen-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.cpp25
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