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.gui
Class QAbstractTableModel

    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.gui.QAbstractTableModel

All Implemented Interfaces:
  QtJambiInterface

Direct Known Subclasses:
  QSqlQueryModel

    public abstract class QAbstractTableModel

extends QAbstractItemModel

The QAbstractTableModel class provides an abstract model that can be subclassed to create table models. QAbstractTableModel provides a standard interface for models that represent their data as a two-dimensional array 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, although it can be used to provide data to a `QListView`. If you need to represent a simple list of items, and only need a model to contain a single column of data, subclassing the `QAbstractListModel` may be more appropriate.

The `rowCount()` and `columnCount()` functions return the dimensions of the table. To retrieve a model index corresponding to an item in the model, use index() and provide only the row and column numbers.

## Subclassing

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

When subclassing QAbstractTableModel, you must implement `rowCount()`, `columnCount()`, and `data()`. Default implementations of the index() and `parent()` functions are provided by QAbstractTableModel. Well behaved models will also implement `headerData()`.

Editable models need to implement `setData()`, and implement `flags()` to return a value containing Qt::ItemIsEditable.

Models that provide interfaces to resizable data structures can provide implementations of `insertRows()`, `removeRows()`, `insertColumns()`, and `removeColumns()`. 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.
- An `insertColumns()` implementation must call `beginInsertColumns()`before inserting new columns into the data structure, and it must call `endInsertColumns()`immediately afterwards.
- A `removeRows()` implementation must call `beginRemoveRows()`before the rows are removed from the data structure, and it must call `endRemoveRows()`immediately afterwards.
- A `removeColumns()` implementation must call `beginRemoveColumns()`before the columns are removed from the data structure, and it must call `endRemoveColumns()`immediately afterwards.

See also:
  Model Classes, Model Subclassing Reference, `QAbstractItemModel`, `QAbstractListModel`, and Pixelator 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
`QAbstractTableModel()` Constructs an abstract table model for the given `parent`.
`QAbstractTableModel(QObject parent)` Constructs an abstract table model for 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

### QAbstractTableModel

    public QAbstractTableModel()

  Constructs an abstract table model for the given `parent`.

### QAbstractTableModel

    public QAbstractTableModel(QObject parent)

  Constructs an abstract table model for 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