1
<sect1 id="javascript">
5
<sect2 id="javascript_console">
7
>Consola de JavaScript</title>
10
>Consola de JavaScript</primary>
13
>O <keycombo action="simul"
17
> abre a consola de JavaScript. (só está disponível se a libkjsembed estiver presente na compilação e na execução)</para>
19
>A consola de JavaScript é uma interface para o interpretador de JS incorporado, o qual poderá ser usado para diversão ou para testes.</para>
22
<sect2 id="javascript_interface">
24
>Interface de JavaScript</title>
27
>Interface de JavaScript</primary>
30
><emphasis role="bold"
32
> O suporte para JS é bastante estável e você não poderá perder quaisquer dados ao usá-lo. Contudo, os seus programas poderão não funcionar com as versões futuras do &krusader;, dado que o suporte para JS está a mudar.</para>
35
>Por favor <link linkend="help_krusader"
36
>envie as suas Extensões de JavaScript favoritas</link
37
> para que se tornem disponíveis para a comunidade do &krusader;. Muito obrigado!</para>
40
>As aplicações de JavaScript normalmente têm 2 ficheiros <filename
44
>. Estes são instalados em <filename
45
>~/.kde/share/apps/krusader/js/</filename
46
>, onde uma acção do utilizador com uma acção "%_Script" irá iniciar a programação em JavaScript. De momento, existem 2 demonstrações em JS <filename
47
>root-mount-extension.tar.bz2</filename
49
>js-demo-calc.tar.bz2</filename
50
>, as quais poderão ser mais explicativas.</para>
52
>Quando é executado um programa, este não sabe a sua origem (ou poderá vir a existir uma forma de o fazer, desconhecida dos autores) e todos os locais são relativos à pasta de trabalho actual. Contudo, esta pasta (normalmente) não é onde o programa se encontra, mas sim a pasta actual do painel activo do Krusader. Isto deverá permanecer assim. Contudo, para referenciar os ficheiros adicionais, como os ficheiros '.ui' (interfaces do utilizador, exportadas pelo &Qt; Designer), é necessária a localização do programa. A alternativa de usar locais absolutos, como será de esperar, é completamente inconveniente. Por essa razão, foi introduzida a variável "scriptDir". Se um programa necessitar de carregar uma &GUI; de um ficheiro '.ui' serão sempre feitos desta forma: <emphasis
53
>var ui = Factory.loadui( scriptDir + ficheiro.ui' );</emphasis
54
> Recomenda-se a utilização do Dialog como base para desenhar as &GUI;s a usar com o JS. Execute a janela com o comando <emphasis
56
> Os elementos da &GUI; poderão ser acedidos da seguinte forma: <emphasis
57
>ui.child('nomeElemento')</emphasis
60
>De momento, só os objectos de C++ 'Krusader' e 'PanelManager' estão expostos sem qualquer lógica por trás. Os mesmos poderão ser inspeccionados com a consola de JS e as funções 'properties()', 'children()' e 'slots()'. Poderá aceder aos filhos com a função 'child("nomeDoFilho")', o qual devolve o próprio objecto. De momento, a variável 'scriptDir' é mais útil. A seguir à extensão de montagem como 'root', já é possível criar &GUI;'s avançadas para as ferramentas da linha de comandos</para>
62
>Poderá brincar à vontade com o 'Krusader.setCaption("Ei, vamos embora!");', 'Krusader.children();', 'Krusader.child("ajuda").slots();', 'alert(Krusader.properties())' ou 'Krusader.child("ajuda").show();'.... Para além disso, é existe um novo item de substituição para as <link linkend="useractions"
63
>Acções do Utilizador</link
64
>, o '%_Script()%', que irá executar um ficheiro externo.</para>
66
>NOTA: O objecto 'Krusader' irá mudar. Ainda não foram feitas as decisões sobre a interface JS (à altura da versão 1.70.0). Todas as ideias são bem-vindas. Por favor, veja o nosso <ulink url="http://www.krusader.org/phpBB/index.php"
67
>Fórum do &krusader;</ulink
68
> para obter algumas reacções.</para>
70
>O suporte para JavaScript baseia-se no <ulink url="http://xmelegance.org/kjsembed/"
72
>. Alguns exemplos que demonstram a potencialidade desta biblioteca poderão ser consultados <ulink url="http://xmelegance.org/kjsembed/examples/index.html"
74
>. O suporte para todas as tecnologias de suporte do KDE, como o DCOP ou o KParts, está disponibilizado. Poderá até carregar interfaces completas de ficheiros '.ui', criadas com o &Qt;'s Designer. Uma extensão de exemplo que tira partido disto poderá ser consultada <ulink url="http://www.krusader.org/phpBB/viewtopic.php?p=4832#4832"