Referencia:JavaScript

De GeoGebra Manual
Saltar a: navegación, buscar

Este artículo describe cómo se puede interactuar con aplicaciones GeoGebra (applet) vía JavaScript. La aplicación applet GeoGebra está representada por un objeto JavaScript, que en este documento se como almacenado en una variable denominada ggbApplet.
Tal presunción se corrobora si se está empleando JavaScript desde el interior de GeoGebra o si se lo está usando en una página web con una aplicación individual applet de GeoGebra exportada, sea desde GeoGebra directamente (Ctrl + Shift + M) o desde GeoGebra con el enlace del paquete denominado Offline Package.
Los guiones no está disponible para aplicaciones applets exportadas desde GeoGebra vía el dispositivo para incrustar (Embed feature).
En caso de múltiples applets debe consultarse la sección Obtención del Objeto Applet.

Documento Previo

Este documento describe métodos públicos disponibles en geogebra.GeoGebraApplet que pueden emplearse desde una página HTML vía JavaScript.

Ejemplos

Ejemplo 1:
El siguiente fragmento de código HTML añade un botón de reinicio ("Reset") a una página HTML que permite reiniciar la construcción expuesta en el Applet de GeoGebra para que recupere su estado inicial: <form>
<input type="button" value="Réinitialiser" onclick="ggbApplet.reset();">
</form>

Ejemplo 2:
Esto añade dos botones "Oculta A" y "Expone A" cambia el estado de visibilidad de un objeto llamado "A" en la construcción
<form>
<input type="button" value="Cacher A" onclick="ggbApplet.setVisible('A', false);">
<input type="button" value="Afficher A" onclick="ggbApplet.setVisible('A', true);">
</form>

