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