| 470 | } |
| 471 | |
| 472 | void MultiListBox::removeItemAt(size_t _index) |
| 473 | { |
| 474 | MYGUI_ASSERT(!mVectorColumnInfo.empty(), "MultiListBox::removeItemAt"); |
| 475 | MYGUI_ASSERT_RANGE(_index, mVectorColumnInfo.begin()->list->getItemCount(), "MultiListBox::removeItemAt"); |
| 476 | |
| 477 | size_t index = BiIndexBase::removeItemAt(_index); |
| 478 | |
| 479 | for (auto& iter : mVectorColumnInfo) |
| 480 | { |
| 481 | iter.list->removeItemAt(index); |
| 482 | } |
| 483 | |
| 484 | // если надо, то меняем выделенный элемент |
| 485 | size_t count = mVectorColumnInfo.begin()->list->getItemCount(); |
| 486 | if (count == 0) |
| 487 | mItemSelected = ITEM_NONE; |
| 488 | else if (mItemSelected != ITEM_NONE) |
| 489 | { |
| 490 | if (_index < mItemSelected) |
| 491 | mItemSelected--; |
| 492 | else if ((_index == mItemSelected) && (mItemSelected == count)) |
| 493 | mItemSelected--; |
| 494 | } |
| 495 | updateBackSelected(BiIndexBase::convertToBack(mItemSelected)); |
| 496 | } |
| 497 | |
| 498 | void MultiListBox::swapItemsAt(size_t _index1, size_t _index2) |
| 499 | { |
nothing calls this directly
no test coverage detected