<sect1 id="tool-scriptbuilder">
<title
>A ferramenta de construção de script</title>
<indexterm
><primary
>Ferramentas</primary>
<secondary
>Construtor de script</secondary>
</indexterm>

<para
>Os aplicativos KDE podem ser controlados externamente a partir de outro programa, da linha de comando do console, ou a partir de um script shell usando o protocolo de comuniação interprocesso (do inglês, <abbrev
>DCOP</abbrev
>). O KStars aproveita este recurso para permitir que comportamentos complexos sejam roteirizados e executados repetidamente a qualquer hora. Isto pode ser usado, por exemplo, para criar uma aula demonstrativa para ilustrar um conceito astronômico. </para>
<para
>O problema com scripts DBus é que escrevê-los é um pouco parecido com programação, e pode ser uma tarefa desanimadora para quem não possui experiência de programação. A ferramenta de construção de script fornece uma <abbrev
>GUI</abbrev
> do tipo apontar e clicar para construir scripts DCOP para o KStars, tornando muito fácil criar scripts complexos. </para>

<sect2 id="sb-intro">
<title
>Introdução ao construtor de script</title>

<para
>Antes de explanar como usar o construtor de script, eu fornecerei uma introdução bem resumida de todos os componentes <abbrev
>GUI</abbrev
>; para mais informações, use a função "O que é isto?". </para>

<screenshot>
<screeninfo
>A ferramenta de construção de script </screeninfo>
<mediaobject>
  <imageobject>
    <imagedata fileref="scriptbuilder.png" format="PNG"/>
  </imageobject>
  <textobject>
    <phrase
>Ferramenta de construção de script</phrase>
  </textobject>
</mediaobject>
</screenshot>

<para
>O construtor de script é mostrado na captura de tela acima. A caixa à esquerda é a <firstterm
>caixa do script atual</firstterm
>; ela mostra a lista de comandos que compreende o script de trabalho atual. A caixa à direita é o <firstterm
>Navegador de função</firstterm
>; ele mostra a lista de todas as funções de script disponíveis. Abaixo do navegador de função, existe um pequeno painel que exibirá uma documentação resumida sobre a função de script destacada no navegador de função. O painel abaixo da caixa de script atual é o <firstterm
>painel de argumentos da função</firstterm
>; quando uma função é destacada na caixa do Script Atual, este painel conterá todos os itens para valores especificados para qualquer argumento que a função destacada precise. </para
><para
>Ao longo do topo da janela, existe uma linha de botões que operam no script como um todo. Da esquerda para direita, eles são: <guibutton
>Novo script</guibutton
>, <guibutton
>Abrir script</guibutton
>, <guibutton
>Salvar script</guibutton
>, <guibutton
>Salvar script como...</guibutton
> e <guibutton
>Testar script</guibutton
>. A função destes botões deve ser óbvia, execto talvez o último botão. Pressionar <guibutton
>Testar script</guibutton
> experimentará a execução do script atual na janela principal do KStars. Você deve tirar a janela do construtor do script da frente antes de pressionar isto, de modo que possa ver os resultados. </para
><para
>No centro da janela, existe uma coluna de botões que operam em funções individuais do script. De cima para baixo, elas são: <guibutton
>Adicionar função</guibutton
>, <guibutton
>Remover função</guibutton
>, <guibutton
>Copiar função</guibutton
>, <guibutton
>Mover para cima</guibutton
> e <guibutton
>Mover para baixo</guibutton
>. <guibutton
>Adicionar função</guibutton
> adiciona a função atualmente destacada no navegador de função à caixa do script atual (você pode também adicionar uma função dando um duplo clique nela). O resto dos botões operam na função destacada na caixa do script atual, seja removendo-a, duplicando-a, ou mudando sua posição no script atual. </para>
</sect2>