Ejemplo 3:
Una función JavaScript "myLittleConstruction()" se emplea para llamar varios métodos del Applet de GeoGebra.

 <script type="text/javascript" language="javascript" src="http://www.geogebra.org/web/4.4/web/web.nocache.js"></script>
 <article class="geogebraweb" data-param-width="500" data-param-height="500" data-param-ggbbase64="UEsDBBQACAgIAM1CWUMAAAAAAAAAAAAAAAAWAAAAZ2VvZ2VicmFfamF2YXNjcmlwdC5qc0srzUsuyczPU0hPT/LP88zLLNHQVKiuBQBQSwcI1je9uRkAAAAXAAAAUEsDBBQACAgIAM1CWUMAAAAAAAAAAAAAAAAMAAAAZ2VvZ2VicmEueG1svVZtb9s2EP6c/oqDPicxSVGyHMgp1gIFCmTdgHTDsG+URMtcZFEQKb8M/fE7kpIjpy/o0GFB7CN5D++5O96Rzl8fdw3sZW+UbtcRvSURyLbUlWrrdTTYzU0Wvb5/lddS17LoBWx0vxN2HXGHVNU62iSblBPGbgou0hu+yuKbjONXucrKpCJVma14BHA06q7VH8ROmk6U8rHcyp140KWwnnhrbXe3WBwOh9uJ6lb39aKui9ujqSJAN1uzjsbBHZq72HSIPZwRQhd//PwQzN+o1ljRljICF8Kg7l9d5QfVVvoAB1XZ7TrKCIaxlareYkypmywcqMOEdLK0ai8Nbp1Nfcx210UeJlqnvwojaM7hRFCpvapkv47ILUsi0L2SrR21dGRZTPvzvZKHYMiNPAcmzWrdFMLZgE+fgBFG4NoJGgRDkaZBRcIaiYNgQfAgkoDhYTsPUB4wPGB4HMFeGVU0Eo9UNAZzptpNj+d1nht7aqT3Z1x4jpdeY0xG/Y3g2CUxJBnXCbl2H8zsNZ+yOwuSzlhtP/xL0olymbHvp2Q/FGg8cbIvhcmSr4SZfoM0xP09cdJkxolU/t9/PmOMvxXmS8Yw/zHClP8vIeaLqVXysTvAbB12rB4rd8b1S7yCZOXKnkKCvZEuscoToCsUSwbYDUAT4AlOaQapk0uIl6jgEEMGDkdj8M2RZPjFl95YCgkac6tL7EmgSMQhiYH6nuKAnQS+L7FHWYyIJIEENzl6ypyJOAWe4izOgKOPriWXFIExbsQ50jOIKcRuM10CSyF19ih3rZ5mznU0ySAlkFJnELsaOzp0M+IziF006Zgu1XaDvUhRuaumodXd+SwQjffR8z0X7qeLa/Aqb0QhG3wZHt1JAuxF4zrCE210a2E6RBbW6l50W1WaR2kt7jLwl9iLB2Hl8R2izcTtsaVuza+9tm91M+xaA1Dqhpx91g2djdnZa5zEMwWfK5KZIp2Nl1/k1aiBwUjk172Z4KKq3jvE89WAmfylbU5veimeOq0uw8gX/pHJ5VA2qlKi/R2L1bG4vMD05vjranpzOKOTI7qvHk8GKxiOf8pe4x1Dk1sy/8Pb5xRU8UsVHrgphWu+hFxqsLdOX1PxwC335yMSR3mOvu5VNR+/N290U51z4cN/Kzo79P7XAnrXu6B+autG+hLxjY1PcflU6ONjqI042Pp46nBGAn9R+7QDXg0swdeyHmURpMc4x84o4jHEI8hUbKo66+mKeYSXRZAehdUbXBsDpVOUlEw0yvgLjUQXbeNL3z3sQ6vswzSxqnx6jtThPwy7Qp4L6NIk/Y9M5osXBZY/yb6VzVjPeJCDHkxoz1mpV7JUO5wGxZgQ4Q7rN3QgrFay7uXkd+N/h4V0eS2Zl+pny97Uu17v3rf7j1gJLxzIF5OXuSl71bl6gwLfgCf5XFOVMgKfkGq+zzUghl66pwLTY11qsDUHu9W9/6mFNwpKxzCH+nYcf0ve/wNQSwcI2ajKq1gEAADoCgAAUEsBAhQAFAAICAgAzUJZQ9Y3vbkZAAAAFwAAABYAAAAAAAAAAAAAAAAAAAAAAGdlb2dlYnJhX2phdmFzY3JpcHQuanNQSwECFAAUAAgICADNQllD2ajKq1gEAADoCgAADAAAAAAAAAAAAAAAAABdAAAAZ2VvZ2VicmEueG1sUEsFBgAAAAACAAIAfgAAAO8EAAAAAA=="></article>
 <script type="text/javascript">
   function myLittleConstruction() {
     var applet = document.ggbApplet;
     applet.evalCommand("A = (1,1)"); 
     applet.evalCommand("B = (3,2)"); 
     applet.evalCommand("s = Line[A, B]"); 
   }
 </script>
 <form>
   <input type="button" value="Do construction" onclick="myLittleConstruction();">
 </form>

Ejemplo 4:
Conviene revisar el código fuente del siguiente ejemplo de hoja dinámica que emplea JavaScript: ejemplo_4

Ejemplo 5:
Este es un ejemplo de hoja dinámica que emplea un sensor (add listener) para controlas cuándo una construcción particular se ha completado (y luego expresa "¡Bien hecho!" - en inglés Well done.).
Ver add listener

Ejemplo 6:
Este es un ejemplo que ilustra la interfaz de JavaScript de GeoGebraWebPrueba de Pendiente (SlopeTest):

http://archive.geogebra.org/examples/SlopeTestWeb.html

Métodos Disponibles

Firma del Método Desde Descripción
boolean evalCommand(String cmdString) 3.0 Evalúa la cadena dada como cuando se la ingresa desde la Barra de Entrada de GeoGebra. Da por resultado si fue exitosa la evaluación.
A partir de GeoGebra 3.2 se pueden pasar múltiples comandos de a una vez separando cada uno de ellos con \n.
Nota: Usar los nombres de los comandos en inglés para asegurarse su correcta operatoria con todas las versiones de GeoGebra.
La alternativa sería acudir al parámetro del idioma (language) para controlar que operen correctamente los nombres de los comandos.

