| 599 | } |
| 600 | |
| 601 | bool CListUI::ExpandItem(int iIndex, bool bExpand /*= true*/) |
| 602 | { |
| 603 | if( m_iExpandedItem >= 0 && !m_ListInfo.bMultiExpandable) { |
| 604 | CControlUI* pControl = GetItemAt(m_iExpandedItem); |
| 605 | if( pControl != NULL ) { |
| 606 | IListItemUI* pItem = static_cast<IListItemUI*>(pControl->GetInterface(_T("ListItem"))); |
| 607 | if( pItem != NULL ) pItem->Expand(false); |
| 608 | } |
| 609 | m_iExpandedItem = -1; |
| 610 | } |
| 611 | if( bExpand ) { |
| 612 | CControlUI* pControl = GetItemAt(iIndex); |
| 613 | if( pControl == NULL ) return false; |
| 614 | if( !pControl->IsVisible() ) return false; |
| 615 | IListItemUI* pItem = static_cast<IListItemUI*>(pControl->GetInterface(_T("ListItem"))); |
| 616 | if( pItem == NULL ) return false; |
| 617 | m_iExpandedItem = iIndex; |
| 618 | if( !pItem->Expand(true) ) { |
| 619 | m_iExpandedItem = -1; |
| 620 | return false; |
| 621 | } |
| 622 | } |
| 623 | NeedUpdate(); |
| 624 | return true; |
| 625 | } |
| 626 | |
| 627 | int CListUI::GetExpandedItem() const |
| 628 | { |
nothing calls this directly
no test coverage detected