|
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.trolltech.qt.QSignalEmitter
com.trolltech.qt.QtJambiObject
com.trolltech.qt.core.QObject
com.trolltech.qt.core.QAbstractItemModel
com.trolltech.qt.core.QAbstractListModel
public abstract class QAbstractListModel
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.
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:
Views Puzzle 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 | |
---|---|
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)
Handles the data supplied by a drag and drop operation that ended with the given action. |
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.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 |
---|
public QAbstractListModel()
Equivalent to QAbstractListModel(0).
public QAbstractListModel(QObject parent)
Constructs an abstract list model with the given parent.
Method Detail |
---|
@Deprecated public final int columnCount(QModelIndex parent)
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.
columnCount
in class QAbstractItemModel
@Deprecated public final boolean hasChildren(QModelIndex parent)
Returns true if parent has any children; otherwise returns false. Use rowCount on the parent to find out the number of children.
hasChildren
in class QAbstractItemModel
@Deprecated public final QModelIndex parent(QModelIndex child)
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.
parent
in class QAbstractItemModel
public boolean dropMimeData(QMimeData data, Qt.DropAction action, int row, int column, QModelIndex parent)
Handles the data supplied by a drag and drop operation that ended with the given action. Returns true if the data and action can be handled by the model; otherwise returns false.
Although the specified row, column and parent indicate the location of an item in the model where the operation ended, it is the responsibility of the view to provide a suitable location for where the data should be inserted.
For instance, a drop action on an item in a QTreeView can result in new items either being inserted as children of the item specified by row, column, and parent, or as siblings of the item.
When row and column are -1 it means that it is up to the model to decide where to place the data. This can occur in a tree when data is dropped on a parent. Models will usually append the data to the parent in this case.
Returns true if the dropping was successful otherwise false.
dropMimeData
in class QAbstractItemModel
public QModelIndex index(int row, int column, QModelIndex parent)
Returns the index of the data in row and column with parent.
index
in class QAbstractItemModel
public static QAbstractListModel fromNativePointer(QNativePointer nativePointer)
nativePointer
- the QNativePointer of which object should be returned.
|
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |