|  | Home · All Classes · Main Classes · Grouped Classes · Modules · Functions |

# QItemEditorFactory Class Reference
[QtGui module]

The QItemEditorFactory class provides widgets for editing item data in views and delegates. More...

     #include <QItemEditorFactory>

This class was introduced in Qt 4.2.

- List of all members, including inherited members

### Public Functions

- QItemEditorFactory ()
- virtual ~QItemEditorFactory ()
- virtual QWidget * createEditor ( QVariant::Type type, QWidget * parent ) const
- void registerEditor ( QVariant::Type type, QItemEditorCreatorBase * creator )
- virtual QByteArray valuePropertyName ( QVariant::Type type ) const

### Static Public Members

- const QItemEditorFactory * defaultFactory ()
- void setDefaultFactory ( QItemEditorFactory * factory )

## Detailed Description

The QItemEditorFactory class provides widgets for editing item data in views and delegates.

When editing data in an item view, editors are created and displayed by a delegate. QItemDelegate, which is the delegate by default installed on Qt's item views, uses a QItemEditorFactory to create editors for it. A default unique instance provided by QItemEditorFactory is used by all item delegates. If you set a new default factory with setDefaultFactory(), the new factory will be used by existing and new delegates.

A factory keeps a collection of QItemEditorCreatorBase instances, which are specialized editors that produce editors for one particular QVariant data type (All Qt models store their data in QVariants).

### Standard Editing Widgets

The standard factory implementation provides editors for a variety of data types. These are created whenever a delegate needs to provide an editor for data supplied by a model. The following table shows the relationship between types and the standard editors provided.

Type | Editor Widget
--- | ---
bool | QComboBox
double | QDoubleSpinBox
int | QSpinBox
unsigned int
QDate | QDateEdit
QDateTime | QDateTimeEdit
QPixmap | QLabel
QString | QLineEdit
QTime | QTimeEdit

Additional editors can be registered with the registerEditor() function.

See also QItemDelegate, Model/View Programming, and Color Editor Factory Example.

## Member Function Documentation

### QItemEditorFactory::QItemEditorFactory ()

Constructs a new item editor factory.

### QItemEditorFactory::~QItemEditorFactory () `[virtual]`

Destroys the item editor factory.

### QWidget * QItemEditorFactory::createEditor ( QVariant::Type type, QWidget * parent ) const `[virtual]`

Creates an editor widget with the given parent for the specified type of data, and returns it as a QWidget.

See also registerEditor().

### const QItemEditorFactory * QItemEditorFactory::defaultFactory () `[static]`

Returns the default item editor factory.

See also setDefaultFactory().

### void QItemEditorFactory::registerEditor ( QVariant::Type type, QItemEditorCreatorBase * creator )

Registers an item editor creator specified by creator for the given type of data.

Note: The factory takes ownership of the item editor creator and will destroy it if a new creator for the same type is registered later.

See also createEditor().

### void QItemEditorFactory::setDefaultFactory ( QItemEditorFactory * factory ) `[static]`

Sets the default item editor factory to the given factory. Both new and existing delegates will use the new factory.

See also defaultFactory().

### QByteArray QItemEditorFactory::valuePropertyName ( QVariant::Type type ) const `[virtual]`

Returns the property name used to access data for the given type of data.