diff options
Diffstat (limited to 'addon')
-rw-r--r-- | addon/xmlparse/compoundhandler.cpp | 17 | ||||
-rw-r--r-- | addon/xmlparse/compoundhandler.h | 3 | ||||
-rw-r--r-- | addon/xmlparse/memberhandler.cpp | 9 | ||||
-rw-r--r-- | addon/xmlparse/memberhandler.h | 3 |
4 files changed, 28 insertions, 4 deletions
diff --git a/addon/xmlparse/compoundhandler.cpp b/addon/xmlparse/compoundhandler.cpp index dd81a2a..9763e9d 100644 --- a/addon/xmlparse/compoundhandler.cpp +++ b/addon/xmlparse/compoundhandler.cpp @@ -40,6 +40,9 @@ CompoundHandler::CompoundHandler(IBaseHandler *parent) addStartHandler("detaileddescription",this,&CompoundHandler::startDetailedDesc); addStartHandler("sectiondef",this,&CompoundHandler::startSection); + + addStartHandler("location",this,&CompoundHandler::startLocation); + addEndHandler("location"); } CompoundHandler::~CompoundHandler() @@ -71,10 +74,16 @@ void CompoundHandler::startDetailedDesc(const QXmlAttributes& attrib) void CompoundHandler::startCompound(const QXmlAttributes& attrib) { - m_parent->setDelegate(this); - m_id = attrib.value("id"); - m_kind = attrib.value("kind"); - printf("startCompound(id=`%s' type=`%s')\n",m_id.data(),m_kind.data()); + m_parent->setDelegate(this); + m_id = attrib.value("id"); + m_kind = attrib.value("kind"); + printf("startCompound(id=`%s' type=`%s')\n",m_id.data(),m_kind.data()); +} + +void CompoundHandler::startLocation(const QXmlAttributes& attrib) +{ + m_defFile = attrib.value("file"); + m_defLine = attrib.value("line").toInt(); } void CompoundHandler::endCompound() diff --git a/addon/xmlparse/compoundhandler.h b/addon/xmlparse/compoundhandler.h index 7d7c9b9..420cac6 100644 --- a/addon/xmlparse/compoundhandler.h +++ b/addon/xmlparse/compoundhandler.h @@ -36,6 +36,7 @@ class CompoundHandler : public ICompound, public BaseHandler<CompoundHandler> virtual void endCompoundName(); virtual void startBriefDesc(const QXmlAttributes& attrib); virtual void startDetailedDesc(const QXmlAttributes& attrib); + virtual void startLocation(const QXmlAttributes& attrib); CompoundHandler(IBaseHandler *parent); virtual ~CompoundHandler(); @@ -74,6 +75,8 @@ class CompoundHandler : public ICompound, public BaseHandler<CompoundHandler> QString m_id; QString m_kind; QString m_name; + QString m_defFile; + int m_defLine; }; #endif diff --git a/addon/xmlparse/memberhandler.cpp b/addon/xmlparse/memberhandler.cpp index 3198676..cf29e05 100644 --- a/addon/xmlparse/memberhandler.cpp +++ b/addon/xmlparse/memberhandler.cpp @@ -34,6 +34,9 @@ MemberHandler::MemberHandler(IBaseHandler *parent) addStartHandler("detaileddescription",this,&MemberHandler::startDetailedDesc); + addStartHandler("location",this,&MemberHandler::startLocation); + addEndHandler("location"); + m_params.setAutoDelete(TRUE); } @@ -69,6 +72,12 @@ void MemberHandler::startDetailedDesc(const QXmlAttributes& attrib) m_detailed = docHandler; } +void MemberHandler::startLocation(const QXmlAttributes& attrib) +{ + m_defFile = attrib.value("file"); + m_defLine = attrib.value("line").toInt(); +} + void MemberHandler::endMember() { m_parent->setDelegate(0); diff --git a/addon/xmlparse/memberhandler.h b/addon/xmlparse/memberhandler.h index 7a5ea06..0b017e5 100644 --- a/addon/xmlparse/memberhandler.h +++ b/addon/xmlparse/memberhandler.h @@ -36,6 +36,7 @@ class MemberHandler : public IMember, public BaseHandler<MemberHandler> virtual void endName(); virtual void startBriefDesc(const QXmlAttributes& attrib); virtual void startDetailedDesc(const QXmlAttributes& attrib); + virtual void startLocation(const QXmlAttributes& attrib); MemberHandler(IBaseHandler *parent); virtual ~MemberHandler(); @@ -60,6 +61,8 @@ class MemberHandler : public IMember, public BaseHandler<MemberHandler> DocHandler *m_brief; DocHandler *m_detailed; QList<IParam> m_params; + QString m_defFile; + int m_defLine; }; #endif |