Differenze tra le versioni di "Riferimenti:API delle app GeoGebra"

Da GeoGebra Manual.
m (Sostituzione testo - 'tube.geogebra.org' con 'www.geogebra.org')
(Nessuna differenza)

Versione delle 02:33, 12 mag 2016

Questa pagina descrive le modalità di interazione con GeoGebra tramite JavaScript. Un applet di GeoGebra è rappresentata da un oggetto Javascript: nei successivi esempi supporremo che tale oggetto sia memorizzato in una variabile ggbApplet. Ciò è sempre vero se si utilizza JavaScript direttamente in GeoGebra o se lo si utilizza in una pagina Web contenente una singola applet di GeoGebra esportata direttamente dal programma (Ctrl + Maiusc + M) o da GeoGebra utilizzando il collegamento al pacchetto offline. Lo scripting non è disponibile per le applet esportate da GeoGebra tramite l'opzione Incorpora. In caso di più applet, fare riferimento alla sezione Ottenere l'oggetto applet.

Esempi

Esempio: Il seguente codice HTML aggiunge un pulsante "Ripristina" a una pagina HTML, in modo da consentire all'utente il ripristino della costruzione allo stato iniziale:
<form>
<input type="button" value="Ripristina" onclick="ggbApplet.reset();">
</form>
Esempio: Questo codice aggiunge i pulsanti "Nascondi A" e "Mostra A", per modificare lo stato di visibilità di un oggetto di nome "A" presente nella costruzione:
<form>
<input type="button" value="Nascondi A" onclick="ggbApplet.setVisible('A', false);">
<input type="button" value="Mostra A" onclick="ggbApplet.setVisible('A', true);">
</form>
Esempio: Una funzione JavaScript "miaPiccolaCostruzione()" è ora utilizzata per chiamare alcuni metodi di GeoGebraApplet.
 <script src="http://www.geogebra.org/scripts/deployggb.js"></script>
 <script>
 var parameters = {
  "id": "ggbApplet",
  "width":800,
  "height":600,
 "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=="};
 var applet = new GGBApplet(parameters, '5.0');
 window.onload = function() {applet.inject('ggbApplet')};
  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="Fai la costruzione" onclick="myLittleConstruction();">
 </form>
Esempio: Consultare il codice sorgente del seguente foglio di lavoro, che utilizza JavaScript. http://www.geogebra.org/source/program/applet/geogebra_applet_javascript_test.htm
Esempio: Questo foglio di lavoro utilizza un add listener in modo da verificare se è già stata completata una precedente costruzione (nel cui caso appare la scritta "Well done"). https://www.geogebra.org/m/qjacSmTP
Esempio: Questo esempio mostra come interfacciare JavaScript con GeoGebraWeb http://archive.geogebra.org/examples/SlopeTestWeb.html

Metodi disponibili

Segnatura del metodo Da Descrizione
boolean evalCommand(comando) 3.0 Valuta il comando come se fosse digitato direttamente nella barra di inserimento di GeoGebra. Restituisce se la valutazione del comando ha avuto successo.
È possibile passare più comandi contemporaneamente, separandoli con \n.
Note: Utilizzare nomi di comando in Inglese per garantire la piena funzionalità in tutte le versioni di GeoGebra.

String evalCommandCAS(Stringa stringa) 3.2 Passa la stringa al CAS di GeoGebra e restituisce il risultato come stringa.
void setUndoPoint() 3.2 Imposta un punto di annullamento. Utile se si vuole fare in modo che l'utente possa annullare l'azione di evalCommand, ad esempio nel caso in cui sia stato creato un pulsante HTML che agisce da strumento personalizzato

Impostare lo stato degli oggetti

Metodi generali

