com.trolltech.qt.gui
Class QAbstractTableModel

java.lang.Object
  extended by com.trolltech.qt.QSignalEmitter
      extended by com.trolltech.qt.QtJambiObject
          extended by com.trolltech.qt.core.QObject
              extended by com.trolltech.qt.core.QAbstractItemModel
                  extended by 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:

See Also:
Model Classes, Model Subclassing Reference, QAbstractItemModel, QAbstractListModel, Example

Nested Class Summary
 
Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
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
QAbstractTableModel()
          Equivalent to QAbstractTableModel(0).
QAbstractTableModel(QObject parent)
          Constructs an abstract table model for the given parent.
 
Method Summary
 boolean dropMimeData(QMimeData data, Qt.DropAction action, int row, int column, QModelIndex parent)
          This function is reimplemented for internal reasons.
static QAbstractTableModel fromNativePointer(QNativePointer nativePointer)
          This function returns the QAbstractTableModel 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, 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

QAbstractTableModel

public QAbstractTableModel()

Equivalent to QAbstractTableModel(0).


QAbstractTableModel

public QAbstractTableModel(QObject parent)

Constructs an abstract table model for the given parent.

Method Detail

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. When reimplementing this function in a subclass that provides a tree model, you should return a model index corresponding to an item in the first column by calling createIndex with a value of 0 for the column number.

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 QAbstractTableModel fromNativePointer(QNativePointer nativePointer)
This function returns the QAbstractTableModel instance pointed to by nativePointer

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