<?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 % Spanish "INCLUDE"
> 
]>
<book lang="&language;">

<bookinfo>
<title
>El manual de &rocs;</title>
<authorgroup>
<author
><personname
> <firstname
>Tomaz</firstname
> <surname
>Canabrava</surname
> </personname
> <email
>tomaz.canabrava@gmail.com</email
> </author>
<othercredit role="translator"
><firstname
>Leticia</firstname
><surname
>Martín Hernández</surname
><affiliation
><address
><email
>leticia.martin@gmail.com</email
></address
></affiliation
><contrib
>Traducción</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; es un visor de teoría de grafos para KDE. </para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
> kdeedu</keyword>
<keyword
>matemáticas</keyword>
<keyword
>matemáticas</keyword>
<keyword
>grafos</keyword>
<keyword
>nodo</keyword>
<keyword
>arista</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction">
<title
>Introducción</title>
<para
>&rocs; aspira a convertirse en un entorno de desarrollo integrado (o IDE, acrónimo en inglés de «integrated development environment») de teoría de grafos que ayude a los profesores a mostrar los resultados de un algoritmo gráfico y a los estudiantes a aplicar los algoritmos. </para>

<para
>&rocs; tiene un módulo de script, hecho en Qt Script, que interactúa con la gráfica dibujada de forma que cualquier cambio en la gráfica debido al script se ve reflejado en la gráfica dibujada. </para>
</chapter>

<chapter id="using-rocs">
<title
>Uso de &rocs;</title>
<para
>La interfaz del usuario está dividida en dos partes: </para
> 
<itemizedlist>
<listitem
><para
>la parte superior derecha es donde usted dibuja sus gráficas, y la parte inferior derecha es donde usted crea sus algoritmos; </para
></listitem>
<listitem
><para
>la barra lateral de la izquierda es donde permanecen todos los grafos que ha abierto; puede abrir múltiples grafos por archivo. </para
></listitem>
</itemizedlist>


<sect1 id="rocs-features">
<title
>Preferencias globales de &rocs;</title>
<para
>En la barra lateral de la izquierda puede encontrar las opciones para cada grafo abierto; estas opciones son globales para cada grafo y pueden ser modificadas para cada nodo y arista usando los cuadros de diálogo «Propiedades del nodo» y «Propiedades de la arista».</para>
<itemizedlist>
<listitem
><para>
<guilabel
>Nombre del grafo.</guilabel>
</para
></listitem>
<listitem
><para
><guilabel
>Color del nodo</guilabel
> se usa para los nodos creados recientemente; puede modificar el color de todos los nodos actuales pulsando el botón «Todo». </para
></listitem>
<listitem
><para>
<guilabel
>Color de la arista.</guilabel>
</para
></listitem>
</itemizedlist>
<para
>La última fila de opciones consiste en una serie de botones conmutables:</para>
<itemizedlist>
<listitem
><para>
<guilabel
>Grafo orientado.</guilabel>
</para
></listitem>
<listitem
><para>
<guilabel
>Grafo automatizado.</guilabel>
</para
></listitem>
<listitem
><para>
<guilabel
>Mostrar los nombres de los nodos.</guilabel>
</para
></listitem>
<listitem
><para>
<guilabel
>Mostrar los nombres de las aristas.</guilabel>
</para
></listitem>
<listitem
><para>
<guilabel
>Mostrar los valores de los nodos.</guilabel>
</para
></listitem>
<listitem
><para>
<guilabel
>Mostrar los valores de las aristas.</guilabel>
</para
></listitem>
</itemizedlist>
</sect1>

<sect1 id="rocs-toolbars">
<title
>Barras de herramientas de &rocs;</title>
<para
>En la parte superior hay dos barras de herramientas. La principal tiene las siguientes opciones:</para>
<itemizedlist>
<listitem
><para
><guilabel
>Mover nodo</guilabel
>: mueve un nodo a través del área de dibujo.</para
></listitem>
<listitem
><para
><guilabel
>Añadir nodo</guilabel
>: crea un nuevo nodo en la posición del área de dibujo sobre la que se haga clic. </para
></listitem>
<listitem
><para
><guilabel
>Añadir arista</guilabel
>: crea una nueva arista entre dos nodos.</para
></listitem>
<listitem
><para
><guilabel
>Seleccionar</guilabel
>: selecciona elementos haciendo clic en ellos. </para
></listitem>
<listitem
><para
><guilabel
>Borrar</guilabel
>: borra elementos haciendo clic en ellos. </para
></listitem>
</itemizedlist>

<para
>Si hace clic sobre un nodo o una arista con el botón derecho del ratón, aparecerá un cuadro de diálogo con las propiedades de ese nodo o de esa arista.</para>
<para
>La barra de herramientas de diseño consta de varios iconos para el alineamiento.</para>