Segnatura del metodo Da Descrizione
void deleteObject(nome) 2.7 Elimina l'oggetto avente il nome indicato.
void setValue(nome, valore) 3.2 Imposta il valore dell'oggetto avente il nome indicato.
Note: Se l'oggetto specificato è una variabile booleana, utilizzare il valore 1 per impostarla true e un qualsiasi altro valore per impostarla false. Per oggetti di tipo diverso, non si ha alcun effetto.
void setTextValue(Stringa NomeOggetto, Stringa valore) 3.2 Imposta il valore testo dell'oggetto avente il nome indicato. Nessuna modifica è applicata ad ogni altro tipo di oggetto.
void setListValue(Stringa NomeOggetto, int i, double valore) 5.0 Imposta il valore dell'elemento della lista in posizione 'i' uguale a 'valore'
void setCoords(Stringa NomeOggetto, double x, double y)
void setCoords(Stringa NomeOggetto, double x, double y, double z)
3.0
5.0
Imposta le coordinate dell'oggetto avente il nome indicato.
Note: Se l'oggetto specificato non è un punto, un vettore o un oggetto avente una posizione assoluta (testo, pulsante, casella di controllo), non si ha alcun effetto.
void setCaption(Stringa NomeOggetto, Stringa legenda) 5.0 Imposta la legenda dell'oggetto avente il nome indicato.
void setColor(nome, intero rosso, intero verde, intero blu) 2.7 Imposta il colore (RGB) dell'oggetto avente il nome indicato.
void setVisible(nome, booleano) 2.7 Mostra (true) o nasconde (false) nella vista Grafici l'oggetto avente il nome indicato.
void setLabelVisible(nome, booleano) 3.0 Mostra (true) o nasconde (false) nella vista Grafici l'etichetta dell'oggetto avente il nome indicato.
void setLabelStyle(nome, intero) 3.0 Imposta lo stile dell'etichettatura nella vista Grafici dell'oggetto indicato. Gli stili di etichettatura disponibili sono: Nome = 0, Nome e valore = 1, Valore = 2 e Legenda = 3
void Caption(Stringa nomeOggetto, Stringa nuovaLegenda) 5.0 Imposta la legenda dell'oggetto avente il nome indicato.
void setFixed(nome, booleano) 3.0 Imposta l'oggetto indicato come fissato (true) o libero (false).
Note: Gli oggetti fissati non possono essere modificati.
void setTrace(nome, booleano) 3.0 Attiva (true) o disattiva (false) la traccia dell'oggetto indicato.
boolean renameObject(vecchio nome, nuovo nome) 3.2 Rinomina l'oggetto da vecchio nome in nuovo nome. Indica se l'operazione ha avuto successo.
void setLayer(nome, intero) 3.2 Imposta il livello dell'oggetto indicato.
void setLayerVisible(intero, booleano) 3.2 Mostra o nasconde tutti gli oggetti appartenenti al livello indicato.
void setLineStyle(nome, intero) 3.2 Imposta lo stile del tratto dell'oggetto indicato (da 0 a 4).
void setLineThickness(nome, intero) 3.2 Imposta lo spessore (da 1 a 13, -1 è l'impostazione predefinita) del tratto dell'oggetto indicato.
void setPointStyle(nome, intero) 3.2 Imposta lo stile del punto indicato (-1 predefinito, 0 pallino pieno, 1 pallino vuoto, 2 croce, 3 più, 4 rombo pieno, 5 rombo vuoto, 6 triangolo (nord), 7 triangolo (sud), 8 triangolo (est), 9 triangolo (ovest)).
void setPointSize(nome, intero) 3.2 Imposta le dimensioni (da 1 a 9) del punto indicato.
void setFilling(nome, numero) 3.2 Imposta il riempimento di un oggetto (da 0 a 1).
String getPNGBase64(scala, booleano trasparenza, DPI) 4.0 Restituisce la vista Grafici 1 come stringa codificata in base64
ad es. var str = ggbApplet.getPNGBase64(1, true, 72);
L'impostazione relativa ai DPI è al momento ignorata nella versione HTML5
void getScreenshotBase64(funzione callback) 5.0, solo HTML5 Ottiene una schermata dell'applet in formato PNG e la invia alla funzione callback come stringa codificata base64. Esempio: ggbApplet.getScreenshotBase64(function(url){window.open("data:image/png;base64,"+url);});
boolean writePNGtoFile(nome file, scala, booleano trasparenza, DPI) 4.0 Esporta la vista Grafici attiva in un file .PNG. L'impostazione dei DPI al momento è ignorata nella versione HTML5.
ad es. var success = ggbApplet.writePNGtoFile("miaImmagine.png", 1, false, 72);
boolean isIndependent(nome) 4.0 Verifica se l'oggetto avente il nome indicato è indipendente.
boolean isMoveable(nome) 4.0 Verifica se l'oggetto avente il nome indicato è movibile.
String getBase64() 4.0 Ottiene la costruzione corrente come file .ggb con codifica base64.
String getBase64(funzione callback) 4.2 (solo HTML5 ) Ottiene la costruzione corrente come file .ggb con codifica base64 in modo asincrono, che passa poi come parametro alla funzione callback, la quale deve accettare un solo parametro (la stringa base64).
void setBase64(stringa) 4.0 Imposta la costruzione corrente a partire da un file .ggb con codifica base64.

Animazione automatica

Segnatura del metodo Da Descrizione
void setAnimating(nome, booleano) 3.2 Imposta la possibilità di animare un oggetto (true = attiva, false = non attiva). Per avviare l'animazione utilizzare startAnimation().
void setAnimationSpeed(nome, numero) 3.2 Imposta la velocità di animazione di un oggetto.
void startAnimation() 3.2 Avvia l'animazione automatica di tutti gli oggetti che possono essere animati.
void stopAnimation() 3.2 Interrompe l'animazione di tutti gli oggetti in movimento.
boolean isAnimationRunning() 3.2 Restituisce un booleano che indica se un'animazione è attiva o non attiva.


Verifica automatica degli esercizi

Segnatura del metodo Da Descrizione
JSONObject getExerciseResult() 5.0 Se il file corrente contiene Macro o Esercizi è possibile verificare se parti della costruzione sono equivalenti alle Macro presenti nel file.
Se non si desidera la creazione di un Esercizio Standard (che utilizza tutte le macro della costruzione e imposta ogni frazione a 100), verificare innanzitutto se quello corrente è un Esercizio con isExercise().
Hint risulterà vuoto se non specificato diversamente nell' ExerciseBuilder.
Fraction sarà 0 oppure 1 se non specificato diversamente nell' ExerciseBuilder.
Il risultato sarà in Result, come segue:
CORRECT, l'esercizio è corretto
WRONG, se l'esercizio non è corretto e non si riesce a dire automaticamente perché
NOT_ENOUGH_INPUTS, se non ci sono input sufficienti per la verifica
WRONG_INPUT_TYPES, se c'è un numero di input sufficiente, ma uno o più di essi sono del tipo sbagliato
WRONG_OUTPUT_TYPE, se l'oggetto in output non è coerente con la macro
WRONG_AFTER_RANDOMIZE, se l'esercizio era inizialmente corretto ma non lo è più dopo il processo di randomizzazione
UNKNOWN, se non è stato possibile valutare l'esercizio.
float getExerciseFraction() 5.0 Se il file corrente contiene Macro o Esercizi è possibile verificare se parti della costruzione sono equivalenti alle Macro presenti nel file.
Il valore restituito è la Frazione complessiva dell' Esercizio.
Tale valore è la somma di tutte le Frazioni dell'attività, oppure 1 se l'attività ha una frazione pari a 100 e non sono presenti frazioni negative. Utilizzare getExerciseResult() per ottenere le frazioni relative a ogni attività. Se non si desidera la creazione di un esercizio standard (che utilizza tutte le macro della costruzione e imposta ogni frazione a 100), verificare innanzitutto se quello corrente è un Esercizio con isExercise().
boolean startExercise() 5.0 Utilizza i valori casuali da cui dipende un BoolAssignment: questo è un modo semplice per ottenere tali valori da visualizzare nel testo delle domande e interromperne la generazione casuale, in modo da memorizzare lo stesso esercizio che è stato presentato allo studente.
boolean isExercise() 5.0 Verifica se l'applet corrente è un Esercizio.
Restituisce: true se l'Esercizio ha delle attività, cioè se getExerciseResult() o getExerciseFraction() sono chiamati tramite strumenti definiti dall'utente presenti nell'applet o se è stato utilizzato l'ExerciseBuilderDialog per creare l'esercizio.

Un esempio che utilizza tali funzioni API è disponibile qui:

  http://archive.geogebra.org/source/program/applet/exerciseExample.html

Ottenere lo stato degli oggetti

Segnatura del metodo Da Descrizione
double getXcoord(nome) 2.7 Restituisce l'ascissa dell'oggetto avente il nome indicato.
Note: Restituisce 0 se l'oggetto non è un punto o un vettore.
double getYcoord(Stringa nomeOggetto) 2.7 Restituisce l'ordinata dell'oggetto avente il nome indicato.
Note: Restituisce 0 se l'oggetto non è un punto o un vettore.
double getZcoord(Stringa nomeOggetto) 5.0 Restituisce la coordinata z dell'oggetto avente il nome indicato.
Note: Restituisce 0 se l'oggetto non è un punto o un vettore.
double getValue(nome) 3.2 Restituisce il valore dell'oggetto indicato (ad es. la lunghezza di un segmento, l'area di un poligono).
Note: Restituisce 1 se l'oggetto è una variabile booleana a valore true. In ogni altro caso restituisce 0.