String evalCommandCAS(Cadena cadena) 3.2 Pasa la cadena al CAS de GeoGebra y da el resultado como una Cadena.
void setUndoPoint() 3.2 Fija un punto de deshace. Útil cuando se quiere que el usuario pueda deshacer lo que la acción de evalCommand, por ejemplo si se ha hecho un botón HTML para actuar como una herramienta de usuario

Con estos métodos se puede implementar comunicaciones Applet a JavaScript. Cuando se los emplea, es preciso asegurarse de haber insertado la opción MAYSCRIPT añadida al final de la primera línea de la etiqueta del applet (applet tag). Por eejmplo:
<applet name="ggbApplet" code="geogebra.GeoGebraApplet" codebase="."
archive="geogebra.jar" width="500" height="250" MAYSCRIPT>
La opción MAYSCRIPT solo se requiere para comunicaciones GeoGebraApplet a JavaScript; no es necesaria para métodos de acceso de JavaScript a GeoGebraApplet.

Por ejemplo, estos métodos se pueden emplear para

Fijando Estado de Objetos

Métodos Generales

Firma del Método Desde Descripción
void deleteObject(String objName) 2.7 Elimina el objeto del nombre dado.
void setValue(String objName, double value) 3.2 Fija el doble valor del objeto con el nombre dado. Atención: si el objeto especificado es booleano, se debe usar el valor 1 para establecerlo como verdadero y cualquier otro, para falso. Para cualquier otro tipo de objeto, no se hace nada.
setTextValue(nombre, texto) 5.0 Afecta al texto del objeto de texto referido. No tiene efecto sobre cualquier otro tipo de objeto.
void setListValue(String objName, int i, double value) 5.0 Fija el valor del elemento de la lista en la posición 'i' al valor 'value'
void setCoords(String objName, double x, double y) 3.0 Fija las coordenadas del objeto del nombre dado. Atención: si el objeto especificado no es un punto o un vector, no se hace nada.
void setColor(String objName, int red, int green, int blue) 2.7 Fija el color del objeto con el nombre dado.
void setVisible(String objName, boolean visible) 2.7 Muestra u oculta el objeto con el nombre dado en la vista gráfica.
void setLabelVisible(String objName, boolean visible) 3.0 Muestra u oculta los rótulos del objeto con el nombre dado en la vista gráfica.
void setLabelStyle(String objName, int style) 3.0 Fija el estilo del rótulo del objeto con el nombre dado en la vista gráfica. Los estilos de rótulo posibles son NOMBRE = 0, NOMBRE_VALOR = 1, VALOR = 2 y (a partir de GeoGebra 3.2) SUBTITULO = 3
void setFixed(String objName, boolean flag) 3.0 Establecer el estado fijo del objeto con el nombre dado. Atención: los objetos fijos no puede modificarse.
void setTrace(String objName, boolean flag) 3.0 Activa o desactiva el rastro del objeto con el nombre dado.
boolean renameObject(String oldObjName, String newObjName) 3.2 Cambia el nombre del objeto del previo, oldObjName al nuevo, newObjName. Indica si se ha logrado renombrarlo
void setLayer(String objName) 3.2 Fija la capa del objeto
void setLayerVisible(int layer, boolean visible) 3.2 Muestra u ocular todos los objetos en la capa dada
void setLineStyle(String objName, int style) 3.2 Fija el estilo del trazo para el objeto (0 a 4)
void setLineThickness(String objName, int thickness) 3.2 Fija el grosor del objeto (1 a 13, -1 por omisión)
void setPointStyle(String objName, int style) 3.2 Fija el estilo de los puntos (-1 por omisión, 0 redondel sombreado, 1 redondel hueco, 2 cuz, 3 signo más, 4 rombo sombreado, 5 rombo hueco, 6 triángulo (al norte), 7 triángulo (al sur), 8 triángulo (al este), 9 triángulo (al oeste))
void setPointSize(String objName, int size) 3.2 Fija el tamaño del punto (desde 1 a 9)
void setFilling(String objName, double filling) 3.2 Fija el sombreado de un objeto (desde 0 a 1)
String getPNGBase64(double exportScale, boolean transparent, double DPI) 4.0 Da por resultado la cadena de la Vista Gráfica 1 codificada en base64
eg var str = ggbApplet.getPNGBase64(1, true, 72);
boolean writePNGtoFile(String filename, double exportScale, boolean transparent, double DPI) 4.0 Exporta la Vista Gráfica 1 a un archivo .PNG (solo para signed applets, firmadas)
eg var success = ggbApplet.writePNGtoFile("c:\\test.png", 1, false, 300);
boolean isIndependent(String objName) 4.0 Controla si el objeto del nombre dado, objName, es independiente
boolean isMoveable(String objName) 4.0 Controla si el objeto del nombre dado, objName es desplazable
String getBase64() Da por resultado la construcción activa como un archivo .ggb codificado en base64
Cadena getBase64(función de llamada-callback-) 4.2 (solo HTML5) Da por resultado la construcción activa como un archivo .ggb codificado en base64 asincrónicamente, pasando como parámetro a la función de llamada -callback- al estar lista. La función de llamada -callback-debiera tomar un parámetro (la cadena base64).
void setBase64(String) 4.0 (solo Java) Establece la construcción activa desde un archivo .ggb codificado como base64
Cadena getBase64(función de llamada-callback-) 4.2 (solo HTML5) Da por resultado la construcción activa como un archivo .ggb codificado en base64 asincrónicamente, pasando como parámetro a la función de llamada -callback- al estar lista. La función de llamada -callback-debiera tomar un parámetro (la cadena base64).

