diff generator/dgenerator.h @ 341:4920ef9206fe

moved enums into interfaces
author Max Samukha <maxter@spambox.com>
date Thu, 13 May 2010 16:39:41 +0300
parents adae77fdc1ea
children 08c1ca7975ab
line wrap: on
line diff
--- a/generator/dgenerator.h	Mon May 10 13:29:50 2010 +0300
+++ b/generator/dgenerator.h	Thu May 13 16:39:41 2010 +0300
@@ -47,6 +47,7 @@
 #include "cppimplgenerator.h"
 
 #include <QTextStream>
+#include <QStack>
 
 class DocParser;
 
@@ -69,7 +70,7 @@
     static QString argumentString(const AbstractMetaFunction *d_function,
                                   const AbstractMetaArgument *d_argument,
                                   uint options = 0);
-    void writeEnum(QTextStream &s, const AbstractMetaEnum *d_enum);
+    void writeEnum(QTextStream &s, const AbstractMetaEnum *d_enum, bool withAliases = false);
     void writeIntegerEnum(QTextStream &s, const AbstractMetaEnum *d_enum);
     void writeSignal(QTextStream &s, const AbstractMetaFunction *d_function);
     void writeFunction(QTextStream &s, const AbstractMetaFunction *d_function,
@@ -154,7 +155,7 @@
     void writeDestructor(QTextStream &s, const AbstractMetaClass *d_class);
     void writeFlagsSetter(QTextStream &s, const AbstractMetaClass *d_class);
     void writeSignalHandlers(QTextStream &s, const AbstractMetaClass *d_class);
-    void writeEnumAlias(QTextStream &s, const AbstractMetaEnum *d_enum);
+    void writeEnumAliases(QTextStream &s, const AbstractMetaEnum *d_enum);
     void writeSignalSignatures(QTextStream &s, const AbstractMetaClass *d_class, AbstractMetaFunctionList signal_funcs);
     void writeMetaMethodArguments(QTextStream &s, const AbstractMetaFunction *d_function, int reduce = -1);
     void writeQObjectFunctions(QTextStream &s, const AbstractMetaClass *d_class);
@@ -167,6 +168,7 @@
 
     int m_recursive;
     bool m_isRecursive;
+    QStack<const AbstractMetaClass*> m_recursionStack;
     QSet<const TypeEntry*> typeEntries; // imports
     QSet<const TypeEntry*> typeEntriesEnums; // imports for enums
     QSet<QString> excludedTypes2;