<sect2 id="sb-using">
<title
>Usando o construtor de script</title>
<para
>Para ilustrar o uso do construtor de script, nós apresentaremos um pequeno tutorial exemplo onde nós criaremos um script que rastreia a Lua enquanto o relógio roda a uma taxa acelerada. </para
><para
>Se nós iremos rastrear a Lua, nós precisaremos apontar o mostrador primeiro. A função <firstterm
>lookToward</firstterm
> é usada para fazer isto. Destaque esta função no navegador de função e observe a documentação exibida no painel abaixo do navegador. Pressione o botão <guibutton
>Adicionar função</guibutton
> para adicionar esta função na caixa de script atual. O painel de argumentos da função agora conterá uma caixa combinada rotulada <quote
>dir</quote
>, abreviatura para direção. Esta é a direção na qual o mostrador deverá ser apontado. A caixa combinada contém somente os pontos cardinais, não a Lua ou qualquer outro objeto. Você pode inserir <quote
>Lua</quote
> na caixa manualmente, ou pressionar o botão <guibutton
>Objeto</guibutton
> para usar a janela <guilabel
>Procurar objeto</guilabel
> para selecionar a Lua na lista de objetos nomeados. Observe que, como sempre, centrar em um objeto engaja automaticamente o modo de rastreamento do objeto, logo não é necessário adicionar a função <firstterm
>setTracking</firstterm
> após a lookToward. </para
><para
>Agora que nós já apontamos para Lua, nós vamos em seguida criar um passo de tempo numa taxa acelerada. Use a função <firstterm
>setClockScale</firstterm
> para isto. Adicione-a ao script com um duplo-clique nela no navegador de função. O painel de argumentos da função contém um caixa de contagem de passo de tempo para configurar o passo de tempo desejado para a simulação do relógio. Mude o passo de tempo para 3 horas. </para
><para
>OK, nós já apontamos para a Lua e aceleramos o relógio. Agora nós queremos simplesmente que o script espere por alguns segundo enquanto exibe a trilha da Lua. Adicione a função <firstterm
>waitFor</firstterm
> ao script, e use o painel de argumentos da função para especificar que ele deve esperar por 20 segundos antes de continuar. </para
><para
>Para finalizar, vamos reiniciar o passo de tempo do relógio para o valor normal de 1 segundo. Adicione outra instância do setClockScale, e configure seu valor para 1 segundo. </para
><para
>Nós ainda não terminados. Nós devemos provavelmente certificarmos-nos que o mostrador está usando coordenadas equatoriais antes do script rastrear a Lua com o passo acelerado de tempo. Caso contrário, se o mostrador estiver usando coordenadas horizontais, ele rotacionará muito rapidamente com grandes ângulos conforme a Lua nasce e se põe. Isto pode ser muito confuso, e é evitado configurando a opção de visão <firstterm
>UseAltAz</firstterm
> para <quote
>false</quote
>. Para mudar qualquer opção de visão, use a função <firstterm
>changeViewOption</firstterm
>. Adicione esta função ao script, e examine o painel de argumentos da função. Existe uma caixa combinada que contém uma lista de todas as opções que pode ser ajustadas pelo changeViewOption. Uma vez que nós desejamos a opção UseAltAz, nós podemos simplesmente selecioná-la na caixa combinada. No entanto, a lista é muito longa, e não existe nehuma explanação sobre o que é cada item. Talvez seja mais fácil pressionar o botao <guibutton
>Navegar árvore</guibutton
>, que abrirá uma janela contendo uma visão em árvore das opções disponíveis, organizadas por tópico. Além disso, cada item possui uma explanação resumida do que a opção faz, e o tipo de dado do valor da opção. Nós encontramos o UseAltAz na categoria <guilabel
>Opções do mapa celeste</guilabel
>. Simplesmente destaque este item e pressione <guibutton
>OK</guibutton
>, e ele será selecionado na caixa combinada do painel de argumentos da função. Finalmente, torne este valor <quote
>false</quote
> ou <quote
>0</quote
>. </para
><para
>Mais um passo: mudar o UseAltAz no final do script não é o que queremos; nós precisamos que isto seja mudado antes de qualquer coisa acontecer. Logo, certifique-se de que esta função esteja destacada na caixa do script atual, e pressione o botão <guibutton
>Mover para cima</guibutton
> até que ela seja a primeira função. </para
><para
>Agora que terminamos o script, nós devemos salvá-lo no disco. Pressione o botão <guibutton
>Salvar script</guibutton
>. Isto primeiro abrirá uma janela da qual você pode fornecer um nome para o script, e preencher seu nome como autor. Insira <quote
>Rastreando a Lua</quote
> para o nome, e seu nome como autor, e pressione <guibutton
>OK</guibutton
>. A seguir, você verá o diálogo padrão do &kde; de salvar arquivo. Especifique um nome de arquivo para o script e pressione <guibutton
>OK</guibutton
> para salvar o script. Observe que se seu nome de arquivo não terminar com <quote
>.kstars</quote
>, este sufixo será automaticamente anexado. Se estiver curioso, você pode examinar o arquivo de script com qualquer editor de texto. </para
><para
>Agora que nós completamos o script, nós podemos executá-lo de diversas maneiras. A partir da linha de comando do console, você pode simplesmente executar o script  caso um instância do KStars esteja atualmente em execução. Alternativamente, você pode executar o script de dentro do KStars usando o item <guimenuitem
>Executar script</guimenuitem
> no menu <guimenu
>Arquivo</guimenu
>. </para>
</sect2>
</sect1>