Animación Automática

Firma del Método Desde Descripción
void setAnimating(String objName, boolean animate) 3.2 Establece la posibilidad de animar un objeto. No inicia la animación, para eso debe emplearse startAnimation(), simplemente indica su viabilidad.
void setAnimationSpeed(String objName, double speed) 3.2 Establece la velocidad de animación de un objeto.
void startAnimation() 3.2 Inicia la animación automática para todos los objetos que la tuvieran indicada (flag o bandera de animación así fijada, ver setAnimating())
void stopAnimation() 3.2 Detiene la animación automática para todos los objetos que la tuvieran indicada (flag o bandera de animación así fijada, ver setAnimating())
boolean isAnimationRunning() 3.2 Da por resultado el dato que establece si la animación automática está activa.

Sobre Estado de Objetos

Firma del Método Desde Descripción
double getXcoord(String objName) 2.7 Devuelve la coordenada cartesiana x del objeto con el nombre dado. Atención: Devuelve 0 si el objeto no es un punto o un vector.
double getYcoord(String objName) 2.7 Devuelve la ordenada cartesiana-y- del objeto con el nombre dado. Atención: Devuelve 0 si el objeto no es un punto o un vector..
double getValue(String objName) 3.2 Devuelve el doble valor del objeto con el nombre dado (por ejemplo, la longitud de un segmento, el área de un polígono). Atención: Devuelve 1 si el objeto es una variable booleana con valor cierto -true- y en cualquier otro caso, 0.
double getListValue(String objName, Integer index) 5.0 Devuelve el doble valor del objeto de la lista (con el nombre dado) según el índice establecido. Atención: da 1 para un objeto booleano con valor verdadero y 0 en caso contrario, si es falso.
String getColor(String objName) 2.7 Devuelve el color del objeto especificado del objeto con el nombre dado, como una cadena hexadecimal, por ejemplo,. "# FF0000" es rojo. La cadena hexadecimal siempre comienza con # y no contiene letras minúsculas.
boolean getVisible(String objName) 3.2 Devuelve verdadero o falso dependiendo de si el objeto es visible o no en la Vista Gráfica. Devuelve false si el objeto no existe.
String getValueString(String objName) 2.7 Devuelve una cadena que contiene el valor del objeto indicado.
String getDefinitionString(String objName) 2.7 Devuelve una cadena que contiene la definición del objeto indicado.
String getCommandString(String objName) 2.7 Devuelve una cadena que contiene el comando del objeto del nombre dado.
String getObjectType(String objName) 2.7 Devuelve una cadena que contiene el tipo de objeto determinado (como el "punto", "recta", "círculo", etc.).
boolean exists(String objName) 2.7 Indica si un objeto con el nombre dado existe o no en la construcción.
boolean isDefined(String objName) 2.7 Devuelve si el valor del objeto especificado es actualmente válido.
String [] getAllObjectNames()
Deprecated since 3.0
2.7 Devuelve una matriz que contiene los nombres de todos los objetos en la construcción. Atención: El uso de matrices en JavaScript crea problemas con algunos navegadores.Es preferible emplear getObjectNumber () y getObjectName ().
int getObjectNumber() 3.0 Devuelve el número de objetos en la construcción .
String getObjectName(int i) 3.0 Devuelve el nombre del objeto enésimo de la construcción.
String getLayer(String objName) 3.2 Devuelve la capa a la que está destinado el objeto.
int getLineStyle(String objName) 3.2 Detecta el estilo de línea del objeto indicado (estilo de 0 a 4).)
int getLineThickness(String objName) 3.2 Detecta el ancho de línea (1 a 13)
int getPointStyle(String objName) 3.2 Detecta el estilo de los puntos (-1 por omisión; 0 redondel sombreado; 1 redondel hueco; 2 cruz; 3 signo más; 4 diamante sombreado; 5 diamante hueco; 6 triángulo (norte); 7 Triángulo (sur); 8 triángulo (este); 9 Triángulo (oeste))
int getPointSize(String objName) 3.2 Detecta el tamaño de un punto (desde 1 a 9)
double getFilling(String objName) 3.2 Detecta el tipo de sombreado de un objeto (desde 0 a 1))

