Overview | Package | Class | Tree | Deprecated | Index | Help
Qt Jambi Home |
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.trolltech.qt.gui
Class QAbstractItemDelegate

    java.lang.Object
      com.trolltech.qt.QSignalEmitter
          com.trolltech.qt.QtJambiObject
              com.trolltech.qt.core.QObject
                  com.trolltech.qt.gui.QAbstractItemDelegate

All Implemented Interfaces:
  QtJambiInterface

Direct Known Subclasses:
  QItemDelegate

    public abstract class QAbstractItemDelegate

extends QObject

The `QAbstractItemDelegate` class is used to display and edit data items from a model.

A `QAbstractItemDelegate` provides the interface and common functionality for delegates in the model/view architecture. Delegates display individual items in views, and handle the editing of model data.

The `QAbstractItemDelegate` class is one of the Model/View Classes and is part of Qt's model/view framework.

To render an item in a custom way, you must implement `paint` and `sizeHint`. The `QItemDelegate` class provides default implementations for these functions; if you do not need custom rendering, subclass that class instead.

To provide custom editing, there are two approaches that can be used. The first approach is to create an editor widget and display it directly on top of the item. To do this you must reimplement `createEditor` to provide an editor widget, `setEditorData` to populate the editor with the data from the model, and `setModelData` so that the delegate can update the model with data from the editor.

The second approach is to handle user events directly by reimplementing `editorEvent`.

See Also:
  Model/View Programming, `QItemDelegate`, `Example`

Nested Class Summary
`static class` | `QAbstractItemDelegate.EndEditHint` This enum describes the different hints that the delegate can give to the model and view components to make editing data in a model a comfortable experience for the user.

Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
`QSignalEmitter.AbstractSignal, QSignalEmitter.Signal0, QSignalEmitter.Signal1<A>, QSignalEmitter.Signal2<A,B>, QSignalEmitter.Signal3<A,B,C>, QSignalEmitter.Signal4<A,B,C,D>, QSignalEmitter.Signal5<A,B,C,D,E>, QSignalEmitter.Signal6<A,B,C,D,E,F>, QSignalEmitter.Signal7<A,B,C,D,E,F,G>, QSignalEmitter.Signal8<A,B,C,D,E,F,G,H>, QSignalEmitter.Signal9<A,B,C,D,E,F,G,H,I>`

Field Summary
`QSignalEmitter.Signal2<QWidget,QAbstractItemDelegate.EndEditHint>` | `closeEditor` This signal is emitted when the user has finished editing an item using the specified `editor`.
`QSignalEmitter.Signal1<QWidget>` | `commitData` This signal must be emitted when the `editor` widget has completed editing the data, and wants to write it back into the model.

Constructor Summary
`QAbstractItemDelegate()` Equivalent to `QAbstractItemDelegate`(0).
`QAbstractItemDelegate(QObject parent)` Creates a new abstract item delegate with the given `parent`.

Method Summary
`QWidget` | `createEditor(QWidget parent, QStyleOptionViewItem option, QModelIndex index)` Returns the editor to be used for editing the data item with the given `index`.
`boolean` | `editorEvent(QEvent event, QAbstractItemModel model, QStyleOptionViewItem option, QModelIndex index)` Whenever an event occurs, this function is called with the `event` `model` `option` and the `index` that corresponds to the item being edited.
`static QAbstractItemDelegate` | `fromNativePointer(QNativePointer nativePointer)` This function returns the QAbstractItemDelegate instance pointed to by nativePointer
`boolean` | `helpEvent(QHelpEvent event, QAbstractItemView view, QStyleOptionViewItem option, QModelIndex index)` Whenever a help event occurs, this function is called with the `event` `view` `option` and the `index` that corresponds to the item where the event occurs.
`abstract void` | `paint(QPainter painter, QStyleOptionViewItem option, QModelIndex index)` This pure abstract function must be reimplemented if you want to provide custom rendering.
`void` | `setEditorData(QWidget editor, QModelIndex index)` Sets the contents of the given `editor` to the data for the item at the given `index`.
`void` | `setModelData(QWidget editor, QAbstractItemModel model, QModelIndex index)` Sets the data for the item at the given `index` in the `model` to the contents of the given `editor`.
`abstract QSize` | `sizeHint(QStyleOptionViewItem option, QModelIndex index)` This pure abstract function must be reimplemented if you want to provide custom rendering.
`void` | `updateEditorGeometry(QWidget editor, QStyleOptionViewItem option, QModelIndex index)` Updates the geometry of the `editor` for the item with the given `index`, according to the rectangle specified in the `option`.

Methods inherited from class com.trolltech.qt.core.QObject
`blockSignals, childEvent, children, connectSlotsByName, customEvent, disposeLater, dumpObjectInfo, dumpObjectTree, dynamicPropertyNames, event, eventFilter, findChild, findChild, findChild, findChildren, findChildren, findChildren, findChildren, installEventFilter, isWidgetType, killTimer, moveToThread, objectName, parent, property, removeEventFilter, setObjectName, setParent, setProperty, signalsBlocked, startTimer, thread, timerEvent`

Methods inherited from class com.trolltech.qt.QtJambiObject
`dispose, disposed, finalize, reassignNativeResources, tr, tr, tr`

