|  | 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 the data shown by an item delegate, the QItemDelegate responsible requests an editor widget from its item editor factory by calling the createEditor() function. The default factory is provided by this class, but it is possible to implement subclasses that provide specialized editing behavior, such as row or column-specific editors, or editors for certain types of data.

### 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 for use with both standard and custom delegates with the registerEditor() function.

See also QItemDelegate and Model/View Programming.

## 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.

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.