En el grupo de autoformación de Squeak surgió la pregunta: ¿se pueden cambiar los botones de Stop / Step / Go?
Yo respondí que todo se puede cambiar, pero sin profundizar en mi búsqueda. Cuando varios integrantes del grupo lo intentamos, resultó que no era tan sencillo como cambiar usando los halos y los iconos. Por eso recurrimos a Gonzalo Zabala, nuestro experto, y esto fue lo que nos explicó:
Estimados:
El etoy que ejecuta todos los guiones (el que aparece con los botones stop, step y go) es un morph compuesto, donde cada botón está representado por un objeto de la clase 3PButton. Bueno, para no ponernos pesados técnicamente hablando, simplemente comentamos que los objetos de esa clase tienen 3 atributos que definen el aspecto del botón en diversos momentos: image, offImage y pressedImage. Cada uno de los botones es un 3PButton, y por lo tanto, cada uno de ellos tiene estos 3 atributos.
Para poder cambiarlos, antes que nada tenemos que hacer los dibujos correspondientes a los 3 estados (puede ser el mismo, con un cambio de color nomás) y grabarlos en la misma carpeta donde tengo la imagen (que probablemente sea la misma carpeta donde tengo el ejecutable de Squeak) con extensión bmp o gif. Luego, pedir el halo del etoy varias veces hasta que me aparezca el halo correspondiente al “stop button”.
Allí hacemos click en la opción “Depurar” (representada por la llave).
En el menú que aparece, seleccionamos “Inspeccionar morph” y nos aparece el cuadro de la siguiente imagen:
En el cuadro en blanco que está en la parte inferior, debemos escribir
image:=Form fromFileNamed: ‘archivo.ext’
y hacemos ALT+D para que se ejecute (o como sea en la Mac, que no recuerdo!!!).
Si se ejecutó, se verá la sentencia resaltada de esta manera:
Para cambiar el offImage y pressedImage hacemos lo mismo:
La imagen no se cambiará automáticamente, lo hará cuando activemos el etoy, moviéndolo, o haciendo click en el botón.
Finalizada la operación para el Stop button (con los 3 estados) podemos hacer lo mismo haciendo click con el botón derecho varias veces sobre el botón de step o el de go, hasta llegar al morph correspondiente al botón.
Nota importante: para ese etoy en particular, la imagen debe tener 52 pixeles de ancho por 29 de alto.
¡¡Gracias Gonzalo!!
Un comentario en “Squeak: Cambiando los botones de Stop / Step / Go”