diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2017-06-01 13:04:12 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2017-06-20 08:55:40 +0000 |
commit | 4088f4ce4d6e5f48dd68f2b63f595b8123347621 (patch) | |
tree | d7e7b21133776cfd0b0fce819fbabc5336c24c18 /src/widgets | |
parent | ab420484e7566bb0ccfbb06b98e4b88a49048a71 (diff) |
QAbstractItemView: add isPersistentEditorOpen()
[ChangeLog][QtWidgets][QAbstractItemView/QTreeWidget/QTableWidget/QListWidget]
Added isPersistentEditorOpen().
Task-number: QTBUG-61139
Change-Id: I74997d9626812fed83591d32c503680575ec0f7c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/itemviews/qabstractitemview.cpp | 17 | ||||
-rw-r--r-- | src/widgets/itemviews/qabstractitemview.h | 1 | ||||
-rw-r--r-- | src/widgets/itemviews/qlistwidget.cpp | 18 | ||||
-rw-r--r-- | src/widgets/itemviews/qlistwidget.h | 2 | ||||
-rw-r--r-- | src/widgets/itemviews/qtablewidget.cpp | 18 | ||||
-rw-r--r-- | src/widgets/itemviews/qtablewidget.h | 2 | ||||
-rw-r--r-- | src/widgets/itemviews/qtreewidget.cpp | 19 | ||||
-rw-r--r-- | src/widgets/itemviews/qtreewidget.h | 2 |
8 files changed, 71 insertions, 8 deletions
diff --git a/src/widgets/itemviews/qabstractitemview.cpp b/src/widgets/itemviews/qabstractitemview.cpp index baeba1759c..e1b6f52225 100644 --- a/src/widgets/itemviews/qabstractitemview.cpp +++ b/src/widgets/itemviews/qabstractitemview.cpp @@ -3138,7 +3138,7 @@ int QAbstractItemView::sizeHintForColumn(int column) const Opens a persistent editor on the item at the given \a index. If no editor exists, the delegate will create a new editor. - \sa closePersistentEditor() + \sa closePersistentEditor(), isPersistentEditorOpen() */ void QAbstractItemView::openPersistentEditor(const QModelIndex &index) { @@ -3157,7 +3157,7 @@ void QAbstractItemView::openPersistentEditor(const QModelIndex &index) /*! Closes the persistent editor for the item at the given \a index. - \sa openPersistentEditor() + \sa openPersistentEditor(), isPersistentEditorOpen() */ void QAbstractItemView::closePersistentEditor(const QModelIndex &index) { @@ -3172,6 +3172,19 @@ void QAbstractItemView::closePersistentEditor(const QModelIndex &index) } /*! + \since 5.10 + + Returns whether a persistent editor is open for the item at index \a index. + + \sa openPersistentEditor(), closePersistentEditor() +*/ +bool QAbstractItemView::isPersistentEditorOpen(const QModelIndex &index) const +{ + Q_D(const QAbstractItemView); + return d->editorForIndex(index).widget; +} + +/*! \since 4.1 Sets the given \a widget on the item at the given \a index, passing the diff --git a/src/widgets/itemviews/qabstractitemview.h b/src/widgets/itemviews/qabstractitemview.h index f315ea6e4c..e2249ec3aa 100644 --- a/src/widgets/itemviews/qabstractitemview.h +++ b/src/widgets/itemviews/qabstractitemview.h @@ -213,6 +213,7 @@ public: void openPersistentEditor(const QModelIndex &index); void closePersistentEditor(const QModelIndex &index); + bool isPersistentEditorOpen(const QModelIndex &index) const; void setIndexWidget(const QModelIndex &index, QWidget *widget); QWidget *indexWidget(const QModelIndex &index) const; diff --git a/src/widgets/itemviews/qlistwidget.cpp b/src/widgets/itemviews/qlistwidget.cpp index 0a1f85facb..7611e5c1ca 100644 --- a/src/widgets/itemviews/qlistwidget.cpp +++ b/src/widgets/itemviews/qlistwidget.cpp @@ -1617,7 +1617,7 @@ void QListWidget::editItem(QListWidgetItem *item) Opens an editor for the given \a item. The editor remains open after editing. - \sa closePersistentEditor() + \sa closePersistentEditor(), isPersistentEditorOpen() */ void QListWidget::openPersistentEditor(QListWidgetItem *item) { @@ -1629,7 +1629,7 @@ void QListWidget::openPersistentEditor(QListWidgetItem *item) /*! Closes the persistent editor for the given \a item. - \sa openPersistentEditor() + \sa openPersistentEditor(), isPersistentEditorOpen() */ void QListWidget::closePersistentEditor(QListWidgetItem *item) { @@ -1639,6 +1639,20 @@ void QListWidget::closePersistentEditor(QListWidgetItem *item) } /*! + \since 5.10 + + Returns whether a persistent editor is open for item \a item. + + \sa openPersistentEditor(), closePersistentEditor() +*/ +bool QListWidget::isPersistentEditorOpen(QListWidgetItem *item) const +{ + Q_D(const QListWidget); + const QModelIndex index = d->listModel()->index(item); + return QAbstractItemView::isPersistentEditorOpen(index); +} + +/*! \since 4.1 Returns the widget displayed in the given \a item. diff --git a/src/widgets/itemviews/qlistwidget.h b/src/widgets/itemviews/qlistwidget.h index 85ca639e50..2dbdbdf48b 100644 --- a/src/widgets/itemviews/qlistwidget.h +++ b/src/widgets/itemviews/qlistwidget.h @@ -240,6 +240,8 @@ public: void editItem(QListWidgetItem *item); void openPersistentEditor(QListWidgetItem *item); void closePersistentEditor(QListWidgetItem *item); + using QAbstractItemView::isPersistentEditorOpen; + bool isPersistentEditorOpen(QListWidgetItem *item) const; QWidget *itemWidget(QListWidgetItem *item) const; void setItemWidget(QListWidgetItem *item, QWidget *widget); diff --git a/src/widgets/itemviews/qtablewidget.cpp b/src/widgets/itemviews/qtablewidget.cpp index 663cd4adc6..7bb11aef14 100644 --- a/src/widgets/itemviews/qtablewidget.cpp +++ b/src/widgets/itemviews/qtablewidget.cpp @@ -2221,7 +2221,7 @@ void QTableWidget::editItem(QTableWidgetItem *item) /*! Opens an editor for the give \a item. The editor remains open after editing. - \sa closePersistentEditor() + \sa closePersistentEditor(), isPersistentEditorOpen() */ void QTableWidget::openPersistentEditor(QTableWidgetItem *item) { @@ -2235,7 +2235,7 @@ void QTableWidget::openPersistentEditor(QTableWidgetItem *item) /*! Closes the persistent editor for \a item. - \sa openPersistentEditor() + \sa openPersistentEditor(), isPersistentEditorOpen() */ void QTableWidget::closePersistentEditor(QTableWidgetItem *item) { @@ -2247,6 +2247,20 @@ void QTableWidget::closePersistentEditor(QTableWidgetItem *item) } /*! + \since 5.10 + + Returns whether a persistent editor is open for item \a item. + + \sa openPersistentEditor(), closePersistentEditor() +*/ +bool QTableWidget::isPersistentEditorOpen(QTableWidgetItem *item) const +{ + Q_D(const QTableWidget); + const QModelIndex index = d->tableModel()->index(item); + return QAbstractItemView::isPersistentEditorOpen(index); +} + +/*! \since 4.1 Returns the widget displayed in the cell in the given \a row and \a column. diff --git a/src/widgets/itemviews/qtablewidget.h b/src/widgets/itemviews/qtablewidget.h index b91bcf7ce4..8b827bc16b 100644 --- a/src/widgets/itemviews/qtablewidget.h +++ b/src/widgets/itemviews/qtablewidget.h @@ -263,6 +263,8 @@ public: void editItem(QTableWidgetItem *item); void openPersistentEditor(QTableWidgetItem *item); void closePersistentEditor(QTableWidgetItem *item); + using QAbstractItemView::isPersistentEditorOpen; + bool isPersistentEditorOpen(QTableWidgetItem *item) const; QWidget *cellWidget(int row, int column) const; void setCellWidget(int row, int column, QWidget *widget); diff --git a/src/widgets/itemviews/qtreewidget.cpp b/src/widgets/itemviews/qtreewidget.cpp index 8ce36ab47e..a58da489aa 100644 --- a/src/widgets/itemviews/qtreewidget.cpp +++ b/src/widgets/itemviews/qtreewidget.cpp @@ -2907,7 +2907,7 @@ void QTreeWidget::editItem(QTreeWidgetItem *item, int column) /*! Opens a persistent editor for the \a item in the given \a column. - \sa closePersistentEditor() + \sa closePersistentEditor(), isPersistentEditorOpen() */ void QTreeWidget::openPersistentEditor(QTreeWidgetItem *item, int column) @@ -2922,7 +2922,7 @@ void QTreeWidget::openPersistentEditor(QTreeWidgetItem *item, int column) This function has no effect if no persistent editor is open for this combination of item and column. - \sa openPersistentEditor() + \sa openPersistentEditor(), isPersistentEditorOpen() */ void QTreeWidget::closePersistentEditor(QTreeWidgetItem *item, int column) @@ -2932,6 +2932,21 @@ void QTreeWidget::closePersistentEditor(QTreeWidgetItem *item, int column) } /*! + \since 5.10 + + Returns whether a persistent editor is open for item \a item in + column \a column. + + \sa openPersistentEditor(), closePersistentEditor() +*/ + +bool QTreeWidget::isPersistentEditorOpen(QTreeWidgetItem *item, int column) const +{ + Q_D(const QTreeWidget); + return QAbstractItemView::isPersistentEditorOpen(d->index(item, column)); +} + +/*! \since 4.1 Returns the widget displayed in the cell specified by \a item and the given \a column. diff --git a/src/widgets/itemviews/qtreewidget.h b/src/widgets/itemviews/qtreewidget.h index fc0bccf2fe..70f7d1507b 100644 --- a/src/widgets/itemviews/qtreewidget.h +++ b/src/widgets/itemviews/qtreewidget.h @@ -300,6 +300,8 @@ public: void editItem(QTreeWidgetItem *item, int column = 0); void openPersistentEditor(QTreeWidgetItem *item, int column = 0); void closePersistentEditor(QTreeWidgetItem *item, int column = 0); + using QAbstractItemView::isPersistentEditorOpen; + bool isPersistentEditorOpen(QTreeWidgetItem *item, int column = 0) const; QWidget *itemWidget(QTreeWidgetItem *item, int column) const; void setItemWidget(QTreeWidgetItem *item, int column, QWidget *widget); |