git-svn-id: svn://db.shs.com.ru/libs@719 a8b55f48-bf90-11e4-a774-851b48703e85
39 lines
802 B
C++
39 lines
802 B
C++
#ifndef QVARIANTEDIT_CUSTOM_H
|
|
#define QVARIANTEDIT_CUSTOM_H
|
|
|
|
#include <QDebug>
|
|
#include <QWidget>
|
|
#include <QMap>
|
|
#include "qad_export.h"
|
|
|
|
|
|
class QVariantEdit;
|
|
|
|
|
|
class QAD_EXPORT QVariantEditorFactoryBase {
|
|
friend class QVariantEdit;
|
|
public:
|
|
QVariantEditorFactoryBase() {}
|
|
virtual QWidget * createEditor() = 0;
|
|
private:
|
|
|
|
};
|
|
|
|
|
|
class QAD_EXPORT QVariantEditorFactories {
|
|
public:
|
|
static void registerEditorFactory(int meta_id, QVariantEditorFactoryBase * f);
|
|
static void unregisterEditorFactory(int meta_id);
|
|
static bool isRegisteredEditorFactory(int meta_id);
|
|
static QVariantEditorFactoryBase * editorFactory(int meta_id);
|
|
|
|
private:
|
|
QVariantEditorFactories();
|
|
static QVariantEditorFactories * instance();
|
|
|
|
QMap<int, QVariantEditorFactoryBase * > factories;
|
|
};
|
|
|
|
|
|
#endif // QVARIANTEDIT_CUSTOM_H
|