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

<bookinfo>
<title
>Het handboek van &rocs;</title>
<authorgroup>
<author
><personname
> <firstname
>Tomaz</firstname
> <surname
>Canabrava</surname
> </personname
> <email
>tomaz.canabrava@gmail.com</email
> </author>
&Freek.de.Kruijf;&Jaap.Woldringh; 
</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; is een hulpmiddel van KDE voor de grafentheorie. </para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>kdeedu</keyword>
<keyword
>wiskunde</keyword>
<keyword
>wiskunde</keyword>
<keyword
>grafen</keyword>
<keyword
>knoop</keyword>
<keyword
>kant</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction">
<title
>Inleiding</title>
<para
>Het doel van &rocs; is een IDE (geïntegreerde ontwikkelomgeving) te zijn voor de grafentheorie, waarmee docenten de resultaten van een algoritme van die theorie kunnen laten zien, en ook om studenten te helpen bij het uitvoeren van deze algoritmen.</para>

<para
>&rocs; heeft een Qt-Scriptmodule, die gebruik maakt van de getekende graaf, waarbij elke verandering van de graaf in het script wordt weergegeven in de getekende graaf.</para>
</chapter>

<chapter id="using-rocs">
<title
>&rocs; gebruiken</title>
<para
>Er zijn twee vakken in de gebruikersinterface: </para
> 

<itemizedlist>
<listitem
><para
>In het vak rechtsboven worden de grafen getekend, in het vak rechtsonder voert u de algoritmen in, </para
></listitem>
<listitem
><para
>in de zijbalk links vindt u alle open grafen, per bestand kunnen meerdere grafen open zijn. </para
></listitem>
</itemizedlist>


<sect1 id="rocs-features">
<title
>Globale instellingen van &rocs;</title>
<para
>In de linker zijbalk vindt u de opties voor elke geopende graaf, al deze opties zijn globaal voor elke grafiek, en kunnen  voor elke knoop en kant worden gewijzigd in de dialogen voor de eigenschappen van knopen en kanten.</para>
<itemizedlist>
<listitem
><para>
<guilabel
>Graafnaam</guilabel>
</para
></listitem>
<listitem
><para
><guilabel
>Knoopkleur</guilabel
> voor nieuw aangemaakte knopen, u kunt de kleur voor alle knopen in een keer veranderen door op de knop <guilabel
>Alle</guilabel
> te klikken </para
></listitem>
<listitem
><para>
<guilabel
>Kantkleur</guilabel>
</para
></listitem>
</itemizedlist>
<para
>De laatste rij opties bestaat uit aan/uit-knoppen:</para>
<itemizedlist>
<listitem
><para
><guilabel
>Namen tonen in:</guilabel
> <guilabel
>Knopen</guilabel
> of  <guilabel
>Kanten</guilabel
>. </para
></listitem>
<listitem
><para
><guilabel
>Waarden tonen in:</guilabel
> <guilabel
>Knopen</guilabel
> of  <guilabel
>Kanten</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
>Werkbalken van &rocs;</title>
<para
>Er zijn twee werkbalken, boven. In de hoofdwerkbalk zijn de volgende hulpmiddelen: </para>
<itemizedlist>
<listitem
><para
><guilabel
>Knoop verplaatsen</guilabel
>: verplaatst een knoop in het tekengebied.</para
></listitem>
<listitem
><para
><guilabel
>Knoop toevoegen</guilabel
>: voegt een knoop toe op de klikpositie in het tekengebied.</para
></listitem>
<listitem
><para
><guilabel
>Kant toevoegen</guilabel
>: maakt een kant aan tussen twee knopen.</para
></listitem>
<listitem
><para
><guilabel
>Selecteren</guilabel
>: iets selecteren door erop te klikken.</para
></listitem>
<listitem
><para
><guilabel
>Verwijderen</guilabel
>: iets verwijderen door erop te klikken.</para
></listitem>
<listitem
><para
>U kunt de uitlijnhulpmiddelen gebruiken voor het plaatsen van de geselecteerde knopen.</para
></listitem>
</itemizedlist>

<para
>Met een rechter muisklik op een knoop of kant krijgt u daarvoor de  eigenschappendialoog te zien.</para>
<para
>In de opmaakbalk zijn een aantal pictogrammen voor het uitlijnen.</para>

<para
>U kunt knopen uitlijnen door op het hulpmiddel <guiicon
>Selecteren</guiicon
> te klikken, een rechthoek te maken met klikken en slepen, en daarna de gewenste uitlijning te kiezen. </para>
</sect1>
</chapter>

<chapter id="scripting-rocs">
<title
>Maken van scripts in &rocs;</title>
<para
>Nadat de graaf op het scherm staat, kunt u hiervoor een script gaan maken. In de scripttaal wordt een syntax gebruikt die lijkt op JavaScript, en hier volgen de objecten Graaf, Knoop en Kant.</para>