Construcción / Interfaz de Uso

Firma del Método Desde Descripción
void setMode(int mode) 2.7 Establece el modo de mouse o ratón (por ejemplo, como una herramienta) en la Vista Gráfica (ver Referencia:Barra de Herramientas y [Referencia:Parámetros Applet|parámetros applet]] y  "customToolBar" )
void openFile(String strURL) 2.7 Abre una construcción desde un archivo (indicado por una cadena con la URL absoluta o relativa)
void reset() 2.7 Actualizar la construcción inicial (que se indica en el parámetro de nombre de archivo en el applet actual).
void refreshViews() 2.7 Actualizar todas las vistas. Atención: todos los rastros serán eliminados de la vista gráfica.
void setOnTheFlyPointCreationActive(boolean flag)
3.2 Activar (true) o desactivado (false) la creación inmediata de puntos en la vista gráfica. Atención: Es muy útil cuando se desea evitar la creación de puntos como un "efecto secundario" de una herramienta. Por ejemplo, cuando este indicador es falso, la herramienta de "recta por dos puntos" no crea puntos por el clic en la vista gráfica.
void hideCursorWhenDragging(boolean flag)
3.2 Ocultar (true) o mostrar (false) el cursor del mouse o ratón (puntero) al arrastrar un objeto para cambiar la construcción.)
void setRepaintingActive(boolean flag)
2.7 Activar (true) o desactivado (false) repintar el applet. Atención: Este método es eficaz sobre todo cuando son varios los métodos invocados.
void setErrorDialogsActive(boolean flag) 3.0 Activar (true) o desactivado (false) mostrar cuadros de diálogo acerca de los errores. Atención: Es muy útil si se utiliza junto con evalCommand ().
void setCoordSystem(double xmin, double xmax, double ymin, double ymax) 3.0 Establece el sistema de coordenadas cartesianas de la Vista Gráfica.
void setAxesVisible(boolean xAxis, boolean yAxis) 3.0 Muestra u oculta los ejes x e y del sistema de coordenadas de la Vista Gráfica.
void setGridVisible(boolean flag) 3.0 Muestra u oculta la cuadrícula de coordenadas de la Vista Gráfica.

Comunicación JavaScript-GeoGebraApplet

