<sect1 id="tool-scriptbuilder">
<title>L'eina Constructor d'scripts</title>
<indexterm><primary>Eines</primary>
<secondary>Constructor d'scripts</secondary>
</indexterm>

<para>Les aplicacions KDE es poden controlar externament des d'un altre programa, des d'un indicatiu de la consola o des d'un script de l'intèrpret de comandaments emprant el protocol de comunicació a l'escriptori (Desktop COmmunication Protocol - <abbrev>DCOP</abbrev>). KStars s'aprofita d'aquesta característica per a permetre que els comportaments complexes siguin escrits a scripts i executats en segon pla en qualsevol moment. Això es pot usar, per exemple, per a crear una presentació educativa per a il·lustrar un concepte astronòmic. </para>
<para>El problema amb els scripts DCOP és que escriure'ls es gairebé com programar, i poden aparentar una tasca descoratjadora per als que no tinga'n experiència en la programació. L'eina Constructor d'scripts proporciona una <abbrev>IGU</abbrev> amb interfície d'apunta i clica per a construir els scripts per a KStars, tornant realment fàcil el crear scripts complexos. </para>

<sect2 id="sb-intro">
<title>Introducció al constructor d'scripts</title>

<para>Abans d'explicar com emprar el constructor d'scripts, us proporcionen una molt breu introducció a tots els components de la <abbrev>IGU</abbrev>; per a més informació, useu la funció "Què és això?". </para>

<screenshot>
<screeninfo>L'eina Constructor d'scripts </screeninfo>
<mediaobject>
  <imageobject>
    <imagedata fileref="scriptbuilder.png" format="PNG"/>
  </imageobject>
  <textobject>
    <phrase>Eina Constructor d'scripts</phrase>
  </textobject>
</mediaobject>
</screenshot>

<para>El constructor d'scripts és mostra't a la instantània de a sota. La caixa a l'esquerra és la caixa <firstterm>Script actual</firstterm>; mostra el llistat de comandaments que abasten l'escriptura de tasques a dit script . La caixa a la dreta és el <firstterm>Fullejador de funcions</firstterm>; aquesta mostra un llistat de totes les funcions disponibles per a l'script. A sota del fullejador de funcions, hi ha un petit plafó que anirà mostrant la documentació curta sobre cada funció ressaltada en el fullejador de funcions. En el plafó a sota de Script actual és el d'<firstterm>Arguments de la funció</firstterm>; quan es ressalta a una funció en la caixa Script actual, aquest plafó contindrà els ítems per a especificar els valors per a qualsevol argument que requereixi dita funció. </para><para>Al llarg de la part superior de la finestra, hi ha una fila de botons que operen sobre tot l'script. D'esquerra a dreta, són: <guibutton>Nou script</guibutton>, <guibutton>Obre script</guibutton>, <guibutton>Desa script</guibutton>, <guibutton>Desa script com a...</guibutton> i <guibutton>Prova l'script</guibutton>. La funció d'aquests botons hauria de resultar òbvia, a excepció potser de l'últim botó.. El prémer <guibutton>Prova l'script</guibutton> resultarà en l'intent d'executar l'actual script a la finestra principal de KStars. Abans de prémer'l haureu d'apartar la finestra del constructor d'scripts per a poder veure els resultats. </para><para>En el centre de la finestra (entre les dues caixes superiors), hi ha una columna de botons que operen sobre les funcions individuals de l'script. De d'alta a baix, són: <guibutton>Afegeix funció</guibutton>, <guibutton>Elimina funció</guibutton>, <guibutton>Copia funció</guibutton>, <guibutton>Amunt</guibutton> i <guibutton>Avall</guibutton>. <guibutton>Afegeix funció</guibutton> afegirà l'actual funció ressaltada en el fullejador de funcions a la caixa Script actual (també podeu afegir una funció fent doble clic a sobre seu). La resta de botons opera sobre la funció ressaltada a la caixa Script actual, eliminant-la, duplicant-la, o canviant la seva posició a l'script actual. </para>
</sect2>

