#ifndef QITEMEDITORFACTORY_H
#define QITEMEDITORFACTORY_H
#include <QtCore/qbytearray.h>
#include <QtCore/qhash.h>
#include <QtCore/qvariant.h>
typedef enum QtValidLicenseForGuiModule QtGuiModule;
#ifndef QT_NO_ITEMVIEWS
class QItemEditorCreatorBase{
public: virtual inline ~QItemEditorCreatorBase();
public: virtual struct QWidget* createWidget(struct QWidget* parent) const = 0;
public: virtual class QByteArray valuePropertyName() const = 0;
};
template < typename T > class QItemEditorCreator: public QItemEditorCreatorBase{
public: inline struct QWidget* createWidget(struct QWidget* parent) const
public: inline class QByteArray valuePropertyName() const
private: class QByteArray propertyName;
public: inline QItemEditorCreator(class QByteArray const & avaluePropertyName);
};
template < typename T > class QStandardItemEditorCreator: public QItemEditorCreatorBase{
public: inline QStandardItemEditorCreator();
public: inline struct QWidget* createWidget(struct QWidget* parent) const
public: inline class QByteArray valuePropertyName() const
private: class QByteArray propertyName;
};
class QItemEditorFactory{
public: inline QItemEditorFactory();
public: virtual ~QItemEditorFactory();
public: virtual struct QWidget* createEditor(enum QVariant::Type type, struct QWidget* parent) const
public: virtual class QByteArray valuePropertyName(enum QVariant::Type type) const
public: void registerEditor(enum QVariant::Type type, class QItemEditorCreatorBase* creator);
public: static class QItemEditorFactory const * defaultFactory();
public: static void setDefaultFactory(class QItemEditorFactory* factory);
private: class QHash < enum QVariant::Type, class QItemEditorCreatorBase* > creatorMap;
};
#endif // QT_NO_ITEMVIEWS
#endif // QITEMEDITORFACTORY_H