Esempio n. 1
0
CString AcuArchive::Reload(void)
{
    fReloadFlag = true;     // tell everybody that cached data is invalid

    DeleteEntries();
    if (LoadContents() != 0) {
        return L"Reload failed.";
    }
    
    return "";
}
Esempio n. 2
0
TMultiFontTextGadget :: ~TMultiFontTextGadget  ( )
   {
	DeleteEntries ( ) ;
     }
Esempio n. 3
0
void	TMultiFontTextGadget :: SetText ( char *	text )
   {
	register char *		p 		=  text ;
	LOGFONT			CurrentFont,
				NewFont ;
	COLORREF		OldFore, OldBack,
				Fore, Back ;
	int			size,
				total_size 	=  0 ;


// Effacer les entrées de texte précédentes
	DeleteEntries ( ) ;

	if  ( ! text )
		goto  Return ;


// Récupérer les paramètres de la police du gadget, ainsi que les couleurs du texte
	{
		GetFont ( ). GetObject ( CurrentFont ) ;
		NewFont	=  CurrentFont ;

		OldBack = 0xFFFFFFFFL ;
		OldFore = 0xFFFFFFFFL ;
		Fore    = OldFore ;
		Back    = OldBack ;
	  }
	


// Traiter tous les formats
	while  ( * p )
	   {
	// Récupérer le prochain élément de texte
		p = GetTextElement ( p, size, CurrentFont, NewFont, OldFore,
			OldBack, Fore, Back ) ;

	// Allouer un nouvel élément dans la liste chaînée
		TTextEntry *	te	=  new  TTextEntry ;


	// Initialiser la structure
		te -> Font 		= new  TFont ( & NewFont ) ;
		te -> ForegroundColor   = Fore ;
		te -> BackgroundColor   = Back ;
		te -> TextLength	= size ;
		te -> Text		= new  char [size+1] ;
		te -> Next		= 0 ;
		strncpy ( te -> Text, p, size ) ;
		te -> Text [size] = 0 ;
		p += size ;


	// L'ajouter dans la liste chaînée
		if  ( TextEntries ) 
		   {
			LastTextEntry -> Next = te ;
			LastTextEntry = te ;
		    }
		else
			TextEntries = LastTextEntry = te ;
	      }
		   

Return :
// Supprimer l'ancien texte
	if  ( Text )	
		delete  []  Text ;


// Et le reconstituer avec les nouveaux éléments
	if  ( total_size )
	   {
		Text = p = new  char [ total_size + 1 ] ;

		for  ( TTextEntry *  te = TextEntries ; te ; te = te -> Next )
		   {
			strcpy ( p, te -> Text ) ;
			p += te -> TextLength + 1 ;
		    }
	     }
	else
		Text = 0 ;

// Indiquer qu'il y a eu un changement de taille
	Window -> GadgetChangedSize ( * this ) ;
    }