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

Da GeoGebra Manual.
(remove "Verifica automatica degli esercizi")
 
(87 versioni intermedie di 3 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=
Esempio 1: il seguente frammento di codice HTML aggiunge un pulsante "Ripristina" a una pagina HTML, in modo da consentire all'utente il ripristino della costruzione allo stato iniziale:
+
In questi esempi è possibile vedere le API delle app GeoGebra in azione:  
 
+
* [http://dev.geogebra.org/examples/html/example-api-multiple.html Mostra e nasconde oggetti con pulsanti]
  <form>
+
* [http://dev.geogebra.org/examples/html/example-api-save-state.html Salvataggio e caricamento]
    <input type="button" value="Ripristina" onclick="document.applets[0].reset();">
+
* [http://dev.geogebra.org/examples/html/example-api-listeners.html Listening degli aventi di aggiornamento, aggiungi e rimuovi]
  </form>
 
 
 
Esempio 2: questo codice aggiunge i pulsanti "Nascondi A" e "Mostra A", per modificare lo stato di visibilità di un oggetto di nome "A" presente nella costruzione:
 
 
 
  <form>
 
    <input type="button" value="Nascondi A" onclick="document.applets[0].setVisible('A', false);">
 
    <input type="button" value="Mostra A" onclick="document.applets[0].setVisible('A', true);">
 
  </form>
 
 
 
Esempio 3: una funzione JavaScript "unaPiccolaCostruzione()" è utilizzata per chiamare alcuni metodi di GeoGebraApplet. Nota: 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.
 
 
 
  <applet name="ggbApplet" code="geogebra.GeoGebraApplet"
 
    archive="geogebra.jar"
 
    width=200 height=40>
 
  <param name="filename" value="circonf.ggb">
 
  <param name="framePossible" value="false">
 
  <param name="language" value="it">
 
  Installare <a href="http://www.java.com"> Java 1.4.2 </a> (o successivi) per utilizzare questa pagina.
 
  </applet>
 
  <script type="text/javascript">
 
    function miaPiccolaCostruzione() {
 
      var applet = document.ggbApplet;
 
      applet.evalCommand("A = (1,1)");
 
      applet.evalCommand("B = (3,2)");
 
      applet.evalCommand("s = Retta[A, B]");
 
    }
 
  </script>
 
  <form>
 
    <input type="button" value="Esegui costruzione" onclick="miaPiccolaCostruzione();">
 
  </form>
 
 
 
Esempio 4: Date un'occhiata al codice sorgente del seguente foglio di lavoro, che utilizza JavaScript.
 
  http://www.geogebra.org/source/program/applet/geogebra_applet_javascript_test.htm
 
  
Esempio 5: Questo foglio di lavoro utilizza un ''listener add'' 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 51: Riga 21:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>boolean evalCommand(String cmdString)</td>
+
       <td>boolean evalCommand(comando)</td>
 
       <td style="text-align: center;">3.0</td>
 
       <td style="text-align: center;">3.0</td>
       <td> Valuta la stringa come se fosse digitata direttamente nella barra di inserimento di GeoGebra. Restituisce se la valutazione del comando ha avuto successo. <br> A partire da GeoGebra 3.2 è possibile passare più comandi contemporaneamente, separandoli con \n. <br> Nota: utilizzare il [[:en: Reference:Applet_Parameters|language parameter]] per fare in modo che siano applicati i comandi localizzati nella lingua corrente.<br>
+
       <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 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>
Riga 63: 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 81: Riga 49:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td> void deleteObject(String objName)</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>
+
       <td>Elimina l'oggetto avente il nome indicato. </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>void setValue(String objName, double value)</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 doppio valore dell'oggetto avente il nome indicato. Nota: se l'oggetto specificato è una variabile booleana, utilizzare il valore 1 per impostarlo come ''true'' e un qualsiasi altro valore per impostarlo come''false''. Per oggetti di tipo diverso, non si ha alcun effetto.</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>
 +
</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>void setCoords(String objName, double x, double 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.
+
       <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>
Nota: se l'oggetto specificato non è un punto o un vettore, 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>void setColor(String objName, int red, int green, int
+
       <td>void setColor(nome, intero rosso, intero verde, intero
blue)</td>
+
blu)</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Imposta il colore dell'oggetto avente il nome indicato.</td>
+
       <td>Imposta il colore (RGB) dell'oggetto avente il nome indicato. </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>void setVisible(String objName, boolean visible) </td>
+
       <td>void setVisible(nome, booleano) </td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Imposta o nasconde nella Vista Grafica l'oggetto avente il nome indicato.</td>
+
       <td>Mostra (true) o nasconde (false) nella vista Grafici l'oggetto avente il nome indicato. </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>void setLabelVisible(String objName, boolean visible) </td>
+
       <td>void setLabelVisible(nome, booleano) </td>
 
       <td style="text-align: center;">3.0</td>
 
       <td style="text-align: center;">3.0</td>
       <td>Imposta o nasconde nella Vista Grafica l'etichetta dell'oggetto avente il nome indicato.</td>
+
       <td>Mostra (true) o nasconde (false) nella vista Grafici l'etichetta dell'oggetto avente il nome indicato. </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>void setLabelStyle(String objName, boolean visible)</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 NAME = 0, NAME_VALUE = 1, VALUE = 2 e (da GeoGebra 3.2) CAPTION = 3</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>void setFixed(String objName, boolean flag)</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. Nota: gli oggetti fissati non possono essere modificati.</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>void setTrace(String objName, boolean flag)</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 o disattiva la traccia dell'oggetto indicato.</td>
+
       <td>Attiva (true) o disattiva (false) la traccia dell'oggetto indicato. </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>boolean renameObject(String oldObjName, String newObjName)</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 oldObjName in newObjName. Indica se l'operazione ha avuto successo</td>
+
       <td>Rinomina l'oggetto da ''vecchio nome'' in ''nuovo nome''. Indica se l'operazione ha avuto successo. </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>void setLayer(String objName)</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</td>
+
       <td>Imposta il livello dell'oggetto indicato.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>void setLayerVisible(int layer, boolean visible)</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>void setLineStyle(String objName, int style)</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 della linea 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>void setLineThickness(String objName, int thickness)</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 dell'oggetto (da 1 a 13, -1 è l'impostazione predefinita)</td>
+
       <td>Imposta lo spessore (da 1 a 13, -1 è l'impostazione predefinita) del tratto dell'oggetto indicato.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>void setPointStyle(String objName, int style)</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 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>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>void setPointSize(String objName, int size)</td>
+
       <td>void setPointSize(nome, intero)</td>
 +
      <td style="text-align: center;">3.2</td>
 +
      <td>Imposta la dimensione (da 1 a 9) del punto indicato.</td>
 +
    </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>
 +
      <td>void setFilling(nome, numero)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
       <td>Imposta le dimensioni di un punto (da 1 a 9)</td>
+
       <td>Imposta il riempimento di un oggetto (da 0 a 1).</td>
 +
    </tr>
 +
<tr>
 +
      <td>String getPNGBase64(scala, booleano trasparenza, DPI)</td>
 +
      <td style="text-align: center;">4.0</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>
 +
      <td>boolean writePNGtoFile(nome file, scala, booleano trasparenza, DPI)
 +
</td>
 +
      <td style="text-align: center;">4.0 </td>
 +
      <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>
 +
ad es. var success = ggbApplet.writePNGtoFile("miaImmagine.png", 1, false, 72);      </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>void setFilling(String objName, double filling)</td>
+
       <td>boolean isIndependent(nome)
       <td style="text-align: center;">3.2</td>
+
</td>
       <td>Imposta il riempimento di un oggetto (da 0 a 1)</td>
+
      <td style="text-align: center;">4.0</td>
 +
      <td> Verifica se l'oggetto avente il nome indicato è indipendente.      </td>
 +
    </tr>
 +
  <tr>
 +
      <td>boolean isMoveable(nome)
 +
</td>
 +
      <td style="text-align: center;">4.0</td>
 +
      <td> Verifica se l'oggetto avente il nome indicato è movibile.</td>
 +
    </tr>
 +
  <tr>
 +
      <td>String getBase64()
 +
</td>
 +
      <td style="text-align: center;">4.0 </td>
 +
      <td> Ottiene la costruzione corrente come file .ggb con codifica base64.</td>
 +
    </tr>
 +
  <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>
 
     </tr>
 +
      <td>void setBase64(stringa [, funzione callback])
 +
</td>
 +
      <td style="text-align: center;">4.0</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>
 
</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 177: Riga 208:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>void setAnimating(String objName, boolean animate)</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>void setAnimationSpeed(String objName, double speed)</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>
Riga 189: Riga 220:
 
       <td>void 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 con impostata una flag di animazione, vedere setAnimating()</td>
+
       <td>Avvia l'animazione automatica di tutti gli oggetti che possono essere animati.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
 
       <td>void 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 con impostata una flag di animazione, vedere setAnimating()</td>
+
       <td>Interrompe l'animazione di tutti gli oggetti in movimento.</td>
 
     </tr>
 
     </tr>
 
   <tr>
 
   <tr>
 
       <td>boolean isAnimationRunning()</td>
 
       <td>boolean isAnimationRunning()</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
       <td>Restituisce se un'animazione automatica è attiva o no.</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 212: Riga 276:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>double getXcoord(String objName)</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.
Nota: 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>double getYcoord(String objName)</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.
Nota: 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>
 +
      <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>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>double getValue(String objName)</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 doppio valore dell'oggetto indicato (ad es. la lunghezza di un segmento, l'area di un poligono). Nota: restituisce 1 se l'oggetto è una variabile booleana a valore ''true''. In ogni altro caso restituisce 0.<br>
+
       <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>
 
       </td>
 
       </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>String getColor(String objName)</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> boolean getVisible(String objName)</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> String getValueString(String objName)</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>String getDefinitionString(String objName) </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>String getCommandString(String objName)</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 dell'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>String getObjectType(String objName)</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>boolean exists(String objName)</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>boolean isDefined(String objName)</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>String [] getAllObjectNames()<br>
+
<td>String [] getAllObjectNames([tipo stringa])<br>
      <small style="font-style: italic; font-weight: bold;">Sconsigliato dalla v. 3.0</small> </td>
+
<small style="font-style: italic; font-weight: bold;">Deprecato dalla v.3.0</small> </td>
      <td style="text-align: center;">2.7</td>
+
<td style="text-align: center;">2.7</td>
      <td>Restituisce una matrice contenente i nomi di tutti gli oggetti presenti nella costruzione.
+
      <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>
Nota: l'utilizzo di matrici in JavaScript crea problemi con alcuni browser. Utilizzare preferibilmente getObjectNumber() e getObjectName().</td>
+
</tr>
    </tr>
+
        <tr>
    <tr>
 
 
       <td>int getObjectNumber()</td>
 
       <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>String getObjectName(int i)</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>String getLayer(String objName)</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>int getLineStyle(String objName)</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>int getLineThickness(String objName)</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>int getPointStyle(String objName)</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>int getPointSize(String objName)</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>double getFilling(String objName)</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 320: 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 327: Riga 433:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>void setMode(int mode)</td>
+
       <td>void setMode(numero modalità)</td>
      <td style="text-align: center;">2.7</td>
 
      <td>Imposta la modalità mouse (cioè come strumento) nella Vista Grafica
 
(vedere [[Riferimenti:Barra degli strumenti|Riferimenti: barra degli strumenti]] e i [[:en:Reference:Applet_Parameters|parametri dell'applet]] "showToolBar" and &nbsp;"customToolBar"  )</td>
 
    </tr>
 
    <tr>
 
      <td>void openFile(String strURL)</td>
 
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
 +
      <td>Imposta la modalità del mouse (cioè lo strumento selezionato) nella vista Grafici.
 +
{{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>
 
       <td>Apre una costruzione presente in un file (indicato da una stringa con URL assoluto o relativo)</td>
 
     </tr>
 
     </tr>
Riga 341: Riga 447:
 
       <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>Ricarica la costruzione iniziale (indicata nel parametro filename) dell'applet corrente.<br>
 +
</td>
 +
  </tr>
 +
    <tr>
 +
      <td>void newConstruction()</td>
 +
      <td style="text-align: center;">2.7</td>
 +
      <td>Rimuove tutti gli oggetti della costruzione<br>
 
       </td>
 
       </td>
 
   </tr>
 
   </tr>
Riga 346: Riga 458:
 
       <td>void 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>void setOnTheFlyPointCreationActive(boolean flag)<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>void hideCursorWhenDragging(boolean flag)<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 361: Riga 486:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>void setRepaintingActive(boolean flag)<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>void setErrorDialogsActive(boolean flag)</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>void setCoordSystem(double xmin, double xmax, double ymin, double 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>void setAxesVisible(boolean xAxis, boolean yAxis)</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>void setGridVisible(boolean flag) </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:
 
  
<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>.
+
I seguenti metodi consentono l'implementazione della comunicazione tra Applet e JavaScript.  
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.  
+
Tali metodi possono essere utilizzati ad esempio per:  
Ad esempio, questi metodi possono essere utilizzati per:
+
* monitorare le attività dell'utente (vedere [http://dev.geogebra.org/examples/html/example8.html Esempio con listener di eventi])
* 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://dev.geogebra.org/examples/html/example9.html Esempio con due applet])
* comunicare tra due applet di GeoGebra (vedere [http://www.geogebra.org/source/program/applet/geogebra_applet_java2java.htm esempio java2java])
+
<table class="pretty" style="width: 100%;">
<table style="width: 100%;" class="pretty">
 
 
  <tr>
 
  <tr>
 
  <th>Segnatura del metodo</th>
 
  <th>Segnatura del metodo</th>
Riga 405: Riga 651:
 
  </tr>
 
  </tr>
 
  <tr>
 
  <tr>
  <td>void registerAddListener(String JSFunctionName)</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>void unregisterAddListener(String objName)</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>void registerRemoveListener(String JSFunctionName)</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 cancellata 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>void unregisterRemoveListener(String objName)</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>void registerUpdateListener(String JSFunctionName)</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>void unregisterUpdateListener(String objName)</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>void registerObjectUpdateListener(String objName, String JSFunctionName)</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 eliminati 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>void unregisterObjectUpdateListener(String objName)</td>
+
  <td>void unregisterObjectClickListener(Stringa nomeOggetto)</td>
  <td style="text-align: center;">3.0</td>
+
  <td style="text-align: center;">5.0</td>
  <td>Removes a previously registered object update listener of the object with the given name, see <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>void registerRenameListener(String JSFunctionName)</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>Registers a JavaScript function as a <span style="font-weight: bold;">rename</span> listener for the applet's construction. Whenever an object is renamed in the GeoGebraApplet's construction, the JavaScript function <span style="font-style: italic;">JSFunctionName</span> is called using the old name and the new name of the renamed object as its two arguments. <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;">Example</span>: First, register a listening JavaScript function:<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>
When an object "A" is renamed to "B", the GeoGebra Applet will call the Javascript function<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>void unregisterRenameListener(String objName)</td>
+
  <td>void unregisterRenameListener(nome)</td>
 
  <td style="text-align: center;">3.0</td>
 
  <td style="text-align: center;">3.0</td>
  <td>Removes a previously registered rename listener, see <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>void registerClearListener(String JSFunctionName)</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>Registers a JavaScript function as a <span style="font-weight: bold;">clear</span> listener for the applet's construction. Whenever the construction in the GeoGebraApplet is cleared (i.e. all objects are removed), the JavaScript function JSFunctionName is called using no arguments. Note: all update listeners are unregistered when a construction is cleared. See registerUpdateListener() and 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;">Example</span>: First, register a listening JavaScript function:<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>
When the construction is cleared (i.e. after reseting a construction or opening a new construction file), the GeoGebra Applet will call the Javascript function<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>void unregisterClearListener(String JSFunctionName)</td>
+
  <td>void unregisterClearListener(stringa nomeFunzioneJS)</td>
 
  <td style="text-align: center;">3.0</td>
 
  <td style="text-align: center;">3.0</td>
  <td>Removes a previously registered clear listener, see <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>
  
 
= Il formato XML di GeoGebra =
 
= Il formato XML di GeoGebra =
  
Con questi metodi è possibile impostare qualsiasi cosa nella 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 514: Riga 809:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>void evalXML(String xmlString) </td>
+
       <td>void evalXML(Stringa xml) </td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Evaluates the given XML string and changes the current construction. Note: the construction is NOT cleared before evaluating the XML string.
+
       <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>void setXML(String xmlString) </td>
+
       <td>void setXML(Stringa xml) </td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Evaluates the given XML string and changes the current construction. Note: the construction is cleared before evaluating the XML string. This method could be used to load constructions.
+
       <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>
Riga 529: Riga 824:
 
       </td>
 
       </td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Returns the current construction in GeoGebra's XML format. This method could be used to save constructions.<br>
+
       <td>Restituisce la costruzione corrente in formato XML di GeoGebra. Questo metodo può essere utilizzato per salvare le costruzioni.<br>
 
       </td>
 
       </td>
 
     </tr>
 
     </tr>
 
   <tr>
 
   <tr>
       <td>String getXML(String objName)<br>
+
       <td>String getXML(nome)<br>
 
       </td>
 
       </td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
       <td>Returns the GeoGebra XML string for the given object, i.e. only the &lt;element&gt; tag is returned.
+
       <td>Restituisce la stringa XML di GeoGebra relativa all'oggetto indicato, cioè viene restituito solo il tag dell'&lt;elemento&gt;.
 
       </td>
 
       </td>
 
     </tr>
 
     </tr>
 
<tr>
 
<tr>
       <td>String getAlgorithmXML(Stringa objName)<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>For a dependent GeoElement objName the XML string of the parent algorithm and all its output objects is returned. For a free GeoElement objName "" is returned.  
+
       <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 550: 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>String evalMathPiper(stringa 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.
      </td>
 
    </tr>
 
    <tr>
 
      <td>String 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>String getHostname() </td>
 
      <td style="text-align: center;">3.2</td>
 
      <td>Restituisce il nome host del computer locale come Stringa
 
      </td>
 
    </tr>
 
    <tr>
 
      <td>void debug(stringa 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 ==
[[Categoria:Riferimenti|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.

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