summaryrefslogtreecommitdiffstats
path: root/addon/doxmlparser/src/memberhandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'addon/doxmlparser/src/memberhandler.h')
-rw-r--r--addon/doxmlparser/src/memberhandler.h42
1 files changed, 32 insertions, 10 deletions
diff --git a/addon/doxmlparser/src/memberhandler.h b/addon/doxmlparser/src/memberhandler.h
index f76655c..6280013 100644
--- a/addon/doxmlparser/src/memberhandler.h
+++ b/addon/doxmlparser/src/memberhandler.h
@@ -51,6 +51,8 @@ class MemberReferenceIterator : public BaseIterator<IMemberReferenceIterator,IMe
BaseIterator<IMemberReferenceIterator,IMemberReference,MemberReference>(list) {}
};
+
+#if 0
class EnumValueHandler : public IEnumValue, public BaseHandler<EnumValueHandler>
{
public:
@@ -65,12 +67,12 @@ class EnumValueHandler : public IEnumValue, public BaseHandler<EnumValueHandler>
// IEnumValue
virtual const IString *name() const { return &m_name; }
- virtual const IString *initializer() const { return &m_initializer; }
+ virtual ILinkedTextIterator *initializer() const
+ { return new LinkedTextIterator(m_initializer); }
void setName(const QString &name) { m_name=name; }
- void setInitializer(const QString &init) { m_initializer=init; }
- virtual ~EnumValueHandler() { delete m_brief; delete m_detailed; }
+ virtual ~EnumValueHandler();
EnumValueHandler(IBaseHandler *parent);
virtual IDocRoot *briefDescription() const
@@ -80,10 +82,11 @@ class EnumValueHandler : public IEnumValue, public BaseHandler<EnumValueHandler>
private:
StringImpl m_name;
- StringImpl m_initializer;
+ QList<LinkedTextImpl> m_initializer;
IBaseHandler *m_parent;
DocHandler *m_brief;
DocHandler *m_detailed;
+ LinkedTextHandler *m_linkedTextHandler;
};
class EnumValueIterator : public BaseIterator<IEnumValueIterator,IEnumValue,EnumValueHandler>
@@ -92,15 +95,29 @@ class EnumValueIterator : public BaseIterator<IEnumValueIterator,IEnumValue,Enum
EnumValueIterator(const QList<EnumValueHandler> &list) :
BaseIterator<IEnumValueIterator,IEnumValue,EnumValueHandler>(list) {}
};
+#endif
-class MemberHandler : public IMember, public BaseHandler<MemberHandler>
+class MemberHandler : public IDefine,
+ public IProperty,
+ public IVariable,
+ public ITypedef,
+ public IFunction,
+ public ISignal,
+ public IPrototype,
+ public IFriend,
+ public IDCOP,
+ public ISlot,
+ public IEnum,
+ public IEnumValue,
+ public BaseHandler<MemberHandler>
{
public:
virtual void startMember(const QXmlAttributes& attrib);
virtual void endMember();
virtual void startParam(const QXmlAttributes& attrib);
virtual void startType(const QXmlAttributes& attrib);
+ virtual void startName(const QXmlAttributes& attrib);
virtual void endName();
virtual void startBriefDesc(const QXmlAttributes& attrib);
virtual void startDetailedDesc(const QXmlAttributes& attrib);
@@ -116,6 +133,7 @@ class MemberHandler : public IMember, public BaseHandler<MemberHandler>
virtual void startInitializer(const QXmlAttributes& attrib);
virtual void startException(const QXmlAttributes& attrib);
virtual void startEnumValue(const QXmlAttributes& attrib);
+ virtual void startEnumValue2(const QXmlAttributes& attrib);
virtual void startTemplateParamList(const QXmlAttributes &attrib);
virtual void endTemplateParamList();
@@ -172,13 +190,14 @@ class MemberHandler : public IMember, public BaseHandler<MemberHandler>
{ return m_reimplements; }
virtual IMemberReferenceIterator *reimplementedBy() const
{ return new MemberReferenceIterator(m_reimplementedBy); }
- virtual IEnumValueIterator *enumValues() const
- { return new EnumValueIterator(m_enumValues); }
virtual IDocRoot *briefDescription() const
{ return m_brief; }
virtual IDocRoot *detailedDescription() const
{ return m_detailed; }
+ // IEnum
+ virtual IMemberIterator *enumValues() const;
+
void initialize(MainHandler *m);
void setCompoundHandler(CompoundHandler *c);
void setSectionHandler(SectionHandler *s);
@@ -212,16 +231,19 @@ class MemberHandler : public IMember, public BaseHandler<MemberHandler>
bool m_isConst;
bool m_isVolatile;
LinkedTextHandler *m_linkedTextHandler;
- QList<EnumValueHandler> m_enumValues;
+ QList<MemberHandler> m_enumValues;
bool m_insideTemplateParamList;
bool m_hasTemplateParamList;
};
-class MemberIterator : public BaseIterator<IMemberIterator,IMember,MemberHandler>
+class MemberIterator : public BaseIteratorVia<IMemberIterator,
+ IMember,
+ MemberHandler,
+ IFunction>
{
public:
MemberIterator(const QList<MemberHandler> &list) :
- BaseIterator<IMemberIterator,IMember,MemberHandler>(list) {}
+ BaseIteratorVia<IMemberIterator,IMember,MemberHandler,IFunction>(list) {}
};
void memberhandler_init();