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

Da GeoGebra Manual.
(remove "Verifica automatica degli esercizi")
 
(70 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
Questo documento descrive i metodi pubblici disponibili in geogebra.GeoGebraApplet e utilizzabili in una pagina HTML con JavaScript.
+
{{warning|Questa pagina non sarà più aggiornata in Italiano.
 +
La versione in Inglese è [https://wiki.geogebra.org/en/Reference:GeoGebra_Apps_API qui]}}
 +
 
 +
Questa pagina descrive le API delle app GeoGebra che consentono di interagire con le app GeoGebra.
 +
Vedere anche [[Riferimenti:Incorporare_App_GeoGebra|Incorporare App GeoGebra]] per scoprire come incorporare le nostre app in una pagina Web.
  
 
= Esempi=
 
= Esempi=
{{Example|1= 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:<br/>
+
In questi esempi è possibile vedere le API delle app GeoGebra in azione:  
<code> <form><br/> <input type="button" value="Ripristina" onclick="document.applets[0].reset();"><br/> </form></code>}}
+
* [http://dev.geogebra.org/examples/html/example-api-multiple.html Mostra e nasconde oggetti con pulsanti]
 
+
* [http://dev.geogebra.org/examples/html/example-api-save-state.html Salvataggio e caricamento]
{{Example|1= 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:<br/>
+
* [http://dev.geogebra.org/examples/html/example-api-listeners.html Listening degli aventi di aggiornamento, aggiungi e rimuovi]
  <code><form><br/> <input type="button" value="Nascondi A" onclick="document.applets[0].setVisible('A', false);"><br/><input type="button" value="Mostra A" onclick="document.applets[0].setVisible('A', true);"> <br/></form></code>}}
 
 
 
{{Example|1=Una funzione JavaScript "miaPiccolaCostruzione()" è ora utilizzata per chiamare alcuni metodi di GeoGebraApplet. {{Note|1=La lingua è impostata in Italiano ("it"), utilizzando il parametro "language" nelle tag dell'applet, per fare in modo che sia riconosciuto il comando ''Retta'' nella versione italiana.}}
 
<code><applet name="ggbApplet" code="geogebra.GeoGebraApplet"  archive="geogebra.jar"    width=200 height=40><br/><param name ="fileName" value="circle.ggb"><br/><param name ="framePossible" value="false"><br/><param name ="language" value="it"><br/><a href="http://www.java.com"> Installare  Java 1.4.2</a> (o successivi) per utilizzare questa pagina.<br/></applet><br/><script type="text/javascript"><br/>function miaPiccolaCostruzione()<nowiki>{</nowiki> <br/>var applet = document.ggbApplet;<br/>applet.evalCommand("A = (1,1)");<br/>applet.evalCommand("B = (3,2)");<br/>applet.evalCommand("s = Retta[A, B]");<br/><nowiki>}</nowiki><br/></script><br/><form><br/><input type="button" value="Esegui costruzione" onclick="miaPiccolaCostruzione();"><br/></form></code>}}
 
 
 
{{Example|1= Consultare il codice sorgente del seguente foglio di lavoro, che utilizza JavaScript.
 
  http://www.geogebra.org/source/program/applet/geogebra_applet_javascript_test.htm}}
 
  
{{Example|1= 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").
+
{{Note|Gli argomenti tra parentesi quadre possono essere omessi.}}
  http://www.geogebra.org/en/examples/javascriptAutomaticCheckingExercise.html}}
 
  
= Metodi disponibili =
+
= Comandi e punti di annullamento=
<table style="width: 100%;" class="pretty">
+
<table class="pretty" style="width: 100%;">
 
     <tr>
 
     <tr>
 
       <th>Segnatura del metodo</th>
 
       <th>Segnatura del metodo</th>
Riga 25: Riga 21:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>evalCommand(comando)</td>
+
       <td>boolean evalCommand(comando)</td>
 
       <td style="text-align: center;">3.0</td>
 
       <td style="text-align: center;">3.0</td>
       <td> Valuta il comando come se fosse digitato direttamente nella barra di inserimento di GeoGebra. Restituisce se la valutazione del comando ha avuto successo. <br> È possibile passare più comandi contemporaneamente, separandoli con \n. <br> {{Example|1=<code>evalCommand("s = Retta[A, B]").</code>}}
+
       <td> Valuta il comando come se fosse digitato direttamente nella barra di inserimento di GeoGebra. Restituisce se la valutazione del comando ha avuto successo. <br> È possibile passare più comandi contemporaneamente, separandoli con \n. <br>
{{Note| Utilizzare il [[Riferimenti:Parametri applet|parametro language]] per fare in modo che siano applicati i comandi localizzati nella lingua corrente.}}<br>
+
{{Note| Utilizzare nomi di comando in Inglese per garantire la piena funzionalità in tutte le versioni di GeoGebra.}}<br>
 +
</td>
 +
    </tr><tr><td>String[] evalCommandGetLabels(Stringa cmdString)</td><td>5.0</td><td>Come evalCommand(), ma il valore restituito è una stringa contenente una lista di etichette degli oggetti creati, separate da virgole. Ad esempio: eg <code>"A, B, C"</code>.</td></tr><tr>
 +
      <td>String evalCommandCAS(Stringa stringa) </td>
 +
      <td style="text-align: center;">3.2</td>
 +
      <td>Passa la stringa al CAS di GeoGebra e restituisce il risultato come stringa.<br>
 
       </td>
 
       </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setUndoPoint()</td>
+
       <td>void setUndoPoint()</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td> 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<br>
 
       <td> 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<br>
Riga 38: Riga 39:
 
     </tr>
 
     </tr>
 
</table>
 
</table>
Con questi metodi è possibile implementare la comunicazione da Applet a JavaScript. Utilizzando uno dei seguenti metodi, assicurarsi di avere inserito l'opzione MAYSCRIPT al termine della prima riga del tag dell'applet. Ad esempio:
 
  <applet name="ggbApplet" code="geogebra.GeoGebraApplet" codebase="." archive="geogebra.jar" width="500" height="250" MAYSCRIPT>
 
L'opzione MAYSCRIPT è necessaria solo per le comunicazioni da GeoGebraApplet a JavaScript; non è invece richiesta affinché JavaScript possa accedere ai metodi di GeoGebraApplet.
 
 
Ad esempio, i seguenti metodi possono essere utilizzati per:
 
* monitorare le azioni dell'utente (vedere [http://www.geogebra.org/source/program/applet/geogebra_applet_java2javascript.htm esempio java2javascript] ), oppure
 
* stabilire una comunicazione tra due applet di GeoGebra (vedere [http://www.geogebra.org/source/program/applet/geogebra_applet_java2java.htm esempio java2java] ).
 
  
 
= Impostare lo stato degli oggetti =
 
= Impostare lo stato degli oggetti =
 
 
==Metodi generali==
 
==Metodi generali==
<table style="width: 100%;" class="pretty">
+
<table class="pretty" style="width: 100%;">
 
     <tr>
 
     <tr>
 
       <th>Segnatura del metodo</th>
 
       <th>Segnatura del metodo</th>
Riga 56: Riga 49:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>deleteObject(nome)</td>
+
       <td>void deleteObject(nome)</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Elimina l'oggetto avente il nome indicato.  
+
       <td>Elimina l'oggetto avente il nome indicato. </td>
              {{Example|1=<code>deleteObject("A")</code>}}</td>
+
</tr>
 +
<tr>
 +
      <td> void setAuxiliary(geo, true/false)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Ha effetto o meno sullo status di "oggetto ausiliario" per gli oggetti ''geo''.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setValue(nome, valore)</td>
+
       <td>void setValue(nome, valore)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
       <td>Imposta il valore dell'oggetto avente il nome indicato. {{Note|1= 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.}}   
+
       <td>Imposta il valore dell'oggetto avente il nome indicato. {{Note|1= 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.}}  </td>
  {{Example|1=<code>setValue("a",3)</code>}}</td>
+
</tr>
 +
  <tr>
 +
    <td>void setTextValue(Stringa NomeOggetto, Stringa valore)</td>
 +
    <td style="text-align: center;">3.2</td>
 +
    <td>Imposta il valore testo dell'oggetto avente il nome indicato. Nessuna modifica è applicata ad ogni altro tipo di oggetto.</td>
 +
</tr>
 +
    <tr>
 +
    <td>void setListValue(Stringa NomeOggetto, int i, double valore)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Imposta il valore dell'elemento della lista in posizione 'i' uguale a 'valore'</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setCoords(nome, x, y)</td>
+
       <td>void setCoords(Stringa NomeOggetto, double x, double y) <br/>void setCoords(Stringa NomeOggetto, double x, double y, double z)</td>
       <td style="text-align: center;">3.0</td>
+
       <td style="text-align: center;">3.0<br/>5.0</td>
       <td>Imposta le coordinate dell'oggetto avente il nome indicato. {{Note|1= Se l'oggetto specificato non è un punto o un vettore, non si ha alcun effetto.}}   {{Example|1=<code>setCoords("P",3,-1)</code>}}</td>
+
       <td>Imposta le coordinate dell'oggetto avente il nome indicato. {{Note|1= 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.}} </td>
 +
    </tr>
 +
<tr>
 +
      <td>void setCaption(Stringa NomeOggetto, Stringa legenda)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Imposta la legenda dell'oggetto avente il nome indicato.  </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setColor(nome, intero rosso, intero verde, intero
+
       <td>void setColor(nome, intero rosso, intero verde, intero
 
blu)</td>
 
blu)</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Imposta il colore (RGB) dell'oggetto avente il nome indicato. {{Example|1=<code>setColor("a",100,200,300)</code>}}</td>
+
       <td>Imposta il colore (RGB) dell'oggetto avente il nome indicato. </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setVisible(nome, booleano) </td>
+
       <td>void setVisible(nome, booleano) </td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Mostra (true) o nasconde (false) nella Vista Grafica l'oggetto avente il nome indicato. {{Example|1=<code>setVisible("P",false)</code>}}</td>
+
       <td>Mostra (true) o nasconde (false) nella vista Grafici l'oggetto avente il nome indicato. </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setLabelVisible(nome, booleano) </td>
+
       <td>void setLabelVisible(nome, booleano) </td>
 
       <td style="text-align: center;">3.0</td>
 
       <td style="text-align: center;">3.0</td>
       <td>Mostra (true) o nasconde (false) nella Vista Grafica l'etichetta dell'oggetto avente il nome indicato. {{Example|1=<code>setLabelVisible("P",false)</code>}}</td>
+
       <td>Mostra (true) o nasconde (false) nella vista Grafici l'etichetta dell'oggetto avente il nome indicato. </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setLabelStyle(nome, intero)</td>
+
       <td>void setLabelStyle(nome, intero)</td>
 
       <td style="text-align: center;">3.0</td>
 
       <td style="text-align: center;">3.0</td>
       <td>Imposta lo stile dell'etichettatura nella Vista Grafica dell'oggetto indicato. Gli stili di etichettatura disponibili sono: Nome = 0, Nome e valore = 1, Valore = 2 e Legenda = 3  {{Example|1=<code>setLabelStyle("a",2)</code>}}</td>
+
       <td>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  </tr>
    </tr>
 
 
     <tr>
 
     <tr>
       <td>setFixed(nome, booleano)</td>
+
       <td>void setFixed(stringa nomeOggetto, booleano fissato, booleano consentiSelezione)</td>
 
       <td style="text-align: center;">3.0</td>
 
       <td style="text-align: center;">3.0</td>
       <td>Imposta l'oggetto indicato come fissato (true) o libero (false). {{Note|1= Gli oggetti fissati non possono essere modificati.}}  {{Example|1=<code>setFixed("P", true)</code>}}</td>
+
       <td>Imposta gli stati ''Fissato'' e ''Consenti selezione'' dell'oggetto indicato. {{Note|1= Gli oggetti fissati non possono essere modificati.}}  </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setTrace(nome, booleano)</td>
+
       <td>void setTrace(nome, booleano)</td>
 
       <td style="text-align: center;">3.0</td>
 
       <td style="text-align: center;">3.0</td>
       <td>Attiva (true) o disattiva (false) la traccia dell'oggetto indicato. {{Example|1=<code>setTrace("P",true)</code>}}</td>
+
       <td>Attiva (true) o disattiva (false) la traccia dell'oggetto indicato. </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>renameObject(vecchio nome, nuovo nome)</td>
+
       <td>boolean renameObject(vecchio nome, nuovo nome)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
       <td>Rinomina l'oggetto da ''vecchio nome'' in ''nuovo nome''. Indica se l'operazione ha avuto successo. {{Example|1=<code>renameObject("a","base")</code>}}</td>
+
       <td>Rinomina l'oggetto da ''vecchio nome'' in ''nuovo nome''. Indica se l'operazione ha avuto successo. </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setLayer(nome, intero)</td>
+
       <td>void setLayer(nome, intero)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td>Imposta il livello dell'oggetto indicato.</td>
 
       <td>Imposta il livello dell'oggetto indicato.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setLayerVisible(intero, booleano)</td>
+
       <td>void setLayerVisible(intero, booleano)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td>Mostra o nasconde tutti gli oggetti appartenenti al livello indicato.</td>
 
       <td>Mostra o nasconde tutti gli oggetti appartenenti al livello indicato.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setLineStyle(nome, intero)</td>
+
       <td>void setLineStyle(nome, intero)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td>Imposta lo stile del tratto dell'oggetto indicato (da 0 a 4).</td>
 
       <td>Imposta lo stile del tratto dell'oggetto indicato (da 0 a 4).</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setLineThickness(nome, intero)</td>
+
       <td>void setLineThickness(nome, intero)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td>Imposta lo spessore (da 1 a 13, -1 è l'impostazione predefinita) del tratto dell'oggetto indicato.</td>
 
       <td>Imposta lo spessore (da 1 a 13, -1 è l'impostazione predefinita) del tratto dell'oggetto indicato.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setPointStyle(nome, intero)</td>
+
       <td>void setPointStyle(nome, intero)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td>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)).</td>
 
       <td>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)).</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setPointSize(nome, intero)</td>
+
       <td>void setPointSize(nome, intero)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
       <td>Imposta le dimensioni (da 1 a 9) del punto indicato.</td>
+
       <td>Imposta la dimensione (da 1 a 9) del punto indicato.</td>
    </tr>
+
    </tr><tr><td>void setDisplayStyle(Stringa NomeOggetto, Stringa Stile)</td><td style="text-align: center;">5.0</td><td>Imposta lo stile di visualizzazione di un oggetto. Lo stile deve essere scelto tra "parametric", "explicit", "implicit", "specific"</td></tr><tr>
    <tr>
+
       <td>void setFilling(nome, numero)</td>
       <td>setFilling(nome, numero)</td>
 
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td>Imposta il riempimento di un oggetto (da 0 a 1).</td>
 
       <td>Imposta il riempimento di un oggetto (da 0 a 1).</td>
 
     </tr>
 
     </tr>
 
  <tr>
 
  <tr>
       <td>getPNGBase64(scala, booleano trasparenza, DPI)</td>
+
       <td>String getPNGBase64(scala, booleano trasparenza, DPI)</td>
 
       <td style="text-align: center;">4.0</td>
 
       <td style="text-align: center;">4.0</td>
       <td>Restituisce la Vista Grafica 1 come stringa codificata in base64<br>{{Example|1= <code>var str = ggbApplet.getPNGBase64(1, true, 72);</code>}}      </td>
+
       <td>Restituisce la vista Grafici attiva come stringa codificata in base64<br>ad es. var str = ggbApplet.getPNGBase64(1, true, 72); <br> L'impostazione relativa ai DPI crea rallentamenti, impostarla come <code>undefined</code> se non è strettamente necessaria.      </td>
 +
  </tr>
 +
  <tr>
 +
    <td>void getScreenshotBase64(funzione callback)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
    <td>Ottiene una schermata dell'applet in formato PNG e la invia alla funzione callback come stringa codificata base64. Esempio: <code>
 +
ggbApplet.getScreenshotBase64(function(url){window.open("data:image/png;base64,"+url);});</code><br><b>Solo ad uso interno, potrebbe non funzionare in tutti i  browser</b></td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>writePNGtoFile(nome file, scala, booleano trasparenza, DPI)
+
       <td>boolean writePNGtoFile(nome file, scala, booleano trasparenza, DPI)
 
</td>
 
</td>
       <td style="text-align: center;">4.0</td>
+
       <td style="text-align: center;">4.0 </td>
       <td>Esporta la Vista Grafica 1 in un file .PNG '''(solo applet con firma)''' <br>
+
       <td>Esporta la vista Grafici attiva in un file .PNG. L'impostazione dei DPI crea rallentamenti, impostarla come <code>undefined</code> se non è strettamente necessaria. <br>
{{Example|1= <code>var success = ggbApplet.writePNGtoFile("c:\\test.png", 1, false, 300); </code>}}    </td>
+
ad es. var success = ggbApplet.writePNGtoFile("miaImmagine.png", 1, false, 72);     </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>isIndependent(nome)
+
       <td>boolean isIndependent(nome)
 
</td>
 
</td>
 
       <td style="text-align: center;">4.0</td>
 
       <td style="text-align: center;">4.0</td>
Riga 162: Riga 177:
 
     </tr>
 
     </tr>
 
   <tr>
 
   <tr>
       <td>isMoveable(nome)
+
       <td>boolean isMoveable(nome)
 
</td>
 
</td>
 
       <td style="text-align: center;">4.0</td>
 
       <td style="text-align: center;">4.0</td>
Riga 168: Riga 183:
 
     </tr>
 
     </tr>
 
   <tr>
 
   <tr>
       <td>getBase64()
+
       <td>String getBase64()
 
</td>
 
</td>
       <td style="text-align: center;">4.0</td>
+
       <td style="text-align: center;">4.0 </td>
 
       <td> Ottiene la costruzione corrente come file .ggb con codifica base64.</td>
 
       <td> Ottiene la costruzione corrente come file .ggb con codifica base64.</td>
 
     </tr>
 
     </tr>
       <td>setBase64(stringa)
+
  <tr>
 +
      <td>String getBase64(funzione callback)
 +
</td>
 +
      <td style="text-align: center;">4.2 </td>
 +
      <td> 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).</td>
 +
    </tr>
 +
       <td>void setBase64(stringa [, funzione callback])
 
</td>
 
</td>
 
       <td style="text-align: center;">4.0</td>
 
       <td style="text-align: center;">4.0</td>
       <td> Imposta la costruzione corrente a partire da un file .ggb con codifica base64.</td>
+
       <td> Imposta la costruzione corrente a partire da un file .ggb con codifica base64. Se viene specificata una funzione callback, viene chiamata dopo il caricamento del file.</td>
    </tr>
 
 
</table>
 
</table>
  
 
==Animazione automatica==
 
==Animazione automatica==
<table style="width: 100%;" class="pretty">
+
<table class="pretty" style="width: 100%;">
 
     <tr>
 
     <tr>
 
       <th>Segnatura del metodo</th>
 
       <th>Segnatura del metodo</th>
Riga 188: Riga 208:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setAnimating(nome, booleano)</td>
+
       <td>void setAnimating(nome, booleano)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
       <td>Imposta la possibilità di animare un oggetto. Per avviare l'animazione utilizzare startAnimation().</td>
+
       <td>Imposta la possibilità di animare un oggetto (true = attiva, false = non attiva). Per avviare l'animazione utilizzare startAnimation().</td>
 
     </tr>
 
     </tr>
 
       <tr>
 
       <tr>
       <td>setAnimationSpeed(nome, numero)</td>
+
       <td>void setAnimationSpeed(nome, numero)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td>Imposta la velocità di animazione di un oggetto.</td>
 
       <td>Imposta la velocità di animazione di un oggetto.</td>
 
     </tr>
 
     </tr>
 
   <tr>
 
   <tr>
       <td>startAnimation()</td>
+
       <td>void startAnimation()</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td>Avvia l'animazione automatica di tutti gli oggetti che possono essere animati.</td>
 
       <td>Avvia l'animazione automatica di tutti gli oggetti che possono essere animati.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>stopAnimation()</td>
+
       <td>void stopAnimation()</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td>Interrompe l'animazione di tutti gli oggetti in movimento.</td>
 
       <td>Interrompe l'animazione di tutti gli oggetti in movimento.</td>
 
     </tr>
 
     </tr>
 
   <tr>
 
   <tr>
       <td>isAnimationRunning()</td>
+
       <td>boolean isAnimationRunning()</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td>Restituisce un booleano che indica se un'animazione è attiva o non attiva.</td>
 
       <td>Restituisce un booleano che indica se un'animazione è attiva o non attiva.</td>
 
     </tr>
 
     </tr>
 
</table>
 
</table>
 +
 +
 +
==Verifica automatica degli esercizi (beta)==
 +
<table style="width: 100%;" class="pretty">
 +
    <tr>
 +
      <th>Segnatura del metodo</th>
 +
      <th style="text-align: center;">Da</th>
 +
      <th>Descrizione</th>
 +
    </tr>
 +
    <tr>
 +
      <td>JSONObject getExerciseResult()</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Se il file corrente contiene ''Macro'' o ''Esercizi'' è possibile verificare se parti della costruzione sono equivalenti alle Macro presenti nel file.<br>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(). <br>''Hint'' risulterà vuoto se non specificato diversamente nell' ''ExerciseBuilder''.<br>''Fraction'' sarà 0 oppure 1 se non specificato diversamente nell' ''ExerciseBuilder''.<br>Il risultato sarà in ''Result'', come segue:<br>CORRECT, l'esercizio è corretto <br>WRONG, se l'esercizio non è corretto e non si riesce a dire automaticamente perché <br>NOT_ENOUGH_INPUTS, se non ci sono input sufficienti per la verifica <br>WRONG_INPUT_TYPES, se c'è un numero di input sufficiente, ma uno o più di essi sono del tipo sbagliato <br>WRONG_OUTPUT_TYPE, se l'oggetto in output non è coerente con la macro <br>WRONG_AFTER_RANDOMIZE, se l'esercizio era inizialmente corretto ma non lo è più dopo il processo di randomizzazione <br>UNKNOWN, se non è stato possibile valutare l'esercizio.
 +
</td>
 +
    </tr>
 +
<tr>
 +
      <td>float getExerciseFraction()</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Se il file corrente contiene ''Macro'' o ''Esercizi'' è possibile verificare se parti della costruzione sono equivalenti alle Macro presenti nel file. <br>Il valore restituito è la ''Frazione'' complessiva dell' ''Esercizio''.<br>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(). </td>
 +
  </tr>
 +
  <tr>
 +
      <td>boolean startExercise()</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>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.</td>
 +
    </tr>
 +
  <tr>
 +
      <td>boolean isExercise()</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Verifica se l'applet corrente è un ''Esercizio''.<br>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.</td>
 +
    </tr>
 +
</table>
 +
Un esempio che utilizza tali funzioni API è disponibile qui:
 +
  http://dev.geogebra.org/examples/html/example10.html
  
 
= Ottenere lo stato degli oggetti =
 
= Ottenere lo stato degli oggetti =
  
<table style="width: 100%;" class="pretty">
+
<table class="pretty" style="width: 100%;">
 
     <tr>
 
     <tr>
 
       <th>Segnatura del metodo </th>
 
       <th>Segnatura del metodo </th>
Riga 223: Riga 276:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>getXcoord(nome)</td>
+
       <td>double getXcoord(nome)</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td>Restituisce l'ascissa dell'oggetto avente il nome indicato.
 
       <td>Restituisce l'ascissa dell'oggetto avente il nome indicato.
Riga 229: Riga 282:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>getYcoord(nome)</td>
+
       <td>double getYcoord(Stringa nomeOggetto)</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td>Restituisce l'ordinata dell'oggetto avente il nome indicato.
 
       <td>Restituisce l'ordinata dell'oggetto avente il nome indicato.
 +
{{Note|1= Restituisce 0 se l'oggetto non è un punto o un vettore.}}</td>
 +
</tr>
 +
<tr>
 +
      <td>double getZcoord(Stringa nomeOggetto)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Restituisce la coordinata ''z'' dell'oggetto avente il nome indicato.
 
  {{Note|1= Restituisce 0 se l'oggetto non è un punto o un vettore.}}</td>
 
  {{Note|1= Restituisce 0 se l'oggetto non è un punto o un vettore.}}</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>getValue(nome)</td>
+
       <td>double getValue(nome)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td>Restituisce il valore dell'oggetto indicato (ad es. la lunghezza di un segmento, l'area di un poligono).   
 
       <td>Restituisce il valore dell'oggetto indicato (ad es. la lunghezza di un segmento, l'area di un poligono).   
 +
{{Note|1= Restituisce 1 se l'oggetto è una variabile booleana a valore ''true''. In ogni altro caso restituisce 0.}}<br>
 +
    </td>
 +
    </tr>
 +
    <tr>
 +
      <td>double getListValue(Stringa Nome oggetto, Indice intero)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Restituisce il valore dell'oggetto della lista (avente il nome indicato) che occupa la posizione indicata dall'indice.
 
  {{Note|1= Restituisce 1 se l'oggetto è una variabile booleana a valore ''true''. In ogni altro caso restituisce 0.}}<br>
 
  {{Note|1= Restituisce 1 se l'oggetto è una variabile booleana a valore ''true''. In ogni altro caso restituisce 0.}}<br>
 
       </td>
 
       </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>getColor(nome)</td>
+
       <td>String getColor(nome)</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td>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.</td>
 
       <td>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.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>getVisible(nome)</td>
+
       <td>boolean getVisible(nome)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
       <td>Restituisce ''true'' o ''false'' a seconda che l'oggetto sia visibile o meno nella Vista Grafica. Restituisce ''false'' se l'oggetto non esiste.</td>
+
       <td>Restituisce ''true'' o ''false'' a seconda che l'oggetto sia visibile o meno nella vista Grafici. Restituisce ''false'' se l'oggetto non esiste.</td>
 +
    </tr>
 +
    <tr>
 +
      <td> boolean getVisible(nome, int vista)</td>
 +
      <td style="text-align: center;">4.2</td>
 +
      <td>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.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>getValueString(nome)</td>
+
       <td>String getValueString(nome)</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td>Restituisce una stringa contenente il valore dell'oggetto indicato.</td>
 
       <td>Restituisce una stringa contenente il valore dell'oggetto indicato.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>getDefinitionString(nome) </td>
+
       <td>String getDefinitionString(stringa nomeOggetto [, booleano usaInputLocalizzato]) </td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Restituisce una stringa contenente la definizione dell'oggetto indicato.</td>
+
       <td>Restituisce una stringa contenente la descrizione dell'oggetto indicato. Se usaInputLocalizzato è 'false', restituisce il comando in inglese, altrimenti nella lingua corrente della GUI. Nota: L'input localizzato utilizza parentesi tonde, quello non localizzato utilizza parentesi quadre.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>getCommandString(nome)</td>
+
       <td>String getLaTeXString(stringa nomeOggetto)</td><td>5.0</td><td>Restituisce il valore dell'oggetto indicato, in sintassi LaTeX</td>
       <td style="text-align: center;">2.7</td>
+
  </tr>
       <td>Restituisce una stringa contenente il comando utilizzato per generare l'oggetto indicato.</td>
+
  <tr>
 +
<td>String getLaTeXBase64(stringa nomeOggetto, valore booleano)</td><td>5.0</td><td>Restituisce un immagine PNG codificata in base64, contenente l'oggetto come LaTeX. Se valore = false l'oggetto viene rappresentato con la definizione, se valore=true viene utilizzato il valore dell'oggetto.</td></tr><tr>
 +
      <td>Stringa getCommandString(Stringa NomeOggetto [, booleano usaInputLocalizzato])</td>
 +
       <td style="text-align: center;">5.0</td>
 +
       <td>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. Nota: L'input localizzato utilizza parentesi tonde, quello non localizzato utilizza parentesi quadre</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>getObjectType(nome)</td>
+
       <td>String getObjectType(nome)</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td>Restituisce una stringa contenente il tipo dell'oggetto indicato (come"punto", "retta", "circonferenza", ecc.).</td>
 
       <td>Restituisce una stringa contenente il tipo dell'oggetto indicato (come"punto", "retta", "circonferenza", ecc.).</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>exists(nome)</td>
+
       <td>boolean exists(nome)</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Restituisce se un oggetto avente il nome indicato esiste o meno nella costruzione.</td>
+
       <td>Restituisce un booleano che indica se l'oggetto avente il nome indicato esiste (true) o no (false) nella costruzione.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>isDefined(nome)</td>
+
       <td>boolean isDefined(nome)</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Restituisce se il valore dell'oggetto indicato è correntemente valido.</td>
+
       <td>Restituisce un booleano che indica se il valore dell'oggetto indicato è correntemente valido (true) o no (false).</td>
 
     </tr>
 
     </tr>
 
         <tr>
 
         <tr>
       <td>getObjectNumber()</td>
+
<td>String [] getAllObjectNames([tipo stringa])<br>
 +
<small style="font-style: italic; font-weight: bold;">Deprecato dalla v.3.0</small> </td>
 +
<td style="text-align: center;">2.7</td>
 +
      <td>Restituisce un elenco di tutti i nomi degli oggetti presenti nella costruzione. Se viene inserito un parametro per il tipo, vengono elencati solo gli oggetti di quel tipo.</td>
 +
</tr>
 +
        <tr>
 +
       <td>int getObjectNumber()</td>
 
       <td style="text-align: center;">3.0</td>
 
       <td style="text-align: center;">3.0</td>
 
       <td>Restituisce il numero di oggetti nella costruzione.</td>
 
       <td>Restituisce il numero di oggetti nella costruzione.</td>
 +
    </tr>
 +
<tr>
 +
    <td>int getCASObjectNumber()</td>
 +
    <td style="text-align: center;">3.0</td>
 +
    <td>Restituisce il numero di oggetti (celle non vuote) nella vista CAS.</td>
 
     </tr>
 
     </tr>
 
   <tr>
 
   <tr>
       <td>getObjectName(intero)</td>
+
       <td>String getObjectName(intero)</td>
 
       <td style="text-align: center;">3.0</td>
 
       <td style="text-align: center;">3.0</td>
 
       <td>Restituisce il nome dell'n-esimo oggetto della costruzione.</td>
 
       <td>Restituisce il nome dell'n-esimo oggetto della costruzione.</td>
 
     </tr>
 
     </tr>
 
   <tr>
 
   <tr>
       <td>getLayer(nome)</td>
+
       <td>String getLayer(nome)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
       <td>Restituisce il livello a cui appartiene l'oggetto.</td>
+
       <td>Restituisce il livello a cui appartiene l'oggetto indicato.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>getLineStyle(nome)</td>
+
       <td>int getLineStyle(nome)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
       <td>Rileva lo stile della linea dell'oggetto indicato (da 0 a 4)</td>
+
       <td>Rileva lo stile della linea dell'oggetto indicato (da 0 a 4).</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>getLineThickness(nome)</td>
+
       <td>int getLineThickness(nome)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
       <td>Rileva lo spessore della linea (da 1 a 13)</td>
+
       <td>Rileva lo spessore della linea (da 1 a 13).</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>getPointStyle(nome)</td>
+
       <td>int getPointStyle(nome)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
       <td>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))</td>
+
       <td>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)).</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>getPointSize(nome)</td>
+
       <td>int getPointSize(nome)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
       <td>Rileva la dimensione di un punto (da 1 a 9)</td>
+
       <td>Rileva la dimensione (da 1 a 9) del punto indicato.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>getFilling(nome)</td>
+
       <td>double getFilling(nome)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
       <td>Rileva il riempimento di un oggetto (da 0 a 1)</td>
+
       <td>Rileva il riempimento (da 0 a 1) dell'oggetto indicato.</td>
 +
    </tr>
 +
<tr>
 +
      <td>getCaption(Stringa nomeOggetto, booleano sostituisciSegnaposto)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>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. </td>
 +
    </tr>
 +
<tr>
 +
      <td>getLabelStyle(Stringa nomeOggetto)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Restituisce il tipo di etichetta dell'oggetto, vedere anche setLabelStyle per i valori utilizzabili.</td>
 +
    </tr>
 +
<tr>
 +
      <td>getLabelVisible()</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td></td>
 
     </tr>
 
     </tr>
 
</table>
 
</table>
Riga 325: Riga 426:
 
= Costruzione / Interfaccia utente =
 
= Costruzione / Interfaccia utente =
  
<table style="width: 100%;" class="pretty">
+
<table class="pretty" style="width: 100%;">
 
   <tr>
 
   <tr>
 
       <th>Segnatura del metodo</th>
 
       <th>Segnatura del metodo</th>
Riga 332: Riga 433:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setMode(numero modalità)</td>
+
       <td>void setMode(numero modalità)</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Imposta la modalità mouse (cioè come strumento) nella Vista Grafica
+
       <td>Imposta la modalità del mouse (cioè lo strumento selezionato) nella vista Grafici.
(vedere [[Riferimenti:Barra degli strumenti|Riferimenti: barra degli strumenti]] e i [[Reference:Applet_Parameters|parametri dell'applet]] "showToolBar" and &nbsp;"customToolBar"  )</td>
+
{{Example|1=<code>setMode(0) </code> per impostare la modalità Muovi.}}
 +
(vedere [[Riferimenti:Barra degli strumenti|Riferimenti: barra degli strumenti]] e i [[Riferimenti:Parametri_applet|parametri dell'applet]] "showToolBar" e "customToolBar"  )</td>
 +
  </tr><tr><td>int getMode()</td><td style="text-align: center;">5.0</td><td>Ottiene la modalità del mouse (cioè lo strumento selezionato). Vedere [[Riferimenti:Barra degli strumenti|Riferimenti: barra degli strumenti]] per ulteriori dettagli</td></tr><tr>
 +
        <td>void openFile(stringa URL)</td>
 +
      <td style="text-align: center;">2.7 (Solo Java)</td>
 +
      <td>Apre una costruzione presente in un file (indicato da una stringa con URL assoluto o relativo)</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>openFile(URL)</td>
+
       <td>void reset()</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Apre una costruzione presente in un file (indicato da una stringa con URL assoluto o relativo)</td>
+
       <td>Ricarica la costruzione iniziale (indicata nel parametro filename) dell'applet corrente.<br>
    </tr>
+
</td>
 +
  </tr>
 
     <tr>
 
     <tr>
       <td>reset()</td>
+
       <td>void newConstruction()</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Ricarica la costruzione iniziale (indicata nel parametro filename) dell'applet corrente.<br>
+
       <td>Rimuove tutti gli oggetti della costruzione<br>
 
       </td>
 
       </td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
       <td>refreshViews()</td>
+
       <td>void refreshViews()</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Aggiorna tutte le Viste. Nota: tutte le tracce presenti nella Vista Grafica saranno eliminate.</td>
+
       <td>Aggiorna tutte le Viste. {{Note|1= Tutte le tracce presenti nella vista Grafici saranno eliminate.}}</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setOnTheFlyPointCreationActive(booleano)<br>
+
       <td>void setOnTheFlyPointCreationActive(booleano)<br>
 
       </td>
 
       </td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
       <td>Attiva (true) o disattiva (false) la creazione immediata di punti nella Vista Grafica. Nota: è utile quando si vuole 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 Grafica.</td>
+
       <td>Attiva (true) o disattiva (false) la creazione immediata di punti nella vista Grafici. {{Note|1= 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.}}</td>
 +
</tr>
 +
    <tr>
 +
      <td>void setPointCapture(vista, modo)<br>
 +
      </td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td></td>
 +
</tr>
 +
<tr>
 +
<td>void setRounding(stringa arrotonda)<br>
 +
</td>
 +
<td style="text-align: center;">5.0</td>
 +
<td>La stringa è composta da numeri e contrassegni, "s" per le cifre significative, "d" per le posizioni decimali (predefinito). Gli interi JavaScript sono inviati alla stringa automaticamente. Esempio: "10s", "5", 3
 +
</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>hideCursorWhenDragging(booleano)<br>
+
       <td>void hideCursorWhenDragging(booleano)<br>
 
       </td>
 
       </td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
Riga 366: Riga 486:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setRepaintingActive(booleano)<br>
+
       <td>void setRepaintingActive(booleano)<br>
 
       </td>
 
       </td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Attiva (true) o disattiva (false) il ''repaint'' dell'applet.
+
       <td>Attiva (true) o disattiva (false) il ricalcolo dell'applet.
Nota: questo metodo è efficiente specialmente quando vengono invocati più metodi.</td>
+
{{Note|1= Questo metodo è efficiente specialmente quando vengono invocati più metodi.}}</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setErrorDialogsActive(booleano)</td>
+
       <td>void setErrorDialogsActive(booleano)</td>
 
       <td style="text-align: center;">3.0</td>
 
       <td style="text-align: center;">3.0</td>
       <td>Attiva (true) o disattiva (false) la visualizzazione di finestre di dialogo relative agli errori. Nota: molto utile se utilizzato assieme a evalCommand().</td>
+
       <td>Attiva (true) o disattiva (false) la visualizzazione di finestre di dialogo relative agli errori. {{Note|1= Molto utile se utilizzato assieme a evalCommand().}}</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setCoordSystem(xmin, xmax, ymin, ymax)</td>
+
       <td>void setCoordSystem(xmin, xmax, ymin, ymax)</td>
 
       <td style="text-align: center;">3.0</td>
 
       <td style="text-align: center;">3.0</td>
       <td>Imposta il sistema di coordinate cartesiane della Vista Grafica.</td>
+
       <td>Imposta il sistema di coordinate cartesiane della vista Grafici.
 +
  </tr>
 +
    <tr>
 +
      <td>void setCoordSystem(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, booleano yVerticale)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Imposta il sistema di coordinate cartesiane della vista Grafici 3D. L'ultimo parametro indica se l'asse ''y'' deve essere orientato verticalmente.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setAxesVisible(booleano asseX, booleano asseY)</td>
+
       <td>void setAxesVisible(booleano asseX, booleano asseY)</td>
 
       <td style="text-align: center;">3.0</td>
 
       <td style="text-align: center;">3.0</td>
       <td>Mostra o nasconde gli assi x e y del sistema di coordinate della Vista Grafica.</td>
+
       <td>Mostra o nasconde gli assi ''x'' e ''y'' del sistema di coordinate della ''vista Grafici'' 1 e 2.</td>
 +
    </tr>
 +
<tr>
 +
      <td>void setAxesVisible(int NumeroVista, booleano asseX, booleano asseY, booleano asseZ)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
  <td>Mostra o nasconde gli assi ''x'', ''y'' e ''z'' del sistema di coordinate nella ''vista Grafici'' indicata
 +
{{Example| <code>ggbApplet.setAxesVisible(3, false, true, true)</code>}}</td>
 +
    </tr>
 +
<tr>
 +
      <td>void setAxisLabels(int NumeroVista, booleano asseX, booleano asseY, booleano asseZ)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Imposta l'etichetta degli assi x, y, z del sistema di coordinate della vista Grafici indicata.
 +
{{Example| <code>ggbApplet.setAxisLabels(3,"larg","lung","area")</code>}}</td>
 +
    </tr>
 +
<tr>
 +
      <td>void setAxisSteps(int NumeroVista, booleano asseX, booleano asseY, booleano asseZ)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Imposta le distanze sugli assi x, y, z del sistema di coordinate della vista Grafici indicata.
 +
{{Example| <code>ggbApplet.setAxisSteps(3, 2,1,0.5)</code>}}</td>
 +
    </tr>
 +
<tr>
 +
      <td>void setAxisUnits(int NumeroVista, booleano asseX, booleano asseY, booleano asseZ)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Imposta le unità sugli assi x, y, z del sistema di coordinate della vista Grafici indicata.
 +
{{Example| <code>ggbApplet.setAxisUnits(3, "cm","cm","cm²")</code>}}</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setGridVisible(booleano) </td>
+
       <td>void setGridVisible(booleano) </td>
 
       <td style="text-align: center;">3.0</td>
 
       <td style="text-align: center;">3.0</td>
       <td>Mostra o nasconde la griglia della Vista Grafica.</td>
+
       <td>Mostra (true) o nasconde (false) la griglia della ''vista Grafici'' 1 e 2.</td>
 +
    </tr>
 +
<tr>
 +
      <td>void setGridVisible(int NumeroVista, booleano) </td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Mostra (true) o nasconde (false) la griglia della ''vista Grafici indicata''.</td>
 +
    </tr>
 +
<tr>
 +
    <td>getGridVisible(int numeroVista)</td>
 +
    <td style="text-align: center;">5.0</td>
 +
    <td>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''.</td>
 +
    </tr>
 +
<tr>
 +
      <td>getPerspectiveXML()</td>
 +
    <td style="text-align: center;">5.0</td>
 +
      <td>Restituisce una rappresentazione XML della ''Raccolta viste'' attiva.</td>
 +
</tr>
 +
<tr>
 +
      <td>undo()</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Annulla l'ultima azione dell'utente. </td>
 +
    </tr>
 +
<tr>
 +
      <td>redo()</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Ripete un'azione dell'utente. </td>
 +
  </tr>
 +
<tr>
 +
      <td>showToolBar(booleano mostra)</td>
 +
      <td style="text-align: center;">HTML5</td>
 +
      <td>Imposta la visibilità della barra degli strumenti</td>
 +
    </tr><tr><td>setCustomToolBar(Stringa barra strumenti)</td><td>5.0</td><td>Imposta il layout della barra degli strumenti principale, vedere [[Riferimenti:Barra degli strumenti]] per ulteriori dettagli</td></tr><tr>
 +
      <td>showMenuBar(booleano mostra)</td>
 +
      <td style="text-align: center;">HTML5</td>
 +
      <td>Imposta la visibilità della barra dei menu</td>
 +
    </tr>
 +
<tr>
 +
      <td>showAlgebraInput(booleano mostra)</td>
 +
      <td style="text-align: center;">HTML5</td>
 +
      <td>Imposta la visibilità della barra di inserimento</td>
 +
    </tr>
 +
<tr>
 +
      <td>showResetIcon(booleano mostra)</td>
 +
      <td style="text-align: center;">HTML5</td>
 +
      <td>Imposta la visibilità dell'icona di ripristino</td>
 +
    </tr>
 +
<tr>
 +
      <td>enableRightClick(booleano abilita)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Abilita o disabilita le funzionalità del clic destro</td>
 +
    </tr>
 +
<tr>
 +
      <td>enableLabelDrags(booleano abilita)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Abilita o disabilita il trascinamento delle etichette degli oggetti</td>
 +
    </tr>
 +
<tr>
 +
      <td>enableShiftDragZoom(booleano abilita)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Abilita o disabilita lo zoom e il trascinamento della vista con il mouse o la tastiera</td>
 +
</tr>
 +
<tr>
 +
<td>enableCAS(booleano abilita)</td>
 +
<td style="text-align: center;">5.0</td>
 +
<td>Abilita o disabilita le funzionalità CAS (sia per la visualizzazione che nei comandi)</td>
 +
</tr>
 +
<tr>
 +
  <td>enable3D(booleano abilita)</td>
 +
  <td style="text-align: center;">5.0</td>
 +
      <td>Abilita o disabilita la vista 3D</td>
 +
    </tr>
 +
    <tr>
 +
      <td>void setPerspective(stringa raccoltaViste)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Modifica le viste aperte, vedere [[Comando_ImpInterfaccia]] per l'interpretazione della stringa.<br>
 +
      </td>
 +
  </tr>
 +
<tr>
 +
      <td>setWidth(int larghezza)</td>
 +
      <td style="text-align: center;">5.0 (HTML5)</td>
 +
      <td>Modifica la larghezza dell'applet (in pixel)</td>
 +
    </tr>
 +
<tr>
 +
      <td>setHeight(int altezza)</td>
 +
      <td style="text-align: center;">5.0 (HTML5)</td>
 +
      <td>Modifica l'altezza dell'applet (in pixel)</td>
 +
    </tr>
 +
<tr>
 +
      <td>setSize(int larghezza, int altezza)</td>
 +
      <td style="text-align: center;">5.0 (HTML5)</td>
 +
      <td>Modifica larghezza e altezza dell'applet (in pixel)</td>
 +
</tr>
 +
<tr>
 +
      <td>recalculateEnvironments()</td>
 +
      <td style="text-align: center;">5.0 (HTML5)</td>
 +
      <td>Aggiorna l'applet dopo lo scaling da CSS esterno</td>
 
     </tr>
 
     </tr>
 
</table>
 
</table>
  
=Comunicazione tra GeoGebraApplet e JavaScript=
+
=Listener degli eventi=
  
I seguenti metodi consentono l'implementazione della comunicazione tra Applet e JavaScript. Assicurarsi di avere inserito l'opzione <span class="term"><span class="highlightedSearchTerm"><span style="font-weight: bold;">MAYSCRIPT</span> al termine della prima riga di tag dell'applet ogni volta che si utilizzano i metodi indicati di seguito. Ad esempio:
+
I seguenti metodi consentono l'implementazione della comunicazione tra Applet e JavaScript.  
 
+
Tali metodi possono essere utilizzati ad esempio per:  
<span style="font-family: monospace;">&lt;applet name="ggbApplet" code="geogebra.GeoGebraApplet" codebase="." archive="geogebra.jar" width="500" height="250" </span><span style="font-weight: bold; font-family: monospace; color: rgb(255, 0, 0);">MAYSCRIPT</span><span style="font-family: monospace;">&gt;</span>.
+
* monitorare le attività dell'utente (vedere [http://dev.geogebra.org/examples/html/example8.html Esempio con listener di eventi])
L'opzione <span class="highlightedSearchTerm">MAYSCRIPT</span>  <span class="highlightedSearchTerm"> è </span> necessaria solo per la comunicazione da GeoGebraApplet a JavaScript; non <span class="highlightedSearchTerm">è</span> necessaria a JavaScript per accedere ai metodi di GeoGebraApplet.  
+
* stabilire una comunicazione tra due applet di GeoGebra (vedere [http://dev.geogebra.org/examples/html/example9.html Esempio con due applet])
Ad esempio, questi metodi possono essere utilizzati per:
+
<table class="pretty" style="width: 100%;">
* monitorare le attività dell'utente (vedere [http://www.geogebra.org/source/program/applet/geogebra_applet_java2javascript.htm esempio java2javascript])
 
* stabilire una comunicazione tra due applet di GeoGebra (vedere [http://www.geogebra.org/source/program/applet/geogebra_applet_java2java.htm esempio java2java])
 
<table style="width: 100%;" class="pretty">
 
 
  <tr>
 
  <tr>
 
  <th>Segnatura del metodo</th>
 
  <th>Segnatura del metodo</th>
Riga 410: Riga 651:
 
  </tr>
 
  </tr>
 
  <tr>
 
  <tr>
  <td>registerAddListener(nome funzione JS)</td>
+
  <td>void registerAddListener(nome funzione JS)</td>
 
  <td style="text-align: center;">3.0</td>
 
  <td style="text-align: center;">3.0</td>
  <td>Registra una funzione JavaScript come <span style="font-weight: bold;">add</span> listener per la costruzione dell'applet. Ogniqualvolta viene creato un nuovo oggetto nella costruzione della GeoGebraApplet, viene chiamata la funzione JavaScript <span style="font-style: italic;">JSFunctionName</span>, avente come singolo argomento il nome dell'oggetto appena creato. <br>
+
  <td>Registra una funzione JavaScript come <span style="font-weight: bold;">add</span> 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. <br>
<span style="font-style: italic;">Esempio</span>: Registrare innanzitutto una funzione listener JavaScript:<br>
+
{{Example|1= Registrare innanzitutto una funzione listener JavaScript:<br>
<div style="margin-left: 40px;"><span style="font-family: monospace;">ggbApplet.registerAddListener("myAddListenerFunction");</span> <br>
+
<div style="margin-left: 40px;"><span style="font-family: monospace;">ggbApplet.registerAddListener("miaFunzioneAggiungiListener");</span> <br>
 
  </div>
 
  </div>
 
Quando viene creato un oggetto "A", l'applet di GeoGebra chiama la funzione Javascript<br>
 
Quando viene creato un oggetto "A", l'applet di GeoGebra chiama la funzione Javascript<br>
  <div style="margin-left: 40px;"><span style="font-family: monospace;">myAddListenerFunction("</span><span style="font-family: monospace;">A");<br>
+
  <div style="margin-left: 40px;"><span style="font-family: monospace;">miaFunzioneAggiungiListener("</span><span style="font-family: monospace;">A");<br>
  </span></div>
+
  </span></div>}}
 
  </td>
 
  </td>
 
  </tr>
 
  </tr>
 
  <tr>
 
  <tr>
  <td>unregisterAddListener(nome funzione JS)</td>
+
  <td>void unregisterAddListener(nome funzione JS)</td>
 
  <td style="text-align: center;">3.0</td>
 
  <td style="text-align: center;">3.0</td>
 
  <td>Rimuove un ''add listener'' precedentemente registrato, vedere <span style="font-style: italic;">registerAddListener()</span></td>
 
  <td>Rimuove un ''add listener'' precedentemente registrato, vedere <span style="font-style: italic;">registerAddListener()</span></td>
 
  </tr>
 
  </tr>
 
  <tr>
 
  <tr>
  <td>registerRemoveListener(nome funzione JS)</td>
+
  <td>void registerRemoveListener(nome funzione JS)</td>
 
  <td style="text-align: center;">3.0</td>
 
  <td style="text-align: center;">3.0</td>
  <td>Registra una funzione JavaScript come <span style="font-weight: bold;">remove</span> listener per la costruzione dell'applet. Ogniqualvolta un oggetto viene eliminato dalla costruzione presente in GeoGebraApplet, viene chiamata la funzione JavaScript <span style="font-style: italic;">JSFunctionName</span> utilizzando come singolo argomento il nome dell'oggetto eliminato. Nota: quando si cancella tutta la costruzione, ''remove'' non viene chiamato per ogni singolo oggetto: vedere registerClearListener().<br>
+
  <td>Registra una funzione JavaScript come <span style="font-weight: bold;">remove</span> 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|1= Quando si cancella tutta la costruzione, ''remove'' non viene chiamato per ogni singolo oggetto: vedere registerClearListener().}}<br>
<span style="font-style: italic;">Esempio</span>: Registrare innanzitutto una funzione listener JavaScript:<br>
+
{{Example|1= Registrare innanzitutto una funzione listener JavaScript:<br>
<div style="margin-left: 40px;"><span style="font-family: monospace;">ggbApplet.registerRemoveListener("myRemoveListenerFunction");</span> </div>
+
<div style="margin-left: 40px;"><span style="font-family: monospace;">ggbApplet.registerRemoveListener("miaFunzioneRimuoviListener");</span> </div>
 
Quando viene eliminato un oggetto "A", l'applet di GeoGebra chiama la funzione Javascript<br>
 
Quando viene eliminato un oggetto "A", l'applet di GeoGebra chiama la funzione Javascript<br>
  <div style="margin-left: 40px;"><span style="font-family: monospace;">myRemoveListenerFunction</span><span style="font-family: monospace;">("</span><span style="font-family: monospace;">A");<br>
+
  <div style="margin-left: 40px;"><span style="font-family: monospace;">miaFunzioneRimuoviListener</span><span style="font-family: monospace;">("</span><span style="font-family: monospace;">A");<br>
  </span></div>
+
  </span></div>}}
 
  </td>
 
  </td>
 
  </tr>
 
  </tr>
 
  <tr>
 
  <tr>
  <td>unregisterRemoveListener(nome funzione JS)</td>
+
  <td>void unregisterRemoveListener(nome funzione JS)</td>
 
  <td style="text-align: center;">3.0</td>
 
  <td style="text-align: center;">3.0</td>
 
  <td>Rimuove un ''remove listener'' precedentemente registrato, vedere <span style="font-style: italic;">registerRemoveListener()</span></td>
 
  <td>Rimuove un ''remove listener'' precedentemente registrato, vedere <span style="font-style: italic;">registerRemoveListener()</span></td>
 
  </tr>
 
  </tr>
 
  <tr>
 
  <tr>
  <td>registerUpdateListener(nome funzione JS)</td>
+
  <td>void registerUpdateListener(nome funzione JS)</td>
 +
<td style="text-align: center;">3.0</td>
 +
<td>Registra una funzione JavaScript come <span style="font-weight: bold;">update</span> 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|1= Se si desidera un ''listen'' relativo esclusivamente all'aggiornamento di un determinato oggetto, è meglio utilizzare registerObjectUpdateListener() .}}<br>
 +
{{Example|1= Registrare innanzitutto una funzione listener JavaScript:<br>
 +
<div style="margin-left: 40px;"><span style="font-family: monospace;">ggbApplet.registerUpdateListener("miaFunzioneAggiornaListener");</span> </div>
 +
Quando viene aggiornato un oggetto "A", l'applet di GeoGebra chiama la funzione Javascript
 +
<div><span style="font-family: monospace;">myUpdateListenerFunction("A");</span></div>
 +
  </td>
 +
</tr>
 +
<tr>
 +
<td>void unregisterUpdateListener(nome funzione JS)</td>
 
  <td style="text-align: center;">3.0</td>
 
  <td style="text-align: center;">3.0</td>
  <td>Registra una funzione JavaScript come <span style="font-weight: bold;">update</span> listener per la costruzione dell'applet. Ogniqualvolta un oggetto viene aggiornato nella costruzione presente in GeoGebraApplet, viene chiamata la funzione JavaScript <span style="font-style: italic;">JSFunctionName</span> utilizzando come singolo argomento il nome dell'oggetto aggiornato. Nota: se si desidera un ''listen'' relativo esclusivamente all'aggiornamento di un determinato oggetto, è meglio utilizzare registerObjectUpdateListener() .<br>
+
  <td>Rimuove un ''update listener'' precedentemente registrato, vedere <span style="font-style: italic;">registerUpdateListener()</span></td>
<span style="font-style: italic;">Esempio</span>: Registrare innanzitutto una funzione listener JavaScript:<br>
+
</tr>
<div style="margin-left: 40px;"><span style="font-family: monospace;">ggbApplet.registerUpdateListener("myUpdateListenerFunction");</span> </div>
+
<tr>
Quando viene aggiornato un oggetto "A", l'applet di GeoGebra chiama la funzione Javascript<br>
+
<td>void registerClickListener(Stringa nomeFunzioneJS)</td>
  <div style="margin-left: 40px;"><span style="font-family: monospace;">myUpdateListenerFunction</span><span style="font-family: monospace;">("</span><span style="font-family: monospace;">A");<br>
+
<td style="text-align: center;">5.0</td>
</span></div>
+
  <td>Registra una funzione JavaScript come <span style="font-weight: bold;">clic</span> listener per la costruzione dell'applet. Quando si fa clic su un oggetto nella costruzione della GeoGebraApplet, la funzione JavaScript <span style="font-style: italic;">nomeFunzioneJS</span> viene chiamata, utilizzando il nome dell'oggetto aggiornato come singolo argomento. Nota: se si desidera solo un listen per gli aggiornamento do un singolo oggetto, utilizzare registerObjectClickListener().<br>
 +
>
 
  </td>
 
  </td>
 
  </tr>
 
  </tr>
 
  <tr>
 
  <tr>
  <td>unregisterUpdateListener(nome funzione JS)</td>
+
  <td>void unregisterClickListener(Stringa nomeOggetto)</td>
 
  <td style="text-align: center;">3.0</td>
 
  <td style="text-align: center;">3.0</td>
  <td>Rimuove un ''update listener'' precedentemente registrato, vedere <span style="font-style: italic;">registerUpdateListener()</span></td>
+
  <td>Rimuove un listener di clic precedentemente registrato, vedere <span style="font-style: italic;">registerClickListener()</span></td>
 
  </tr>
 
  </tr>
 
  <tr>
 
  <tr>
  <td>registerObjectUpdateListener(nome, nome funzione JS)</td>
+
  <td>void registerObjectUpdateListener(nome, nome funzione JS)</td>
 
  <td style="text-align: center;">3.0</td>
 
  <td style="text-align: center;">3.0</td>
  <td>Registra una funzione JavaScript come <span style="font-weight: bold;">update</span> listener per un singolo oggetto. Ogniqualvolta l'oggetto avente il nome indicato viene aggiornato, viene chiamata la funzione JavaScript <span style="font-style: italic;">JSFunctionName</span> utilizzando come singolo argomento il nome dell'oggetto aggiornato. Se objName è stato precedentemente associato a una funzione mapping JavaScript, verrà sostituito il valore precedente. Nota: 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().<br>
+
  <td>Registra una funzione JavaScript come <span style="font-weight: bold;">update</span> 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|1= 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().}}<br>
<span style="font-style: italic;">Esempio</span>: Registrare innanzitutto una funzione listener JavaScript:<br>
+
{{Example|1= Registrare innanzitutto una funzione listener JavaScript:<br>
<div style="margin-left: 40px;"><span style="font-family: monospace;">ggbApplet.registerObjectUpdateListener("A", "</span><span style="font-family: monospace;">myAupdateListenerFunction</span><span style="font-family: monospace;">");</span> <br>
+
<div style="margin-left: 40px;"><span style="font-family: monospace;">ggbApplet.registerObjectUpdateListener("A", "</span><span style="font-family: monospace;">miaFunzioneListenerAggOgg</span><span style="font-family: monospace;">");</span> <br>
 
  </div>
 
  </div>
 
Quando viene aggiornato un oggetto "A", l'applet di GeoGebra chiama la funzione Javascript<br>
 
Quando viene aggiornato un oggetto "A", l'applet di GeoGebra chiama la funzione Javascript<br>
  <div style="margin-left: 40px;"><span style="font-family: monospace;"></span><span style="font-family: monospace;">myAupdateListenerFunction</span><span style="font-family: monospace;"></span><span style="font-family: monospace;">("A");<br>
+
  <div style="margin-left: 40px;"><span style="font-family: monospace;"></span><span style="font-family: monospace;">miaFunzioneListenerAggOgg</span><span style="font-family: monospace;"></span><span style="font-family: monospace;">("A");<br>
 +
</span></div>}}
 +
{{Note|1= Un ''update listener'' di un oggetto continua a funzionare anche dopo che l'oggetto viene rinominato.<span style="font-family: monospace;"></span>}}
 +
</td>
 +
</tr>
 +
<tr>
 +
<td>void unregisterObjectUpdateListener(nome)</td>
 +
<td style="text-align: center;">3.0</td>
 +
<td>Rimuove un ''update listener'' precedentemente registrato, relativo all'oggetto avente il nome indicato, vedere <span style="font-style: italic;">registerObjectUpdateListener()</span></td>
 +
</tr>
 +
<tr>
 +
<td>void registerObjectClickListener(String objName, Stringa nomeFfunzioneJS)</td>
 +
<td style="text-align: center;">5.0</td>
 +
<td>Registra una funzione JavaScript come listener di <span style="font-weight: bold;">clic</span> di un singolo oggetto. Quando si fa clic sull'oggetto avente il nome indicato, la funzione JavaScript <span style="font-style: italic;">nomeFunzioneJS</span>viene chiamata utilizzando il nome dell'oggetto aggiornato come unico argomento. Se nomeOggetto ha una funzione di mapping JavaScript, verrà sostituito il vecchio valore. Nota: tutti i listener di clic di oggetti vengono de-registrati quando il relativo oggetto viene rimosso o la costruzione viene svuotata, vedere registerRemoveListener() and registerClearListener().<br>
 +
<span style="font-style: italic;">Esempio</span>: Registrare innanzitutto una funzione di listening JavaScript:<br>
 +
<div style="margin-left: 40px;"><span style="font-family: monospace;">ggbApplet.registerObjectUpdateListener("A", "</span><span style="font-family: monospace;">miaFunzioneListenerAggiornamentoA</span><span style="font-family: monospace;">");</span> <br>
 +
</div>
 +
Quando si fa clic sull'oggetto A, l'applet di GeoGebra chiama la funzione Javascript<br>
 +
<div style="margin-left: 40px;"><span style="font-family: monospace;"></span><span style="font-family: monospace;">miaFunzioneListenerAggiornamentoA</span><span style="font-family: monospace;"></span><span style="font-family: monospace;">("A");<br>
 
  </span></div>
 
  </span></div>
Nota: un ''update listener'' di un oggetto continua a funzionare anche dopo che l'oggetto viene rinominato.<span style="font-family: monospace;"></span>
+
Nota: un listener di aggiornamento di un oggetto funziona anche dopo che l'oggetto viene rinominato.<span style="font-family: monospace;"></span>
 
</td>
 
</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
  <td>unregisterObjectUpdateListener(nome)</td>
+
  <td>void unregisterObjectClickListener(Stringa nomeOggetto)</td>
  <td style="text-align: center;">3.0</td>
+
  <td style="text-align: center;">5.0</td>
  <td>Rimuove un ''update listener'' precedentemente registrato relativo all'oggetto avente il nome indicato, vedere <span style="font-style: italic;">registerObjectUpdateListener()</span></td>
+
  <td>Rimuove il listener di clic di un oggetto precedentemente registrato con il nome indicato, vedere <span style="font-style: italic;">registerObjectClickListener()</span></td>
 
  </tr>
 
  </tr>
 
  <tr>
 
  <tr>
  <td>registerRenameListener(nome funzione JS)</td>
+
  <td>void registerRenameListener(nome funzione JS)</td>
 
  <td style="text-align: center;">3.0</td>
 
  <td style="text-align: center;">3.0</td>
  <td>Registra una funzione JavaScript come <span style="font-weight: bold;">rename</span> listener per la costruzione dell'applet. Ogniqualvolta un oggetto viene rinominato nella costruzione, viene chiamata la funzione JavaScript <span style="font-style: italic;">JSFunctionName</span> avente per argomenti il vecchio nome e il nuovo nome dell'oggetto. <br>
+
  <td>Registra una funzione JavaScript come <span style="font-weight: bold;">rename</span> 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. <br>
<span style="font-style: italic;">Esempio</span>: Registrare innanzitutto una funzione listener JavaScript:<br>
+
{{Example|1= Registrare innanzitutto una funzione listener JavaScript:<br>
<div style="margin-left: 40px;"><span style="font-family: monospace;">ggbApplet.registerRenameListener("myRenameListenerFunction");</span> </div>
+
<div style="margin-left: 40px;"><span style="font-family: monospace;">ggbApplet.registerRenameListener("miaFunzioneListenerRinomina");</span> </div>
 
Quando un oggetto "A" viene rinominato come "B", l'applet di GeoGebra chiama la funzione Javascript<br>
 
Quando un oggetto "A" viene rinominato come "B", l'applet di GeoGebra chiama la funzione Javascript<br>
  <div style="margin-left: 40px;"><span style="font-family: monospace;">myRenameListenerFunction</span><span style="font-family: monospace;">("</span><span style="font-family: monospace;">A", "B");<br>
+
  <div style="margin-left: 40px;"><span style="font-family: monospace;">miaFunzioneListenerRinomina</span><span style="font-family: monospace;">("</span><span style="font-family: monospace;">A", "B");<br>
  </span></div>
+
  </span></div>}}
 
  </td>
 
  </td>
 
  </tr>
 
  </tr>
 
  <tr>
 
  <tr>
  <td>unregisterRenameListener(nome)</td>
+
  <td>void unregisterRenameListener(nome)</td>
 
  <td style="text-align: center;">3.0</td>
 
  <td style="text-align: center;">3.0</td>
 
  <td>Rimuove un ''rename listener'' precedentemente registrato, vedere <span style="font-style: italic;">registerRenameListener()</span></td>
 
  <td>Rimuove un ''rename listener'' precedentemente registrato, vedere <span style="font-style: italic;">registerRenameListener()</span></td>
 
  </tr>
 
  </tr>
 
  <tr>
 
  <tr>
  <td>registerClearListener(nome funzione JS)</td>
+
  <td>void registerClearListener(nome funzione JS)</td>
 
  <td style="text-align: center;">3.0</td>
 
  <td style="text-align: center;">3.0</td>
  <td>Registra una funzione JavaScript come <span style="font-weight: bold;">clear</span> listener per la costruzione dell'applet. Ogniqualvolta la costruzione in GeoGebraApplet viene svuotata (cioè vengono rimossi tutti gli oggetti), viene chiamata la funzione JavaScript JSFunctionName, senza argomenti. Nota: quando una costruzione viene svuotata tutte le registrazioni relative agli ''update listener'' vengono rimosse. Vedere registerUpdateListener() e registerRemoveListener().<br>
+
  <td>Registra una funzione JavaScript come <span style="font-weight: bold;">clear</span> 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|1= Quando una costruzione viene svuotata, tutte le registrazioni relative agli ''update listener'' vengono rimosse. Vedere registerUpdateListener() e registerRemoveListener().}}<br>
<span style="font-style: italic;">Esempio</span>: Registrare innanzitutto una funzione listener JavaScript:<br>
+
{{Example|1=Registrare innanzitutto una funzione listener JavaScript:<br>
<div style="margin-left: 40px;"><span style="font-family: monospace;">ggbApplet.registerClearListener("myClearListenerFunction");</span> </div>
+
<div style="margin-left: 40px;"><span style="font-family: monospace;">ggbApplet.registerClearListener("miaFunzioneListenerSvuota");</span> </div>
 
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<br>
 
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<br>
  <div style="margin-left: 40px;"><span style="font-family: monospace;">myClearListenerFunction</span><span style="font-family: monospace;">(</span><span style="font-family: monospace;">);</span></div>
+
  <div style="margin-left: 40px;"><span style="font-family: monospace;">miaFunzioneListenerSvuota</span><span style="font-family: monospace;">(</span><span style="font-family: monospace;">);</span></div>}}
 
  </td>
 
  </td>
 
  </tr>
 
  </tr>
 
  <tr>
 
  <tr>
  <td>unregisterClearListener(nome funzione JS)</td>
+
  <td>void unregisterClearListener(stringa nomeFunzioneJS)</td>
 
  <td style="text-align: center;">3.0</td>
 
  <td style="text-align: center;">3.0</td>
  <td>Rimuove un ''clear listener'' precedentemente registrato, vedere <span style="font-style: italic;">registerClearListener()</span></td>
+
  <td>Rimuove un ''clear listener'' precedentemente registrato, vedere ''registerClearListener()''
 +
</td>
 
  </tr>
 
  </tr>
 +
<tr>
 +
<td>
 +
void registerStoreUndoListener(Stringa nomeFunzioneJS)
 +
</td>
 +
<td>
 +
4.4
 +
</td>
 +
<td>Registra un listener che viene chiamato (senza argomenti) ogni volta che viene creato un annullamento.</td>
 +
</tr>
 +
<tr>
 +
<td>void unregisterStoreUndoListener(Stringa nomeFunzioneJS)
 +
</td>
 +
<td>
 +
4.4
 +
</td>
 +
<td>
 +
Rimuove il listener precedentemente registrato per memorizzare gli annullamenti, vedere registerStoreUndoListener
 +
</td>
 +
</tr>
 
</table>
 
</table>
  
Riga 512: Riga 802:
  
 
Con questi metodi è possibile impostare la costruzione (vedere [[Riferimenti:XML|Riferimenti XML]] ).
 
Con questi metodi è possibile impostare la costruzione (vedere [[Riferimenti:XML|Riferimenti XML]] ).
<table style="width: 100%;" class="pretty">
+
<table class="pretty" style="width: 100%;">
 
     <tr>
 
     <tr>
 
       <th>Segnatura del metodo</th>
 
       <th>Segnatura del metodo</th>
Riga 519: Riga 809:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>evalXML(Stringa xml) </td>
+
       <td>void evalXML(Stringa xml) </td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Valuta la stringa XML e modifica di conseguenza la costruzione corrente. Nota: la costruzione NON viene svuotata dai relativi elementi prima della valutazione della stringa XML.
+
       <td>Valuta la stringa XML e modifica di conseguenza la costruzione corrente. {{Note|1= La costruzione NON viene svuotata dai relativi elementi prima della valutazione della stringa XML.}}
 
       </td>
 
       </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>setXML(Stringa xml) </td>
+
       <td>void setXML(Stringa xml) </td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Valuta la stringa XML e modifica di conseguenza la costruzione corrente. Nota: la costruzione viene svuotata dai relativi elementi prima della valutazione della stringa XML. Questo metodo può essere utilizzato per caricare le costruzioni.
+
       <td>Valuta la stringa XML e modifica di conseguenza la costruzione corrente. {{Note|1= La costruzione viene svuotata dai relativi elementi prima della valutazione della stringa XML. Questo metodo può essere utilizzato per caricare le costruzioni.}}
 
       </td>
 
       </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>getXML()<br>
+
       <td>String getXML()<br>
 
       </td>
 
       </td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
Riga 538: Riga 828:
 
     </tr>
 
     </tr>
 
   <tr>
 
   <tr>
       <td>getXML(nome)<br>
+
       <td>String getXML(nome)<br>
 
       </td>
 
       </td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
Riga 545: Riga 835:
 
     </tr>
 
     </tr>
 
<tr>
 
<tr>
       <td>getAlgorithmXML(nome)<br>
+
       <td>String getAlgorithmXML(nome)<br>
 
       </td>
 
       </td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
       <td>Viene restituita la stringa XML dell'algoritmo ascendente e di tutti gli oggetti generati dall'elemento objName di GeoGebra. Se objName è libero viene restituito "" .  
+
       <td>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 "" .  
 
       </td>
 
       </td>
 
     </tr>
 
     </tr>
Riga 555: Riga 845:
 
= Varie=
 
= Varie=
  
 
+
<table class="pretty" style="width: 100%;">
<table style="width: 100%;" class="pretty">
 
 
     <tr>
 
     <tr>
 
       <th>Segnatura del metodo</th>
 
       <th>Segnatura del metodo</th>
 
       <th>Da</th>
 
       <th>Da</th>
 
       <th>Descrizione</th>
 
       <th>Descrizione</th>
    </tr>
+
        </tr>
 
     <tr>
 
     <tr>
       <td>evalMathPiper(stringa) </td>
+
       <td>void debug(stringa) </td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
       <td>Passa la stringa a MathPiper e restituisce il risultato come Stringa.
+
       <td>Stampa la stringa indicata nella Console Java.
<b>Rimosso in GeoGebra 4.0 - sarà sostituito in GeoGebra 4.2 da evalGeoGebraCAS()</b>
 
      </td>
 
    </tr>
 
    <tr>
 
      <td>getIPAddress()</td>
 
      <td style="text-align: center;">3.2</td>
 
      <td>Restituisce l'indirizzo IP del computer locale come Stringa - ad es.v"192.168.0.4"
 
      </td>
 
    </tr>
 
    <tr>
 
      <td>getHostname() </td>
 
      <td style="text-align: center;">3.2</td>
 
      <td>Restituisce il nome host del computer locale come Stringa
 
      </td>
 
    </tr>
 
    <tr>
 
      <td>debug(stringa) </td>
 
      <td style="text-align: center;">3.2</td>
 
      <td>Stampa la Stringa nella Java Console
 
 
       </td>
 
       </td>
 +
  </tr><tr><td>String getVersion()</td><td style="text-align: center;">5.0</td><td>Restituisce la versione di GeoGebra
 +
</td>
 
     </tr>
 
     </tr>
 +
</table>
  
</table>
+
== Ottenere l'oggetto applet ==
[[en:Reference:JavaScript]]
+
Generalmente l'applet è memorizzata in una variabile globale ''ggbApplet'': 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.
[[es:Referencia:JavaScript]]
 
[[fr:Référence:JavaScript]]
 
[[Categoria:Riferimenti|JavaScript]]
 

Versione attuale delle 16:49, 10 mag 2019

Attenzione ! Attenzione !: Questa pagina non sarà più aggiornata in Italiano. La versione in Inglese è qui


Questa pagina descrive le API delle app GeoGebra che consentono di interagire con le app GeoGebra. Vedere anche Incorporare App GeoGebra per scoprire come incorporare le nostre app in una pagina Web.

Esempi

In questi esempi è possibile vedere le API delle app GeoGebra in azione:

Note: Gli argomenti tra parentesi quadre possono essere omessi.

Comandi e punti di annullamento

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[] evalCommandGetLabels(Stringa cmdString)5.0Come evalCommand(), ma il valore restituito è una stringa contenente una lista di etichette degli oggetti creati, separate da virgole. Ad esempio: eg "A, B, C".
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 setAuxiliary(geo, true/false) 5.0 Ha effetto o meno sullo status di "oggetto ausiliario" per gli oggetti geo.
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 setFixed(stringa nomeOggetto, booleano fissato, booleano consentiSelezione) 3.0 Imposta gli stati Fissato e Consenti selezione dell'oggetto indicato.
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 la dimensione (da 1 a 9) del punto indicato.
void setDisplayStyle(Stringa NomeOggetto, Stringa Stile)5.0Imposta lo stile di visualizzazione di un oggetto. Lo stile deve essere scelto tra "parametric", "explicit", "implicit", "specific"
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 attiva come stringa codificata in base64
ad es. var str = ggbApplet.getPNGBase64(1, true, 72);
L'impostazione relativa ai DPI crea rallentamenti, impostarla come undefined se non è strettamente necessaria.
void getScreenshotBase64(funzione callback) 5.0 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);});
Solo ad uso interno, potrebbe non funzionare in tutti i browser
boolean writePNGtoFile(nome file, scala, booleano trasparenza, DPI) 4.0 Esporta la vista Grafici attiva in un file .PNG. L'impostazione dei DPI crea rallentamenti, impostarla come undefined se non è strettamente necessaria.
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 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 [, funzione callback]) 4.0 Imposta la costruzione corrente a partire da un file .ggb con codifica base64. Se viene specificata una funzione callback, viene chiamata dopo il caricamento del file.

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 (beta)

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://dev.geogebra.org/examples/html/example10.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(stringa nomeOggetto [, booleano usaInputLocalizzato]) 2.7 Restituisce una stringa contenente la descrizione dell'oggetto indicato. Se usaInputLocalizzato è 'false', restituisce il comando in inglese, altrimenti nella lingua corrente della GUI. Nota: L'input localizzato utilizza parentesi tonde, quello non localizzato utilizza parentesi quadre.
String getLaTeXString(stringa nomeOggetto)5.0Restituisce il valore dell'oggetto indicato, in sintassi LaTeX
String getLaTeXBase64(stringa nomeOggetto, valore booleano)5.0Restituisce un immagine PNG codificata in base64, contenente l'oggetto come LaTeX. Se valore = false l'oggetto viene rappresentato con la definizione, se valore=true viene utilizzato il valore dell'oggetto.
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. Nota: L'input localizzato utilizza parentesi tonde, quello non localizzato utilizza parentesi quadre
String 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).
String [] getAllObjectNames([tipo stringa])
Deprecato dalla v.3.0
2.7 Restituisce un elenco di tutti i nomi degli oggetti presenti nella costruzione. Se viene inserito un parametro per il tipo, vengono elencati solo gli oggetti di quel tipo.
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à del mouse (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" )
int getMode()5.0Ottiene la modalità del mouse (cioè lo strumento selezionato). Vedere Riferimenti: barra degli strumenti per ulteriori dettagli
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 newConstruction() 2.7 Rimuove tutti gli oggetti della costruzione
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 setPointCapture(vista, modo)
5.0
void setRounding(stringa arrotonda)
5.0 La stringa è composta da numeri e contrassegni, "s" per le cifre significative, "d" per le posizioni decimali (predefinito). Gli interi JavaScript sono inviati alla stringa automaticamente. Esempio: "10s", "5", 3
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.
void setCoordSystem(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, booleano yVerticale) 5.0 Imposta il sistema di coordinate cartesiane della vista Grafici 3D. L'ultimo parametro indica se l'asse y deve essere orientato verticalmente.
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
Esempio: ggbApplet.setAxesVisible(3, false, true, true)
void setAxisLabels(int NumeroVista, booleano asseX, booleano asseY, booleano asseZ) 5.0 Imposta l'etichetta degli assi x, y, z del sistema di coordinate della vista Grafici indicata.
Esempio: ggbApplet.setAxisLabels(3,"larg","lung","area")
void setAxisSteps(int NumeroVista, booleano asseX, booleano asseY, booleano asseZ) 5.0 Imposta le distanze sugli assi x, y, z del sistema di coordinate della vista Grafici indicata.
Esempio: ggbApplet.setAxisSteps(3, 2,1,0.5)
void setAxisUnits(int NumeroVista, booleano asseX, booleano asseY, booleano asseZ) 5.0 Imposta le unità sugli assi x, y, z del sistema di coordinate della vista Grafici indicata.
Esempio: ggbApplet.setAxisUnits(3, "cm","cm","cm²")
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 viste attiva.
undo() 5.0 Annulla l'ultima azione dell'utente.
redo() 5.0 Ripete un'azione dell'utente.
showToolBar(booleano mostra) HTML5 Imposta la visibilità della barra degli strumenti
setCustomToolBar(Stringa barra strumenti)5.0Imposta il layout della barra degli strumenti principale, vedere Riferimenti:Barra degli strumenti per ulteriori dettagli
showMenuBar(booleano mostra) HTML5 Imposta la visibilità della barra dei menu
showAlgebraInput(booleano mostra) HTML5 Imposta la visibilità della barra di inserimento
showResetIcon(booleano mostra) HTML5 Imposta la visibilità dell'icona di ripristino
enableRightClick(booleano abilita) 5.0 Abilita o disabilita le funzionalità del clic destro
enableLabelDrags(booleano abilita) 5.0 Abilita o disabilita il trascinamento delle etichette degli oggetti
enableShiftDragZoom(booleano abilita) 5.0 Abilita o disabilita lo zoom e il trascinamento della vista con il mouse o la tastiera
enableCAS(booleano abilita) 5.0 Abilita o disabilita le funzionalità CAS (sia per la visualizzazione che nei comandi)
enable3D(booleano abilita) 5.0 Abilita o disabilita la vista 3D
void setPerspective(stringa raccoltaViste) 5.0 Modifica le viste aperte, vedere Comando_ImpInterfaccia per l'interpretazione della stringa.
setWidth(int larghezza) 5.0 (HTML5) Modifica la larghezza dell'applet (in pixel)
setHeight(int altezza) 5.0 (HTML5) Modifica l'altezza dell'applet (in pixel)
setSize(int larghezza, int altezza) 5.0 (HTML5) Modifica larghezza e altezza dell'applet (in pixel)
recalculateEnvironments() 5.0 (HTML5) Aggiorna l'applet dopo lo scaling da CSS esterno

Listener degli eventi

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() .

{{Example|1= Registrare innanzitutto una funzione listener JavaScript:

ggbApplet.registerUpdateListener("miaFunzioneAggiornaListener");

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

myUpdateListenerFunction("A");
void unregisterUpdateListener(nome funzione JS) 3.0 Rimuove un update listener precedentemente registrato, vedere registerUpdateListener()
void registerClickListener(Stringa nomeFunzioneJS) 5.0 Registra una funzione JavaScript come clic listener per la costruzione dell'applet. Quando si fa clic su un oggetto nella costruzione della GeoGebraApplet, la funzione JavaScript nomeFunzioneJS viene chiamata, utilizzando il nome dell'oggetto aggiornato come singolo argomento. Nota: se si desidera solo un listen per gli aggiornamento do un singolo oggetto, utilizzare registerObjectClickListener().

>

void unregisterClickListener(Stringa nomeOggetto) 3.0 Rimuove un listener di clic precedentemente registrato, vedere registerClickListener()
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 registerObjectClickListener(String objName, Stringa nomeFfunzioneJS) 5.0 Registra una funzione JavaScript come listener di clic di un singolo oggetto. Quando si fa clic sull'oggetto avente il nome indicato, la funzione JavaScript nomeFunzioneJSviene chiamata utilizzando il nome dell'oggetto aggiornato come unico argomento. Se nomeOggetto ha una funzione di mapping JavaScript, verrà sostituito il vecchio valore. Nota: tutti i listener di clic di oggetti vengono de-registrati quando il relativo oggetto viene rimosso o la costruzione viene svuotata, vedere registerRemoveListener() and registerClearListener().

Esempio: Registrare innanzitutto una funzione di listening JavaScript:

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

Quando si fa clic sull'oggetto A, l'applet di GeoGebra chiama la funzione Javascript

miaFunzioneListenerAggiornamentoA("A");

Nota: un listener di aggiornamento di un oggetto funziona anche dopo che l'oggetto viene rinominato.

void unregisterObjectClickListener(Stringa nomeOggetto) 5.0 Rimuove il listener di clic di un oggetto precedentemente registrato con il nome indicato, vedere registerObjectClickListener()
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(stringa nomeFunzioneJS) 3.0 Rimuove un clear listener precedentemente registrato, vedere registerClearListener()

void registerStoreUndoListener(Stringa nomeFunzioneJS)

4.4

Registra un listener che viene chiamato (senza argomenti) ogni volta che viene creato un annullamento.
void unregisterStoreUndoListener(Stringa nomeFunzioneJS)

4.4

Rimuove il listener precedentemente registrato per memorizzare gli annullamenti, vedere registerStoreUndoListener

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.
String getVersion()5.0Restituisce la versione di GeoGebra

Ottenere l'oggetto applet

Generalmente l'applet è memorizzata in una variabile globale ggbApplet: 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.

© 2024 International GeoGebra Institute