pgLab/pglablib/SelectionEditorFactory.h

25 lines
810 B
C
Raw Normal View History

#ifndef SELECTIONEDITORFACTORY_H
#define SELECTIONEDITORFACTORY_H
#include "AbstractEditorFactory.h"
class AbstractModelFactory;
class SelectionEditorFactory: public AbstractEditorFactory {
Q_OBJECT
public:
SelectionEditorFactory(QObject *parent, AbstractModelFactory *model_factory, int key_column, int value_column);
virtual QWidget *createEditor (QWidget *parent, const QStyleOptionViewItem &option,
const QModelIndex &index) const override;
virtual void setEditorData(QWidget *editor, const QModelIndex &index) const override;
virtual void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override;
private:
AbstractModelFactory *m_modelFactory = nullptr;
int m_keyColumn = 0;
int m_valueColumn = 0;
};
#endif // SELECTIONEDITORFACTORY_H