| 229 | } |
| 230 | |
| 231 | bool AccessibleInstanceView::selectColumn(int column) |
| 232 | { |
| 233 | if (!view()->model() || !view()->selectionModel()) { |
| 234 | return false; |
| 235 | } |
| 236 | QModelIndex index = view()->model()->index(0, column, view()->rootIndex()); |
| 237 | |
| 238 | if (!index.isValid() || view()->selectionBehavior() == QAbstractItemView::SelectRows) { |
| 239 | return false; |
| 240 | } |
| 241 | |
| 242 | switch (view()->selectionMode()) { |
| 243 | case QAbstractItemView::NoSelection: { |
| 244 | return false; |
| 245 | } |
| 246 | case QAbstractItemView::SingleSelection: { |
| 247 | if (view()->selectionBehavior() != QAbstractItemView::SelectColumns && rowCount() > 1) { |
| 248 | return false; |
| 249 | } |
| 250 | } |
| 251 | /* fallthrough */ |
| 252 | case QAbstractItemView::ContiguousSelection: { |
| 253 | if ((!column || !view()->selectionModel()->isColumnSelected(column - 1, view()->rootIndex())) && |
| 254 | !view()->selectionModel()->isColumnSelected(column + 1, view()->rootIndex())) { |
| 255 | view()->clearSelection(); |
| 256 | } |
| 257 | break; |
| 258 | } |
| 259 | default: { |
| 260 | break; |
| 261 | } |
| 262 | } |
| 263 | |
| 264 | view()->selectionModel()->select(index, QItemSelectionModel::Select | QItemSelectionModel::Columns); |
| 265 | return true; |
| 266 | } |
| 267 | |
| 268 | bool AccessibleInstanceView::unselectRow(int row) |
| 269 | { |
no test coverage detected