<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [

  <!ENTITY kappname "&rocs;">
  <!ENTITY package "kdeedu">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % Italian "INCLUDE"
> 
]>
<book lang="&language;">

<bookinfo>
<title
>Manuale di &rocs;</title>
<authorgroup>
<author
><personname
> <firstname
>Tomaz</firstname
> <surname
>Canabrava</surname
> </personname
> <email
>tomaz.canabrava@gmail.com</email
> </author>
<othercredit role="translator"
><firstname
>Federico</firstname
><surname
>Zenith</surname
><affiliation
><address
><email
>federico.zenith@member.fsf.org</email
></address
></affiliation
><contrib
>Manutenzione della traduzione</contrib
></othercredit
> <othercredit role="translator"
><firstname
>Francesco</firstname
><surname
>Nigro</surname
><contrib
>Traduzione della documentazione</contrib
></othercredit
> 
</authorgroup>

<copyright>
<year
>2009</year>
<holder
>Tomaz Canabrava</holder>
</copyright>
<legalnotice
>&FDLNotice;</legalnotice>

<date
>2009-11-05</date>
<releaseinfo
>1.0</releaseinfo>

<abstract>
<para
>&rocs; è un visore per lo studio della teoria dei grafi per KDE.  </para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>kdeedu</keyword>
<keyword
>matematica</keyword>
<keyword
>matematica</keyword>
<keyword
>grafi</keyword>
<keyword
>nodo</keyword>
<keyword
>arco</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction">
<title
>Introduzione</title>
<para
>&rocs; punta ad essere uno strumento di sviluppo per la teoria dei grafi, ad aiutare i docenti a mostrare i risultati di un algoritmo su un grafo, e gli studenti a realizzare gli algoritmi.</para>

<para
>&rocs; utilizza un modulo per gli script, realizzato in Qt Script, che interagisce con il grafo tracciato; ogni cambiamento apportato al grafo tramite uno script è riportato su quello tracciato.</para>
</chapter>

<chapter id="using-rocs">
<title
>Uso di &rocs;</title>
<para
>L'interfaccia utente si divide in due parti: </para
> 

<itemizedlist>
<listitem
><para
>la parte in alto a destra è dove tracci i grafi, quella in basso a destra è dove crei gli algoritmi, </para
></listitem>
<listitem
><para
>la barra laterale sinistra contiene i grafi aperti; ne puoi aprire diversi per ogni file. </para
></listitem>
</itemizedlist>


<sect1 id="rocs-features">
<title
>Impostazioni globali di &rocs;</title>
<para
>La barra laterale sinistra contiene delle opzioni di ogni grafo aperto; tutte queste opzioni sono globali per il grafo e possono essere cambiate per ogni nodo o arco con la finestra <guilabel
>Proprietà del nodo</guilabel
> e <guilabel
>Proprietà dell'arco</guilabel
>.</para>
<itemizedlist>
<listitem
><para>
<guilabel
>Nome del grafo</guilabel>
</para
></listitem>
<listitem
><para
>Il <guilabel
>Colore dei nodi</guilabel
> si applica ai nuovi nodi creati; puoi cambiare il colore di tutti nodi presenti facendo clic sul pulsante <guibutton
>Tutti</guibutton
>. </para
></listitem>
<listitem
><para>
<guilabel
>Colore degli archi</guilabel>
</para
></listitem>
</itemizedlist>
<para
>In fondo ci sono delle caselle:</para>
<itemizedlist>
<listitem
><para
><guilabel
>Mostra i nomi in:</guilabel
> <guilabel
>Nodi</guilabel
> o <guilabel
>Archi</guilabel
>. </para
></listitem>
<listitem
><para
><guilabel
>Mostra i valori in:</guilabel
> <guilabel
>Nodi</guilabel
> o <guilabel
>Archi</guilabel
>. </para
></listitem>
<!--listitem
><para>
<guilabel
>Graph is oriented</guilabel>
</para
></listitem>
<listitem
><para>
<guilabel
>Graph is Automate</guilabel>
</para
></listitem-->
</itemizedlist>
</sect1>

<sect1 id="rocs-toolbars">
<title
>Barre degli strumenti di &rocs;</title>
<para
>In alto ci sono due barre degli strumenti. La principale contiene gli strumenti seguenti:</para>
<itemizedlist>
<listitem
><para
><guilabel
>Sposta nodo</guilabel
>: sposta il nodo nell'area di disegno.</para
></listitem>
<listitem
><para
><guilabel
>Aggiungi nodo</guilabel
>: aggiunge un nuovo nodo dove si fa clic nell'area di disegno.</para
></listitem>
<listitem
><para
><guilabel
>Aggiungi arco</guilabel
>: crea un nuovo arco tra due nodi. </para
></listitem>
<listitem
><para
><guilabel
>Seleziona</guilabel
>: seleziona gli elementi facendoci clic.</para
></listitem>
<listitem
><para
><guilabel
>Elimina</guilabel
>: elimina gli elementi facendoci clic.</para
></listitem>
<listitem
><para
>Usa gli strumenti di allineamento per posizionare i nodi selezionati.</para
></listitem>
</itemizedlist>

<para
>Un clic con il &RMB; su un nodo o un arco presenta la sua finestra delle proprietà.</para>
<para
>La barra di disposizione contiene diverse icone per l'allineamento.</para>

<para
>Per allineare i nodi, usa lo strumento <guiicon
>Seleziona</guiicon
>, traccia un rettangolo e scegli l'allineamento che vuoi. </para>
</sect1>
</chapter>

