| 194 | } |
| 195 | |
| 196 | bool AccessibleInstanceView::selectRow(int row) |
| 197 | { |
| 198 | if (!view()->model() || !view()->selectionModel()) { |
| 199 | return false; |
| 200 | } |
| 201 | QModelIndex index = view()->model()->index(row, 0, view()->rootIndex()); |
| 202 | |
| 203 | if (!index.isValid() || view()->selectionBehavior() == QAbstractItemView::SelectColumns) { |
| 204 | return false; |
| 205 | } |
| 206 | |
| 207 | switch (view()->selectionMode()) { |
| 208 | case QAbstractItemView::NoSelection: { |
| 209 | return false; |
| 210 | } |
| 211 | case QAbstractItemView::SingleSelection: { |
| 212 | if (view()->selectionBehavior() != QAbstractItemView::SelectRows && columnCount() > 1 ) |
| 213 | return false; |
| 214 | view()->clearSelection(); |
| 215 | break; |
| 216 | } |
| 217 | case QAbstractItemView::ContiguousSelection: { |
| 218 | if ((!row || !view()->selectionModel()->isRowSelected(row - 1, view()->rootIndex())) && !view()->selectionModel()->isRowSelected(row + 1, view()->rootIndex())) { |
| 219 | view()->clearSelection(); |
| 220 | } |
| 221 | break; |
| 222 | } |
| 223 | default: |
| 224 | qWarning() << "Unhandled QAbstractItemView selection type!"; |
| 225 | break; |
| 226 | } |
| 227 | |
| 228 | view()->selectionModel()->select(index, QItemSelectionModel::Select | QItemSelectionModel::Rows); |
| 229 | return true; |
| 230 | } |
| 231 | |
| 232 | bool AccessibleInstanceView::selectColumn(int column) |
| 233 | { |
no test coverage detected