|
|
|
Trabajo publicado originalmente en
el sitio de Small-Land,
Julio 2002. |
| |
|
Squeak, como medio de expresar
ideas, también puede usarse para realizar presentaciones "a la Power Point" (o
StarImpress, OpenOffice Impress o Freelance).
Obviamente que no es un
producto pensado para hacer eso, es muchísimo más, es un ambiente de objetos
que, eventualmente, puede ser usado para hacer presentaciones, por lo tanto no
es de esperar encontrar aquí características específicas de un producto
destinado exclusivamente a realizar presentaciones.
A cambio tiene el
inmenso poder de los objetos subyacente en cada slide (cada hoja) con lo cual es
posible incorporar objetos "vivos" permanentemente, así como hacerlos trabajar.
En este artículo veremos como armar presentaciones básicas en Squeak y la idea es que sirva
como punto de partida a todos aquellos que deseen usar esta característica para
presentar sus propios proyectos Squeak (ya sea programadores,
educadores, técnicos, etc).
Para seguir este artículo es necesario un
conocimiento básico de Squeak, se debe saber como
crear un Proyecto y nombrar, el manejo
de imágenes y nociones generales del ambiente. Con respecto a las versiones
usadas, este tutorial se hizo usando una imagen 3.5 #5180 limpia, tal como se
baja de Internet. Es muy importante tener en cuenta que presentaciones hechas en
imágenes modificadas (por ejemplo con fonts especiales) pueden luego presentar
dificultades al momento de desear cargarlas en imágenes que no tengan los mismos
paquetes incluidos.
Es importante también destacar que debido a ser Squeak un entorno
multiplataforma que usan de distinta forma el ratón, los botones pueden no ser
los mismos en Windows, Linux, Macintosh, etc. Para unificar los tutoriales se ha
decidido hacer una convención por colores que es la que se va a usar en este
documento. Los botones se llaman "rojo", "amarillo" y "azul" y puedes ver su
significado en
Botones del Ratón.
Dentro
de Squeak tenemos básicamente 3
formas diferentes de armar presentaciones. Podemos hacerlo usando un BookMorph,
un StackMorph o Proyectos Morphic enlazados entre sí.
Esta última alternativa es la que desarrollaremos en este artículo.
Una
de las primeras cosas a tener en cuenta es que seguramente cuando tengamos
varias presentaciones hechas vamos a desear tener agrupados todos los Proyectos que forman cada
presentación, para lo cual es importante tener una forma de "sacarlas" de la Imagen. Caso contrario
deberíamos estar manipulando la imagen, usualmente de muchos megas y totalmente
impráctica para ello. Así que lo primero es crear un Proyecto morphic con el nombre
de la presentación en cuestión, en este ejemplo: presentación1..
Para ello pulsamos con el botón rojo en cualquier parte libre de la pantalla de
Squeak, con lo que se abre el
"Menú del Mundo" y elegimos
Open->Morphic Project. Para cambiarle el nombre pulsamos con el botón rojo
sobre el texto Unnamed1, escribimos presentación1 y pulsamos intro. ¡Ojo!
hay que pulsar sobre el texto Unnamed1 no sobre la Ventana porque entonces
entrarás en tu nuevo Proyecto sin cambiarle el nombre. |
| |
|

|
| |
|
Este
será el Proyecto que usaremos para
"agrupar" nuestra presentación y dentro del cual crearemos el resto de elementos
de la misma.
Entramos al Proyecto
presentación1 y con botón amarillo en el Mundo deschequeamos la opción
show shared tabs (F) para evitar que se vean las Pestañas y dar un aspecto más
elegante al escritorio.
El próximo paso es crear un "template", es decir
un modelo de hoja que usaremos para cada una de las hojas de la
presentación.
Creamos un nuevo Proyecto morphic (botón
rojo,Open->Morphic Project) (dentro del presentación1 ) y le
asignamos el nombre de template1. Entramos al Proyecto, (las Pestañas ya aparecen ocultas
ahora) y utilizamos la opción Objects (o) del Menú del Mundo (botón rojo
-> Objects) para armar nuestro template. Por ejemplo así:
|
| |
|

