41 lines
1.2 KiB
C++
41 lines
1.2 KiB
C++
#include "qvariantedit_custom.h"
|
|
|
|
|
|
QVariantEditorFactories::QVariantEditorFactories() {}
|
|
|
|
|
|
QVariantEditorFactories * QVariantEditorFactories::instance() {
|
|
static QVariantEditorFactories * ret = new QVariantEditorFactories();
|
|
return ret;
|
|
}
|
|
|
|
|
|
void QVariantEditorFactories::registerEditorFactory(int meta_id, QVariantEditorFactoryBase * f) {
|
|
QVariantEditorFactories * s = QVariantEditorFactories::instance();
|
|
if (!f) {
|
|
unregisterEditorFactory(meta_id);
|
|
return;
|
|
}
|
|
if (s->factories.contains(meta_id))
|
|
; // qDebug() << "[QVariantEditorFactories] Warning: factory for metaTypeID" << meta_id << "already registered, override";
|
|
s->factories[meta_id] = f;
|
|
}
|
|
|
|
|
|
void QVariantEditorFactories::unregisterEditorFactory(int meta_id) {
|
|
QVariantEditorFactories * s = QVariantEditorFactories::instance();
|
|
s->factories.remove(meta_id);
|
|
}
|
|
|
|
|
|
bool QVariantEditorFactories::isRegisteredEditorFactory(int meta_id) {
|
|
QVariantEditorFactories * s = QVariantEditorFactories::instance();
|
|
return s->factories.contains(meta_id);
|
|
}
|
|
|
|
|
|
QVariantEditorFactoryBase * QVariantEditorFactories::editorFactory(int meta_id) {
|
|
QVariantEditorFactories * s = QVariantEditorFactories::instance();
|
|
return s->factories.value(meta_id, 0);
|
|
}
|