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

## com.trolltech.qt.core
Class QAbstractListModel

    java.lang.Object
      com.trolltech.qt.internal.QSignalEmitterInternal
          com.trolltech.qt.QSignalEmitter
              com.trolltech.qt.QtJambiObject
                  com.trolltech.qt.core.QObject
                      com.trolltech.qt.core.QAbstractItemModel
                          com.trolltech.qt.core.QAbstractListModel

All Implemented Interfaces:
  QtJambiInterface

Direct Known Subclasses:
  QStringListModel

    public abstract class QAbstractListModel

extends QAbstractItemModel

The QAbstractListModel class provides an abstract model that can be subclassed to create one-dimensional list models. QAbstractListModel provides a standard interface for models that represent their data as a simple non-hierarchical sequence of items. It is not used directly, but must be subclassed.

Since the model provides a more specialized interface than `QAbstractItemModel`, it is not suitable for use with tree views; you will need to subclass `QAbstractItemModel` if you want to provide a model for that purpose. If you need to use a number of list models to manage data, it may be more appropriate to subclass `QAbstractTableModel` class instead.

Simple models can be created by subclassing this class and implementing the minimum number of required functions. For example, we could implement a simple read-only QStringList-based model that provides a list of strings to a `QListView` widget. In such a case, we only need to implement the `rowCount()` function to return the number of items in the list, and the `data()` function to retrieve items from the list.

Since the model represents a one-dimensional structure, the `rowCount()` function returns the total number of items in the model. The `columnCount()` function is implemented for interoperability with all kinds of views, but by default informs views that the model contains only one column.

## Subclassing

Note: Some general guidelines for subclassing models are available in the Model Subclassing Reference.

When subclassing QAbstractListModel, you must provide implementations of the `rowCount()` and `data()` functions. Well behaved models also provide a `headerData()` implementation.

For editable list models, you must also provide an implementation of `setData()`, implement the `flags()` function so that it returns a value containing Qt::ItemIsEditable.

Note that QAbstractListModel provides a default implementation of `columnCount()` that informs views that there is only a single column of items in this model.

Models that provide interfaces to resizable list-like data structures can provide implementations of `insertRows()` and `removeRows()`. When implementing these functions, it is important to call the appropriate functions so that all connected views are aware of any changes:

- An `insertRows()` implementation must call `beginInsertRows()`before inserting new rows into the data structure, and it must call `endInsertRows()`immediately afterwards.
- A `removeRows()` implementation must call `beginRemoveRows()`before the rows are removed from the data structure, and it must call `endRemoveRows()`immediately afterwards.

See also:
  Model Classes, Model Subclassing Reference, `QAbstractItemView`, `QAbstractTableModel`, and Item Views Puzzle Example.

Nested Class Summary

Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
`QSignalEmitter.AbstractSignal, QSignalEmitter.Signal0, QSignalEmitter.Signal1, QSignalEmitter.Signal2, QSignalEmitter.Signal3, QSignalEmitter.Signal4, QSignalEmitter.Signal5, QSignalEmitter.Signal6, QSignalEmitter.Signal7, QSignalEmitter.Signal8, QSignalEmitter.Signal9`

Nested classes/interfaces inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
`com.trolltech.qt.internal.QSignalEmitterInternal.AbstractSignalInternal`

Field Summary

Fields inherited from class com.trolltech.qt.core.QAbstractItemModel
`dataChanged, headerDataChanged, layoutAboutToBeChanged, layoutChanged`

Fields inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
`currentSender`

Constructor Summary
`QAbstractListModel()` Constructs an abstract list model with the given `parent`.
`QAbstractListModel(QObject parent)` Constructs an abstract list model with the given `parent`.

Method Summary

Methods inherited from class com.trolltech.qt.core.QAbstractItemModel
`beginInsertColumns, beginInsertRows, beginRemoveColumns, beginRemoveRows, buddy, canFetchMore, changePersistentIndex, changePersistentIndexList, columnCount, columnCount, createIndex, createIndex, createIndex, data, data, data, data, dropMimeData, endInsertColumns, endInsertRows, endRemoveColumns, endRemoveRows, fetchMore, flags, hasChildren, hasChildren, hasIndex, hasIndex, headerData, headerData, index, index, insertColumn, insertColumn, insertColumns, insertColumns, insertRow, insertRow, insertRows, insertRows, itemData, match, match, match, match, mimeData, mimeTypes, parent, persistentIndexList, removeColumn, removeColumn, removeColumns, removeColumns, removeRow, removeRow, removeRows, removeRows, reset, revert, rowCount, rowCount, setData, setData, setData, setData, setHeaderData, setHeaderData, setItemData, setSupportedDragActions, setSupportedDragActions, sibling, sort, sort, span, submit, supportedDragActions, supportedDropActions`

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

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

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

Methods inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
`__qt_signalInitialization`

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

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

Constructor Detail

### QAbstractListModel

    public QAbstractListModel()

  Constructs an abstract list model with the given `parent`.

### QAbstractListModel

    public QAbstractListModel(QObject parent)

  Constructs an abstract list model with the given `parent`.

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