|
| |
|
De la categoría Basic 1 elegimos el
Morph Text fancy) y lo
arrastramos con el mouse hasta la esquina superior del Mundo. Yo elegí este
Morph porque me gusta, pero
puede ser cualquiera, cada uno con sus particularidades.
Con este Morph vamos a crear un área de
títulos para la hoja. Pedimos los Halos del Morph (botón azul) y lo
estiramos hasta que tenga el tamaño deseado, por el halo amarillo (los Halos son los distintos
botóncitos que aparecen alrededor de un objeto cuando le hemos pulsado con el
botón azul, el halo amarillo permite redimensionar).
Una vez con el
tamaño deseado clickeamos el Mundo para que desaparezcan
los Halos.
Clickeamos
dentro del Morph para escribir el texto
que deseamos, por ejemplo: Título de la Hoja. Para manipular ese texto,
disponemos de varios tips, por ejemplo:
- Si pintamos el texto ("Título de la Hoja") y vamos presionando Alt-1 al
Alt-5 vemos como el texto va cambiando de tamaño.
- Con Alt-6 obtenemos un menú con varias opciones, entre ellas cambiar el
color, hacer DoIts, PrintIts, links, etc.
Otras combinaciones de
teclas útiles son:
- Alt-7 pone / saca el bold.
- Alt-8 pone / saca el italic.
- Alt-9 cambia el espaciado entre teclas.
- Alt-0 resetea todo.
Si pedimos nuevamente los Halos del
Morph del título (pulsando con
el botón azul sobre él), tenemos debajo tres Halos que nos permiten también
modificar la apariencia del texto, ellos son: Change font, Change
style y Emphasis & alignment.
- Alt-k también deja cambiar el font.
Es importante destacar que
estas combinaciones pueden no ser las mismas en todos los sitemas operativos
(Tenemos en cuenta que Squeak corre en una amplia
variedad de plataformas y hay algunas diferencias entre ellas).
Ahora es
el momento adecuado para que cada quien juegue un rato con su template hasta
lograr el modelo que le guste. A mí me quedó así: |
|
|
|

|
| |
|
El texto del pie de página es un text
Morph. (Yo lo coloqué a la
derecha, pero es mejor colocarlo a la izquierda o en el centro de la Hoja, ya
veremos más adelante porque).
Bien, ya tenemos nuestro template, es
momento de guardarlo en disco, para recuperarlo cada vez que deseemos armar una
nueva hoja de la presentación. Esto se hace desde el Menú del Mundo (botón rojo
sobre cualquier lugar no ocupado por Morphs), save project on
file, y aparece un cuadro llamado Publish This Project, desde donde
elegimos la carpeta apropiada y tenemos dos opciones para guardarlo:
-
Save: Guarda el Proyecto en la carpeta
elegida y en la carpeta Squeaklets situada dentro de la carpeta donde tenemos
arrancado el Squeak.
-
Save on local disk only: Guarda el Proyecto en la carpeta
Squeaklets dentro de la carpeta donde tenemos instalado Squeak.
Es
importante destacar que cada vez que lo guardemos, no se sobreescribe el
anterior, sino que Squeak va generando nuevas
versiones con nombres como template1.001.pr, template1.002.pr y
así sucesivamente.
Los Proyectos en Squeak tienen como extensión
de archivos .pr.
Hecho lo anterior, ya tenemos nuestro
template guardado en disco para usarlo como origen de cada nueva página de la
presentación en cuestión.
Con botón amarillo en el Mundo conseguimos un menú que,
entre otras, tiene la opción previous project, la elegimos y volvemos al
Proyecto general de la
presentación. |
|
|
|
Nota 1: Esto (y otras opciones) también pueden lograrse si
desocultamos las Pestañas y usamos las
opciones de la Pestaña Navegador de la
parte inferior, donde tenemos los botones Prev, Next,
Publish, New y otros muy útiles. Es cuestión de costumbre y
cada quién elegirá la que le quede más cómoda. Por ejemplo, podemos no
ocultar las Pestañas y elegir desde
ahí los Morphs y ocultarlos sólo
cuando hayamos finalizado la Hoja en
cuestión. | |
| |
|
Bien, ya tenemos el Proyecto que agrupa a la
presentación y el template, es momento de crear la primera hoja. Para ello desde
el Menú del Mundo elegimos la
opción load project from file, navegamos hasta la carpeta donde guardamos
el template y lo seleccionamos, con lo cual el mismo es cargado en la imagen de
nuestro Squeak y abierto como Proyecto actual.
Vamos
un Proyecto atrás (con cualquiera
de los dos métodos vistos recientemente) y tenemos algo así: |
| |
|

