diff --git a/src/plugins/cpptools/cppcodeformatter.cpp b/src/plugins/cpptools/cppcodeformatter.cpp index b242f6c490d74d8c0c43312702fbfd0fe420aa92..87811c01cdc28851766d33ba77dfb63e580a38c7 100644 --- a/src/plugins/cpptools/cppcodeformatter.cpp +++ b/src/plugins/cpptools/cppcodeformatter.cpp @@ -36,6 +36,7 @@ #include <texteditor/tabsettings.h> #include <QtCore/QDebug> +#include <QtCore/QMetaEnum> #include <QtGui/QTextDocument> #include <QtGui/QTextCursor> #include <QtGui/QTextBlock> @@ -907,10 +908,12 @@ int CodeFormatter::tokenizeBlock(const QTextBlock &block, bool *endedJoined) void CodeFormatter::dump() const { + QMetaEnum metaEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("StateType")); + qDebug() << "Current token index" << m_tokenIndex; qDebug() << "Current state:"; foreach (State s, m_currentState) { - qDebug() << s.type << s.savedIndentDepth << s.savedPaddingDepth; + qDebug() << metaEnum.valueToKey(s.type) << s.savedIndentDepth << s.savedPaddingDepth; } qDebug() << "Current indent depth:" << m_indentDepth; qDebug() << "Current padding depth:" << m_paddingDepth; diff --git a/src/plugins/cpptools/cppcodeformatter.h b/src/plugins/cpptools/cppcodeformatter.h index bb46fc6abc59a3ec1597d26d3a389a21cd450527..fa306d2c3400629f343880f4a305b0322aff705c 100644 --- a/src/plugins/cpptools/cppcodeformatter.h +++ b/src/plugins/cpptools/cppcodeformatter.h @@ -57,6 +57,7 @@ class CppCodeFormatterData; class CPPTOOLS_EXPORT CodeFormatter { + Q_GADGET public: CodeFormatter(); virtual ~CodeFormatter(); @@ -98,7 +99,7 @@ protected: virtual void saveLexerState(QTextBlock *block, int state) const = 0; virtual int loadLexerState(const QTextBlock &block) const = 0; -protected: +public: // must be public to make Q_GADGET introspection work enum StateType { invalid = 0, @@ -170,7 +171,9 @@ protected: expression, // after a '=' in a declaration_start once we're sure it's not '= {' initializer, // after a '=' in a declaration start }; + Q_ENUMS(StateType) +protected: class State { public: State() diff --git a/tests/auto/cplusplus/codeformatter/codeformatter.pro b/tests/auto/cplusplus/codeformatter/codeformatter.pro index 6ebd7722237301d05b857eeff461e8e5d9e01644..6aa0259f5885a480c01f10fc9a22e4ed9bf3a174 100644 --- a/tests/auto/cplusplus/codeformatter/codeformatter.pro +++ b/tests/auto/cplusplus/codeformatter/codeformatter.pro @@ -12,6 +12,7 @@ SOURCES += \ $$SRCDIR/plugins/texteditor/basetextdocumentlayout.cpp HEADERS += \ + $$SRCDIR/plugins/cpptools/cppcodeformatter.h \ $$SRCDIR/plugins/texteditor/basetextdocumentlayout.h INCLUDEPATH += $$SRCDIR/plugins $$SRCDIR/libs