<para
>Para alinear nodos, elija la herramienta <guiicon
>Seleccionar</guiicon
>, haga clic y arrastre el ratón hasta formar un rectángulo; a continuación, elija el alineamiento que desee. </para>
</sect1>
</chapter>

<chapter id="scripting-rocs">
<title
>Creación de scripts en &rocs;</title>
<para
>Una vez que el grafo esté en pantalla, puede comenzar a crear un script. El lenguaje que se emplea es similar a la sintaxis de Javascript. A continuación se muestran los objetos Grafo, Nodo y Arista:</para>

<sect1 id="script-graph">
<title
>Grafo</title>
<programlisting
>array list_nodes();
     array list_edges();
     node add_node(name);
     edge add_edge(from, to);
     node node_byname(QString&amp; name);
     node begin_node();
     array end_nodes();
</programlisting
> 
<para
>Variables del grafo que pueden ser modificadas:</para>
<programlisting
>bool directed
     bool automate
     string name
     string nodeDefaultColor // en HEXA
     string edgeDefaultColor  // en HEXA 
</programlisting>
</sect1>

<sect1 id="script-nodes">
<title
>Nodos</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
>Variables del nodo:</para>
<programlisting
>double x
    double y
    double width
    string value
    string name
    string color  // en HEXA
    bool begin
    bool end
</programlisting>
</sect1>

<sect1 id="script-edges">
<title
>Aristas</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
>Ejemplo</title>
<para
>Aquí tiene un escript sencillo que determina el color de los 4 primeros nodos en el primer grafo:</para>
<programlisting
>/* Un ejemplo sencillo que determina el color de los 4 primeros nodos en el primer grafo: */
 
var colours = new Array("red", "green", "blue", "yellow");

/* graphs es un array de grafos; puede acceder al grafo mediante su índice en el 
array o mediante su nombre, de forma que si el nombre del primer grafo es Untitled0, la siguiente
frase es correcta  */
var list1= graphs[0].list_nodes(); // Primera forma
var list2=Untitled0.list_nodes();              // Segunda 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
>Guía de órdenes</title>

<sect1 id="rocs-mainwindow">
<title
>Menús y teclas de acceso rápido</title>

<sect2>
<title
>El menú <guimenu
>Archivo</guimenu
> </title>
<variablelist>
<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Ctrl;<keycap
>Q</keycap
></keycombo
> </shortcut
> <guimenu
>Archivo</guimenu
> <guimenuitem
>Salir</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Cierra</action
> &rocs;.</para
></listitem>
</varlistentry>
</variablelist>

</sect2>


<sect2>
<title
>El menú <guimenu
>Preferencias</guimenu
></title>

<variablelist>
<varlistentry>
<term
><menuchoice
><guimenu
>Preferencias</guimenu
> <guisubmenu
>Barras de herramientas mostradas</guisubmenu
> </menuchoice
></term>
<listitem
><para
><action
>Activa o desactiva</action
> la barra de herramientas <guimenuitem
>principal</guimenuitem
> y la barra de herramientas <guimenuitem
>de diseño</guimenuitem
>. </para
></listitem>
</varlistentry>


<varlistentry>
<term
><menuchoice
><guimenu
>Preferencias</guimenu
> <guimenuitem
>Mostrar barra de estado</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Activa o desactiva</action
> la barra de estado.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Preferencias</guimenu
> <guimenuitem
>Configurar los accesos rápidos...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Abre</action
> un cuadro de configuración estándar de &kde; que le permite elegir diferentes accesos rápidos para diferentes acciones. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Preferencias</guimenu
> <guimenuitem
>Configurar las barras de herramientas...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Configura</action
> los elementos que desee incluir en la barra de herramientas. </para
></listitem>
</varlistentry>

</variablelist>

</sect2>

<sect2>
<title
>El menú <guimenu
>Ayuda</guimenu
></title>
&help.menu.documentation; </sect2>
</sect1>
</chapter>


<chapter id="credits">

<title
>Créditos y licencia</title>

<para
>&rocs; </para>
<para
>Copyright del programa 2009 Tomaz Canabrava (tcanabrava at kde dot org). </para>

<para
>Copyright de la documentación 2009 &Anne-Marie.Mahfouf; &Anne-Marie.Mahfouf.mail; y Tomaz Canabrava (tcanabrava at kde dot org). </para>

<para
>Traducido por Leticia Martín Hernández <email
>leticia.martin@gmail.com</email
>.</para
> 
&underFDL; &underGPL; </chapter>

<appendix id="installation">
<title
>Instalación</title>

<sect1 id="getting-rocs">
<title
>Cómo obtener &rocs;</title>
&install.intro.documentation; </sect1>

<sect1 id="compilation">
<title
>Compilación e instalación</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:
-->