|
|
|
|
Seleccionamos el nombre del Proyecto recién cargado
(template1) y lo cambiamos por el que deseemos, en este caso
Hoja1 (no olvidar presionar tecla Enter luego de escribir el
nombre, para que se haga efectivo el cambio).
Ya tenemos la primer hoja
de nuestra presentación, la clickeamos y se transforma en el Proyecto actual, para que le
demos contenido, por ejemplo algunos textos y por qué no, algo que NO pueden
hacer otros programas específicos para crear presentaciones, es decir, alojar un
objeto "vivo".
A mi me quedó así: |
|
|
|

|
| |
|
Hice
lo siguiente:
-
Cambié el título.
-
Agregué un text morph con letras grandes.
-
Incorporé una flecha (Si usas squeak sobre Windows o Mac,un jpg cualquiera
que se puede arrastrar desde otra carpeta de la computadora y soltar sobre el Proyecto Squeak. Si usas squeak sobre
Linux tienes que abrir la Lista de Archivos (botón
rojo->Open->File List), ir a la carpeta donde tengas la imagen,
seleccionarla y pulsar el botón Open).
-
Desde el Catálogo de Objetos,
categoría Useful agregué el reloj (watch) que está funcionando!.
Así tenemos la primer hoja de nuestra presentación. Volvemos atrás
(con previous project o botón Prev de la Pestaña Navegador) y tenemos
el Proyecto general de la
presentación y las miniaturas del template y la hoja 1.
Con lo aprendido
hasta aquí jugaremos un rato y la tarea es que tu, amigo que estás siguiendo
este tutorial, desarrolles unas 3 hojas adicionales, para que luego podamos
terminar de aprender cómo coordinar la presentación completa. |
| |
|
Nota 2: Es importante tomarse el tiempo necesario para jugar
con todos los Morphs que se les ocurra,
así como con imágenes y textos, para armar las próximas hojas de la
presentación. | |
|
|
|
Nota 3: Es muy importante destacar que cada Hoja de la
presentación, al ser un Proyecto Squeak tiene la
posibilidad de albergar cualquier objeto y comportamiento que se desee
desarrollar, por ejemplo podríamos hacer una presentación que enseñe el
uso de un sistema desarrollado en Squeak y que vaya
interactuando en tiempo real con el mencionado sistema. Esta es una
condición excepcional que nos permite el maravilloso mundo de los
objetos. | |
| |
|
Luego que hayan hecho sus 3 hojas
adicionales (en realidad, como ya vimos, cada uno es un Proyecto morphic), deberán
contar con algo así (obviamente, con vuestro propio contenido en cada hoja
adicional): |
|
|
|

|
| |
|
Bien, es momento ahora de relacionar las hojas entre
si, para que todas juntas formen una "presentación".
Para ello clickeamos
en el Proyecto Hoja1
(el que deseamos sea la hoja inicial de la presentación) y seleccionamos
objects (o) del Menú del Mundo, vamos a la
categoría Navigation y arrastramos el morph ThreadNavigator al Mundo.
Por defecto
dicho morph va a la esquina inferior derecha, superponiéndose con nuestro pie de
página, así que pedimos sus Halos y con el halo marrón lo
llevamos hacia el centro de la página, como se ve a continuación: |
| |
|

