summaryrefslogtreecommitdiffstats
path: root/addon/doxmlparser/src/sectionhandler.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2001-12-29 18:30:48 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2001-12-29 18:30:48 (GMT)
commitad53b7bebd3042598e5a11b1f3ef29468815138b (patch)
tree048517043e4c90dcc686bc038b480825fe32886c /addon/doxmlparser/src/sectionhandler.cpp
parent7e4d434c3650bb9f7e5f460b1dbf6fed8be04a5f (diff)
downloadDoxygen-ad53b7bebd3042598e5a11b1f3ef29468815138b.zip
Doxygen-ad53b7bebd3042598e5a11b1f3ef29468815138b.tar.gz
Doxygen-ad53b7bebd3042598e5a11b1f3ef29468815138b.tar.bz2
Release-1.2.13
Diffstat (limited to 'addon/doxmlparser/src/sectionhandler.cpp')
-rw-r--r--addon/doxmlparser/src/sectionhandler.cpp61
1 files changed, 61 insertions, 0 deletions
diff --git a/addon/doxmlparser/src/sectionhandler.cpp b/addon/doxmlparser/src/sectionhandler.cpp
new file mode 100644
index 0000000..d1c7b1f
--- /dev/null
+++ b/addon/doxmlparser/src/sectionhandler.cpp
@@ -0,0 +1,61 @@
+/******************************************************************************
+ *
+ * $Id$
+ *
+ *
+ * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied warranty.
+ * See the GNU General Public License for more details.
+ *
+ */
+
+#include "mainhandler.h"
+#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);
+}
+
+void SectionHandler::initialize(MainHandler *m)
+{
+ QListIterator<IMember> mli(m_members);
+ MemberHandler *mh;
+ for (;(mh=(MemberHandler *)mli.current());++mli)
+ {
+ m->insertMemberById(mh->id(),mh);
+ m->insertMemberByName(mh->name(),mh);
+ }
+}
+
+