From d94e7f259b05e87688f6f4fc3942e7bd46649ae2 Mon Sep 17 00:00:00 2001 From: Steven Ceuppens <steven.ceuppens@cense.be> Date: Thu, 17 Jan 2013 16:18:29 +0100 Subject: [PATCH] Added QQuickItem to new class wizard When creating a new class, you can select the "Base class" or "Type information" QObject, QWidget, QDeclarativeItem... are available, but QQuickItem isn't.. Change-Id: I9fce6b6a43c915364fc405b99edd0b0d7ebab4fe Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Tobias Hunger <tobias.hunger@digia.com> --- src/libs/utils/newclasswidget.cpp | 2 ++ src/libs/utils/newclasswidget.h | 8 ++++++-- src/libs/utils/newclasswidget.ui | 7 ++++++- src/plugins/cppeditor/cppclasswizard.cpp | 7 ++++++- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/libs/utils/newclasswidget.cpp b/src/libs/utils/newclasswidget.cpp index b564d573673..a2a97fa5094 100644 --- a/src/libs/utils/newclasswidget.cpp +++ b/src/libs/utils/newclasswidget.cpp @@ -419,6 +419,8 @@ static inline NewClassWidget::ClassType classTypeForBaseClass(const QString &bas // Declarative Items if (baseClass == QLatin1String("QDeclarativeItem")) return NewClassWidget::ClassInheritsQDeclarativeItem; + if (baseClass == QLatin1String("QQuickItem")) + return NewClassWidget::ClassInheritsQQuickItem; return NewClassWidget::NoClassType; } diff --git a/src/libs/utils/newclasswidget.h b/src/libs/utils/newclasswidget.h index a9f1dc0d1fc..78c1852ebd9 100644 --- a/src/libs/utils/newclasswidget.h +++ b/src/libs/utils/newclasswidget.h @@ -71,9 +71,13 @@ class QTCREATOR_UTILS_EXPORT NewClassWidget : public QWidget Q_ENUMS(ClassType) public: - enum ClassType { NoClassType, ClassInheritsQObject, ClassInheritsQWidget, + enum ClassType { NoClassType, + ClassInheritsQObject, + ClassInheritsQWidget, ClassInheritsQDeclarativeItem, - SharedDataClass }; + ClassInheritsQQuickItem, + SharedDataClass + }; explicit NewClassWidget(QWidget *parent = 0); ~NewClassWidget(); diff --git a/src/libs/utils/newclasswidget.ui b/src/libs/utils/newclasswidget.ui index dc3c315e86b..7279892c553 100644 --- a/src/libs/utils/newclasswidget.ui +++ b/src/libs/utils/newclasswidget.ui @@ -71,7 +71,12 @@ </item> <item> <property name="text"> - <string>Inherits QDeclarativeItem</string> + <string>Inherits QDeclarativeItem - Qt Quick 1</string> + </property> + </item> + <item> + <property name="text"> + <string>Inherits QQuickItem - Qt Quick 2</string> </property> </item> <item> diff --git a/src/plugins/cppeditor/cppclasswizard.cpp b/src/plugins/cppeditor/cppclasswizard.cpp index 64f56d7c3bc..2f8cf1c4242 100644 --- a/src/plugins/cppeditor/cppclasswizard.cpp +++ b/src/plugins/cppeditor/cppclasswizard.cpp @@ -70,7 +70,8 @@ ClassNamePage::ClassNamePage(QWidget *parent) : << QLatin1String("QObject") << QLatin1String("QWidget") << QLatin1String("QMainWindow") - << QLatin1String("QDeclarativeItem")); + << QLatin1String("QDeclarativeItem") + << QLatin1String("QQuickItem")); m_newClassWidget->setBaseClassEditable(true); m_newClassWidget->setFormInputVisible(false); m_newClassWidget->setNamespacesEnabled(true); @@ -250,6 +251,10 @@ bool CppClassWizard::generateHeaderAndSource(const CppClassWizardParameters &par parentQObjectClass = QLatin1String("QDeclarativeItem"); defineQObjectMacro = true; break; + case Utils::NewClassWidget::ClassInheritsQQuickItem: + parentQObjectClass = QLatin1String("QQuickItem"); + defineQObjectMacro = true; + break; case Utils::NewClassWidget::NoClassType: case Utils::NewClassWidget::SharedDataClass: break; -- GitLab