<sect2 id="sb-using">
<title>Emprar el constructor d'scripts</title>
<para>Per a il·lustrar l'ús del constructor d'scripts tot seguit us presentem un petit tutorial d'exemple, en el qual creem un script que segueixi a la Lluna mentre el rellotge funciona en mode accelerat. </para><para>Si anem a seguir la Lluna primer necessitarem apuntar la vista cap a ella. La funció <firstterm>lookToward</firstterm> s'empra per a fer això. Ressalteu aquesta funció en el Fullejador de funcions i observeu la documentació mostrada en el plafó a sota del fullejador. Premeu el botó <guibutton>Afegeix funció</guibutton> per afegir dita funció a la caixa Script actual. El plafó Arguments de la funció ara contindrà una llista desplegable etiquetada com a <quote>Dir</quote>, abreujament per a direcció. Aquesta és la direcció en la qual la vista haurà d'apuntar. La llista desplegable tan sols conté els punts cardinals, no la Lluna o cap altre objecte. Podeu entrar la <quote>Lluna</quote> en la caixa manualment o prement el botó <guibutton>Objecte</guibutton> per a emprar la finestra <guilabel>Cerca l'objecte</guilabel> per a seleccionar la Lluna des de la llista d'objectes. Tingueu present que, com és habitual, el centrar en un objecte engega automàticament el mode de seguiment del mateix, pel que no hi ha cap necessitat d'afegir funció <firstterm>setTracking</firstterm> després de lookToward. </para><para>Ara que hem pres cura d'apuntar a la Lluna, tot seguit desitgem establir un pas temporal accelerat. Useu la funció <firstterm>setClockScale</firstterm> per a això. Afegiu-la a l'script fent doble clic a sobre seu en el Fullejador de funcions. El plafó Arguments de la funció contindrà una caixa selectora de pas temporal per a establir-lo al temps desitjat per al rellotge de simulació. Canvieu el pas temporal a 3 hores. </para><para>BÉ, hem apuntat a la Lluna i accelerat el rellotge. Ara voldríem ajustar l'script per a que esperi uns segons mentre que es fa el seguiment de la Lluna. Afegiu la funció <firstterm>waitFor</firstterm> a l'script i empreu el plafó Arguments de la funció per a especificar que s'haurà d'esperar 20 segons abans de continuar. </para><para>Per acabar, reajustem el pas temporal del rellotge al valor normal de 1 segon. Afegiu una altra instància de setClockScale i establiu el seu valor a 1 seg. </para><para>Realment, encara no fa res. Probablement haurem d'assegurar-nos de que la vista està emprant les coordenades equatorials abans de que l'script faci un seguiment a la Lluna amb un pas temporal accelerat. D'altra manera, si la vista està emprant coordenades horitzontals, rotarà molt ràpidament amb grans angles com quan surt i es pon la Lluna. Això pot resultar molt confós i s'evita establint l'opció <firstterm>UseAltAz</firstterm> de les Opcions de la vista a <quote>false</quote>. Per a canviar qualsevol opció de la vista, empreu la funció <firstterm>changeViewOption</firstterm>. Afegiu aquesta funció a l'script i examineu el plafó Arguments de la funció. Hi haurà una llista desplegable que conté el llistat de totes les Opcions de la vista que pot ajustar changeViewOption. Atès que sabem que volem l'opció UseAltAz, nosaltres podriem simplement seleccionar-la des de la llista desplegable. De tota manera, resulta que la llista és inversemblantment llarga i no hi ha explicacions per a que serveix cada ítem. Pel que podria ser més fàcil prémer el botó <firstterm>Fulleja l'arbre</firstterm>, el qual obrirà una finestra que conté una vista en arbre de les opcions de la vista, organitzada por assumpte. A més, cada ítem disposa d'una curta explicació del que fa dita opció, i el tipus de dades del valor de l'opció. Trobarem a UseAltAz sota la categoria <quote>Opcions per al mapa del cel</quote>. Simplement ressalteu aquest ítem, premeu <firstterm>Bé</firstterm> i aquest serà seleccionat a la llista desplegable del plafó Arguments de la funció. Finalment, feu que el seu valor sigui <quote>false</quote> o <quote>0</quote>. </para><para>Un passa més: El tenir a UseAltAz al final de l'script no ens farà cap servei, necessitarem canviar això abans de que succeeixi res . Així doncs, assegureu-vos de que aquesta funció estiga ressaltada a la caixa Script actual i premeu el botó <guibutton>Amunt</guibutton> fins que aquesta sigui la primera funció. </para><para>Ara que hem finalitzat l'script, tindrem que desar-lo al disc. Premeu el botó <guibutton>Desa script</guibutton>. Això primer obrirà una finestra en la qual podreu indicar un nom per a l'script i el vostre com a autor. Entreu <quote>Seguiment de la Lluna</quote> com a nom, i el vostre nom en el de l'autor, tot seguit premeu <guibutton>Bé</guibutton>. Després, veureu al diàleg de desar fitxers estàndard de &kde;. Especifiqueu un nom de fitxer per a l'script i premeu <guibutton>Bé</guibutton>. Tingueu present el vostre nom de fitxer no acaba amb <quote>.kstars</quote>, aquest sufix li serà afegit automàticament. Si sou curiós de mena, podeu examinar el fitxer de l'script amb qualsevol editor de text. </para><para>Ara que tenim l'script completat, podem executar-lo en un parell de maneres. Des d'un indicatiu a la consola, podeu simplement executar l'script mentre una instància de KStars s'estiga executant actualment. I de mode alternatiu, també podeu executar l'script des de dintre de KStars emprant l'ítem <guimenuitem>Executa script</guimenuitem> en el menú <guimenu>Arxiva</guimenu>. </para>
</sect2>

</sect1>
