Qt 4.8
|
The QItemSelectionModel class keeps track of a view's selected items. More...
#include <qitemselectionmodel.h>
Public Types | |
enum | SelectionFlag { NoUpdate = 0x0000, Clear = 0x0001, Select = 0x0002, Deselect = 0x0004, Toggle = 0x0008, Current = 0x0010, Rows = 0x0020, Columns = 0x0040, SelectCurrent = Select | Current, ToggleCurrent = Toggle | Current, ClearAndSelect = Clear | Select } |
This enum describes the way the selection model will be updated. More... | |
Public Slots | |
virtual void | clear () |
Clears the selection model. More... | |
void | clearSelection () |
Clears the selection in the selection model. More... | |
virtual void | reset () |
Clears the selection model. More... | |
virtual void | select (const QModelIndex &index, QItemSelectionModel::SelectionFlags command) |
Selects the model item index using the specified command, and emits selectionChanged(). More... | |
virtual void | select (const QItemSelection &selection, QItemSelectionModel::SelectionFlags command) |
Selects the item selection using the specified command, and emits selectionChanged(). More... | |
void | setCurrentIndex (const QModelIndex &index, QItemSelectionModel::SelectionFlags command) |
Sets the model item index to be the current item, and emits currentChanged(). More... | |
Public Slots inherited from QObject | |
void | deleteLater () |
Schedules this object for deletion. More... | |
Signals | |
void | currentChanged (const QModelIndex ¤t, const QModelIndex &previous) |
This signal is emitted whenever the current item changes. More... | |
void | currentColumnChanged (const QModelIndex ¤t, const QModelIndex &previous) |
This signal is emitted if the current item changes and its column is different to the column of the previous current item. More... | |
void | currentRowChanged (const QModelIndex ¤t, const QModelIndex &previous) |
This signal is emitted if the current item changes and its row is different to the row of the previous current item. More... | |
void | selectionChanged (const QItemSelection &selected, const QItemSelection &deselected) |
This signal is emitted whenever the selection changes. More... | |
Signals inherited from QObject | |
void | destroyed (QObject *=0) |
This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More... | |
Public Functions | |
bool | columnIntersectsSelection (int column, const QModelIndex &parent) const |
Returns true if there are any items selected in the column with the given parent. More... | |
QModelIndex | currentIndex () const |
Returns the model item index for the current item, or an invalid index if there is no current item. More... | |
bool | hasSelection () const |
Returns true if the selection model contains any selection ranges; otherwise returns false. More... | |
bool | isColumnSelected (int column, const QModelIndex &parent) const |
Returns true if all items are selected in the column with the given parent. More... | |
bool | isRowSelected (int row, const QModelIndex &parent) const |
Returns true if all items are selected in the row with the given parent. More... | |
bool | isSelected (const QModelIndex &index) const |
Returns true if the given model item index is selected. More... | |
const QAbstractItemModel * | model () const |
Returns the item model operated on by the selection model. More... | |
QItemSelectionModel (QAbstractItemModel *model) | |
Constructs a selection model that operates on the specified item model. More... | |
QItemSelectionModel (QAbstractItemModel *model, QObject *parent) | |
Constructs a selection model that operates on the specified item model with parent. More... | |
bool | rowIntersectsSelection (int row, const QModelIndex &parent) const |
Returns true if there are any items selected in the row with the given parent. More... | |
QModelIndexList | selectedColumns (int row=0) const |
Returns the indexes in the given row for columns where all rows are selected. More... | |
QModelIndexList | selectedIndexes () const |
Returns a list of all selected model item indexes. More... | |
QModelIndexList | selectedRows (int column=0) const |
Returns the indexes in the given column for the rows where all columns are selected. More... | |
const QItemSelection | selection () const |
Returns the selection ranges stored in the selection model. More... | |
virtual | ~QItemSelectionModel () |
Destroys the selection model. More... | |
Public Functions inherited from QObject | |
bool | blockSignals (bool b) |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More... | |
const QObjectList & | children () const |
Returns a list of child objects. More... | |
bool | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0) |
bool | disconnect (const QObject *receiver, const char *member=0) |
void | dumpObjectInfo () |
Dumps information about signal connections, etc. More... | |
void | dumpObjectTree () |
Dumps a tree of children to the debug output. More... | |
QList< QByteArray > | dynamicPropertyNames () const |
Returns the names of all properties that were dynamically added to the object using setProperty(). More... | |
virtual bool | event (QEvent *) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. More... | |
virtual bool | eventFilter (QObject *, QEvent *) |
Filters events if this object has been installed as an event filter for the watched object. More... | |
template<typename T > | |
T | findChild (const QString &aName=QString()) const |
Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More... | |
template<typename T > | |
QList< T > | findChildren (const QString &aName=QString()) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More... | |
template<typename T > | |
QList< T > | findChildren (const QRegExp &re) const |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More... | |
void | installEventFilter (QObject *) |
Installs an event filter filterObj on this object. More... | |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false. More... | |
void | killTimer (int id) |
Kills the timer with timer identifier, id. More... | |
virtual const QMetaObject * | metaObject () const |
Returns a pointer to the meta-object of this object. More... | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. More... | |
QString | objectName () const |
QObject * | parent () const |
Returns a pointer to the parent object. More... | |
QVariant | property (const char *name) const |
Returns the value of the object's name property. More... | |
Q_INVOKABLE | QObject (QObject *parent=0) |
Constructs an object with parent object parent. More... | |
void | removeEventFilter (QObject *) |
Removes an event filter object obj from this object. More... | |
void | setObjectName (const QString &name) |
void | setParent (QObject *) |
Makes the object a child of parent. More... | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. More... | |
void | setUserData (uint id, QObjectUserData *data) |
bool | signalsBlocked () const |
Returns true if signals are blocked; otherwise returns false. More... | |
int | startTimer (int interval) |
Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More... | |
QThread * | thread () const |
Returns the thread in which the object lives. More... | |
QObjectUserData * | userData (uint id) const |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. More... | |
Protected Functions | |
void | emitSelectionChanged (const QItemSelection &newSelection, const QItemSelection &oldSelection) |
Compares the two selections newSelection and oldSelection and emits selectionChanged() with the deselected and selected items. More... | |
QItemSelectionModel (QItemSelectionModelPrivate &dd, QAbstractItemModel *model) | |
Protected Functions inherited from QObject | |
virtual void | childEvent (QChildEvent *) |
This event handler can be reimplemented in a subclass to receive child events. More... | |
virtual void | connectNotify (const char *signal) |
This virtual function is called when something has been connected to signal in this object. More... | |
virtual void | customEvent (QEvent *) |
This event handler can be reimplemented in a subclass to receive custom events. More... | |
virtual void | disconnectNotify (const char *signal) |
This virtual function is called when something has been disconnected from signal in this object. More... | |
QObject (QObjectPrivate &dd, QObject *parent=0) | |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. More... | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More... | |
int | senderSignalIndex () const |
virtual void | timerEvent (QTimerEvent *) |
This event handler can be reimplemented in a subclass to receive timer events for the object. More... | |
Additional Inherited Members | |
Static Public Functions inherited from QObject | |
static bool | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More... | |
static bool | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
Disconnects signal in object sender from method in object receiver. More... | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static uint | registerUserData () |
static QString | tr (const char *sourceText, const char *comment=0, int n=-1) |
static QString | trUtf8 (const char *sourceText, const char *comment=0, int n=-1) |
Static Public Variables inherited from QObject | |
static const QMetaObject | staticMetaObject |
This variable stores the meta-object for the class. More... | |
Protected Variables inherited from QObject | |
QScopedPointer< QObjectData > | d_ptr |
Static Protected Variables inherited from QObject | |
static const QMetaObject | staticQtMetaObject |
Related Functions inherited from QObject | |
T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QRegExp ®Exp)() |
T * | qobject_cast (QObject *object) |
QObjectList | |
void * | qt_find_obj_child (QObject *parent, const char *type, const QString &name) |
Returns a pointer to the object named name that inherits type and with a given parent. More... | |
The QItemSelectionModel class keeps track of a view's selected items.
A QItemSelectionModel keeps track of the selected items in a view, or in several views onto the same model. It also keeps track of the currently selected item in a view.
The QItemSelectionModel class is one of the Model/View Classes and is part of Qt's Model/View Programming{model/view framework}.
The selected items are stored using ranges. Whenever you want to modify the selected items use select() and provide either a QItemSelection, or a QModelIndex and a QItemSelectionModel::SelectionFlag.
The QItemSelectionModel takes a two layer approach to selection management, dealing with both selected items that have been committed and items that are part of the current selection. The current selected items are part of the current interactive selection (for example with rubber-band selection or keyboard-shift selections).
To update the currently selected items, use the bitwise OR of QItemSelectionModel::Current and any of the other SelectionFlags. If you omit the QItemSelectionModel::Current command, a new current selection will be created, and the previous one added to the whole selection. All functions operate on both layers; for example, selectedItems() will return items from both layers.
Definition at line 151 of file qitemselectionmodel.h.
This enum describes the way the selection model will be updated.
Enumerator | |
---|---|
NoUpdate | |
Clear | |
Select | |
Deselect | |
Toggle | |
Current | |
Rows | |
Columns | |
SelectCurrent | |
ToggleCurrent | |
ClearAndSelect |
Definition at line 159 of file qitemselectionmodel.h.
|
explicit |
Constructs a selection model that operates on the specified item model.
Definition at line 1035 of file qitemselectionmodel.cpp.
|
explicit |
Constructs a selection model that operates on the specified item model with parent.
Definition at line 1044 of file qitemselectionmodel.cpp.
|
virtual |
Destroys the selection model.
Definition at line 1062 of file qitemselectionmodel.cpp.
|
protected |
Definition at line 1053 of file qitemselectionmodel.cpp.
|
virtualslot |
Clears the selection model.
Emits selectionChanged() and currentChanged().
Definition at line 1221 of file qitemselectionmodel.cpp.
Referenced by QListWidget::clear(), QTableWidget::clear(), QTreeWidget::clear(), QTableWidget::clearContents(), reset(), QSidebar::selectUrl(), QCompleterPrivate::setCurrentIndex(), QTreeView::setSelection(), and QCalendarWidgetPrivate::update().
|
slot |
Clears the selection in the selection model.
Definition at line 1251 of file qitemselectionmodel.cpp.
Referenced by clear().
bool QItemSelectionModel::columnIntersectsSelection | ( | int | column, |
const QModelIndex & | parent | ||
) | const |
Returns true if there are any items selected in the column with the given parent.
Definition at line 1491 of file qitemselectionmodel.cpp.
Referenced by QHeaderViewPrivate::columnIntersectsSelection().
|
signal |
This signal is emitted whenever the current item changes.
The previous model item index is replaced by the current index as the selection's current item.
Note that this signal will not be emitted when the item model is reset.
Referenced by clear(), and setCurrentIndex().
|
signal |
This signal is emitted if the current item changes and its column is different to the column of the previous current item.
Note that this signal will not be emitted when the item model is reset.
Referenced by clear(), and setCurrentIndex().
QModelIndex QItemSelectionModel::currentIndex | ( | ) | const |
Returns the model item index for the current item, or an invalid index if there is no current item.
Definition at line 1296 of file qitemselectionmodel.cpp.
Referenced by QAbstractItemViewPrivate::checkPersistentEditorFocus(), QAbstractItemView::closePersistentEditor(), QCompleterPrivate::setCurrentIndex(), QAccessibleItemRow::state(), and QAccessibleTable2Cell::state().
|
signal |
This signal is emitted if the current item changes and its row is different to the row of the previous current item.
Note that this signal will not be emitted when the item model is reset.
Referenced by clear(), and setCurrentIndex().
|
protected |
Compares the two selections newSelection and oldSelection and emits selectionChanged() with the deselected and selected items.
Definition at line 1651 of file qitemselectionmodel.cpp.
Referenced by select().
bool QItemSelectionModel::hasSelection | ( | ) | const |
Returns true if the selection model contains any selection ranges; otherwise returns false.
Definition at line 1525 of file qitemselectionmodel.cpp.
Referenced by QComboBox::hidePopup(), QInputDialogPrivate::listViewText(), QHeaderViewPrivate::prepareSectionSelected(), and QInputDialogPrivate::setInputWidget().
bool QItemSelectionModel::isColumnSelected | ( | int | column, |
const QModelIndex & | parent | ||
) | const |
Returns true if all items are selected in the column with the given parent.
Note that this function is usually faster than calling isSelected() on all items in the same column and that unselectable items are ignored.
Definition at line 1406 of file qitemselectionmodel.cpp.
Referenced by QAccessibleTable2::isColumnSelected(), QHeaderViewPrivate::isColumnSelected(), QAccessibleItemView::isColumnSelected(), and selectedColumns().
bool QItemSelectionModel::isRowSelected | ( | int | row, |
const QModelIndex & | parent | ||
) | const |
Returns true if all items are selected in the row with the given parent.
Note that this function is usually faster than calling isSelected() on all items in the same row and that unselectable items are ignored.
Definition at line 1346 of file qitemselectionmodel.cpp.
Referenced by QAccessibleTable2::isRowSelected(), QHeaderViewPrivate::isRowSelected(), QAccessibleTree::isRowSelected(), QAccessibleItemView::isRowSelected(), selectedRows(), and QAccessibleItemRow::state().
bool QItemSelectionModel::isSelected | ( | const QModelIndex & | index | ) | const |
Returns true if the given model item index is selected.
Definition at line 1304 of file qitemselectionmodel.cpp.
Referenced by QColumnViewPrivate::_q_clicked(), QAbstractItemViewPrivate::extendedSelectionCommand(), QListWidget::isItemSelected(), QTableWidget::isItemSelected(), QAccessibleItemView::isSelected(), QAccessibleTable2Cell::isSelected(), QListView::paintEvent(), QAbstractItemViewPrivate::shouldEdit(), QAccessibleItemRow::state(), and QAccessibleTable2Cell::state().
const QAbstractItemModel * QItemSelectionModel::model | ( | ) | const |
Returns the item model operated on by the selection model.
Definition at line 1642 of file qitemselectionmodel.cpp.
Referenced by selectedColumns(), selectedRows(), and QAbstractItemView::setSelectionModel().
|
virtualslot |
Clears the selection model.
Does not emit any signals.
Definition at line 1237 of file qitemselectionmodel.cpp.
bool QItemSelectionModel::rowIntersectsSelection | ( | int | row, |
const QModelIndex & | parent | ||
) | const |
Returns true if there are any items selected in the row with the given parent.
Definition at line 1462 of file qitemselectionmodel.cpp.
Referenced by QHeaderViewPrivate::rowIntersectsSelection().
|
virtualslot |
Selects the model item index using the specified command, and emits selectionChanged().
Definition at line 1072 of file qitemselectionmodel.cpp.
Referenced by QColumnViewPrivate::_q_changeCurrentColumn(), clearSelection(), QAccessibleItemRow::doAction(), QComboBox::hidePopup(), QAccessibleItemRow::navigate(), QColumnView::selectAll(), QAbstractItemViewPrivate::selectAll(), QListViewPrivate::selectAll(), QAccessibleTable2::selectColumn(), QAccessibleItemView::selectColumn(), QTableViewPrivate::selectColumn(), QAccessibleTable2::selectRow(), QAccessibleTree::selectRow(), QAccessibleItemView::selectRow(), QTableViewPrivate::selectRow(), QSidebar::selectUrl(), setCurrentIndex(), QListWidget::setItemSelected(), QTableWidget::setItemSelected(), QTreeWidget::setItemSelected(), QTableWidget::setRangeSelected(), QAccessibleTable2::unselectColumn(), QAccessibleItemView::unselectColumn(), QAccessibleTable2::unselectRow(), and QAccessibleItemView::unselectRow().
|
virtualslot |
Selects the item selection using the specified command, and emits selectionChanged().
Definition at line 1168 of file qitemselectionmodel.cpp.
QModelIndexList QItemSelectionModel::selectedColumns | ( | int | row = 0 | ) | const |
Returns the indexes in the given row for columns where all rows are selected.
Definition at line 1594 of file qitemselectionmodel.cpp.
Referenced by QTableViewPrivate::selectColumn(), QAccessibleTable2::selectedColumnCount(), QAccessibleItemView::selectedColumnCount(), and QAccessibleItemView::selectedColumns().
QModelIndexList QItemSelectionModel::selectedIndexes | ( | ) | const |
Returns a list of all selected model item indexes.
The list contains no duplicates, and is not sorted.
Definition at line 1541 of file qitemselectionmodel.cpp.
Referenced by QSidebar::removeEntry(), QColumnView::selectAll(), QAccessibleTable2::selectedCellCount(), QTreeView::selectedIndexes(), QListWidget::selectedItems(), QTableWidget::selectedItems(), and QTreeWidget::selectedItems().
QModelIndexList QItemSelectionModel::selectedRows | ( | int | column = 0 | ) | const |
Returns the indexes in the given column for the rows where all columns are selected.
Definition at line 1559 of file qitemselectionmodel.cpp.
Referenced by QInputDialogPrivate::listViewText(), QAccessibleTable2::selectedRowCount(), QAccessibleItemView::selectedRowCount(), QAccessibleItemView::selectedRows(), and QTableViewPrivate::selectRow().
const QItemSelection QItemSelectionModel::selection | ( | ) | const |
Returns the selection ranges stored in the selection model.
Definition at line 1622 of file qitemselectionmodel.cpp.
Referenced by QAbstractItemViewPrivate::clearOrRemove(), QComboBox::hidePopup(), QAccessibleItemRow::navigate(), select(), selectedColumns(), QTableWidget::selectedRanges(), selectedRows(), and QTreeWidget::setSelectionModel().
|
signal |
This signal is emitted whenever the selection changes.
The change in the selection is represented as an item selection of deselected items and an item selection of selected items.
Note the that the current index changes independently from the selection. Also note that this signal will not be emitted when the item model is reset.
Referenced by emitSelectionChanged().
|
slot |
Sets the model item index to be the current item, and emits currentChanged().
The current item is used for keyboard navigation and focus indication; it is independent of any selected items, although a selected item can also be the current item.
Depending on the specified command, the index can also become part of the current selection.
Definition at line 1271 of file qitemselectionmodel.cpp.
Referenced by QColumnViewPrivate::_q_changeCurrentColumn(), QAbstractItemView::focusInEvent(), QTreeView::keyboardSearch(), QCalendarView::mouseMoveEvent(), QCalendarView::mousePressEvent(), QTableViewPrivate::selectColumn(), QTableViewPrivate::selectRow(), QCompleterPrivate::setCurrentIndex(), QListWidget::setCurrentRow(), QInputDialogPrivate::setListViewText(), QComboBox::showPopup(), QUndoModel::stackChanged(), QCalendarWidgetPrivate::update(), and QCalendarWidgetPrivate::updateCurrentPage().