+ QItemEditorCreatorBase *booleanComboBoxEditorCreator =
+ new QStandardItemEditorCreator<BooleanComboBoxEditorCreator>();
+ QItemEditorCreatorBase *uIntEditorCreator =
+ new QStandardItemEditorCreator<UIntEditorCreator>();
+ QItemEditorCreatorBase *intEditorCreator =
+ new QStandardItemEditorCreator<IntEditorCreator>();
+ QItemEditorCreatorBase *uLongLongEditorCreator =
+ new QStandardItemEditorCreator<ULongLongEditorCreator>();
+ QItemEditorCreatorBase *longLongEditorCreator =
+ new QStandardItemEditorCreator<LongLongEditorCreator>();
+ QItemEditorCreatorBase *pixmapEditorCreator =
+ new QStandardItemEditorCreator<PixmapEditorCreator>();
+ QItemEditorCreatorBase *floatEditorCreator =
+ new QStandardItemEditorCreator<FloatEditorCreator>();
+ QItemEditorCreatorBase *doubleEditorCreator =
+ new QStandardItemEditorCreator<DoubleEditorCreator>();
+ QItemEditorCreatorBase *invalidEditorCreator =
+ new QStandardItemEditorCreator<InvalidEditorCreator>();
+
+ QItemEditorFactory *factory =
+ new QItemEditorFactory();
+
+ QVariant::Type typeFloat = static_cast<QVariant::Type> (qMetaTypeId<float>());
+
+ factory->registerEditor(QVariant::Bool, booleanComboBoxEditorCreator);
+ factory->registerEditor(QVariant::UInt, uIntEditorCreator);
+ factory->registerEditor(QVariant::Int, intEditorCreator);
+ factory->registerEditor(QVariant::ULongLong, uLongLongEditorCreator);
+ factory->registerEditor(QVariant::LongLong, longLongEditorCreator);
+ factory->registerEditor(QVariant::Pixmap, pixmapEditorCreator);
+ factory->registerEditor(typeFloat, floatEditorCreator);
+ factory->registerEditor(QVariant::Double, doubleEditorCreator);
+ factory->registerEditor(QVariant::Invalid, invalidEditorCreator);
+
+ QItemEditorFactory::setDefaultFactory(factory);