# A ferramenta de construção de script

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 comunicação interprocessos (&DBus;). 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.

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 GUI do tipo apontar e clicar para construir scripts &DBus; para o &kstars;, tornando muito fácil criar scripts complexos.

## Introdução ao construtor de script

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

A ferramenta de construção de script
Ferramenta de construção de script

O construtor de script é mostrado na captura de tela acima. A caixa à esquerda é a caixa do script atual; ela mostra a lista de comandos que compreende o script de trabalho atual. A caixa à direita é o Navegador de função; 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 painel de argumentos da função; 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.

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: Novo script, Abrir script, Salvar script, Salvar script como... e Testar script. A função destes botões deve ser óbvia, exceto talvez o último botão. Pressionar Testar script 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.

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: Adicionar função, Remover função, Copiar função, Mover para cima e Mover para baixo. Adicionar função 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.

## Usando o construtor de script

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.

Se nós iremos rastrear a Lua, nós precisaremos apontar o mostrador primeiro. A função lookToward é 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 Adicionar função para adicionar esta função na caixa de script atual. O painel de argumentos da função agora conterá uma caixa combinada rotulada dir, 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 Lua na caixa manualmente, ou pressionar o botão Objeto para usar a janela Procurar objeto 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 setTracking após a lookToward.

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 setClockScale 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.

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 waitFor ao script, e use o painel de argumentos da função para especificar que ele deve esperar por 20 segundos antes de continuar.

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.

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 UseAltAz para false. Para mudar qualquer opção de visão, use a função changeViewOption. 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 nenhuma explanação sobre o que é cada item. Talvez seja mais fácil pressionar o botão Navegar árvore, 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 Opções do mapa celeste. Simplesmente destaque este item e pressione OK, e ele será selecionado na caixa combinada do painel de argumentos da função. Finalmente, torne este valor false ou 0.

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 Mover para cima até que ela seja a primeira função.

Agora que terminamos o script, nós devemos salvá-lo no disco. Pressione o botão Salvar script. Isto primeiro abrirá uma janela da qual você pode fornecer um nome para o script, e preencher seu nome como autor. Insira Rastreando a Lua para o nome, e seu nome como autor, e pressione OK. A seguir, você verá o diálogo padrão do &kde; de salvar arquivo. Especifique um nome de arquivo para o script e pressione OK para salvar o script. Observe que se seu nome de arquivo não terminar com .kstars, este sufixo será automaticamente anexado. Se estiver curioso, você pode examinar o arquivo de script com qualquer editor de texto.

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 Executar script no menu Arquivo.