# La herramienta del constructor de guiones

Las aplicaciones de KDE se pueden controlar externamente desde otro programa, desde la línea de órdenes de la consola o mediante un guión de consola que use el protocolo de comunicación entre procesos (DCOP). KStars se beneficia de esta característica para permitir que se puedan plasmar en un guión comportamientos bastante complejos con el fin de reproducirlos de nuevo en cualquier momento. Esto se puede usar, por ejemplo, para crear una demostración para el aula que ilustre un concepto astronómico.

El problema que existe con los guiones de DBus es que escribirlos es algo parecido a la programación, y puede parecer una tarea tremenda para las personas que no tienen experiencia como programadores. La herramienta del constructor de guiones proporciona una interfaz gráfica del tipo apuntar y pulsar para construir guiones DCOP para KStars, haciendo muy fácil la creación de guiones complejos.

## Introducción al constructor de guiones

Antes de explicar cómo usar el constructor de guiones proporcionaremos una breve introducción a los componentes de la interfaz gráfica. Para obtener más información, utilice la función «¿Qué es esto?».

La herramienta del constructor de guiones
Herramienta del constructor de guiones

La captura de pantalla anterior muestra el constructor de guiones. El campo de la izquierda es el campo del guión actual; muestra la lista de las órdenes que componen el guión de trabajo actual. El campo de la derecha es el navegador de funciones; muestra la lista de todas las funciones disponibles. Debajo del navegador de funciones existe un pequeño panel que mostrará una información básica sobre la función resaltada en el navegador de funciones. El panel que hay debajo del campo del guión actual es el panel de argumentos de la función; cuando se selecciona una función en el campo del guión actual, este panel contiene elementos para especificar valores para cualquier argumento que necesite la función seleccionada.

En la parte superior de la ventana existe una fila de botones que operan sobre la totalidad del guión. De izquierda a derecha, son: Nuevo guión, Abrir guión, Guardar guión, Guardar guión como... y Probar guión. La función de estos botones debe ser obvia, excepto tal vez la del último botón. Si pulsa Probar guión se tratará de ejecutar el guión actual en la ventana principal de KStars. Deberá apartar la ventana del constructor de guiones antes de pulsar este botón si desea ver su resultado.

En el centro de la ventana existe una columna de botones que operan sobre funciones individuales del guión. De arriba a abajo, son: Añadir función, Eliminar función, Copiar función, Mover arriba y Mover abajo. Añadir función añade la función seleccionada actualmente en el navegador de funciones al campo del guión actual (también puede añadir una función haciendo doble clic sobre ella). El resto de botones operan sobre la función seleccionada en el campo del guión actual, bien para eliminarla, duplicarla o cambiar su posición en el guión actual.

## Uso del constructor de guiones

Para ilustrar el uso del constructor de guiones, le presentamos un breve ejemplo de su uso en el que crearemos un guión que sigue la posición de la Luna mientras el reloj avanza a ritmo acelerado.

Si vamos a seguir la posición de la Luna necesitaremos que la pantalla la muestre. La función lookToward se usa para hacer esto. Seleccione esta función en el navegador de funciones y lea la documentación que se muestra en el panel que hay debajo del navegador. Pulse el botón Añadir función para añadir esta función al campo del guión actual. El panel de argumentos de la función contendrá ahora una lista desplegable con la etiqueta «dir», que significa «dirección» en forma abreviada. Esta es la dirección a la que apuntará la pantalla. La lista desplegable contiene solo los puntos cardinales de la brújula, no la Luna ni ningún otro objeto. Ahora puede introducir «Luna» en el campo manualmente o pulsar el botón Objeto para usar la ventana Buscar objeto para seleccionar la Luna de la lista de objetos con nombre. Tenga en cuenta que, como es habitual, al centrar un objeto en la pantalla se activa automáticamente el modo de seguimiento del objeto, por lo que no hay necesidad de añadir la función setTracking tras «lookToward».

Ahora que ya nos hemos ocupado de apuntar hacia la Luna, haremos que el tiempo transcurra a un ritmo acelerado. Para esto usaremos la función setClockScale. Añádala al guión haciendo doble clic sobre ella en el navegador de funciones. El panel de los argumentos de la función contiene un control de incremento de los pasos de tiempo para establecer el deseado para el reloj de la simulación. Cambie el paso de tiempo a 3 horas.

Ya hemos apuntado hacia la Luna y hemos acelerado el reloj. Ahora queremos que el guión espere durante varios segundos mientras la pantalla sigue a la Luna. Añadimos la función waitFor al guión y usamos el panel de argumentos de la función para especificar que se debe esperar durante 20 segundos antes de continuar.

Para terminar, reiniciaremos el paso de tiempo del reloj a su valor normal de 1 segundo. Para ello, añadimos otra vez la función «setClockScale» y establecemos su valor a 1 segundo.

En realidad aún no hemos terminado. Probablemente deberíamos asegurarnos de que la pantalla está usando coordenadas ecuatoriales antes de que el guión siga la Luna con un paso de tiempo acelerado. En caso contrario, si la pantalla estuviera usando coordenadas horizontales, rotaría muy rápidamente en grandes ángulos a medida que la Luna saliera y se pusiera. Esto puede resultar bastante confuso, y se evita estableciendo la opción de visualización UseAltAz a «false». Para cambiar cualquier opción de visualización usaremos la función changeViewOption. Añada esta función al guión y examine el panel de argumentos de la función, donde verá la lista desplegable que contiene la lista de todas las opciones que se pueden ajustar para «changeViewOption». Como sabemos que queremos la opción «UseAltAz», podemos seleccionarla en esta lista desplegable. No obstante, la lista es bastante larga, y no existe una explicación para lo que hace cada opción. Por este motivo resulta más fácil pulsar el botón Examinar árbol, que abrirá una ventana con una vista de árbol que contiene todas las opciones disponibles organizadas por temas. Además, cada elemento posee una breve explicación de lo que hace la opción y el tipo de dato del valor de la opción. Encontraremos «UseAltAz» en la categoría Opciones del mapa del cielo. Solo tiene que resaltar este elemento y pulsar Aceptar para seleccionarlo en la lista desplegable del panel de argumentos de la función. Por último, cambie este valor a «false» o a «0».

Un paso más: no resulta apropiado cambiar «UseAltAz» al final del guión; necesitamos cambiar esto antes de que ocurra nada más. Así, nos aseguraremos de que esta función esté seleccionada en el campo del guión actual y pulsaremos el botón Mover arriba hasta que se convierta en la primera función.

Ahora que hemos terminado el guión deberíamos guardarlo en el disco. Para ello pulsaremos el botón Guardar guión, que primero abrirá una ventana en la que puede proporcionar un nombre para el guión además de introducir su nombre como autor del guión. Introduzca «Seguimiento de la Luna» como nombre y su propio nombre como autor, y luego pulse el botón Aceptar. A continuación verá el diálogo estándar de &kde; para guardar archivos. Introduzca un nombre de archivo para el guión y pulse el botón Aceptar para guardar el guión. Tenga en cuenta que su nombre de archivo no debe terminar con «.kstars», ya que este sufijo será añadido automáticamente. Si siente curiosidad, puede examinar el archivo del guión con cualquier editor de texto.

Ahora que tenemos un guión completo podemos ejecutarlo de varias formas. Desde la línea de órdenes de la consola, donde puede ejecutar el guión cuando tenga KStars en funcionamiento; o bien, puede ejecutar el guión desde KStars usando el elemento Ejecutar guión del menú Archivo.