CopperSpice API  1.9.1
QItemEditorFactory Class Reference

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

Public Methods

 QItemEditorFactory ()
 
virtual ~QItemEditorFactory ()
 
virtual QWidgetcreateEditor (QVariant::Type type, QWidget *parent) const
 
void registerEditor (QVariant::Type type, QItemEditorCreatorBase *creator)
 
virtual QString valuePropertyName (QVariant::Type type) const
 

Static Public Methods

static const QItemEditorFactory * defaultFactory ()
 
static 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 the CopperSpice 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 CopperSpice 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.

TypeEditor Widget
boolQComboBox
doubleQDoubleSpinBox
intQSpinBox
unsigned int
QDateQDateEdit
QDateTimeQDateTimeEdit
QPixmapQLabel
QStringQLineEdit
QTimeQTimeEdit

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

See also
QItemDelegate, Model/View Architecture

Constructor & Destructor Documentation

QItemEditorFactory::QItemEditorFactory ( )
inline

Constructs a new item editor factory.

QItemEditorFactory::~QItemEditorFactory ( )
virtual

Destroys the item editor factory.

Method Documentation

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()
QString QItemEditorFactory::valuePropertyName ( QVariant::Type  type) const
virtual

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