summaryrefslogtreecommitdiffstats
path: root/addon/xmlparse/sectionhandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'addon/xmlparse/sectionhandler.cpp')
-rw-r--r--addon/xmlparse/sectionhandler.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/addon/xmlparse/sectionhandler.cpp b/addon/xmlparse/sectionhandler.cpp
new file mode 100644
index 0000000..0b63832
--- /dev/null
+++ b/addon/xmlparse/sectionhandler.cpp
@@ -0,0 +1,34 @@
+#include "compoundhandler.h"
+#include "sectionhandler.h"
+
+SectionHandler::SectionHandler(IBaseHandler *parent) : m_parent(parent)
+{
+ m_members.setAutoDelete(TRUE);
+ addEndHandler("sectiondef",this,&SectionHandler::endSection);
+ addStartHandler("memberdef",this,&SectionHandler::startMember);
+}
+
+SectionHandler::~SectionHandler()
+{
+}
+
+void SectionHandler::startSection(const QXmlAttributes& attrib)
+{
+ m_parent->setDelegate(this);
+ m_kind = attrib.value("kind");
+ printf("section kind=`%s'\n",m_kind.data());
+}
+
+void SectionHandler::endSection()
+{
+ m_parent->setDelegate(0);
+}
+
+void SectionHandler::startMember(const QXmlAttributes& attrib)
+{
+ MemberHandler *memHandler = new MemberHandler(this);
+ memHandler->startMember(attrib);
+ m_members.append(memHandler);
+}
+
+