<sect1 id="scripting-backend-rootedtree">
<title
>API di scripting per il motore ad albero con radice</title>
<sect2>
<title
>Struttura di dati ad albero con radice</title>
<para
>La finestra delle proprietà delle strutture di dati permette di accedere alla configurazione delle impostazione del motore di grafi. Lì, spuntando la proprietà <guilabel
>Mostra tutti i puntatori</guilabel
>, verranno mostrati tutti i puntatori relativi ai nodi dell'albero. Togliendo la spunta, tutti i puntatori relativi allo stesso nodo saranno contratti in uno. </para>
</sect2>

<sect2>
<title
>Struttura ad albero con radice</title>
<para
>Data una struttura di dati del tipo <quote
>albero con radice</quote
>, si possono scrivere o leggere le seguenti proprietà: </para>
<programlisting
>ShowAllPointers     // vero per mostrare tutti gli archi, falso per comprimerli
</programlisting>
<para
>Data una struttura dati del tipo <quote
>albero con radice</quote
>, si possono richiamare le seguenti funzioni membro: </para>
<programlisting
>node add_data(string nome);         // aggiunge un nodo all'albero indicato dal nome
    void set_root_node(node radice);      // imposta la radice come nodo radice dell'albero
    node root_node();                   // restituisce il nodo radice dell'albero
</programlisting>
</sect2>

<sect2>
<title
>Nodi negli alberi con radice</title>
<para
>Dato un nodo del tipo <quote
>albero con radice</quote
>, si possono leggere o scrivere le seguenti proprietà: </para>
<programlisting
>int numberOfChilds                  // imposta il numero (ammissibile) di figli per questo nodo
    node left_child                     // sola lettura: nodo figlio sinistro
    node right_child                    // sola lettura: nodo figlio destro
    node node_parent                    // sola lettura: nodo genitore
</programlisting>
<para
>Data un nodo del tipo <quote
>albero con radice</quote
>, si possono richiamare le seguenti funzioni membro: </para>
<programlisting
>node add_left_child(node figlio);    // aggiungi un figlio sinistro
    node add_right_child(node figlio);   // aggiungi un figlio destro
    node add_child(node figlio, int n);  // aggiungi un figlio come ennesimo figlio del nodo
    node add_node_parent(node figlio);   // aggiungi un genitore (funziona solo se non esiste già un altro genitore)
    node left_child();                  // restituisce il figlio destro
    node right_child();                 // restituisce il figlio sinistro
    node child_at(int n);               // restituisce il figlio ennesimo del nodo
    node node_parent();                 // restituisce il genitore del nodo
</programlisting>
</sect2>

<sect2>
<title
>Archi negli alberi con radice</title>
<para
>Dati gli archi di una struttura di dati del tipo <quote
>albero con radice</quote
>, sono disponibili solo le proprietà della struttura di dati di base. </para>
</sect2>
</sect1>
