El entorno de trabajo

Por si acaso todavía no ha instalado el MetaCard en este momento está a punto de iniciar un breve viaje por los elementos que componen MetaCard para familiarizar al usuario delante de la herramienta, describir sus elementos y funciones y que conozca algunas posibilidades de la misma. El orden en que se muestran los diferentes elementos que componen la aplicación es el mismo en que podrá verlos aparecer en pantalla en cuanto ejecute su propia copia de MetaCard como la ventana de presentación que aparece mientras se realiza la carga de la aplicación y que puede verse en la Figura 1-1.

Figura 1-1. El entorno básico de MetaCard: pantalla de presentación.

Quiero hacer notar dos cosas: se utilizará la Starter Kit para la realización de todos los ejemplos de este textoy la versión que he utilizado es la 2.4, aunque la 2.5 tiene cosas muy interesantes está terminando su proceso de fase de pruebas ("beta"); así que, a menos que se diga lo contrario, no será la versión utilizada.

El motor de MetaCard: HOME

Tiene la sencilla apariencia que muestra la Figura 1-2. Con cuatro opciones en su parte inferior que vamos a visitar en un momento. Bueno, en realidad, lo que aparece en la figura es la apariencia que tiene mi versión de MetaCard, puesto que como ya veremos se deja modificar al gusto del usuario y en la parte superior izquierda hay dos pequeños iconos de aplicaciones que uso habitualmente en mis desarrollos junto a un nuevo botón (que ahora no recuerdo que hace ahí).

Figura 1-2. Mi MetaCard: mi HOME, el HOME de MetaCard.

Este es el corazón de la aplicación: el que interpreta el lenguaje MetaTalk. Es el soporte necesario, en tiempo de ejecución, de aquellas aplicaciones que cree. En el caso de las aplicaciones de carácter gráfico es cargado en memoria en el momento de inciar el primero de sus componentes y, el entorno, está concebido como una aplicación más. De hecho hablaremos de investigar acerca de cómo está implementado e incluso introducir sus propias preferencias o modificaciones.

El lenguaje se puede utilizar como se hace uso de otros lenguajes interpretados: es decir, invocándolo desde ficheros para que realice las órdenes que contiene. Así que también podrá hacer uso del lenguaje como otro más de los que contiene su mochila de programador, en ese caso lo que no puede es hacer uso de los elementos de naturaleza visual del entorno.

La barra de menú

Lo usual, dentro del entorno es crear aplicaciones, para lo cual es casi inmediata la necesidad de abrir la paleta de herramientas, opciones y controles. Esta se situa en su propia ventana denominada MenuBar, que puede observarse en la Figura 1-3. Este es el gran centro de control de la aplicación, que no le despiste su simplicidad: hay muchas cosas ahí detrás.

Figura 1-3. La MenuBar o barra de menús y herramientas de MetaCard.

Para esbozar las posibilidades la siguiente somera enumeración de sus opciones de menú, puede ayudar a componer la imagen global. No tenga la necesidad de aprenderse ahora mismo todas estas y de dónde aparecen, el uso hace esto la parte más fácil.

Entre todas estas cabe destacar el uso del "Control Browser" que permite ver los controles o componentes de una tarjeta de la pila escojida y nos informará de su estado: en cuanto a líneas de código, orden de apilamiento (el que decide cuando coinciden dos controles cuál está situado encima del otro) y si está visible o no. Todas estas circunstancias son modificable con los botones que hay en su parte inferior junto a ayuda sobre el propio funcionamiento de esta paleta de controles. También es interesante tener a mano la ayuda en línea para no tener que memorizar demasiada información relativa al lenguaje de programación, volveremos sobre ella en la la sección de nombre La ayuda y la documentación.

Para tener una visión global de la aplicación (pila) que se esté construyendo o examinando, podrá recurrir a la paleta de Components a la que se puede acceder desde las propiedades de la pila.

De izquierda a derecha, los controles de la parte inferior de la "Menu Bar" permiten iniciar el modo de ejecución (browse) y pasar al modo de edición (pointer). Así como también la construcción de los elementos que componen el interfaz de la aplicación de forma visual con los siguientes controles:

La "demo"

La tarjeta de visita, la "demo", es una sencilla clase de caracter ameno que le guiará por los contenidos de esta herramienta y por la forma de trabajar con ella, sin perder tiempo en la realización de los elementos de naturaleza visual que utiliza. En cuanto pueda, ejecute por lo menos la primera parte de esta demostración (puede ver una instantánea de esta en la Figura 1-5) y disfrútelo.

Esta demostración está compuesta por dos grandes apartados Beginner para aquellos que se acercan a MetaCard por primera vez o bien aquellos que tengan poca experiencia en el manejo de una herramienta de autor y Advanced para los que ya han utilizado una herramienta de este estilo. Ambas aproximaciones permiten ver:

Figura 1-5. La "demo" en ejecución. Capturas del índice y del mapa de contenidos de la aplicación (en la primera fila) y dos ejemplos de la ejecución (en la segunda fila) .