<chapter id="scripting-rocs">
<title
>Script in &rocs;</title>
<para
>Una volta che il grafo è sullo schermo, puoi incominciare a creare degli script per manipolarlo. Il linguaggio usa la sintassi di Javascript, e di seguito sono presentati gli oggetti Grafo, Nodo ed Arco.</para>

<sect1 id="script-graph">
<title
>Grafo</title>
<programlisting
>array list_nodes();
     array list_edges();
     node add_node(name);
     edge add_edge(da, a);
     node node_byname(QString&amp; name);
     node begin_node();
     array end_nodes();
</programlisting
> 
<para
>Variabili modificabili dei grafi:</para>
<programlisting
>bool directed
     bool automate
     string name
     string nodeDefaultColor // in esadecimale
     string edgeDefaultColor  // in esadecimale 
</programlisting>
</sect1>

<sect1 id="script-nodes">
<title
>Nodi</title>
<programlisting
>array adj_nodes();
     array adj_edges();
     array  input_edges();
     array output_edges();
     array loop_edges();
     array connected_edges(Node *n);
     void self_remove();
</programlisting
> 
<para
>Variabili dei nodi:</para>
<programlisting
>double x
    double y
    double width
    string value
    string name
    string color  // in esadecimale
    bool begin
    bool end
</programlisting>
</sect1>

<sect1 id="script-edges">
<title
>Archi</title>
<programlisting
>string color ( em hexa )
    string value
    string name
    double width
    string style ( dot, dash, dash dot, solid )

    node start();
    node  end();

    void self_remove();
</programlisting
> 
</sect1>

<sect1 id="script-example">
<title
>Esempio</title>
<para
>Qui di seguito un semplice script di esempio che imposta il colore dei primi quattro nodi del primo grafo:</para>
<programlisting
>/* Un semplice esempio che imposta il colore dei primi 4 nodi del primo 
grafo: */
 
var colours = new Array("red", "green", "blue", "yellow");

/* graphs è un array di grafi; puoi accedere ad un grafo con l'indice 
dell'array o il suo nome. Se il grafo si chiama SenzaNome0, le istruzioni
seguenti sono corrette */
var list1= graphs[0].list_nodes(); //  prima forma.
var list2=SenzaNome0.list_nodes();              // seconda forma
 
 for ( var i = 0; i &lt; colours.length; i++){
        if (i 
> list2.length) break;
        list2[i].color = colours[i]
 }
</programlisting>
</sect1>

</chapter>

<chapter id="commands">
<title
>Guida ai comandi</title>

<sect1 id="rocs-mainwindow">
<title
>Menu e scorciatoie da tastiera</title>

<sect2>
<title
>Il menu <guimenu
>File</guimenu
></title>
<variablelist>
<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Ctrl;<keycap
>Q</keycap
></keycombo
> </shortcut
> <guimenu
>File</guimenu
> <guimenuitem
>Esci</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Esce</action
> da &rocs;.</para
></listitem>
</varlistentry>
</variablelist>

</sect2>


<sect2>
<title
>Il menu <guimenu
>Impostazioni</guimenu
></title>

<variablelist>
<varlistentry>
<term
><menuchoice
><guimenu
>Impostazioni</guimenu
> <guisubmenu
>Barre mostrate</guisubmenu
> </menuchoice
></term>
<listitem
><para
><action
>Commuta</action
> la visualizzazione delle barre degli strumenti <guimenuitem
>Principale</guimenuitem
> e di <guimenuitem
>Disposizione</guimenuitem
>.</para
></listitem>
</varlistentry>


<varlistentry>
<term
><menuchoice
><guimenu
>Impostazioni</guimenu
> <guimenuitem
>Mostra la barra di stato</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Commuta</action
> la visualizzazione della barra di stato.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Impostazioni</guimenu
> <guimenuitem
>Configura le scorciatoie</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Apri</action
> la finestra standard delle impostazioni di &kde; che permette di scegliere diverse scorciatoie da tastiera per diverse azioni. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Impostazioni</guimenu
> <guimenuitem
>Configura le barre degli strumenti</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Configura</action
> gli elementi che vuoi mettere nelle barre degli strumenti. </para
></listitem>
</varlistentry>

</variablelist>

</sect2>

<sect2>
<title
>Il menu <guimenu
>Aiuto</guimenu
></title>
&help.menu.documentation; </sect2>
</sect1>
</chapter>


<chapter id="credits">

<title
>Riconoscimenti e licenza</title>

<para
>&rocs; </para>
<para
>Copyright del programma 2009 di Tomaz Canabrava, tcanabrava@kde.org </para>

<para
>Copyright della documentazione 2009 di &Anne-Marie.Mahfouf; &Anne-Marie.Mahfouf.mail; e Tomaz Canabrava tcanabrava@kde.org </para>

<para
>Traduzione di Francesco Nigro e Federico Zenith<email
>federico.zenith@member.fsf.org</email
></para
> 
&underFDL; &underGPL; </chapter>

<appendix id="installation">
<title
>Installazione</title>

<sect1 id="getting-rocs">
<title
>Come ottenere &rocs;</title>
&install.intro.documentation; </sect1>

<sect1 id="compilation">
<title
>Compilazione e installazione</title>
&install.compile.documentation; </sect1>
</appendix>

&documentation.index;
</book>
<!--
Local Variables:
mode: sgml
sgml-minimize-attributes: nil
sgml-general-insert-case: lower
sgml-indent-step:0
sgml-indent-data:nil
End:
-->
