<?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 % Portuguese "INCLUDE" > ]> <book lang="&language;"> <bookinfo> <title >O Manual do &rocs;</title> <authorgroup> <author ><personname > <firstname >Tomaz</firstname > <surname >Canabrava</surname > </personname > <email >tomaz.canabrava@gmail.com</email > </author> <othercredit role="translator" ><firstname >José</firstname ><surname >Pires</surname ><affiliation ><address ><email >zepires@gmail.com</email ></address ></affiliation ><contrib >Tradução</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 >O &rocs; é uma ferramenta de visualização da teoria dos grafos para o KDE. </para> </abstract> <keywordset> <keyword >KDE</keyword> <keyword >kdeedu</keyword> <keyword >matemática</keyword> <keyword >matemática</keyword> <keyword >grafos</keyword> <keyword >nó</keyword> <keyword >aresta</keyword> </keywordset> </bookinfo> <chapter id="introduction"> <title >Introdução</title> <para >O &rocs; pretende ser um IDE da Teoria dos Grafos para ajudar os professores a mostrar os resultados de um algoritmo de grafos e também para ajudar os alunos a criar os algoritmos.</para> <para >O &rocs; tem um módulo de programação, feito em Qt Script, que interage com o grafo desenhado, sendo que todas as alterações no grafo com o programa são reflectidas no grafo desenhado.</para> </chapter> <chapter id="using-rocs"> <title >Usar o &rocs;</title> <para >A interface do utilizador está dividida em duas partes: </para > <itemizedlist> <listitem ><para >a parte superior-direita é onde desenha os seus grafos, enquanto a inferior-direita é onde cria os seus algoritmos, </para ></listitem> <listitem ><para >a barra lateral esquerda é onde ficam todos os seus grafos abertos, sendo que poderá abrir vários grafos por cada ficheiro. </para ></listitem> </itemizedlist> <sect1 id="rocs-features"> <title >Configuração global do &rocs;</title> <para >Na barra lateral, poderá encontrar as opções para cada grafo aberto, sendo que estas opções são globais por cada grafo, podendo ser alteradas para cada nó e aresta nas Propriedades dos Nós e das janelas de Propriedades das Arestas.</para> <itemizedlist> <listitem ><para> <guilabel >Nome do Grafo</guilabel> </para ></listitem> <listitem ><para >A <guilabel >Cor dos Nós</guilabel >, para os nós acabados de criar, poderá alterar a cor do nó para todos os nós actuais, carregando no botão <guilabel >Tudo</guilabel > </para ></listitem> <listitem ><para> <guilabel >Cor das Arestas</guilabel> </para ></listitem> </itemizedlist> <para >A última fila de opções consiste em botões de comutação:</para> <itemizedlist> <listitem ><para ><guilabel >Mostrar os nomes em:</guilabel > <guilabel >Nós</guilabel > ou <guilabel >Arestas</guilabel >. </para ></listitem> <listitem ><para ><guilabel >Mostrar os valores em:</guilabel > <guilabel >Nós</guilabel > ou <guilabel >Arestas</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 >Barras de Ferramentas do &rocs;</title> <para >Existem duas barras de ferramentas no topo. A principal tem as seguintes ferramentas:</para> <itemizedlist> <listitem ><para ><guilabel >Mover o Nó</guilabel >: move um nó pela área de desenho.</para ></listitem> <listitem ><para ><guilabel >Adicionar um Nó</guilabel >: cria um novo nó na posição da área de desenho onde carregou.</para ></listitem> <listitem ><para ><guilabel >Adicionar uma Aresta</guilabel >: cria uma nova aresta entre os dois nós.</para ></listitem> <listitem ><para ><guilabel >Seleccionar</guilabel >: selecciona os itens, carregando para tal nos mesmos.</para ></listitem> <listitem ><para ><guilabel >Apagar</guilabel >: apaga os itens, carregando para tal neles.</para ></listitem> <listitem ><para >Usar as ferramentas de alinhamento para colocar os nós seleccionados.</para ></listitem> </itemizedlist> <para >Se carregar com o botão direito do rato num nó ou aresta, irá invocar a janela de propriedades para esse item.</para> <para >A barra de disposição consiste em vários ícones de alinhamento.</para> <para >Para alinhar os nós, escolha a ferramenta <guiicon >Seleccionar</guiicon >, carregue e arraste um rectângulo e escolha o alinhamento desejado. </para> </sect1> </chapter> <chapter id="scripting-rocs"> <title >Programar no &rocs;</title> <para >Depois de o grafo estar no ecrã, poderá começar a criar o programa para ele. A linguagem usa uma sintaxe de JavaScript e consiste nos objectos Graph, Node e Edge.</para> <sect1 id="script-graph"> <title >Grafo</title> <programlisting >array list_nodes(); array list_edges(); node add_node(nome); edge add_edge(de, para); node node_byname(QString& nome); node begin_node(); array end_nodes(); </programlisting > <para >As variáveis do grafo podem ser alteradas:</para> <programlisting >bool directed bool automate string name string nodeDefaultColor // em HEXADECIMAL string edgeDefaultColor // em HEXADECIMAL </programlisting> </sect1> <sect1 id="script-nodes"> <title >Nós</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 >Variáveis do Nó:</para> <programlisting >double x double y double width string value string name string color // em HEXADECIMAL bool begin bool end </programlisting> </sect1> <sect1 id="script-edges"> <title >Arestas</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 >Exemplo</title> <para >Aqui está um programa simples de exemplo que altera a cor dos 4 primeiros nós do primeiro grafo:</para> <programlisting >/* Um exemplo simples que altera a cor dos 4 primeiros nós do primeiro grafo: */ var cores = new Array("red", "green", "blue", "yellow"); /* 'grafos' é uma lista de grafos, onde poderá aceder a um grafo pelo seu índice na lista ou pelo seu nome, pelo que, se o nome do primeiro grafo for 'SemTitulo0', ambas as instruções seguintes são correctas */ var lista1= graphs[0].list_nodes(); // 1a forma var lista2=SemTitulo0.list_nodes(); // 2a forma for ( var i = 0; i ≤ cores.length; i++){ if (i > lista2.length) break; lista2[i].color = cores[i] } </programlisting> </sect1> </chapter> <chapter id="commands"> <title >Referência de Comandos</title> <sect1 id="rocs-mainwindow"> <title >Menus e Teclas de Atalho</title> <sect2> <title >O Menu <guimenu >Ficheiro</guimenu ></title> <variablelist> <varlistentry> <term ><menuchoice ><shortcut > <keycombo action="simul" >&Ctrl;<keycap >Q</keycap ></keycombo > </shortcut > <guimenu >Ficheiro</guimenu > <guimenuitem >Sair</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Sai</action > do &rocs;</para ></listitem> </varlistentry> </variablelist> </sect2> <sect2> <title >O Menu <guimenu >Configuração</guimenu ></title> <variablelist> <varlistentry> <term ><menuchoice ><guimenu >Configuração</guimenu > <guisubmenu >Barras de Ferramentas Visíveis</guisubmenu > </menuchoice ></term> <listitem ><para ><action >Activa ou desactiva</action > as barras de ferramentas <guimenuitem >Principal</guimenuitem > e de <guimenuitem >Disposição</guimenuitem >.</para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Configuração</guimenu > <guimenuitem >Mostrar a Barra de Estado</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Activa ou desactiva</action > a barra de estado.</para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Configuração</guimenu > <guimenuitem >Configurar os Atalhos...</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Abre</action > a janela de configuração normal do &kde; que lhe permite escolher teclas de atalho diferentes para as acções diferentes. </para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Configuração</guimenu > <guimenuitem >Configurar as Barras de Ferramentas...</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Configura</action > os itens que você deseja colocar na barra de ferramentas. </para ></listitem> </varlistentry> </variablelist> </sect2> <sect2> <title >O Menu <guimenu >Ajuda</guimenu ></title> &help.menu.documentation; </sect2> </sect1> </chapter> <chapter id="credits"> <title >Créditos e Licença</title> <para >&rocs; </para> <para >Programa com 'copyright' 2009 de Tomaz Canabrava tcanabrava at kde dot org </para> <para >Documentação com 'copyright' 2009 de &Anne-Marie.Mahfouf; &Anne-Marie.Mahfouf.mail; e Tomaz Canabrava tcanabrava at kde dot org </para> <para >Tradução de José Nuno Pires <email >zepires@gmail.com</email ></para > &underFDL; &underGPL; </chapter> <appendix id="installation"> <title >Instalação</title> <sect1 id="getting-rocs"> <title >Como obter o &rocs;</title> &install.intro.documentation; </sect1> <sect1 id="compilation"> <title >Compilação e instalação</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: -->