#ifndef ABSTRACTEDITORFACTORY_H #define ABSTRACTEDITORFACTORY_H #include class QWidget; class QStyleOptionViewItem; class QModelIndex; class QAbstractItemModel; /// Base class for factory classes that create item editors used in views. /// /// Specifically the PgLabItemDelegate supports the use of EditorFactories. class AbstractEditorFactory: public QObject { Q_OBJECT public: using QObject::QObject; virtual QWidget *createEditor (QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const = 0; virtual void setEditorData(QWidget *editor, const QModelIndex &index) const = 0; virtual void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const = 0; }; #endif // ABSTRACTEDITORFACTORY_H