Пример #1
0
bool CASW_VGUI_Info_Message::CloseInfoMessage()
{
	if (g_asw_iGUIWindowsOpen <= 0)
		return false;

	bool bFound = false;
	for (int k=0;k<GetClientMode()->GetViewport()->GetChildCount();k++)
	{
		Panel *pChild = GetClientMode()->GetViewport()->GetChild(k);
		if (pChild && 
			( !strcmp(pChild->GetName(), "InfoMessageWindow") || !strcmp(pChild->GetName(), "InfoMessageLog") )
			)
		{
			pChild->MarkForDeletion();
			pChild->SetVisible(false);
			bFound = true;
		}
	}
	return bFound;
}
Пример #2
0
void CSheet_Array::UpdateArrayBlocks( const int &dest_x, const int &dest_y )
{
	int old_x, old_y;
	old_x = old_y = 0;
	char ***oldEntires = BuildStringSheet( old_x, old_y );

	for ( int y = 0; y < old_y; y++ )
	{
		//for ( int x = 0; x < old_x; x++ )
		m_hArray_Y_Major[y]->Purge();
		delete m_hArray_Y_Major[y];
	}
	m_hArray_Y_Major.Purge();

	int iCurItem = m_pArrayPanel->FirstItem();
	while ( iCurItem != m_pArrayPanel->InvalidItemID() )
	{
		Panel *pA = m_pArrayPanel->GetItemLabel( iCurItem );
		Panel *pB = m_pArrayPanel->GetItemPanel( iCurItem );
		if ( pA != NULL )
			pA->MarkForDeletion();
		if ( pB != NULL )
			pB->MarkForDeletion();
		iCurItem = m_pArrayPanel->NextItem( iCurItem );
	}
	m_pArrayPanel->DeleteAllItems();
	m_pArrayPanel->RemoveAll();

	for ( int y = 0; y < dest_y; y++ )
	{
		CUtlVector< TextEntry* > *cur = new CUtlVector< TextEntry* >;
		m_hArray_Y_Major.AddToTail( cur );
	}

	m_pArrayPanel->SetNumColumns( dest_y );
	for ( int x = 0; x < dest_x; x++ )
	{
		for ( int y = 0; y < dest_y; y++ )
		{
			CUtlVector< TextEntry* > *cur = m_hArray_Y_Major[y];

			TextEntry *pEntry = new TextEntry( m_pArrayPanel, "arrayslot" );
			pEntry->AddActionSignalTarget( this );
			cur->AddToTail( pEntry );

			if ( x < old_x &&
				y < old_y && oldEntires != NULL )
			{
				pEntry->SetText( oldEntires[x][y] );
			}
			else
				pEntry->SetText( "0" );

			Label *pHeader = NULL;
			if ( y == 0 )
				pHeader = new Label( m_pArrayPanel, "", VarArgs( "%i:", x ) );

			m_pArrayPanel->AddItem( pHeader, pEntry );
			pEntry->MakeReadyForUse();
			pEntry->InvalidateLayout( true, true );
			pEntry->SetBgColor( TOKENCHANNELS_SUPPORTED_COLOR );
		}
	}
	m_pArrayPanel->SetFirstColumnWidth( 20 );

	if ( oldEntires != NULL )
		DestroyStringSheet( oldEntires, old_x, old_y );
}