Marcelo:

Lo que te comentaba tu tocayo Cortez es correcto pero aplica a Dolphin 
Smalltalk el cual trae una mejora en la implementación de #printString.
En todo caso el efecto es el mismo, tenes que redefinir en tu clase 
Usuario el método #printOn: . Eso se debe a que #printString, que es el 
que va  a enviar internamente el ListBox para mostrar un objeto, esta 
implementado en terminos de #printOn: . Con esto quiero decir que como 
regla tomá que *siempre* se redefine #printOn: y *nunca* #printString.

Ahora, printOn: lleva como argumento aStream, es decir, si te fijas en 
la implementacion de Object de printString se crea un Stream y se pasa 
como argumento del printOn: .

El stream argumento tenes que "escribirlo o usarlo" usando #nextPut: y/o 
#nextPutAll: . Fijate en la clase Stream y sus subclases todo el 
protocolo disponible. Ademas tenes como ejemplos todos lo implementors 
de #printOn: dentro del propio Visual Smalltalk.

    En tu caso

    Usuario>>#printOn:
       printOn: aStream
          "Agrega a aStream la descripción textual del receptor."

          aStream nextPutAll: self nombre

Si no entendes algo de lo que te explicamos sobre como buscar 
Implementors y Senders pregunta. Tambien si queres saber como usar el 
Debugger.

Algo para tener en cuenta es que PARTS es un poco especial, tiene cosas 
muy buenas y cosas no tan buenas asi que podes preguntar y por ahi no 
tenemos muchas respuestas. Ni siquiera tengo un image con PARTS a mano, 
debería armarlo. Ademas poca gente lo ha usado... creo que en la 
Universidad de Morón nomas. Deberiamos tener alguien que haga algo en 
Moron y ayude a que se use Dolphin en vez de Visual Smalltalk (y esto no 
significa que VS sea malo).

Saludos
  GallegO

entrada escribió:
> Hola Gente,
>
> Estoy haciendo una pantalla principal en Visual Smalltalk y tengo un
> listBox de usuarios llamado ListaUsuarios.
> Esta lista de usuarios esta asociada a un objeto pListaUsuarios de la
> siguiente forma:
>
> pListaUsuarios:= self partNamed: 'ListaUsuarios'.
>
> En el initializeParts de la clase administradora llamo a un metodo
> actualizarListaUsuarios que contiene la siguiente linea:
>
> pListaUsuarios setList: sistema usuarios.
> donde el metodo usuarios devuelve una OrderedCollection.
>
> Ahora lo que me muestra el listBox ListaUsuarios es:
> aUsuario
> aUsuario
> aUsuario
>
> lo que yo quisiera mostrar es el nombre de usuarios de la siguiente
> forma:
> perezj
> rodriguezl
> pereyram
>
> pero al hacer doble click sobre el nombre ejecutar un metodo sobre el
> objeto usuario.
>
> Cual es la mejor forma de hacer esto?
> yo lo que habia pensado es cargar los nombres de usuarios en la lista
> y al hacer doble click llamar a un metodo traerUsuario:nombre que me
> devuelva el objeto usuario.
>
> Espero que se entienda.
>
> Desde ya, muchas gracias por cualquier ayuda.
> Saludos,
> Marcelo
>
>
> >
>
>   


--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "clubSmalltalk" de 
Grupos de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a [email protected]
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/clubSmalltalk?hl=es.

-~----------~----~----~----~------~----~------~--~---

Responder a