Qt 4.8
|
The QItemEditorFactory class provides widgets for editing item data in views and delegates. More...
#include <qitemeditorfactory.h>
Public Functions | |
virtual QWidget * | createEditor (QVariant::Type type, QWidget *parent) const |
Creates an editor widget with the given parent for the specified type of data, and returns it as a QWidget. More... | |
QItemEditorFactory () | |
Constructs a new item editor factory. More... | |
void | registerEditor (QVariant::Type type, QItemEditorCreatorBase *creator) |
Registers an item editor creator specified by creator for the given type of data. More... | |
virtual QByteArray | valuePropertyName (QVariant::Type type) const |
Returns the property name used to access data for the given type of data. More... | |
virtual | ~QItemEditorFactory () |
Destroys the item editor factory. More... | |
Static Public Functions | |
static const QItemEditorFactory * | defaultFactory () |
Returns the default item editor factory. More... | |
static void | setDefaultFactory (QItemEditorFactory *factory) |
Sets the default item editor factory to the given factory. More... | |
Properties | |
QHash< QVariant::Type, QItemEditorCreatorBase * > | creatorMap |
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 QVariant).
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.
Definition at line 100 of file qitemeditorfactory.h.
|
inline |
|
virtual |
Destroys the item editor factory.
Definition at line 165 of file qitemeditorfactory.cpp.
|
virtual |
Creates an editor widget with the given parent for the specified type of data, and returns it as a QWidget.
Reimplemented in QDefaultItemEditorFactory.
Definition at line 139 of file qitemeditorfactory.cpp.
Referenced by QItemDelegate::createEditor(), and createEditor().
|
static |
Returns the default item editor factory.
Definition at line 306 of file qitemeditorfactory.cpp.
Referenced by QItemDelegate::createEditor(), QItemDelegatePrivate::editorFactory(), and QStyledItemDelegatePrivate::editorFactory().
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.
Definition at line 181 of file qitemeditorfactory.cpp.
|
static |
Sets the default item editor factory to the given factory.
Both new and existing delegates will use the new factory.
Definition at line 320 of file qitemeditorfactory.cpp.
|
virtual |
Returns the property name used to access data for the given type of data.
Reimplemented in QDefaultItemEditorFactory.
Definition at line 152 of file qitemeditorfactory.cpp.
Referenced by valuePropertyName().
|
private |
Definition at line 115 of file qitemeditorfactory.h.