Example #1
0
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;
}
Example #5
0
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;
}
Example #8
0
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;
}