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.core
Class QAbstractListModel

    java.lang.Object
      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`, `Views Puzzle Example`

Nested Class Summary

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

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

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

Method Summary
`int` | `columnCount(QModelIndex parent)` Deprecated.
`boolean` | `dropMimeData(QMimeData data, Qt.DropAction action, int row, int column, QModelIndex parent)` This function is reimplemented for internal reasons.
`static QAbstractListModel` | `fromNativePointer(QNativePointer nativePointer)` This function returns the QAbstractListModel instance pointed to by nativePointer
`boolean` | `hasChildren(QModelIndex parent)` Deprecated.
`QModelIndex` | `index(int row, int column, QModelIndex parent)` Returns the index of the data in `row` and `column` with `parent`.
`QModelIndex` | `parent(QModelIndex child)` Deprecated.

Methods inherited from class com.trolltech.qt.core.QAbstractItemModel
`beginInsertColumns, beginInsertRows, beginRemoveColumns, beginRemoveRows, buddy, canFetchMore, changePersistentIndex, changePersistentIndexList, columnCount, createIndex, createIndex, createIndex, data, data, data, data, decodeData, encodeData, endInsertColumns, endInsertRows, endRemoveColumns, endRemoveRows, fetchMore, flags, hasChildren, hasIndex, hasIndex, headerData, headerData, index, insertColumn, insertColumn, insertColumns, insertColumns, insertRow, insertRow, insertRows, insertRows, itemData, match, match, match, match, mimeData, mimeTypes, 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
`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`

Constructor Detail

### QAbstractListModel

    public QAbstractListModel()

  Equivalent to `QAbstractListModel`(0).

### QAbstractListModel

    public QAbstractListModel(QObject parent)

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

Method Detail

### columnCount

    @Deprecated
    public final int columnCount(QModelIndex parent)

  Deprecated.

  Returns the number of columns for the children of the given `parent`. When the parent is valid it means that `rowCount` is returning the number of children of parent.

  In most subclasses, the number of columns is independent of the `parent`. For example:

          int DomModel::columnCount(const QModelIndex &/*parent*<!-- noop -->/) const
          {
              return 3;
          }

  Tip: When implementing a table based model, `columnCount` should return 0 when the parent is valid.

  Specified by:
    `columnCount` in class `QAbstractItemModel`
  See Also:
    `rowCount`

### hasChildren

    @Deprecated
    public final boolean hasChildren(QModelIndex parent)

  Deprecated.

  Returns true if `parent` has any children; otherwise returns false. Use `rowCount` on the parent to find out the number of children.

  Overrides:
    `hasChildren` in class `QAbstractItemModel`
  See Also:
    `parent`, `index`

### parent

    @Deprecated
    public final QModelIndex parent(QModelIndex child)

  Deprecated.

  Returns the parent of the model item with the given `child`, or QModelIndex() if it has no parent.

  A common convention used in models that expose tree data structures is that only items in the first column have children. For that case, when reimplementing this function in a subclass the column of the returned QModelIndex would be 0.

  Specified by:
    `parent` in class `QAbstractItemModel`
  See Also:
    `createIndex`

### dropMimeData

    public boolean dropMimeData(QMimeData data,
                                Qt.DropAction action,
                                int row,
                                int column,
                                QModelIndex parent)

  This function is reimplemented for internal reasons.

  Overrides:
    `dropMimeData` in class `QAbstractItemModel`
  See Also:
    `supportedDropActions`, Using Drag and Drop with Item Views

### index

    public QModelIndex index(int row,
                             int column,
                             QModelIndex parent)

  Returns the index of the data in `row` and `column` with `parent`.

  Specified by:
    `index` in class `QAbstractItemModel`
  See Also:
    `parent`

### fromNativePointer

    public static QAbstractListModel fromNativePointer(QNativePointer nativePointer)

  This function returns the QAbstractListModel 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