git-svn-id: svn://db.shs.com.ru/libs@476 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2018-12-19 21:38:59 +00:00
parent 5be5313214
commit 9717a435aa
2 changed files with 79 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
#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);
}