<sect1 id="script-graph">
<title
>Graaf</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(); 

(Vert.: node: knoop; edge: kant)
</programlisting
> 
<para
>Graafvariabelen die kunnen worden gewijzigd:</para>
<programlisting
>bool gericht
     bool automaat
     string naam
     string knoopStandaardKleur // in HEXA
     string kantStandaardKleur    // in HEXA 
</programlisting>
</sect1>

<sect1 id="script-nodes">
<title
>Knopen</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
>Knoopvariabelen:</para>
<programlisting
>double x
    double y
    double dikte
    string waarde
    string naam
    string kleur  // in HEXA
    bool begin
    bool eind
</programlisting>
</sect1>

<sect1 id="script-edges">
<title
>Kanten</title>
<programlisting
>string kleur ( em hexa )
    string waarde
    string naam
    double dikte
    string style ( dot, dash, dash dot, solid )

    node start();
    node  end();

    void self_remove();

Vert.: dot: punt; dash: streep; solid: aaneengesloten
</programlisting
> 
</sect1>

<sect1 id="script-example">
<title
>Voorbeeld</title>
<para
>Hier volgt een eenvoudig voorbeeld van een script, dat de kleuren instelt van de eerste 4 knopen in de eerste graaf:</para>
<programlisting
>/*Een eenvoudig voorbeeld van een script dat de kleuren instelt van de 4 eerste knopen in de eerste graaf: */
 
var kleuren = new Array("red", "green", "blue", "yellow");

/* grafen is een array van grafen, u krijgt toegang tot een bepaalde graaf via de index in de 
array, of met zijn naam, dus als de naam van de eerste graaf Naamloos0 is, is het volgende juist */ 

var lijst1= grafen[0].list_nodes();  //  1ste vorm.
var lijst2=Naamloos0.list_nodes();    // 2de vorm
 
 for ( var i = 0; i &lt; kleuren.length; i++){
        if (i 
> lijst2.length) break;
        lijst2[i].color = colours[i]
 }

Vert.: red: rood; green: groen; blue: blauw; yellow: geel
</programlisting>
</sect1>

</chapter>

<chapter id="commands">
<title
>Overzicht van de opdrachten</title>

<sect1 id="rocs-mainwindow">
<title
>Menu's en sneltoetsen</title>

<sect2>
<title
>Het menu <guimenu
>Bestand</guimenu
></title>
<variablelist>
<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Ctrl;<keycap
>Q</keycap
></keycombo
> </shortcut
> <guimenu
>Bestand</guimenu
><guimenuitem
>Afsluiten</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Afsluiten</action
> van &rocs;</para
></listitem>
</varlistentry>
</variablelist>

</sect2>


<sect2>
<title
>Het menu <guimenu
>Instellingen</guimenu
></title>

<variablelist>
<varlistentry>
<term
><menuchoice
><guimenu
>Instellingen</guimenu
> <guisubmenu
>Getoonde werkbalken</guisubmenu
> </menuchoice
></term>
<listitem
><para
><action
>Aan- en uitzetten</action
> van de <guimenuitem
>Hoofdwerkbalk</guimenuitem
> en de <guimenuitem
>Opmaakbalk</guimenuitem
>.</para
></listitem>
</varlistentry>


<varlistentry>
<term
><menuchoice
><guimenu
>Instellingen</guimenu
> <guimenuitem
>Statusbalk tonen</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Aan-en uitzetten</action
> van de statusbalk.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Instellingen</guimenu
> <guimenuitem
>Sneltoetsen instellen...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Opent</action
> de standaard dialoog voor instellingen van &kde; waarin u de sneltoetsen kunt instellen voor de verschillende acties. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Instellingen</guimenu
> <guimenuitem
>Werkbalken instellen...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Instellen</action
> van de acties die u in de werkbalken wilt plaatsen. </para
></listitem>
</varlistentry>

</variablelist>

</sect2>

<sect2>
<title
>Het menu <guimenu
>Help</guimenu
></title>
&help.menu.documentation; </sect2>
</sect1>
</chapter>


<chapter id="credits">

<title
>Dankbetuiging en licentie</title>

<para
>&rocs; </para>
<para
>Programma copyright 2009 Tomaz Canabrava tcanabrava op kde punt org </para>

<para
>Documentatie copyright 2009 &Anne-Marie.Mahfouf; &Anne-Marie.Mahfouf.mail; en Tomaz Canabrava tcanabrava op kde punt org </para>

&meld.fouten;&vertaling.freek; 
&underFDL; &underGPL; </chapter>

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

<sect1 id="getting-rocs">
<title
>Hoe u &rocs; kunt verkrijgen</title>
&install.intro.documentation; </sect1>

<sect1 id="compilation">
<title
>Compileren en installeren</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:
-->
