### 8.2.5. Comunicação GeoGebra / JavaScript

Com estes métodos pode implementar uma comunicação da apliqueta GeoGebra para o JavaScript. Quando utiliza um dos métodos seguintes deve assegurar-se que inseriu a opção MAYSCRIPT no fim da linha que chama a apliqueta. Exemplo:

<applet Name="ggbApplet"

code="geogebra.GeoGebraApplet"

codebase="." archive="http://www.geogebra.org/webstart/geogebra.jar" width="500" height="250" MAYSCRIPT>

registerAddListener(função JS)

Declara uma função JavaScript que escuta a criação de objectos na construção. Logo que um novo objecto é criado, a função JS é chamada, tendo como argumento o nome do novo objecto.

Exemplo: declare previamente uma função JS de escuta:

ggbApplet.registerAddListener("EcoN") ;

Em seguida, escreva :

function EcoN(nome) {alert('Novo objeto '+nome);} . Logo que o objecto "A" é criado, a apliqueta GeoGebra chama EcoN("A");

unregisterAddListener(objecto)

Remove o registo declarado anteriormente.

registerRemoveListener(função JS)

Declara uma função JavaScript que escuta a supressão de objectos na construção. Logo que um objecto é apagado, a função JS é chamada, tendo como argumento o nome do objecto suprimido. Nota: quando uma construção é totalmente apagada, a função não é chamada por cada um dos objectos elementares

[ veja registerClearListener()].

Exemplo: declare uma função JS de escuta :

ggbApplet.registerRemoveListener("EcoV");

Logo que um objecto "A" é apagado, a apliqueta GeoGebra chama EcoV("A");

unregisterRemoveListener(objecto)

Remove o registo declarado anteriormente.

registerUpdateListener(função JS)

Declara uma função JavaScript que escuta as modificações na construção. Logo que um objecto é modificado, a função JS é chamada, tendo como argumento o nome do objecto modificado.

Nota: se quiser seguir as modificações de um único objecto é preferível utilizar

registerObjectUpdateListener();

Exemplo: declare previamente uma função JS de escuta :

ggbApplet.registerUpdateListener("EcoAltera");

Logo que o objecto "A" é alterado, a apliqueta GeoGebra chama EcoAltera ("A");

unregisterUpdateListener(objecto)

Remove o registo das alterações declarado anteriormente.

registerObjectUpdateListener(nome, função JS)

Declara uma função JavaScript que escuta as modificações num simples objecto na construção. Logo que o objecto seguido é modificado, a função JS é chamada, tendo como argumento o nome do objecto modificado. Se, anteriormente, o objecto tinha um certo valor pela função JS, esse antigo valor é actualizado.

Nota: todas as escutas de modificações de objectos são apagadas quando os objectos associados ou quando a construção é completamente apagada.

[veja registerRemoveListener()].

[ veja registerClearListener()].

Exemplo: declare previamente uma função JS de escuta :

ggbApplet.registerObjectUpdateListener("A","Eco");

Logo que o objecto A é modificado, a apliqueta GeoGebra chama Eco("A") ;

Nota: uma escuta das modificações num objecto continua a funcionar depois deste objecto ser renomeado.

unregisterObjectUpdateListener(nome)

Remove o registo das modificações do objecto citado, declarado anteriormente.

registerReNameListener(função JS)

Declara uma função JavaScript que escuta as alterações de nome na construção. Logo que um qualquer objecto é renomeado, a função JS é chamada, tendo como argumento o antigo nome do objecto e também o novo nome.

Exemplo: declare previamente uma funçãoJS de escuta :

ggbApplet.registerReNameListener("EcoRenomear");

Logo que um objecto "A" é renomeado para "B", a apliqueta GeoGebra chama a função

EcoRenomear("A", "B") ;

unregisterReNameListener(nome)

Remove o registo de alterações de mome.

registerClearListener(função JS)

Declara uma função JavaScript que escuta os apagamentos completos na construção. Logo que a construção é totalmente apagada (i.e. todos os objectos são suprimidos), a função JS é chamada, não tendo qualquer argumento.

Nota: todas as escutas de alterações deixam de ser registadas quando a construção é completamente apagada.

Exemplo: declare previamente uma função JS de escuta :

ggbApplet.registerClearListener("EcoRazia");

Quando a construção é completamente apagada a apliqueta GeoGebra chama a função

EcoRazia();

unregisterClearListener(função JS)

Remove o registo dos apagamentos completos.

Tópicos Relacionados

8.2. Métodos utilizáveis

www.geogebra.org