double getListValue(Stringa Nome oggetto, Indice intero) 5.0 Restituisce il valore dell'oggetto della lista (avente il nome indicato) che occupa la posizione indicata dall'indice.
Note: Restituisce 1 se l'oggetto è una variabile booleana a valore true. In ogni altro caso restituisce 0.

String getColor(nome) 2.7 Restituisce il colore dell'oggetto indicato sotto forma di stringa esadecimale, ad es. "#FF0000" è il rosso. La stringa esadecimale inizia sempre con # e non contiene lettere minuscole.
boolean getVisible(nome) 3.2 Restituisce true o false a seconda che l'oggetto sia visibile o meno nella vista Grafici. Restituisce false se l'oggetto non esiste.
boolean getVisible(nome, int vista) 4.2 Restituisce true o false a seconda che l'oggetto sia visibile o meno nella vista Grafici 'vista' (1 o 2). Restituisce false se l'oggetto non esiste.
String getValueString(nome) 2.7 Restituisce una stringa contenente il valore dell'oggetto indicato.
String getDefinitionString(nome) 2.7 Restituisce una stringa contenente la definizione dell'oggetto indicato.
String getCommandString(nome) 2.7 Restituisce una stringa contenente il comando utilizzato per generare l'oggetto indicato.
Stringa getCommandString(Stringa NomeOggetto, booleano usaInputLocalizzato) 5.0 Restituisce una stringa contenente il comando relativo all'oggetto avente il nome indicato. Se usaInputLocalizzato è false, restituisce il comando in inglese, altrimenti nel linguaggio correntemente selezionato nella GUI.
Stringa getObjectType(nome) 2.7 Restituisce una stringa contenente il tipo dell'oggetto indicato (come"punto", "retta", "circonferenza", ecc.).
boolean exists(nome) 2.7 Restituisce un booleano che indica se l'oggetto avente il nome indicato esiste (true) o no (false) nella costruzione.
boolean isDefined(nome) 2.7 Restituisce un booleano che indica se il valore dell'oggetto indicato è correntemente valido (true) o no (false).
int getObjectNumber() 3.0 Restituisce il numero di oggetti nella costruzione.
int getCASObjectNumber() 3.0 Restituisce il numero di oggetti (celle non vuote) nella vista CAS.
String getObjectName(intero) 3.0 Restituisce il nome dell'n-esimo oggetto della costruzione.
String getLayer(nome) 3.2 Restituisce il livello a cui appartiene l'oggetto indicato.
int getLineStyle(nome) 3.2 Rileva lo stile della linea dell'oggetto indicato (da 0 a 4).
int getLineThickness(nome) 3.2 Rileva lo spessore della linea (da 1 a 13).
int getPointStyle(nome) 3.2 Rileva lo stile dei punti (-1 predefinito, 0 pallino pieno, 1 pallino vuoto, 2 croce, 3 più, 4 rombo pieno, 5 rombo vuoto, 6 triangolo (nord), 7 triangolo (sud), 8 triangolo (est), 9 triangolo (ovest)).
int getPointSize(nome) 3.2 Rileva la dimensione (da 1 a 9) del punto indicato.
double getFilling(nome) 3.2 Rileva il riempimento (da 0 a 1) dell'oggetto indicato.
getCaption(Stringa nomeOggetto, booleano sostituisciSegnaposto) 5.0 Restituisce la legenda dell'oggetto. Se la legenda contiene dei segnaposto (%n, %v,...), è possibile utilizzare il secondo parametro per specificare se si desidera sostituirli o meno.
getLabelStyle(Stringa nomeOggetto) 5.0 Restituisce il tipo di etichetta dell'oggetto, vedere anche setLabelStyle per i valori utilizzabili.
getLabelVisible() 5.0

