void BattleListCtrl::UpdateBattle( IBattle& battle ) { int index = GetIndexFromData( &battle ); RefreshItem( index ); MarkDirtySort(); }
void CustomVirtListCtrl<T,L>::RestoreSelection() { while ( !m_selected_data.empty() ) { SelectedDataType data = m_selected_data.back(); m_selected_data.pop_back(); int idx = GetIndexFromData( data ); SetItemState( idx, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED ); } }
void BattleroomListCtrl::UpdateUser( User& user ) { if ( !user.BattleStatus().spectator ) icons().SetColourIcon( user.BattleStatus().colour ); wxArrayString sides = LSL::Util::vectorToArrayString(LSL::usync().GetSides(STD_STRING(m_battle->GetHostModName()))); ASSERT_EXCEPTION( user.BattleStatus().side < (long)sides.GetCount(), _T("Side index too high") ); user.SetSideiconIndex( icons().GetSideIcon( m_battle->GetHostModName(), user.BattleStatus().side ) ); int index = GetIndexFromData( &user ); UpdateUser( index ); }
bool CustomVirtListCtrl<T,L>::AddItem( const T& item ) { if ( GetIndexFromData( item ) != -1 ) return false; m_data.push_back( item ); SetItemCount( m_data.size() ); RefreshItem( m_data.size() - 1 ); MarkDirtySort(); return true; }
void NickListCtrl::UserUpdated( const User& user ) { int index = GetIndexFromData( &user ); if ( index != -1 ) { m_data[index] = &user; MarkDirtySort(); RefreshItem( index ); } else { wxLogWarning( _T( "NickListCtrl::UserUpdated error, index == -1 ." ) ); } }
void BattleroomListCtrl::UpdateUser(User& user) { if (!user.BattleStatus().spectator) icons().SetColourIcon(user.BattleStatus().colour); try { wxArrayString sides = lslTowxArrayString(LSL::usync().GetSides(m_battle->GetHostModName())); if (user.BattleStatus().side < (long)sides.GetCount()) { user.SetSideiconIndex(icons().GetSideIcon(m_battle->GetHostModName(), user.BattleStatus().side)); } } catch (...) { } int index = GetIndexFromData(&user); UpdateUser(index); }
bool CustomVirtListCtrl<T,L>::RemoveItem( const T& item ) { int index = GetIndexFromData( item ); if ( (index >= 0) && (index<(long)m_data.size()) ) { SelectionSaver<ThisType>(*this); m_data.erase( m_data.begin() + index ); SetItemCount( m_data.size() ); if (index>(long)m_data.size()-1) index--; RefreshItems( index, m_data.size() -1 ); return true; } return false; }
void TorrentListCtrl::UpdateTorrentInfo(const DataType& info) { int index = GetIndexFromData(info); if( index < 0) { if(IsTorrentActive(info)) AddTorrentInfo(info); return; } m_data[index] = info; RefreshItem( index ); MarkDirtySort(); }
bool CustomVirtListCtrl<T,L>::RemoveItem( const T& item ) { int index = GetIndexFromData( item ); if ( (index >= 0) && (index<(long)m_data.size()) ) { SaveSelection(); m_data.erase( m_data.begin() + index ); SetItemCount( m_data.size() ); if (index>(long)m_data.size()-1) index--; if (m_data.size() > 0) { RefreshItems( index, m_data.size() -1 ); RestoreSelection(); } else { Clear(); } return true; } return false; }