Cuando tenga un poco más de tiempo véala al completo, le mostrará incluso algunos de los secretos (bueno, entonces ya no lo serán) y de cómo echarle un vistazo al código de la misma. De momento tendrá que contentarse con las instantáneas de la Figura 1-6) de la propia aplicación.

Figura 1-6. Otra tanda de instantes de la "demo" en ejecución.

La ayuda y la documentación

La ayuda está condensada en un pequeño panel de opciones que se muestra en la Figura 1-7 y que permite acceder a una panoplia de "armas" que le vendrá bien tener a mano durante sus desarrollos.

Figura 1-7. La ayuda en línea: tutoriales, documentación, la licencia y el soporte técnico.

Los contenidos de este "directorio" como reza en el título de la ventana y que puede ver en la Figura 1-8 son:

Figura 1-8. Los contenidos de la ayuda desplegados: ejemplos de los diferentes puntos donde se propone acudir.

De todos estos elementos, cabe destacar la importancia de poder disponer siempre a mano del índice. Este muestra ordenados alfabéticamente los nombres de funciones, propiedades y eventos disponibles en el lenguaje y a los que se puede acceder de forma manual o introduciendo en el control de texto de la parte superior la parte del nombre del que se anda buscando y dejando que sea MetaCard el que actualize el contenido del campo inferior para mostrarnos los que se corresponden con la cadena de texto que se está tecleando. A partir de ahí se puede acceder a la página de ayuda correspondiente. Desde esta se puede comprobar su sintaxis, significado, algún ejemplo y, lo más interesante, órdenes y otros elementos relacionados con el que ha dado pie a la búsqueda.

La caja de mensajes

Esta es la herramienta imprescindible para trabajar con MetaCard, a pesar de su simpleza de apariencia que se puede ver en la captura que muestra la Figura 1-9. En su interior, un campo de texto espera a que se teclee una línea de caracteres, de forma que al pulsar Enter se se ejecutará por MetaCard esta línea como si fuese una del código de un objecto de una aplicación en ejecución. Existe un "histórico" de órdenes tecleadas, así que con el cursor puede recuperar y editar rápidamente una orden anterior.

Figura 1-9. Message Box: el banco de pruebas rápido y el lugar más cómodo donde dejar mensajes mientras se desarrolla.

¿Qué se puede hacer? Se puede ejecutar desde ella cualquier orden de MetaTalk en cualquier momento. Sólo cabe recordar que no hay ningún recuerdo de lo que ha ejecutado en la orden anterior, así que las variables tienen una corta existencia. Por ese motivo es un sitio ideal para, por ejemplo:

Por supuesto, si es necesario la puede incluir en su aplicación, como una componente más o reinventándola: simplemente es un campo de texo, el mecanismo para guardar el histórico de órdenes y la ejecución del texto introducido mendiante la orden do.

El editor de código

El Script Editor es la herramienta para la edición de código dentro del entorno de MetaCard Se puede acceder a él desde las propiedades de cualquier objeto y también desde el "Control Browser". La Figura 1-10 muestra un ejemplo del mismo en acción mostrando el código de la "Menu Bar" que ha sido ejecutado desde la "Message Box" con la instrucción:

edit the script of stack "MetaCard Menu Bar"
          

Figura 1-10. El editor integrado de MetaCard con la característica de colorear el código activaa (Tools|Colorize Script).

Las opciones del editor son las propias para retocar y facilitar la inserción de código. Están agrupadas en las secciones:

La opción de colorear el código facilita su lectura y, también, la detección de errores en la escritura del mismo, para ello se utiliza la codificación que guarda la "Menu Bar" (mctools.mc) y que es: "blue" para las instrucciones, "brown" para funciones globles, "DarkOrange" para las componentes de las estructuras de control y "red" para las propiedades.

En cualquier momento de la escritura del código se puede hacer uso de los botones que hay en la parte inferior de la ventana del editor, de acuerdo a:

Puede que se encuentre con un mensaje como el de la figura Figura 1-11, donde se está mostrando parte del código de la pila "Menu Bar", obtenido con la instrucción que muestra la misma figura ejecutada desde la "Message Box". Recuerde que estamos trabajando sobre la versión Starter Kit y este es el aviso de que estamos intentado asignar (con Apply u OK) un código de más de diez instrucciones (que no líneas de código) a un objeto[1]. Lo que no impide es su inspección y el aprendizaje que se puede derivar de esta actividad.

Figura 1-11. Mensaje de aviso del Starter Kit: sólo se pueden utilizar 10 instrucciones en el código de un objeto.

Los atajos de teclado de su sistema están disponibles en las opciones de edición, aunque tendrá más libertad si conoce las típicas de Emacs para buscar, marcar, cortar y pegar.

En sistemas UNIX se puede asignar un editor externo, indicándolo en la opción de menú Tools o de manera directa en la pestaña External Editor de las Tools|Preferences de la "Menu Bar"".

Notas

[1]

Si hay remedio para esto y todavía no lo ha visto, le recuerdo que uno de los remedios era comprar la licencia y actualizar con la misma su versión. La otra viene de la mano de utilizar un código más compacto y meditado.