diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2003-02-15 20:00:58 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2003-02-15 20:00:58 (GMT) |
commit | 067ee3cfc7a79acd42cedb3f89713b9ed5f47f93 (patch) | |
tree | d5ea8d453754a1b971fadd965b8949a3a3d0de9a /addon/doxmlparser/src | |
parent | e0e5c8556b4713e7dad60537658cd411f8dfd858 (diff) | |
download | Doxygen-067ee3cfc7a79acd42cedb3f89713b9ed5f47f93.zip Doxygen-067ee3cfc7a79acd42cedb3f89713b9ed5f47f93.tar.gz Doxygen-067ee3cfc7a79acd42cedb3f89713b9ed5f47f93.tar.bz2 |
Release-1.3-rc3-20020215
Diffstat (limited to 'addon/doxmlparser/src')
-rw-r--r-- | addon/doxmlparser/src/doxmlintf.h | 6 | ||||
-rw-r--r-- | addon/doxmlparser/src/sectionhandler.cpp | 14 | ||||
-rw-r--r-- | addon/doxmlparser/src/sectionhandler.h | 11 |
3 files changed, 30 insertions, 1 deletions
diff --git a/addon/doxmlparser/src/doxmlintf.h b/addon/doxmlparser/src/doxmlintf.h index 481cb2f..3f7762c 100644 --- a/addon/doxmlparser/src/doxmlintf.h +++ b/addon/doxmlparser/src/doxmlintf.h @@ -727,6 +727,12 @@ class ISection virtual bool isProtected() const = 0; }; +class IUserDefined : public ISection +{ + public: + virtual const IString * header() const = 0; +}; + class ISectionIterator { public: diff --git a/addon/doxmlparser/src/sectionhandler.cpp b/addon/doxmlparser/src/sectionhandler.cpp index 1bbdf3c..5da0006 100644 --- a/addon/doxmlparser/src/sectionhandler.cpp +++ b/addon/doxmlparser/src/sectionhandler.cpp @@ -88,6 +88,8 @@ SectionHandler::SectionHandler(IBaseHandler *parent) : m_parent(parent) m_members.setAutoDelete(TRUE); addEndHandler("sectiondef",this,&SectionHandler::endSection); addStartHandler("memberdef",this,&SectionHandler::startMember); + addStartHandler("header",this,&SectionHandler::startHeader); + addEndHandler("header",this,&SectionHandler::endHeader); } SectionHandler::~SectionHandler() @@ -115,6 +117,18 @@ void SectionHandler::startMember(const QXmlAttributes& attrib) m_members.append(memHandler); } +void SectionHandler::startHeader(const QXmlAttributes&) +{ + m_header=""; + m_curString=""; +} + +void SectionHandler::endHeader() +{ + m_header = m_curString.stripWhiteSpace(); + debug(2,"member header=`%s'\n",m_header.data()); +} + void SectionHandler::initialize(CompoundHandler *ch) { QListIterator<MemberHandler> mli(m_members); diff --git a/addon/doxmlparser/src/sectionhandler.h b/addon/doxmlparser/src/sectionhandler.h index 42d3340..b6b674f 100644 --- a/addon/doxmlparser/src/sectionhandler.h +++ b/addon/doxmlparser/src/sectionhandler.h @@ -34,12 +34,14 @@ class SectionIterator : }; -class SectionHandler : public ISection, public BaseHandler<SectionHandler> +class SectionHandler : public IUserDefined, public BaseHandler<SectionHandler> { public: virtual void startMember(const QXmlAttributes& attrib); + virtual void startHeader(const QXmlAttributes& attrib); virtual void startSection(const QXmlAttributes& attrib); virtual void endSection(); + virtual void endHeader(); SectionHandler(IBaseHandler *parent); virtual ~SectionHandler(); @@ -73,10 +75,17 @@ class SectionHandler : public ISection, public BaseHandler<SectionHandler> void initialize(CompoundHandler *c); + // IUserDefined implementation + virtual const IString *header() const + { + return &m_header; + } + private: IBaseHandler *m_parent; SectionKind m_kind; StringImpl m_kindString; + StringImpl m_header; QList<MemberHandler> m_members; }; |