diff --git a/src/libs/utils/newclasswidget.cpp b/src/libs/utils/newclasswidget.cpp
index afec2c0cf5d..bd946d70786 100644
--- a/src/libs/utils/newclasswidget.cpp
+++ b/src/libs/utils/newclasswidget.cpp
@@ -407,6 +407,9 @@ static inline NewClassWidget::ClassType classTypeForBaseClass(const QString &bas
if (baseClass == QLatin1String("QWidget") || baseClass == QLatin1String("QMainWindow")
|| baseClass == QLatin1String("QDialog"))
return NewClassWidget::ClassInheritsQWidget;
+ // Declarative Items
+ if (baseClass == QLatin1String("QDeclarativeItem"))
+ return NewClassWidget::ClassInheritsQDeclarativeItem;
return NewClassWidget::NoClassType;
}
diff --git a/src/libs/utils/newclasswidget.h b/src/libs/utils/newclasswidget.h
index 68962c2d1b9..ddf8be2886f 100644
--- a/src/libs/utils/newclasswidget.h
+++ b/src/libs/utils/newclasswidget.h
@@ -78,6 +78,7 @@ class QTCREATOR_UTILS_EXPORT NewClassWidget : public QWidget
Q_ENUMS(ClassType)
public:
enum ClassType { NoClassType, ClassInheritsQObject, ClassInheritsQWidget,
+ ClassInheritsQDeclarativeItem,
SharedDataClass };
explicit NewClassWidget(QWidget *parent = 0);
diff --git a/src/libs/utils/newclasswidget.ui b/src/libs/utils/newclasswidget.ui
index e23ef8ed4b0..dc3c315e86b 100644
--- a/src/libs/utils/newclasswidget.ui
+++ b/src/libs/utils/newclasswidget.ui
@@ -69,6 +69,11 @@
Inherits QWidget
+ -
+
+ Inherits QDeclarativeItem
+
+
-
Based on QSharedData
@@ -175,7 +180,7 @@
-
-
+
diff --git a/src/plugins/cppeditor/cppclasswizard.cpp b/src/plugins/cppeditor/cppclasswizard.cpp
index 2333cc4daff..3f7e66b56df 100644
--- a/src/plugins/cppeditor/cppclasswizard.cpp
+++ b/src/plugins/cppeditor/cppclasswizard.cpp
@@ -69,7 +69,8 @@ ClassNamePage::ClassNamePage(QWidget *parent) :
m_newClassWidget->setBaseClassChoices(QStringList() << QString()
<< QLatin1String("QObject")
<< QLatin1String("QWidget")
- << QLatin1String("QMainWindow"));
+ << QLatin1String("QMainWindow")
+ << QLatin1String("QDeclarativeItem"));
m_newClassWidget->setBaseClassEditable(true);
m_newClassWidget->setFormInputVisible(false);
m_newClassWidget->setNamespacesEnabled(true);
@@ -257,6 +258,13 @@ bool CppClassWizard::generateHeaderAndSource(const CppClassWizardParameters &par
parentQObjectClass = QLatin1String("QWidget");
defineQObjectMacro = true;
break;
+ case Utils::NewClassWidget::ClassInheritsQDeclarativeItem:
+ parentQObjectClass = QLatin1String("QDeclarativeItem");
+ defineQObjectMacro = true;
+ break;
+ case Utils::NewClassWidget::NoClassType:
+ case Utils::NewClassWidget::SharedDataClass:
+ break;
}
const QString baseClass = params.baseClass.isEmpty()
&& params.classType != Utils::NewClassWidget::NoClassType ?