|
| |
|
Cerramos el selector de objetos (por el circulo de
arriba izquierda) y clickeamos con el botón rojo justo entre las dos flechas
naranja del ThreadNavigator, lo que nos
muestra un menú, del cual elegimos la opción edit this thread, lo cual
nos mostrará una Ventana con todos los Proyectos morphic incluidos en
la imagen (que son los que componen el thread por defecto).
En esa Ventana vamos eliminado todos
los Proyectos que no queremos se
incluyan en nuestra presentación, pedimos los Halos de cada uno y
presionamos la cruz de la esquina superior izquierda, que envía el morph a la
papelera (o aún más fácil, los arrastramos hasta el Cubo de basura de squeak).
El ambiente puede configurarse para que cuando eliminamos un morph, no
vaya a la papelera, sino que directamente se elimine de la imagen, pero como el
paso por la papelera es parte de la configuración por defecto de la imagen, así
lo mostramos acá. |
| |
|

|
| |
|
Cuando nos quedan solamente los Proyectos que deseamos
compongan nuestra presentación, entonces presionamos el botón Okay el
cual nos pedirá nombremos el thread, por ejemplo como presentación1, presionamos
Accept y ya tenemos el thread tal como lo deseamos.
El ThreadNavigator se vuelve a su
posición default, si no salvamos previamente la imagen, por lo cual lo volvemos
a trasladar al centro de la Hoja y salvamos la imagen desde la opción
correspondiente del Menú del Mundo (botón rojo
-> Save)
Salvar la imagen es una práctica que todo squeaker (o
smalltalker) debe conocer así como evaluar con qué frecuencia le conviene
hacerlo.
Bien, nuestra presentación está lista!.
Si posicionamos
el ratón sobre el ThreadNavigator se resalta el
borde de la imagen de la derecha, mostrándonos una miniatura de la próxima hoja
y su nombre en un globo de ayuda. |
| |
|

|
| |
| El
ThreadNavigator aparecerá en
cada "hoja" (Proyecto) de la presentación y
nos servirá para navegar por la misma. |
|
Nota 4: Trabajando con este tutorial encontré
que el ThreadNavigator siempre
se ubica en el extremo inferior izquierdo de la Hoja, aún cuando se haya
configurado adhere to edge a otro valor. De momento no estoy seguro
si es comportamiento normal o un bug, cosa que estoy tratando de
averiguar. Por eso dije antes, que es mejor poner el pie de página en el
centro o a la izquierda ;-) | |
| |
| Como último paso
grabamos todos los Proyectos que componen la
presentación como aprendimos antes para transportarlos y/o cargarlos en otra
imagen. |
| |
|
Nota 5: Como un To-Do queda la posibilidad de
hacer un botón que grabe automáticamente todos los Proyectos que componen
la presentación. | |
| |
|
Con esto finaliza el
presente artículo, sin embargo, no duden en enviarme cualquier sugerencia
que puedan tener para mejorarlo y/o ampliarlo. |
| |
| Para más información sobre
conceptos de Squeak en español, visite el sitio de
Small-Land. |
| |
|

|
Germán
Arduino (Sunchales, Argentina) es un Consultor Independiente que
gestiona su propia compañía
ArSol Software donde se
dedica al desarrollo de software y a la venta de hosting y servicios internet. Tiene 20 años administrando sistemas desde IBM 360 hasta
servidores Intel con Windows y Linux y productos asociados. Hace el
mismo tiempo que también desarrolla todo tipo de aplicaciones para
diferentes plataformas en lenguajes tan disímiles como Assembler, RPG,
CSP, Cobol, FoxPro, Visual FoxPro, Visual Basic, JavaScript, PHP, ASP,
Perl, Python y Smalltalk. Puede ver su
página personal o
contactarlo vía
e-mail. |
|
| |
| |