diff options
Diffstat (limited to 'tde-i18n-pt/docs/kdeedu/kstars/dcop.docbook')
-rw-r--r-- | tde-i18n-pt/docs/kdeedu/kstars/dcop.docbook | 248 |
1 files changed, 248 insertions, 0 deletions
diff --git a/tde-i18n-pt/docs/kdeedu/kstars/dcop.docbook b/tde-i18n-pt/docs/kdeedu/kstars/dcop.docbook new file mode 100644 index 00000000000..890ce1dedc2 --- /dev/null +++ b/tde-i18n-pt/docs/kdeedu/kstars/dcop.docbook @@ -0,0 +1,248 @@ +<chapter id="dcop"> +<title +>Programar com o KStars: A Interface de DCOP</title> +<para +>Um dos objectivos do &kstars; é possibilitar a capacidade de reproduzir comportamentos complicados num programa. Isto permitir-lhe-á criar <quote +>viagens virtuais</quote +> aos céus, e permitirá aos professores construírem demonstrações para aulas de modo a ilustrar certos conceitos astronómicos. Já é possível criar esses programas ('scripts') para o &kstars;, ainda que nem todas as funções desejadas tenham sido incluídas. Também, embora tenhamos eventualmente um construtor de 'scripts' gráfico, os programas poderão precisar de ser feitos à mão. Este capítulo irá explicar como criar esses 'scripts' do &kstars;. </para> +<para +>A arquitectura do &kde; fornece a plataforma necessária para as aplicações programáveis com a interface do <abbrev +>DCOP</abbrev +>. O <abbrev +>DCOP</abbrev +> significa <quote +>Desktop Communication Protocol</quote +>; através do <abbrev +>DCOP</abbrev +>, as aplicações do &kde; poderão ser controladas por outras aplicações, a partir de uma linha de comandos de terminal ou através de um ficheiro de texto. </para> + +<sect1 id="dcop-interface"> +<title +>Funções DCOP</title> +<para +>A interface de <abbrev +>DCOP</abbrev +> do &kstars; inclui as seguintes funções: <itemizedlist> +<listitem +><para +><function +> lookTowards( const QString direccao )</function +>: Aponta o foco da visualização para uma direcção indicada pelo argumento. Este poderá ser o nome de qualquer objecto no céu ou uma das palavras de direcção: 'zenith' - zénite (ou 'z'), 'north' - norte ('n'), 'northeast' - nordeste (ne), 'east' - este ('e'), 'southeast' - sueste ('se'), 'south' - sul ('s'), 'southwest' - sudoeste ('sw'), 'west' - oeste ('w'), 'northwest' - noroeste ('nw'). </para +></listitem> + +<listitem +><para +><function +> setRaDec( double ar, double dec )</function +>: Aponta o foco da visualização para as coordenadas equatoriais indicadas. </para +></listitem> + +<listitem +><para +><function +> setAltAz(double alt, double az)</function +>: Aponta o foco da visualização para as coordenadas horizontais indicadas. </para +></listitem> + +<listitem +><para +><function +> zoomIn()</function +>: Aumentar o nível de ampliação do ecrã. </para +></listitem> + +<listitem +><para +><function +> zoomOut()</function +>: Diminuir o nível de ampliação do ecrã. </para +></listitem> + +<listitem +><para +><function +> defaultZoom()</function +>: Repõe a visualização no nível de Zoom = 3 (o nível por omissão). </para +></listitem> + +<listitem +><para +><function +> setLocalTime(int ano, int mes, int dia, int hr, int min, int seg)</function +>: Configura o relógio da simulação para a data e hora indicadas. </para +></listitem> + +<listitem +><para +><function +> waitFor( double t )</function +>: Pára durante 't' segundos antes de continuar com os comandos subsequentes do programa. </para +></listitem> + +<listitem +><para +><function +> waitForKey( const QString t )</function +>: Pára a execução do programa até que o utilizador carregue na tecla indicada. Nesta altura, você não poderá indicar combinações de teclas (como o <keycombo action="simul" +>&Ctrl;<keycap +>C</keycap +></keycombo +>); use apenas teclas simples. Você poderá escrever <quote +>space</quote +> para indicar a barra de espaços. </para +></listitem> + +<listitem +><para +><function +> setTracking( bool seguir )</function +>: Indica se o modo de seguimento está activo ou não. </para +></listitem> + +<listitem +><para +><function +> changeViewOption( const QString opcao, const QString valor )</function +>: Ajusta uma opção de visualização. Existem dezenas de opções disponíveis; basicamente tudo o que você poderá alterar na <guilabel +>Configurar a Janela do &kstars;</guilabel +> poderá também aqui ser alterado. O primeiro argumento é o nome da opção (os nomes são extraídos a partir do ficheiro de configuração <filename +>kstarsrc</filename +>) e o segundo argumento é o valor desejado. O processador dos argumentos está desenhado para ser robusto, por isso se você lhe passar dados inválidos, ele irá falhar de forma ordeira. </para +></listitem> + +<listitem +><para +><function +> setGeoLocation( const QString cidade, const QString provincia, const QString pais )</function +>: Muda a localização de observação para a cidade indicada. Se não existir nenhuma cidade que corresponda ao texto dos argumentos, então não acontecerá nada. </para +></listitem> + +<listitem +><para +><function +> stop()</function +> [relógio]: Pára o relógio da simulação. </para +></listitem> + +<listitem +><para +><function +> start()</function +> [relógio]: Inicia o relógio da simulação. </para +></listitem> + +<listitem +><para +><function +> setScale(float esc)</function +> [relógio]: Configura a taxa do relógio de simulação. O esc=1,0 significa tempo-real; o 2,0 é duas vezes mais rápido que o tempo-real, etc. </para +></listitem> +</itemizedlist> +</para> +</sect1> + +<sect1 id="dcop-test"> +<title +>Testar as Funções do DCOP</title> +<para +>Você poderá tentar as funções de DCOP muito facilmente com o programa <application +>kdcop</application +>. Quando você correr o <application +>kdcop</application +>, irá ver uma árvore com todos os programas em execução; se o &kstars; estiver a correr, ele aparecerá na lista. A maioria das funções do <abbrev +>DCOP</abbrev +> estão enumeradas no cabeçalho <quote +>KStarsInterface</quote +>, mas as funções do relógio estão definidas em <quote +>clock</quote +>. Se fizer duplo-click numa função qualquer, irá executá-la. Se a função precisar de argumentos, irá aparecer uma janela na qual poderá introduzir os valores. </para> +</sect1> + +<sect1 id="dcop-script"> +<title +>Criar um Programa de DCOP</title> +<para +>As funções do <abbrev +>DCOP</abbrev +> também podem ser invocadas a partir da linha de comandos do UNIX e estas poderão ser encapsuladas num programa. Iremos criar um programa de exemplo que muda para coordenadas equatoriais, aponta a visualização para a Lua, amplia um pouco e acelera o relógio para uma hora por segundo. Depois de seguir a Lua durante 20 segundos, o relógio é posto em pausa e a visualização reduz a ampliação. Você poderá usar este programa como um modelo para criar novos programas. Tentaremos listar o programa inteiro primeiro e depois explicar as suas várias componentes. </para> +<para> +<programlisting +>#!/bin/bash +#Programa do KStars: Seguir a Lua! +# +KSTARS=`dcopfind -a 'kstars*'` +PRINCIPAL=KStarsInterface +RELOGIO=relógio#1 +dcop $KSTARS $PRINCIPAL changeViewOption UseAltAz false +dcop $KSTARS $PRINCIPAL lookTowards Moon +dcop $KSTARS $PRINCIPAL defaultZoom +dcop $KSTARS $PRINCIPAL zoomIn +dcop $KSTARS $PRINCIPAL zoomIn +dcop $KSTARS $PRINCIPAL zoomIn +dcop $KSTARS $PRINCIPAL zoomIn +dcop $KSTARS $PRINCIPAL zoomIn +dcop $KSTARS $RELOGIO setScale 3600. +dcop $KSTARS $RELOGIO start +dcop $KSTARS $PRINCIPAL waitFor 20. +dcop $KSTARS $RELOGIO stop +dcop $KSTARS $PRINCIPAL defaultZoom +## +</programlisting> +</para> +<para +>Grave este programa num ficheiro. O ficheiro poderá ter o nome que você desejar; nós sugerimos algo descritivo do tipo <filename +>seguir_lua.kstars</filename +>. Escreva então o seguinte comando para colocar o programa como executável: <userinput +><command +>chmod</command +> <option +>a+x</option +> <parameter +>seguir_lua.kstars</parameter +> </userinput +>. O programa poderá então ser executado em qualquer altura se escrever <userinput +><command +>./seguir_lua.kstars</command +></userinput +> na pasta que contém o programa. Tenha em atenção que o programa só irá funcionar se você tiver uma instância do &kstars; já em execução. Você poderá usar o comando <command +>dcopstart</command +> num programa para lançar uma nova instância do &kstars;. </para> +<para +>Agora, a explicação do programa. A linha de topo identifica o ficheiro como um programa da linha de comandos <command +>BASH</command +>. As duas linhas seguintes são <firstterm +>comentários</firstterm +> (qualquer linha que comece por <quote +>#</quote +> é um comentário e é ignorado pela linha de comandos). As três linhas seguintes definem algumas variáveis de conveniência que serão usadas posteriormente. A variável <varname +>KSTARS</varname +> identifica o processo do &kstars; actualmente em execução, usando o comando <command +>dcopfind</command +>. O <varname +>PRINCIPAL</varname +> e o <varname +>RELOGIO</varname +> identificam as duas interfaces de <abbrev +>DCOP</abbrev +> associadas ao &kstars;. </para> +<para +>O resto do programa é a lista efectiva de chamadas de <abbrev +>DCOP</abbrev +>. O primeiro comando indica à visualização para usar as coordenadas equatoriais, usando a opção <quote +>UseAltAz</quote +> igual a <quote +>false</quote +> (mais uma vez, você poderá ver uma lista com todas as opções que o <quote +>changeViewOption</quote +> poderá usar se ver o seu ficheiro de configuração <filename +>kstarsrc</filename +>). O próximo comando centra a visualização na Lua, activando automaticamente o seu seguimento. É então definido o nível de zoom por omissão, seguido então de uma ampliação para 5x. De seguida, a a escala temporal do relógio é configurada para 1 hora por segundo (3 600 segundos é uma hora), dando início depois ao relógio (se não estiver já a correr). A próxima linha interrompe o programa durante 20 segundos, enquanto a Lua é seguida à medida que se mexe no céu. Finalmente, o relógio é parado e o nível de ampliação é reposto no seu valor original. </para> +<para +>Esperamos que você goste das capacidades de programação do KStars. Se você criar um programa interessante, por favor envie-nos por e-mail para <email +>kstars@30doradus.org</email +>; nós gostaríamos de ver o que você fez e poder publicar alguns programas na nossa página Web. Também, se você tiver algumas ideias sobre como melhorar a programação (ou qualquer parte do &kstars;), por favor comunique-nos isso em <email +>kstars-devel@lists.sourceforge.net</email +> ou submeta um item de desejo no 'bugzilla'. </para> +</sect1> +</chapter> + |