Los siguientes métodos permiten implementar un Applet para la comunicación JavaScript. Al emplearlos, es preciso asegurarse de insertar la opción MAYSCRIPT añadida al final de la primera línea de la etiqueta del applet en curso (applet tag). Por ejemplo: <applet name="ggbApplet" code="geogebra.GeoGebraApplet" codebase="." archive="geogebra.jar" width="500" height="250" MAYSCRIPT>. La opción MAYSCRIPT se precisa únicamente para comunicación GeoGebraApplet a JavaScript; no es necesaria para el acceso de JavaScript a los métodos de GeoGebraApplet. Por ejemplo, estos métodos pueden emplearse para:

De Firma del Método:
void registerAddListener(String JSFunctionName)
3.0 Registra una función JavaScript como un detector añadido a la construcción del applet. Cuando un objeto se crea en la construcción de GeoGebraApplet, se llama a la función de JavaScript JSFunctionName usando el nombre del objeto recién creado como su único argumento.

Ejemplo: Primero, registra una función de detección de JavaScript:

ggbApplet.registerAddListener( "myAddListenerFunction" );

Cuando se crea un objeto "A", el applet de GeoGebra llama a la función JavaScript

myAddListenerFunction(" A");
De Firma del Método:
void unregisterRemoveListener(String objName)
3.0 Elimina un detector añadido previamente registrado, ver registerAddListener()
De Firma del Método:
void registerRemoveListener(String JSFunctionName
3.0 Registra una función de detección de JavaScript como detector de eliminación para la construcción de applet. Siempre que un objeto es eliminado en la construcción activa en el GeoGebraApplet, se llama a la función de JavaScript JSFunctionName utilizando como único argumento el nombre del objeto eliminado. Atención: Cuando se cancela toda la construcción, remove no es llamado por un objeto individual: ver registerClearListener().

Ejemplo: Registrar una función de detector por encima de una función JavaScript:

ggbApplet.registerRemoveListener(" myRemoveListenerFunction ");

Cuando un objeto "A" se elimina, el applet de GeoGebra llama a la función JavaScript

myRemoveListenerFunction("A");
De Firma del Método:
void unregisterRemoveListener(String objName)
3.0 Elimina un detector previamente registrado, ver registerRemoveListener()
De Firma del Método:
void registerUpdateListener(String JSFunctionName)
3.0 Registra una función JavaScript como detector de actualización para la construcción del applet. Cuando un objeto es actualizado en la construcción activa en GeoGebraApplet, es llamada una función JavaScript JSFunctionName utilizando como único argumento el nombre del objeto actualizado.Atención: Si se detector exclusivamente vinculado a la actualización de un determinado objeto, es mejor emplear registerObjectUpdateListener() .

Ejemplo: Registrare innanzitutto una funzione listener JavaScript:

ggbApplet.registerUpdateListener(" myUpdateListenerFunction ");

Cuando un objeto "A" se actualiza, el applet de GeoGebra llama a la función Javascript

myUpdateListenerFunction("A");
De Firma del Método:
void unregisterUpdateListener(String objName)
3.0 Elimina un detector previamente registrado, ver registerRemoveListener()
De Firma del Método:
void registerObjectUpdateListener(String objName, String JSFunctionName)
3.0 Registra una función JavaScript como detector de actualización para un objeto individual. Cuando el objeto con el nombre dado se actualiza, la función JavaScript JSFunctionName es llamada usando el nombre del objeto actualizado como su único argumento. Si objName tenía previamente una función JavaScript mapeada, el valor previo es reemplazado. Atención: todos los detectores de actualización de objeto quedan no registrados cuando sus objetos se eliminan de la construcción o la construcción se borra, ver registerRemoveListener() and registerClearListener().

Ejemplo: Primero, registrar una función de detección de JavaScript:

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

Cuando el objeto A se actualiza, el Applet GeoGebra llamará a la función Javascript

myAupdateListenerFunction("A");

Atención: un detector de actualización de objeto operará aún después de haber sido renombrado el objeto.

De Firma del Método:
void unregisterObjectUpdateListener(String objName)
3.0 Elimina un detector de actualización de objeto (con el nombre dado), previamente registrado, ver registerObjectUpdateListener()
De Firma del Método:
void registerRenameListener(String JSFunctionName)
3.0 Registra una función JavaScript como detector de cambio de nombre para el applet de la construcción. Cuando a un objeto se le cambia el nombre en la construcción del GeoGebraApplet, la función JavaScript JSFunctionName es llamada usando el viejo nombre y el nuevo del objeto rebautizado como sendos argumentos.

Ejemplo: Primero, registrar una función de detección de JavaScript:

ggbApplet.registerRenameListener("myRenameListenerFunction");

Cuando a un objeto "A" se la cambia el nombre por "B", el Applet GeoGebra llamará a la función de Javascript

myRenameListenerFunction("A", "B");
De Firma del Método:
void unregisterRenameListener(String objName)
3.0 Elimina un detector de cambio de nombre de objeto previamente registrado, ver registerRenameListener()
De Firma del Método:
void registerClearListener(String JSFunctionName)
3.0 Registra una función JavaScript como detector de borrado para el applet de la construcción. Cuando la construcción de la GeoGebraApplet se borra (por ejemplo, todos los objetos son eliminados), la función JavaScript f JSFunctionName es llamada sin argumentos. Atención: todos los detectores de actualización quedan sin registro cuando una construcción es borrada. Ver registerUpdateListener() yregisterRemoveListener().

Ejemplo: Primero, registrar una función de detección de JavaScript

ggbApplet.registerClearListener("myClearListenerFunction");

Cuando la construcción se borra (por ejemplo. después de reajustar una construcción o abrir a un nuevo archivo de construcción), el Applet GeoGebra llamará a la función Javascript

myClearListenerFunction();

Formato XML de GeoGebra

Con estos métodos se puede establecer prácticamente todo en una construcción (ver Referencia XML ).

Firma del Método Desde Descripción
void evalXML(String xmlString) 2.7 Evalúa la cadena XML dada y cambia la construcción activa. Atención: la construcción no es borrada antes de la evaluación de la cadena XML.
void setXML(String xmlString) 2.7 Evalúa la cadena XML dada y cambia la construcción activa. Atención: la construcción es borrada antes de la evaluación de la cadena XML. Este método puede emplearse para cargar construcciones.
String getXML()
2.7 Da por resultado la construcción activa en formato XML de GeoGebra. Este método puede emplearse para guardar construcciones.
String getXML(String objName)
3.2 Da por resultado la cadena XML de GeoGebra para el objeto dado, por ejemplo, solo la etiqueta o tag del <elemento> deviene resultado.
String getAlgorithmXML(String objName)
3.2 Para un GeoElemento objName dependiente, deviene resultado la cadena XML del algoritmo precedente y todos sus objetos de salida. Para un GeoElemento objName libre, la salida resultante es "".

Misceláneas

Firma del Método Desde Descripción
String evalMathPiper(String string) 3.2 Pasa la cadena a MathPiper y establece el resultado como una Cadena.

Eliminado en GeoGebra 4.0 y será reemplazado con evalGeoGebraCAS() wn GeoGebra 4.2

String getIPAddress() 3.2 Da por resultado la dirección de IP de la computadora local como una Cadena; por ejemplo, "192.168.0.4"
String getHostname() 3.2 Da por resultado el nombre del host de la computadora local como una Cadena
void debug(String string) 3.2 Imprime la cadena de la Consola Java

Obtención del Objeto Applet

En los casos básicos el applet está en la variable global ggbApplet.
Se listan, a continuación, las excepciones:

  • para aplicaciones múltiples -applets- en una página, dado que solo una es aceptable por omisión desde JavaScript.
    Para acceder, entonces, a múltiples applets, se deberá fijar el parámetro "id" de las aplicaciones particulares, de modo que resulte el nombre de la variable global que representa a tal aplicación plural (applet múltipole)
  • exportar desde GeoGebra 4.0 y desde aplicaciones previas es aún accesible en tanto se trate de un document.applets[0] y para incluir otros applets en la misma página serán respectivamente document.applets[1], document.applets[2], document.applets[3]...

en:Reference:JavaScript

fr:Référence:JavaScript it:Riferimenti:JavaScript

© 2019 International GeoGebra Institute