Costruzione / Interfaccia utente

Segnatura del metodo Da Descrizione
void setMode(numero modalità) 2.7 Imposta la modalità (cioè lo strumento selezionato) nella vista Grafici.
Esempio: setMode(0) per impostare la modalità Muovi.
(vedere Riferimenti: barra degli strumenti e i parametri dell'applet "showToolBar" e "customToolBar" )
void openFile(stringa URL) 2.7 (Solo Java) Apre una costruzione presente in un file (indicato da una stringa con URL assoluto o relativo)
void reset() 2.7 Ricarica la costruzione iniziale (indicata nel parametro filename) dell'applet corrente.
void refreshViews() 2.7 Aggiorna tutte le Viste.
Note: Tutte le tracce presenti nella vista Grafici saranno eliminate.
void setOnTheFlyPointCreationActive(booleano)
3.2 Attiva (true) o disattiva (false) la creazione immediata di punti nella vista Grafici.
Note: Utile per evitare la creazione di punti come "effetto collaterale" di uno strumento. Ad esempio, quando questa flag è false, lo strumento "Retta - per due punti" non crea punti quando si fa clic nella vista Grafici.
void hideCursorWhenDragging(booleano)
3.2 Nasconde (true) o mostra (false) il cursore del mouse (puntatore) quando si trascina un oggetto per modificare la costruzione.
void setRepaintingActive(booleano)
2.7 Attiva (true) o disattiva (false) il ricalcolo dell'applet.
Note: Questo metodo è efficiente specialmente quando vengono invocati più metodi.
void setErrorDialogsActive(booleano) 3.0 Attiva (true) o disattiva (false) la visualizzazione di finestre di dialogo relative agli errori.
Note: Molto utile se utilizzato assieme a evalCommand().
void setCoordSystem(xmin, xmax, ymin, ymax) 3.0 Imposta il sistema di coordinate cartesiane della vista Grafici.
Esempio: setCoordSystem(-5,10,-1,20)
void setAxesVisible(booleano asseX, booleano asseY) 3.0 Mostra o nasconde gli assi x e y del sistema di coordinate della vista Grafici 1 e 2.
void setAxesVisible(int NumeroVista, booleano asseX, booleano asseY, booleano asseZ) 5.0 Mostra o nasconde gli assi x, y e z del sistema di coordinate nella vista Grafici indicata
void setGridVisible(booleano) 3.0 Mostra (true) o nasconde (false) la griglia della vista Grafici 1 e 2.
void setGridVisible(int NumeroVista, booleano) 5.0 Mostra (true) o nasconde (false) la griglia della vista Grafici indicata.
getGridVisible(int numeroVista) 5.0 Restituisce true se la griglia è visibile nella vista indicata. Se il numero della vista viene omesso, restituisce se la griglia è visibile nella prima vista Grafici.
getPerspectiveXML() 5.0 Restituisce una rappresentazione XML della raccolta vista attiva.

Comunicazione tra GeoGebraApplet e JavaScript

I seguenti metodi consentono l'implementazione della comunicazione tra Applet e JavaScript. Tali metodi possono essere utilizzati ad esempio per:

Segnatura del metodo Da Descrizione
void registerAddListener(nome funzione JS) 3.0 Registra una funzione JavaScript come add listener per la costruzione dell'applet. Ogniqualvolta viene creato un nuovo oggetto nella costruzione della GeoGebraApplet, viene chiamata la funzione JavaScript dal nome indicato, avente come singolo argomento il nome dell'oggetto appena creato.
Esempio: Registrare innanzitutto una funzione listener JavaScript:
ggbApplet.registerAddListener("miaFunzioneAggiungiListener");

Quando viene creato un oggetto "A", l'applet di GeoGebra chiama la funzione Javascript

miaFunzioneAggiungiListener("A");
void unregisterAddListener(nome funzione JS) 3.0 Rimuove un add listener precedentemente registrato, vedere registerAddListener()
void registerRemoveListener(nome funzione JS) 3.0 Registra una funzione JavaScript come remove listener per la costruzione dell'applet. Ogniqualvolta un oggetto viene eliminato dalla costruzione presente in GeoGebraApplet, viene chiamata la funzione JavaScript dal nome indicato, utilizzando come singolo argomento il nome dell'oggetto eliminato.
Note: Quando si cancella tutta la costruzione, remove non viene chiamato per ogni singolo oggetto: vedere registerClearListener().

Esempio: Registrare innanzitutto una funzione listener JavaScript:
ggbApplet.registerRemoveListener("miaFunzioneRimuoviListener");

Quando viene eliminato un oggetto "A", l'applet di GeoGebra chiama la funzione Javascript

miaFunzioneRimuoviListener("A");
void unregisterRemoveListener(nome funzione JS) 3.0 Rimuove un remove listener precedentemente registrato, vedere registerRemoveListener()
void registerUpdateListener(nome funzione JS) 3.0 Registra una funzione JavaScript come update listener per la costruzione dell'applet. Ogniqualvolta un oggetto viene aggiornato nella costruzione presente in GeoGebraApplet, viene chiamata la funzione JavaScript dal nome indicato, utilizzando come singolo argomento il nome dell'oggetto aggiornato.
Note: Se si desidera un listen relativo esclusivamente all'aggiornamento di un determinato oggetto, è meglio utilizzare registerObjectUpdateListener() .

Esempio: Registrare innanzitutto una funzione listener JavaScript:
ggbApplet.registerUpdateListener("miaFunzioneAggiornaListener");

Quando viene aggiornato un oggetto "A", l'applet di GeoGebra chiama la funzione Javascript

miaFunzioneAggiornaListener("A");
void unregisterUpdateListener(nome funzione JS) 3.0 Rimuove un update listener precedentemente registrato, vedere registerUpdateListener()
void registerObjectUpdateListener(nome, nome funzione JS) 3.0 Registra una funzione JavaScript come update listener per un singolo oggetto. Ogniqualvolta l'oggetto avente il nome indicato viene aggiornato, viene chiamata la funzione JavaScript avente il nome indicato, utilizzando come singolo argomento il nome dell'oggetto aggiornato. Se il nome dell'oggetto è stato precedentemente associato a una funzione di mapping JavaScript, verrà sostituito il valore precedente.
Note: Quando la costruzione viene cancellata, o un oggetto viene eliminato, i listener aggiornati relativi alla costruzione o all'oggetto vengono rimossi dalla registrazione: vedere registerRemoveListener() and registerClearListener().

Esempio: Registrare innanzitutto una funzione listener JavaScript:
ggbApplet.registerObjectUpdateListener("A", "miaFunzioneListenerAggOgg");

Quando viene aggiornato un oggetto "A", l'applet di GeoGebra chiama la funzione Javascript

miaFunzioneListenerAggOgg("A");
Note: Un update listener di un oggetto continua a funzionare anche dopo che l'oggetto viene rinominato.
void unregisterObjectUpdateListener(nome) 3.0 Rimuove un update listener precedentemente registrato, relativo all'oggetto avente il nome indicato, vedere registerObjectUpdateListener()
void registerRenameListener(nome funzione JS) 3.0 Registra una funzione JavaScript come rename listener per la costruzione dell'applet. Ogniqualvolta un oggetto viene rinominato nella costruzione, viene chiamata la funzione JavaScript dal nome indicato e avente per argomenti il vecchio nome e il nuovo nome dell'oggetto.
Esempio: Registrare innanzitutto una funzione listener JavaScript:
ggbApplet.registerRenameListener("miaFunzioneListenerRinomina");

Quando un oggetto "A" viene rinominato come "B", l'applet di GeoGebra chiama la funzione Javascript

miaFunzioneListenerRinomina("A", "B");
void unregisterRenameListener(nome) 3.0 Rimuove un rename listener precedentemente registrato, vedere registerRenameListener()
void registerClearListener(nome funzione JS) 3.0 Registra una funzione JavaScript come clear listener per la costruzione dell'applet. Ogniqualvolta la costruzione in GeoGebraApplet viene svuotata (cioè vengono rimossi tutti gli oggetti), viene chiamata la funzione JavaScript dal nome indicato, senza argomenti.
Note: Quando una costruzione viene svuotata, tutte le registrazioni relative agli update listener vengono rimosse. Vedere registerUpdateListener() e registerRemoveListener().

Esempio: Registrare innanzitutto una funzione listener JavaScript:
ggbApplet.registerClearListener("miaFunzioneListenerSvuota");

Quando la costruzione viene svuotata (cioè all'apertura di un nuovo file o dopo un ripristino della costruzione), l'applet di GeoGebra chiama la funzione Javascript

miaFunzioneListenerSvuota();
void unregisterClearListener(nome funzione JS) 3.0 Rimuove un clear listener precedentemente registrato, vedere registerClearListener()

Il formato XML di GeoGebra

Con questi metodi è possibile impostare la costruzione (vedere Riferimenti XML ).

Segnatura del metodo Da Descrizione
void evalXML(Stringa xml) 2.7 Valuta la stringa XML e modifica di conseguenza la costruzione corrente.
Note: La costruzione NON viene svuotata dai relativi elementi prima della valutazione della stringa XML.
void setXML(Stringa xml) 2.7 Valuta la stringa XML e modifica di conseguenza la costruzione corrente.
Note: La costruzione viene svuotata dai relativi elementi prima della valutazione della stringa XML. Questo metodo può essere utilizzato per caricare le costruzioni.
String getXML()
2.7 Restituisce la costruzione corrente in formato XML di GeoGebra. Questo metodo può essere utilizzato per salvare le costruzioni.
String getXML(nome)
3.2 Restituisce la stringa XML di GeoGebra relativa all'oggetto indicato, cioè viene restituito solo il tag dell'<elemento>.
String getAlgorithmXML(nome)
3.2 Viene restituita la stringa XML dell'algoritmo ascendente e di tutti gli oggetti generati dall'elemento avente il nome indicato. Se non viene passato alcun nome di oggetto, questo metodo restituisce "" .

Varie

Segnatura del metodo Da Descrizione
void debug(stringa) 3.2 Stampa la stringa indicata nella Console Java.

Ottenere l'oggetto applet

Generalmente l'applet è memorizzata in una variabile globale ggbApplet. Ciò non si verifica nei seguenti casi:

  • se sono presenti più applet in una singola pagina, per impostazione predefinita una sola è accessibile da JavaScript. Per accedere a più applet è necessario impostare il parametro "id" alle applet, in modo da assegnare un nome univoco alla variabile globale che identifica ciascuna di esse
  • se l'esportazione è stata fatta da GeoGebra 4.0 o versioni precedenti: l'applet è accessibile come document.applets[0], le altre applet nella stessa pagina saranno indicate come document.applets[1], etc...
© 2024 International GeoGebra Institute