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

Da GeoGebra Manual.
(remove "Verifica automatica degli esercizi")
 
(45 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
Questa pagina descrive le modalità di interazione con GeoGebra tramite JavaScript. Un applet di GeoGebra è rappresentata da un oggetto Javascript: nei successivi esempi  supporremo che tale oggetto sia memorizzato in una variabile ggbApplet. Ciò è sempre vero se si utilizza JavaScript direttamente in GeoGebra o se lo si utilizza in una pagina Web contenente una singola applet di GeoGebra esportata direttamente dal programma ({{KeyCode|Ctrl + Maiusc +M}}) o da GeoGebra utilizzando il collegamento al pacchetto offline. Lo scripting '''non''' è disponibile per le applet esportate da GeoGebra tramite l'opzione ''Incorpora''. In caso di più applet, fare riferimento alla sezione  [[#Ottenere l'oggetto applet |Ottenere l'oggetto applet]].
+
{{warning|Questa pagina non sarà più aggiornata in Italiano.
 +
La versione in Inglese è [https://wiki.geogebra.org/en/Reference:GeoGebra_Apps_API qui]}}
 +
 
 +
Questa pagina descrive le API delle app GeoGebra che consentono di interagire con le app GeoGebra.  
 +
Vedere anche [[Riferimenti:Incorporare_App_GeoGebra|Incorporare App GeoGebra]] per scoprire come incorporare le nostre app in una pagina Web.
  
 
= Esempi=
 
= Esempi=
{{Example|1= Il seguente codice HTML aggiunge un pulsante "Ripristina" a una pagina HTML, in modo da consentire all'utente il ripristino della costruzione allo stato iniziale:<br/>
+
In questi esempi è possibile vedere le API delle app GeoGebra in azione:  
<code> <form><br/> <input type="button" value="Ripristina" onclick="ggbApplet.reset();"><br/> </form></code>}}
+
* [http://dev.geogebra.org/examples/html/example-api-multiple.html Mostra e nasconde oggetti con pulsanti]
 
+
* [http://dev.geogebra.org/examples/html/example-api-save-state.html Salvataggio e caricamento]
{{Example|1= Questo codice aggiunge i pulsanti "Nascondi A" e "Mostra A", per modificare lo stato di visibilità di un oggetto di nome "A" presente nella costruzione:<br/>
+
* [http://dev.geogebra.org/examples/html/example-api-listeners.html Listening degli aventi di aggiornamento, aggiungi e rimuovi]
  <code><form><br/> <input type="button" value="Nascondi A" onclick="ggbApplet.setVisible('A', false);"><br/><input type="button" value="Mostra A" onclick="ggbApplet.setVisible('A', true);"> <br/></form></code>}}
 
 
 
{{Example|1=Una funzione JavaScript "miaPiccolaCostruzione()" è ora utilizzata per chiamare alcuni metodi di GeoGebraApplet. }}
 
  <script type="text/javascript" language="javascript" src="http://www.geogebra.org/web/4.4/web/web.nocache.js"></script>
 
  <article class="geogebraweb" data-param-width="500" data-param-height="500" data-param-ggbbase64="UEsDBBQACAgIAM1CWUMAAAAAAAAAAAAAAAAWAAAAZ2VvZ2VicmFfamF2YXNjcmlwdC5qc0srzUsuyczPU0hPT/LP88zLLNHQVKiuBQBQSwcI1je9uRkAAAAXAAAAUEsDBBQACAgIAM1CWUMAAAAAAAAAAAAAAAAMAAAAZ2VvZ2VicmEueG1svVZtb9s2EP6c/oqDPicxSVGyHMgp1gIFCmTdgHTDsG+URMtcZFEQKb8M/fE7kpIjpy/o0GFB7CN5D++5O96Rzl8fdw3sZW+UbtcRvSURyLbUlWrrdTTYzU0Wvb5/lddS17LoBWx0vxN2HXGHVNU62iSblBPGbgou0hu+yuKbjONXucrKpCJVma14BHA06q7VH8ROmk6U8rHcyp140KWwnnhrbXe3WBwOh9uJ6lb39aKui9ujqSJAN1uzjsbBHZq72HSIPZwRQhd//PwQzN+o1ljRljICF8Kg7l9d5QfVVvoAB1XZ7TrKCIaxlareYkypmywcqMOEdLK0ai8Nbp1Nfcx210UeJlqnvwojaM7hRFCpvapkv47ILUsi0L2SrR21dGRZTPvzvZKHYMiNPAcmzWrdFMLZgE+fgBFG4NoJGgRDkaZBRcIaiYNgQfAgkoDhYTsPUB4wPGB4HMFeGVU0Eo9UNAZzptpNj+d1nht7aqT3Z1x4jpdeY0xG/Y3g2CUxJBnXCbl2H8zsNZ+yOwuSzlhtP/xL0olymbHvp2Q/FGg8cbIvhcmSr4SZfoM0xP09cdJkxolU/t9/PmOMvxXmS8Yw/zHClP8vIeaLqVXysTvAbB12rB4rd8b1S7yCZOXKnkKCvZEuscoToCsUSwbYDUAT4AlOaQapk0uIl6jgEEMGDkdj8M2RZPjFl95YCgkac6tL7EmgSMQhiYH6nuKAnQS+L7FHWYyIJIEENzl6ypyJOAWe4izOgKOPriWXFIExbsQ50jOIKcRuM10CSyF19ih3rZ5mznU0ySAlkFJnELsaOzp0M+IziF006Zgu1XaDvUhRuaumodXd+SwQjffR8z0X7qeLa/Aqb0QhG3wZHt1JAuxF4zrCE210a2E6RBbW6l50W1WaR2kt7jLwl9iLB2Hl8R2izcTtsaVuza+9tm91M+xaA1Dqhpx91g2djdnZa5zEMwWfK5KZIp2Nl1/k1aiBwUjk172Z4KKq3jvE89WAmfylbU5veimeOq0uw8gX/pHJ5VA2qlKi/R2L1bG4vMD05vjranpzOKOTI7qvHk8GKxiOf8pe4x1Dk1sy/8Pb5xRU8UsVHrgphWu+hFxqsLdOX1PxwC335yMSR3mOvu5VNR+/N290U51z4cN/Kzo79P7XAnrXu6B+autG+hLxjY1PcflU6ONjqI042Pp46nBGAn9R+7QDXg0swdeyHmURpMc4x84o4jHEI8hUbKo66+mKeYSXRZAehdUbXBsDpVOUlEw0yvgLjUQXbeNL3z3sQ6vswzSxqnx6jtThPwy7Qp4L6NIk/Y9M5osXBZY/yb6VzVjPeJCDHkxoz1mpV7JUO5wGxZgQ4Q7rN3QgrFay7uXkd+N/h4V0eS2Zl+pny97Uu17v3rf7j1gJLxzIF5OXuSl71bl6gwLfgCf5XFOVMgKfkGq+zzUghl66pwLTY11qsDUHu9W9/6mFNwpKxzCH+nYcf0ve/wNQSwcI2ajKq1gEAADoCgAAUEsBAhQAFAAICAgAzUJZQ9Y3vbkZAAAAFwAAABYAAAAAAAAAAAAAAAAAAAAAAGdlb2dlYnJhX2phdmFzY3JpcHQuanNQSwECFAAUAAgICADNQllD2ajKq1gEAADoCgAADAAAAAAAAAAAAAAAAABdAAAAZ2VvZ2VicmEueG1sUEsFBgAAAAACAAIAfgAAAO8EAAAAAA=="></article>
 
  <script type="text/javascript">
 
    function myLittleConstruction() {
 
      var applet = document.ggbApplet;
 
      applet.evalCommand("A = (1,1)");
 
      applet.evalCommand("B = (3,2)");
 
      applet.evalCommand("s = Line[A, B]");
 
    }
 
  </script>
 
  <form>
 
    <input type="button" value="Do construction" onclick="myLittleConstruction();">
 
  </form>
 
{{Example|1= Consultare il codice sorgente del seguente foglio di lavoro, che utilizza JavaScript.
 
  http://www.geogebra.org/source/program/applet/geogebra_applet_javascript_test.htm}}
 
 
 
{{Example|1= Questo foglio di lavoro utilizza un ''add listener'' in modo da verificare se è già stata completata una precedente costruzione (nel cui caso appare la scritta "Well done").
 
  http://www.geogebra.org/en/examples/javascriptAutomaticCheckingExercise.html}}
 
  
{{Example|1= Questo esempio mostra come interfacciare JavaScript con GeoGebraWeb
+
{{Note|Gli argomenti tra parentesi quadre possono essere omessi.}}
http://archive.geogebra.org/examples/SlopeTestWeb.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 44: Riga 26:
 
{{Note| Utilizzare nomi di comando in Inglese per garantire la piena funzionalità in tutte le versioni di GeoGebra.}}<br>
 
{{Note| Utilizzare nomi di comando in Inglese per garantire la piena funzionalità in tutte le versioni di GeoGebra.}}<br>
 
</td>
 
</td>
     </tr>
+
     </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>
    <tr>
 
 
       <td>String evalCommandCAS(Stringa stringa) </td>
 
       <td>String evalCommandCAS(Stringa stringa) </td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
Riga 61: Riga 42:
 
= 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 70: Riga 51:
 
       <td>void deleteObject(nome)</td>
 
       <td>void deleteObject(nome)</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Elimina l'oggetto avente il nome indicato.  
+
       <td>Elimina l'oggetto avente il nome indicato. </td>
            </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>
Riga 77: Riga 62:
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td>Imposta il valore dell'oggetto avente il nome indicato. {{Note|1= Se l'oggetto specificato è una variabile booleana, utilizzare il valore 1 per impostarla ''true'' e un qualsiasi altro valore per impostarla ''false''. Per oggetti di tipo diverso, non si ha alcun effetto.}}  </td>
 
       <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>
 
     <tr>
 
     <tr>
Riga 84: Riga 74:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>void setCoords(nome, x, y)</td>
+
       <td>void setCoords(Stringa NomeOggetto, double x, double y) <br/>void setCoords(Stringa NomeOggetto, double x, double y, double z)</td>
       <td style="text-align: center;">3.0</td>
+
       <td style="text-align: center;">3.0<br/>5.0</td>
       <td>Imposta le coordinate dell'oggetto avente il nome indicato. {{Note|1= Se l'oggetto specificato non è un punto o un vettore, non si ha alcun effetto.}}   </td>
+
       <td>Imposta le coordinate dell'oggetto avente il nome indicato. {{Note|1= Se l'oggetto specificato non è un punto, un vettore o un oggetto avente una posizione assoluta (testo, pulsante, casella di controllo), non si ha alcun effetto.}} </td>
 +
    </tr>
 +
<tr>
 +
      <td>void setCaption(Stringa NomeOggetto, Stringa legenda)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Imposta la legenda dell'oggetto avente il nome indicato.  </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
Riga 107: Riga 102:
 
       <td>void setLabelStyle(nome, intero)</td>
 
       <td>void setLabelStyle(nome, intero)</td>
 
       <td style="text-align: center;">3.0</td>
 
       <td style="text-align: center;">3.0</td>
       <td>Imposta lo stile dell'etichettatura nella vista Grafici dell'oggetto indicato. Gli stili di etichettatura disponibili sono: Nome = 0, Nome e valore = 1, Valore = 2 e Legenda = 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(nome, booleano)</td>
+
       <td>void setFixed(stringa nomeOggetto, booleano fissato, booleano consentiSelezione)</td>
 
       <td style="text-align: center;">3.0</td>
 
       <td style="text-align: center;">3.0</td>
       <td>Imposta l'oggetto indicato come fissato (true) o libero (false). {{Note|1= Gli oggetti fissati non possono essere modificati.}}  </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>
Riga 152: Riga 146:
 
       <td>void setPointSize(nome, intero)</td>
 
       <td>void setPointSize(nome, intero)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
       <td>Imposta le dimensioni (da 1 a 9) del punto indicato.</td>
+
       <td>Imposta la dimensione (da 1 a 9) del punto indicato.</td>
    </tr>
+
    </tr><tr><td>void setDisplayStyle(Stringa NomeOggetto, Stringa Stile)</td><td style="text-align: center;">5.0</td><td>Imposta lo stile di visualizzazione di un oggetto. Lo stile deve essere scelto tra "parametric", "explicit", "implicit", "specific"</td></tr><tr>
    <tr>
 
 
       <td>void setFilling(nome, numero)</td>
 
       <td>void setFilling(nome, numero)</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
Riga 162: Riga 155:
 
       <td>String getPNGBase64(scala, booleano trasparenza, DPI)</td>
 
       <td>String getPNGBase64(scala, booleano trasparenza, DPI)</td>
 
       <td style="text-align: center;">4.0</td>
 
       <td style="text-align: center;">4.0</td>
       <td>Restituisce la vista Grafici 1 come stringa codificata in base64<br>     </td>
+
       <td>Restituisce la vista Grafici attiva come stringa codificata in base64<br>ad es. var str = ggbApplet.getPNGBase64(1, true, 72); <br> L'impostazione relativa ai DPI crea rallentamenti, impostarla come <code>undefined</code> se non è strettamente necessaria.      </td>
 +
  </tr>
 +
  <tr>
 +
    <td>void getScreenshotBase64(funzione callback)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
    <td>Ottiene una schermata dell'applet in formato PNG e la invia alla funzione callback come stringa codificata base64. Esempio: <code>
 +
ggbApplet.getScreenshotBase64(function(url){window.open("data:image/png;base64,"+url);});</code><br><b>Solo ad uso interno, potrebbe non funzionare in tutti i  browser</b></td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
 
       <td>boolean writePNGtoFile(nome file, scala, booleano trasparenza, DPI)
 
       <td>boolean writePNGtoFile(nome file, scala, booleano trasparenza, DPI)
 
</td>
 
</td>
       <td style="text-align: center;">4.0 (solo Java)</td>
+
       <td style="text-align: center;">4.0 </td>
       <td>Esporta la vista Grafici 1 in un file .PNG '''(solo applet con firma)''' <br>
+
       <td>Esporta la vista Grafici attiva in un file .PNG. L'impostazione dei DPI crea rallentamenti, impostarla come <code>undefined</code> se non è strettamente necessaria. <br>
</td>
+
ad es. var success = ggbApplet.writePNGtoFile("miaImmagine.png", 1, false, 72);      </td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
Riga 192: Riga 191:
 
       <td>String getBase64(funzione callback)
 
       <td>String getBase64(funzione callback)
 
</td>
 
</td>
       <td style="text-align: center;">4.2 (solo HTML5 )</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>
 
       <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)
+
       <td>void setBase64(stringa [, funzione callback])
 
</td>
 
</td>
 
       <td style="text-align: center;">4.0</td>
 
       <td style="text-align: center;">4.0</td>
       <td> Imposta la costruzione corrente a partire da un file .ggb con codifica base64.</td>
+
       <td> Imposta la costruzione corrente a partire da un file .ggb con codifica base64. Se viene specificata una funzione callback, viene chiamata dopo il caricamento del file.</td>
 
</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 234: Riga 233:
 
     </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 250: Riga 282:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>double getYcoord(nome)</td>
+
       <td>double getYcoord(Stringa nomeOggetto)</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td>Restituisce l'ordinata dell'oggetto avente il nome indicato.
 
       <td>Restituisce l'ordinata dell'oggetto avente il nome indicato.
 +
{{Note|1= Restituisce 0 se l'oggetto non è un punto o un vettore.}}</td>
 +
</tr>
 +
<tr>
 +
      <td>double getZcoord(Stringa nomeOggetto)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Restituisce la coordinata ''z'' dell'oggetto avente il nome indicato.
 
  {{Note|1= Restituisce 0 se l'oggetto non è un punto o un vettore.}}</td>
 
  {{Note|1= Restituisce 0 se l'oggetto non è un punto o un vettore.}}</td>
 
     </tr>
 
     </tr>
Riga 259: Riga 297:
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td>Restituisce il valore dell'oggetto indicato (ad es. la lunghezza di un segmento, l'area di un poligono).   
 
       <td>Restituisce il valore dell'oggetto indicato (ad es. la lunghezza di un segmento, l'area di un poligono).   
 +
{{Note|1= Restituisce 1 se l'oggetto è una variabile booleana a valore ''true''. In ogni altro caso restituisce 0.}}<br>
 +
    </td>
 +
    </tr>
 +
    <tr>
 +
      <td>double getListValue(Stringa Nome oggetto, Indice intero)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Restituisce il valore dell'oggetto della lista (avente il nome indicato) che occupa la posizione indicata dall'indice.
 
  {{Note|1= Restituisce 1 se l'oggetto è una variabile booleana a valore ''true''. In ogni altro caso restituisce 0.}}<br>
 
  {{Note|1= Restituisce 1 se l'oggetto è una variabile booleana a valore ''true''. In ogni altro caso restituisce 0.}}<br>
 
       </td>
 
       </td>
Riga 283: Riga 328:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>String getDefinitionString(nome) </td>
+
       <td>String getDefinitionString(stringa nomeOggetto [, booleano usaInputLocalizzato]) </td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Restituisce una stringa contenente la definizione dell'oggetto indicato.</td>
+
       <td>Restituisce una stringa contenente la descrizione dell'oggetto indicato. Se usaInputLocalizzato è 'false', restituisce il comando in inglese, altrimenti nella lingua corrente della GUI. Nota: L'input localizzato utilizza parentesi tonde, quello non localizzato utilizza parentesi quadre.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>String getCommandString(nome)</td>
+
       <td>String getLaTeXString(stringa nomeOggetto)</td><td>5.0</td><td>Restituisce il valore dell'oggetto indicato, in sintassi LaTeX</td>
       <td style="text-align: center;">2.7</td>
+
  </tr>
       <td>Restituisce una stringa contenente il comando utilizzato per generare l'oggetto indicato.</td>
+
  <tr>
 +
<td>String getLaTeXBase64(stringa nomeOggetto, valore booleano)</td><td>5.0</td><td>Restituisce un immagine PNG codificata in base64, contenente l'oggetto come LaTeX. Se valore = false l'oggetto viene rappresentato con la definizione, se valore=true viene utilizzato il valore dell'oggetto.</td></tr><tr>
 +
      <td>Stringa getCommandString(Stringa NomeOggetto [, booleano usaInputLocalizzato])</td>
 +
       <td style="text-align: center;">5.0</td>
 +
       <td>Restituisce una stringa contenente il comando relativo all'oggetto avente il nome indicato. Se usaInputLocalizzato è ''false'', restituisce il comando in inglese, altrimenti nel linguaggio correntemente selezionato nella GUI. Nota: L'input localizzato utilizza parentesi tonde, quello non localizzato utilizza parentesi quadre</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
Riga 307: Riga 356:
 
       <td>Restituisce un booleano che indica se il valore dell'oggetto indicato è correntemente valido (true) o no (false).</td>
 
       <td>Restituisce un booleano che indica se il valore dell'oggetto indicato è correntemente valido (true) o no (false).</td>
 
     </tr>
 
     </tr>
 +
        <tr>
 +
<td>String [] getAllObjectNames([tipo stringa])<br>
 +
<small style="font-style: italic; font-weight: bold;">Deprecato dalla v.3.0</small> </td>
 +
<td style="text-align: center;">2.7</td>
 +
      <td>Restituisce un elenco di tutti i nomi degli oggetti presenti nella costruzione. Se viene inserito un parametro per il tipo, vengono elencati solo gli oggetti di quel tipo.</td>
 +
</tr>
 
         <tr>
 
         <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>
Riga 346: Riga 406:
 
       <td style="text-align: center;">3.2</td>
 
       <td style="text-align: center;">3.2</td>
 
       <td>Rileva il riempimento (da 0 a 1) dell'oggetto indicato.</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 351: 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 360: Riga 435:
 
       <td>void setMode(numero modalità)</td>
 
       <td>void setMode(numero modalità)</td>
 
       <td style="text-align: center;">2.7</td>
 
       <td style="text-align: center;">2.7</td>
       <td>Imposta la modalità (cioè lo strumento selezionato) nella vista Grafici.
+
       <td>Imposta la modalità del mouse (cioè lo strumento selezionato) nella vista Grafici.
 
{{Example|1=<code>setMode(0) </code> per impostare la modalità Muovi.}}
 
{{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>
 
(vedere [[Riferimenti:Barra degli strumenti|Riferimenti: barra degli strumenti]] e i [[Riferimenti:Parametri_applet|parametri dell'applet]] "showToolBar"  e "customToolBar"  )</td>
    </tr>
+
  </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>
    <tr>
+
        <td>void openFile(stringa URL)</td>
      <td>void openFile(stringa URL)</td>
 
 
       <td style="text-align: center;">2.7 (Solo Java)</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>
Riga 373: 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 385: Riga 465:
 
       <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 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>
 
       <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>
Riga 408: Riga 501:
 
       <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 Grafici.
 
       <td>Imposta il sistema di coordinate cartesiane della vista Grafici.
{{Example|1=<code>setCoordSystem(-5,10,-1,20)</code>}}</td>
+
  </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(booleano asseX, booleano asseY)</td>
 
       <td>void setAxesVisible(booleano asseX, booleano asseY)</td>
 
       <td style="text-align: center;">3.0</td>
 
       <td style="text-align: center;">3.0</td>
       <td>Mostra o nasconde gli assi x e y del sistema di coordinate della vista Grafici.
+
       <td>Mostra o nasconde gli assi ''x'' e ''y'' del sistema di coordinate della ''vista Grafici'' 1 e 2.</td>
{{Example|1=<code>setAxesVisible(true, false)</code>}}</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(booleano) </td>
 
       <td>void setGridVisible(booleano) </td>
 
       <td style="text-align: center;">3.0</td>
 
       <td style="text-align: center;">3.0</td>
       <td>Mostra (true) o nasconde (false) la griglia della vista Grafici.</td>
+
       <td>Mostra (true) o nasconde (false) la griglia della ''vista Grafici'' 1 e 2.</td>
 +
    </tr>
 +
<tr>
 +
      <td>void setGridVisible(int NumeroVista, booleano) </td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Mostra (true) o nasconde (false) la griglia della ''vista Grafici indicata''.</td>
 +
    </tr>
 +
<tr>
 +
    <td>getGridVisible(int numeroVista)</td>
 +
    <td style="text-align: center;">5.0</td>
 +
    <td>Restituisce ''true'' se la griglia è visibile nella ''vista'' indicata. Se il numero della vista viene omesso, restituisce se la griglia è visibile nella prima ''vista Grafici''.</td>
 +
    </tr>
 +
<tr>
 +
      <td>getPerspectiveXML()</td>
 +
    <td style="text-align: center;">5.0</td>
 +
      <td>Restituisce una rappresentazione XML della ''Raccolta viste'' attiva.</td>
 +
</tr>
 +
<tr>
 +
      <td>undo()</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Annulla l'ultima azione dell'utente. </td>
 +
    </tr>
 +
<tr>
 +
      <td>redo()</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Ripete un'azione dell'utente. </td>
 +
  </tr>
 +
<tr>
 +
      <td>showToolBar(booleano mostra)</td>
 +
      <td style="text-align: center;">HTML5</td>
 +
      <td>Imposta la visibilità della barra degli strumenti</td>
 +
    </tr><tr><td>setCustomToolBar(Stringa barra strumenti)</td><td>5.0</td><td>Imposta il layout della barra degli strumenti principale, vedere [[Riferimenti:Barra degli strumenti]] per ulteriori dettagli</td></tr><tr>
 +
      <td>showMenuBar(booleano mostra)</td>
 +
      <td style="text-align: center;">HTML5</td>
 +
      <td>Imposta la visibilità della barra dei menu</td>
 +
    </tr>
 +
<tr>
 +
      <td>showAlgebraInput(booleano mostra)</td>
 +
      <td style="text-align: center;">HTML5</td>
 +
      <td>Imposta la visibilità della barra di inserimento</td>
 +
    </tr>
 +
<tr>
 +
      <td>showResetIcon(booleano mostra)</td>
 +
      <td style="text-align: center;">HTML5</td>
 +
      <td>Imposta la visibilità dell'icona di ripristino</td>
 +
    </tr>
 +
<tr>
 +
      <td>enableRightClick(booleano abilita)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Abilita o disabilita le funzionalità del clic destro</td>
 +
    </tr>
 +
<tr>
 +
      <td>enableLabelDrags(booleano abilita)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Abilita o disabilita il trascinamento delle etichette degli oggetti</td>
 +
    </tr>
 +
<tr>
 +
      <td>enableShiftDragZoom(booleano abilita)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Abilita o disabilita lo zoom e il trascinamento della vista con il mouse o la tastiera</td>
 +
</tr>
 +
<tr>
 +
<td>enableCAS(booleano abilita)</td>
 +
<td style="text-align: center;">5.0</td>
 +
<td>Abilita o disabilita le funzionalità CAS (sia per la visualizzazione che nei comandi)</td>
 +
</tr>
 +
<tr>
 +
  <td>enable3D(booleano abilita)</td>
 +
  <td style="text-align: center;">5.0</td>
 +
      <td>Abilita o disabilita la vista 3D</td>
 +
    </tr>
 +
    <tr>
 +
      <td>void setPerspective(stringa raccoltaViste)</td>
 +
      <td style="text-align: center;">5.0</td>
 +
      <td>Modifica le viste aperte, vedere [[Comando_ImpInterfaccia]] per l'interpretazione della stringa.<br>
 +
      </td>
 +
  </tr>
 +
<tr>
 +
      <td>setWidth(int larghezza)</td>
 +
      <td style="text-align: center;">5.0 (HTML5)</td>
 +
      <td>Modifica la larghezza dell'applet (in pixel)</td>
 +
    </tr>
 +
<tr>
 +
      <td>setHeight(int altezza)</td>
 +
      <td style="text-align: center;">5.0 (HTML5)</td>
 +
      <td>Modifica l'altezza dell'applet (in pixel)</td>
 +
    </tr>
 +
<tr>
 +
      <td>setSize(int larghezza, int altezza)</td>
 +
      <td style="text-align: center;">5.0 (HTML5)</td>
 +
      <td>Modifica larghezza e altezza dell'applet (in pixel)</td>
 +
</tr>
 +
<tr>
 +
      <td>recalculateEnvironments()</td>
 +
      <td style="text-align: center;">5.0 (HTML5)</td>
 +
      <td>Aggiorna l'applet dopo lo scaling da CSS esterno</td>
 
     </tr>
 
     </tr>
 
</table>
 
</table>
  
=Comunicazione tra GeoGebraApplet e JavaScript=
+
=Listener degli eventi=
  
I seguenti metodi consentono l'implementazione della comunicazione tra Applet e JavaScript. Assicurarsi di avere inserito l'opzione <span class="term"><span class="highlightedSearchTerm"><span style="font-weight: bold;">MAYSCRIPT</span> al termine della prima riga di tag dell'applet ogni volta che si utilizzano i metodi indicati di seguito. Ad esempio:
+
I seguenti metodi consentono l'implementazione della comunicazione tra Applet e JavaScript.  
 
+
Tali metodi possono essere utilizzati ad esempio per:  
<span style="font-family: monospace;">&lt;applet name="ggbApplet" code="geogebra.GeoGebraApplet" codebase="." archive="geogebra.jar" width="500" height="250" </span><span style="font-weight: bold; font-family: monospace; color: rgb(255, 0, 0);">MAYSCRIPT</span><span style="font-family: monospace;">&gt;</span>.
+
* monitorare le attività dell'utente (vedere [http://dev.geogebra.org/examples/html/example8.html Esempio con listener di eventi])
L'opzione <span class="highlightedSearchTerm">MAYSCRIPT</span>  <span class="highlightedSearchTerm"> è </span> necessaria solo per la comunicazione da GeoGebraApplet a JavaScript; non <span class="highlightedSearchTerm">è</span> necessaria a JavaScript per accedere ai metodi di GeoGebraApplet.  
+
* stabilire una comunicazione tra due applet di GeoGebra (vedere [http://dev.geogebra.org/examples/html/example9.html Esempio con due applet])
Ad esempio, questi metodi possono essere utilizzati per:
+
<table class="pretty" style="width: 100%;">
* monitorare le attività dell'utente (vedere [http://www.geogebra.org/source/program/applet/geogebra_applet_java2javascript.htm esempio java2javascript])
 
* stabilire una comunicazione tra due applet di GeoGebra (vedere [http://www.geogebra.org/source/program/applet/geogebra_applet_java2java.htm esempio java2java])
 
<table style="width: 100%;" class="pretty">
 
 
  <tr>
 
  <tr>
 
  <th>Segnatura del metodo</th>
 
  <th>Segnatura del metodo</th>
Riga 477: Riga 689:
 
{{Example|1= 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.registerUpdateListener("miaFunzioneAggiornaListener");</span> </div>
 
<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<br>
+
Quando viene aggiornato un oggetto "A", l'applet di GeoGebra chiama la funzione Javascript
<div style="margin-left: 40px;"><span style="font-family: monospace;">miaFunzioneAggiornaListener</span><span style="font-family: monospace;">("</span><span style="font-family: monospace;">A");<br>
+
<div><span style="font-family: monospace;">myUpdateListenerFunction("A");</span></div>
</span></div>}}
+
  </td>
</td>
 
 
  </tr>
 
  </tr>
 
  <tr>
 
  <tr>
Riga 486: Riga 697:
 
  <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 ''update listener'' precedentemente registrato, vedere <span style="font-style: italic;">registerUpdateListener()</span></td>
 +
</tr>
 +
<tr>
 +
<td>void registerClickListener(Stringa nomeFunzioneJS)</td>
 +
<td style="text-align: center;">5.0</td>
 +
<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>
 +
</tr>
 +
<tr>
 +
<td>void unregisterClickListener(Stringa nomeOggetto)</td>
 +
<td style="text-align: center;">3.0</td>
 +
<td>Rimuove un listener di clic precedentemente registrato, vedere <span style="font-style: italic;">registerClickListener()</span></td>
 
  </tr>
 
  </tr>
 
  <tr>
 
  <tr>
Riga 504: Riga 727:
 
  <td style="text-align: center;">3.0</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>
 
  <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>
 +
Nota: un listener di aggiornamento di un oggetto funziona anche dopo che l'oggetto viene rinominato.<span style="font-family: monospace;"></span>
 +
</td>
 +
</tr>
 +
<tr>
 +
<td>void unregisterObjectClickListener(Stringa nomeOggetto)</td>
 +
<td style="text-align: center;">5.0</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>
Riga 532: Riga 773:
 
  </tr>
 
  </tr>
 
  <tr>
 
  <tr>
  <td>void unregisterClearListener(nome funzione JS)</td>
+
  <td>void unregisterClearListener(stringa nomeFunzioneJS)</td>
 
  <td style="text-align: center;">3.0</td>
 
  <td style="text-align: center;">3.0</td>
  <td>Rimuove un ''clear listener'' precedentemente registrato, vedere <span style="font-style: italic;">registerClearListener()</span></td>
+
  <td>Rimuove un ''clear listener'' precedentemente registrato, vedere ''registerClearListener()''
 +
</td>
 
  </tr>
 
  </tr>
 +
<tr>
 +
<td>
 +
void registerStoreUndoListener(Stringa nomeFunzioneJS)
 +
</td>
 +
<td>
 +
4.4
 +
</td>
 +
<td>Registra un listener che viene chiamato (senza argomenti) ogni volta che viene creato un annullamento.</td>
 +
</tr>
 +
<tr>
 +
<td>void unregisterStoreUndoListener(Stringa nomeFunzioneJS)
 +
</td>
 +
<td>
 +
4.4
 +
</td>
 +
<td>
 +
Rimuove il listener precedentemente registrato per memorizzare gli annullamenti, vedere registerStoreUndoListener
 +
</td>
 +
</tr>
 
</table>
 
</table>
  
Riga 541: Riga 802:
  
 
Con questi metodi è possibile impostare la costruzione (vedere [[Riferimenti:XML|Riferimenti XML]] ).
 
Con questi metodi è possibile impostare la costruzione (vedere [[Riferimenti:XML|Riferimenti XML]] ).
<table style="width: 100%;" class="pretty">
+
<table class="pretty" style="width: 100%;">
 
     <tr>
 
     <tr>
 
       <th>Segnatura del metodo</th>
 
       <th>Segnatura del metodo</th>
Riga 584: 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>
Riga 591: Riga 851:
 
       <th>Descrizione</th>
 
       <th>Descrizione</th>
 
         </tr>
 
         </tr>
    <tr>
 
      <td>String getIPAddress()</td>
 
      <td style="text-align: center;">3.2 (Solo Java)</td>
 
      <td>Restituisce l'indirizzo IP del computer locale, come stringa. - ad es. "192.168.0.4"
 
      </td>
 
    </tr>
 
    <tr>
 
      <td>String getHostname() </td>
 
      <td style="text-align: center;">3.2 (Solo Java)</td>
 
      <td>Restituisce il nome host del computer locale come stringa.
 
      </td>
 
    </tr>
 
 
     <tr>
 
     <tr>
 
       <td>void debug(stringa) </td>
 
       <td>void debug(stringa) </td>
Riga 608: Riga 856:
 
       <td>Stampa la stringa indicata nella Console Java.
 
       <td>Stampa la stringa indicata nella Console Java.
 
       </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 ==
 
== Ottenere l'oggetto applet ==
Generalmente l'applet è memorizzata in una variabile globale ggbApplet. Ciò non si verifica nei seguenti casi:
+
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.
* se sono presenti più applet in una singola pagina, per impostazione predefinita una sola è accessibile da JavaScript. Per accedere a più applet è necessario impostare il parametro "id" alle applet, in modo da assegnare un nome univoco alla variabile globale che identifica ciascuna di esse
 
* se l'esportazione è stata fatta da GeoGebra 4.0 o versioni precedenti: l'applet è accessibile come document.applets[0], le altre applet nella stessa pagina saranno indicate come  document.applets[1], etc...
 
 
 
[[en:Reference:JavaScript]]
 
[[es:Referencia:JavaScript]]
 
[[fr:Référence:JavaScript]]
 
[[Categoria:Riferimenti|JavaScript]]
 

Versione attuale delle 16:49, 10 mag 2019

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


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

Esempi

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

Note: Gli argomenti tra parentesi quadre possono essere omessi.

Comandi e punti di annullamento

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

String[] evalCommandGetLabels(Stringa cmdString)5.0Come evalCommand(), ma il valore restituito è una stringa contenente una lista di etichette degli oggetti creati, separate da virgole. Ad esempio: eg "A, B, C".
String evalCommandCAS(Stringa stringa) 3.2 Passa la stringa al CAS di GeoGebra e restituisce il risultato come stringa.
void setUndoPoint() 3.2 Imposta un punto di annullamento. Utile se si vuole fare in modo che l'utente possa annullare l'azione di evalCommand, ad esempio nel caso in cui sia stato creato un pulsante HTML che agisce da strumento personalizzato

Impostare lo stato degli oggetti

Metodi generali

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

Animazione automatica

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


Verifica automatica degli esercizi (beta)

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

Un esempio che utilizza tali funzioni API è disponibile qui:

  http://dev.geogebra.org/examples/html/example10.html

Ottenere lo stato degli oggetti

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

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

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

Costruzione / Interfaccia utente

Segnatura del metodo Da Descrizione
void setMode(numero modalità) 2.7 Imposta la modalità del mouse (cioè lo strumento selezionato) nella vista Grafici.
Esempio: setMode(0) per impostare la modalità Muovi.
(vedere Riferimenti: barra degli strumenti e i parametri dell'applet "showToolBar" e "customToolBar" )
int getMode()5.0Ottiene la modalità del mouse (cioè lo strumento selezionato). Vedere Riferimenti: barra degli strumenti per ulteriori dettagli
void openFile(stringa URL) 2.7 (Solo Java) Apre una costruzione presente in un file (indicato da una stringa con URL assoluto o relativo)
void reset() 2.7 Ricarica la costruzione iniziale (indicata nel parametro filename) dell'applet corrente.
void newConstruction() 2.7 Rimuove tutti gli oggetti della costruzione
void refreshViews() 2.7 Aggiorna tutte le Viste.
Note: Tutte le tracce presenti nella vista Grafici saranno eliminate.
void setOnTheFlyPointCreationActive(booleano)
3.2 Attiva (true) o disattiva (false) la creazione immediata di punti nella vista Grafici.
Note: Utile per evitare la creazione di punti come "effetto collaterale" di uno strumento. Ad esempio, quando questa flag è false, lo strumento "Retta - per due punti" non crea punti quando si fa clic nella vista Grafici.
void setPointCapture(vista, modo)
5.0
void setRounding(stringa arrotonda)
5.0 La stringa è composta da numeri e contrassegni, "s" per le cifre significative, "d" per le posizioni decimali (predefinito). Gli interi JavaScript sono inviati alla stringa automaticamente. Esempio: "10s", "5", 3
void hideCursorWhenDragging(booleano)
3.2 Nasconde (true) o mostra (false) il cursore del mouse (puntatore) quando si trascina un oggetto per modificare la costruzione.
void setRepaintingActive(booleano)
2.7 Attiva (true) o disattiva (false) il ricalcolo dell'applet.
Note: Questo metodo è efficiente specialmente quando vengono invocati più metodi.
void setErrorDialogsActive(booleano) 3.0 Attiva (true) o disattiva (false) la visualizzazione di finestre di dialogo relative agli errori.
Note: Molto utile se utilizzato assieme a evalCommand().
void setCoordSystem(xmin, xmax, ymin, ymax) 3.0 Imposta il sistema di coordinate cartesiane della vista Grafici.
void setCoordSystem(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, booleano yVerticale) 5.0 Imposta il sistema di coordinate cartesiane della vista Grafici 3D. L'ultimo parametro indica se l'asse y deve essere orientato verticalmente.
void setAxesVisible(booleano asseX, booleano asseY) 3.0 Mostra o nasconde gli assi x e y del sistema di coordinate della vista Grafici 1 e 2.
void setAxesVisible(int NumeroVista, booleano asseX, booleano asseY, booleano asseZ) 5.0 Mostra o nasconde gli assi x, y e z del sistema di coordinate nella vista Grafici indicata
Esempio: ggbApplet.setAxesVisible(3, false, true, true)
void setAxisLabels(int NumeroVista, booleano asseX, booleano asseY, booleano asseZ) 5.0 Imposta l'etichetta degli assi x, y, z del sistema di coordinate della vista Grafici indicata.
Esempio: ggbApplet.setAxisLabels(3,"larg","lung","area")
void setAxisSteps(int NumeroVista, booleano asseX, booleano asseY, booleano asseZ) 5.0 Imposta le distanze sugli assi x, y, z del sistema di coordinate della vista Grafici indicata.
Esempio: ggbApplet.setAxisSteps(3, 2,1,0.5)
void setAxisUnits(int NumeroVista, booleano asseX, booleano asseY, booleano asseZ) 5.0 Imposta le unità sugli assi x, y, z del sistema di coordinate della vista Grafici indicata.
Esempio: ggbApplet.setAxisUnits(3, "cm","cm","cm²")
void setGridVisible(booleano) 3.0 Mostra (true) o nasconde (false) la griglia della vista Grafici 1 e 2.
void setGridVisible(int NumeroVista, booleano) 5.0 Mostra (true) o nasconde (false) la griglia della vista Grafici indicata.
getGridVisible(int numeroVista) 5.0 Restituisce true se la griglia è visibile nella vista indicata. Se il numero della vista viene omesso, restituisce se la griglia è visibile nella prima vista Grafici.
getPerspectiveXML() 5.0 Restituisce una rappresentazione XML della Raccolta viste attiva.
undo() 5.0 Annulla l'ultima azione dell'utente.
redo() 5.0 Ripete un'azione dell'utente.
showToolBar(booleano mostra) HTML5 Imposta la visibilità della barra degli strumenti
setCustomToolBar(Stringa barra strumenti)5.0Imposta il layout della barra degli strumenti principale, vedere Riferimenti:Barra degli strumenti per ulteriori dettagli
showMenuBar(booleano mostra) HTML5 Imposta la visibilità della barra dei menu
showAlgebraInput(booleano mostra) HTML5 Imposta la visibilità della barra di inserimento
showResetIcon(booleano mostra) HTML5 Imposta la visibilità dell'icona di ripristino
enableRightClick(booleano abilita) 5.0 Abilita o disabilita le funzionalità del clic destro
enableLabelDrags(booleano abilita) 5.0 Abilita o disabilita il trascinamento delle etichette degli oggetti
enableShiftDragZoom(booleano abilita) 5.0 Abilita o disabilita lo zoom e il trascinamento della vista con il mouse o la tastiera
enableCAS(booleano abilita) 5.0 Abilita o disabilita le funzionalità CAS (sia per la visualizzazione che nei comandi)
enable3D(booleano abilita) 5.0 Abilita o disabilita la vista 3D
void setPerspective(stringa raccoltaViste) 5.0 Modifica le viste aperte, vedere Comando_ImpInterfaccia per l'interpretazione della stringa.
setWidth(int larghezza) 5.0 (HTML5) Modifica la larghezza dell'applet (in pixel)
setHeight(int altezza) 5.0 (HTML5) Modifica l'altezza dell'applet (in pixel)
setSize(int larghezza, int altezza) 5.0 (HTML5) Modifica larghezza e altezza dell'applet (in pixel)
recalculateEnvironments() 5.0 (HTML5) Aggiorna l'applet dopo lo scaling da CSS esterno

Listener degli eventi

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

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

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

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

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

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

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

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

ggbApplet.registerUpdateListener("miaFunzioneAggiornaListener");

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

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

>

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

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

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

miaFunzioneListenerAggOgg("A");
Note: Un update listener di un oggetto continua a funzionare anche dopo che l'oggetto viene rinominato.
void unregisterObjectUpdateListener(nome) 3.0 Rimuove un update listener precedentemente registrato, relativo all'oggetto avente il nome indicato, vedere registerObjectUpdateListener()
void registerObjectClickListener(String objName, Stringa nomeFfunzioneJS) 5.0 Registra una funzione JavaScript come listener di clic di un singolo oggetto. Quando si fa clic sull'oggetto avente il nome indicato, la funzione JavaScript nomeFunzioneJSviene chiamata utilizzando il nome dell'oggetto aggiornato come unico argomento. Se nomeOggetto ha una funzione di mapping JavaScript, verrà sostituito il vecchio valore. Nota: tutti i listener di clic di oggetti vengono de-registrati quando il relativo oggetto viene rimosso o la costruzione viene svuotata, vedere registerRemoveListener() and registerClearListener().

Esempio: Registrare innanzitutto una funzione di listening JavaScript:

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

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

miaFunzioneListenerAggiornamentoA("A");

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

void unregisterObjectClickListener(Stringa nomeOggetto) 5.0 Rimuove il listener di clic di un oggetto precedentemente registrato con il nome indicato, vedere registerObjectClickListener()
void registerRenameListener(nome funzione JS) 3.0 Registra una funzione JavaScript come rename listener per la costruzione dell'applet. Ogniqualvolta un oggetto viene rinominato nella costruzione, viene chiamata la funzione JavaScript dal nome indicato e avente per argomenti il vecchio nome e il nuovo nome dell'oggetto.
Esempio: Registrare innanzitutto una funzione listener JavaScript:
ggbApplet.registerRenameListener("miaFunzioneListenerRinomina");

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

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

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

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

miaFunzioneListenerSvuota();
void unregisterClearListener(stringa nomeFunzioneJS) 3.0 Rimuove un clear listener precedentemente registrato, vedere registerClearListener()

void registerStoreUndoListener(Stringa nomeFunzioneJS)

4.4

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

4.4

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

Il formato XML di GeoGebra

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

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

Varie

Segnatura del metodo Da Descrizione
void debug(stringa) 3.2 Stampa la stringa indicata nella Console Java.
String getVersion()5.0Restituisce la versione di GeoGebra

Ottenere l'oggetto applet

Generalmente l'applet è memorizzata in una variabile globale ggbApplet: se sono presenti più applet in una singola pagina, per impostazione predefinita una sola è accessibile da JavaScript. Per accedere a più applet è necessario impostare il parametro "id" alle applet, in modo da assegnare un nome univoco alla variabile globale che identifica ciascuna di esse.

© 2024 International GeoGebra Institute