summaryrefslogtreecommitdiffstats
path: root/addon/xmlparse/memberhandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'addon/xmlparse/memberhandler.cpp')
-rw-r--r--addon/xmlparse/memberhandler.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/addon/xmlparse/memberhandler.cpp b/addon/xmlparse/memberhandler.cpp
index 54dd0f0..0fbf5c1 100644
--- a/addon/xmlparse/memberhandler.cpp
+++ b/addon/xmlparse/memberhandler.cpp
@@ -16,6 +16,7 @@
#include "memberhandler.h"
#include "sectionhandler.h"
#include "dochandler.h"
+#include "mainhandler.h"
MemberHandler::MemberHandler(IBaseHandler *parent)
: m_parent(parent), m_brief(0), m_detailed(0)
@@ -90,6 +91,7 @@ void MemberHandler::startReferences(const QXmlAttributes& attrib)
{
MemberReference *mr = new MemberReference;
mr->m_memId = attrib.value("id");
+ mr->m_line = attrib.value("line").toInt();
m_references.append(mr);
m_curString="";
}
@@ -103,6 +105,7 @@ void MemberHandler::startReferencedBy(const QXmlAttributes& attrib)
{
MemberReference *mr = new MemberReference;
mr->m_memId = attrib.value("id");
+ mr->m_line = attrib.value("line").toInt();
m_referencedBy.append(mr);
m_curString="";
}
@@ -136,4 +139,22 @@ void MemberHandler::startParam(const QXmlAttributes& attrib)
m_params.append(paramHandler);
}
+void MemberHandler::initialize(MainHandler *mh)
+{
+ QListIterator<MemberReference> mli(m_references);
+ MemberReference *mr;
+ for (;(mr=mli.current());++mli)
+ {
+ mr->initialize(mh);
+ }
+}
+void MemberHandler::MemberReference::initialize(MainHandler *mh)
+{
+ m_mainHandler = mh;
+}
+
+IMember *MemberHandler::MemberReference::getMember() const
+{
+ return m_mainHandler->getMemberById(m_memId);
+}