Methods inherited from class com.trolltech.qt.QSignalEmitter
`disconnect, disconnect, signalSender`

Methods inherited from class java.lang.Object
`clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface com.trolltech.qt.QtJambiInterface
`disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership`

Field Detail

### closeEditor

    public final QSignalEmitter.Signal2<QWidget,QAbstractItemDelegate.EndEditHint> closeEditor

  This signal is emitted when the user has finished editing an item using the specified `editor`.

  The `hint` provides a way for the delegate to influence how the model and view behave after editing is completed. It indicates to these components what action should be performed next to provide a comfortable editing experience for the user. For example, if `EditNextItem` is specified, the view should use a delegate to open an editor on the next item in the model.

  Compatible Slot Signatures:
    `void mySlot(com.trolltech.qt.gui.QWidget editor, com.trolltech.qt.gui.QAbstractItemDelegate.EndEditHint hint)`
    `void mySlot(com.trolltech.qt.gui.QWidget editor)`
    `void mySlot()`
  See Also:
    `EndEditHint`

### commitData

    public final QSignalEmitter.Signal1<QWidget> commitData

  This signal must be emitted when the `editor` widget has completed editing the data, and wants to write it back into the model.

  Compatible Slot Signatures:
    `void mySlot(com.trolltech.qt.gui.QWidget editor)`
    `void mySlot()`

Constructor Detail

### QAbstractItemDelegate

    public QAbstractItemDelegate()

  Equivalent to `QAbstractItemDelegate`(0).

### QAbstractItemDelegate

    public QAbstractItemDelegate(QObject parent)

  Creates a new abstract item delegate with the given `parent`.

Method Detail

### helpEvent

    public final boolean helpEvent(QHelpEvent event,
                                   QAbstractItemView view,
                                   QStyleOptionViewItem option,
                                   QModelIndex index)

  Whenever a help event occurs, this function is called with the `event` `view` `option` and the `index` that corresponds to the item where the event occurs.

  Returns true if the delegate can handle the event; otherwise returns false. A return value of true indicates that the data obtained using the index had the required role.

  For QEvent::ToolTip and QEvent::WhatsThis events that were handled successfully, the relevant popup may be shown depending on the user's system configuration.

  See Also:
    `QHelpEvent`

### createEditor

    public QWidget createEditor(QWidget parent,
                                QStyleOptionViewItem option,
                                QModelIndex index)

  Returns the editor to be used for editing the data item with the given `index`. Note that the index contains information about the model being used. The editor's parent widget is specified by `parent`, and the item options by `option`.

  The base implementation returns 0. If you want custom editing you will need to reimplement this function.

  The returned editor widget should have Qt::StrongFocus; otherwise, `QMouseEvent`s received by the widget will propagate to the view. The view's background will shine through unless the editor paints its own background (e.g., with setAutoFillBackground()).

  See Also:
    `setModelData`, `setEditorData`

### editorEvent

    public boolean editorEvent(QEvent event,
                               QAbstractItemModel model,
                               QStyleOptionViewItem option,
                               QModelIndex index)

  Whenever an event occurs, this function is called with the `event` `model` `option` and the `index` that corresponds to the item being edited.

  The base implementation returns false (indicating that it has not handled the event).

### paint

    public abstract void paint(QPainter painter,
                               QStyleOptionViewItem option,
                               QModelIndex index)

  This pure abstract function must be reimplemented if you want to provide custom rendering. Use the `painter` and style `option` to render the item specified by the item `index`.

  If you reimplement this you must also reimplement `sizeHint`.

### setEditorData

    public void setEditorData(QWidget editor,
                              QModelIndex index)

  Sets the contents of the given `editor` to the data for the item at the given `index`. Note that the index contains information about the model being used.

  The base implementation does nothing. If you want custom editing you will need to reimplement this function.

  See Also:
    `setModelData`

### setModelData

    public void setModelData(QWidget editor,
                             QAbstractItemModel model,
                             QModelIndex index)

  Sets the data for the item at the given `index` in the `model` to the contents of the given `editor`.

  The base implementation does nothing. If you want custom editing you will need to reimplement this function.

  See Also:
    `setEditorData`

### sizeHint

    public abstract QSize sizeHint(QStyleOptionViewItem option,
                                   QModelIndex index)

  This pure abstract function must be reimplemented if you want to provide custom rendering. The options are specified by `option` and the model item by `index`.

  If you reimplement this you must also reimplement `paint`.

### updateEditorGeometry

    public void updateEditorGeometry(QWidget editor,
                                     QStyleOptionViewItem option,
                                     QModelIndex index)

  Updates the geometry of the `editor` for the item with the given `index`, according to the rectangle specified in the `option`. If the item has an internal layout, the editor will be laid out accordingly. Note that the index contains information about the model being used.

  The base implementation does nothing. If you want custom editing you must reimplement this function.

### fromNativePointer

    public static QAbstractItemDelegate fromNativePointer(QNativePointer nativePointer)

  This function returns the QAbstractItemDelegate instance pointed to by nativePointer

  Parameters:
    `nativePointer` - the QNativePointer of which object should be returned.

Overview | Package | Class | Tree | Deprecated | Index | Help
Qt Jambi Home |
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD