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 guion de consola que use el protocolo de comunicación entre procesos (D-Bus). KStars se beneficia de esta característica para permitir que se puedan plasmar en un guion 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 D-Bus 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 D-Bus 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?».

Herramienta del constructor de guiones

La captura de pantalla anterior muestra el constructor de guiones. El campo de la izquierda es el campo del guion actual; muestra la lista de las órdenes que componen el guion 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 guion actual es el panel de argumentos de la función; cuando se selecciona una función en el campo del guion 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 guion. De izquierda a derecha, son: Nuevo guion, Abrir guion, Guardar guion, Guardar guion como... y Probar guion. La función de estos botones debe ser obvia, excepto tal vez la del último botón. Si pulsa Probar guion se tratará de ejecutar el guion 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 guion. 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 guion 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 guion actual, bien para eliminarla, duplicarla o cambiar su posición en el guion 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 guion 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 guion 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 debe 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 y 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 guion 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 guion espere durante varios segundos mientras la pantalla sigue a la Luna. Añadimos la función waitFor al guion 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 guion 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 guion y examine el panel de argumentos de la función. Dispone de una lista desplegable que contiene la lista de todas las opciones que se pueden ajustar con «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 su valor a «false» o a «0».

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

Ahora que hemos terminado el guion deberíamos guardarlo en el disco. Para ello pulsaremos el botón Guardar guion, que primero abrirá una ventana en la que puede proporcionar un nombre para el guion además de introducir su nombre como autor del guion. 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 guion y pulse el botón Aceptar para guardar el guion. 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 guion con cualquier editor de texto.

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