# O Manual do &rocs;

## Introdução

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.

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.

## Usar o &rocs;

A interface do utilizador está dividida em duas partes:

- a parte superior-direita é onde desenha os seus grafos, enquanto a inferior-direita é onde cria os seus algoritmos,

- a barra lateral esquerda é onde ficam todos os seus grafos abertos, sendo que poderá abrir vários grafos por cada ficheiro.

### Configuração global do &rocs;

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.

- Nome do Grafo

- Node Color for new created nodes, you can change the node color for all current nodes by clicking the All button

- Cor das Arestas

A última fila de opções consiste em botões de comutação:

- Oriented Graph

- Automated Graph

- Show nodes names

- Show edges names

- Show nodes values

- Show edges values

### Barras de Ferramentas do &rocs;

Existem duas barras de ferramentas no topo. A principal tem as seguintes ferramentas:

- Mover o Nó: move um nó pela área de desenho.

- Adicionar um Nó: cria um novo nó na posição da área de desenho onde carregou.

- Adicionar uma Aresta: cria uma nova aresta entre os dois nós.

- Seleccionar: selecciona os itens, carregando para tal nos mesmos.

- Apagar: apaga os itens, carregando para tal neles.

Se carregar com o botão direito do rato num nó ou aresta, irá invocar a janela de propriedades para esse item.

A barra de disposição consiste em vários ícones de alinhamento.

Para alinhar os nós, escolha a ferramenta Seleccionar, carregue e arraste um rectângulo e escolha o alinhamento desejado.

## Programar no &rocs;

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.

### Grafo

    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();

As variáveis do grafo podem ser alteradas:

    bool directed
         bool automate
         string name
         string nodeDefaultColor // em HEXADECIMAL
         string edgeDefaultColor  // em HEXADECIMAL

### Nós

    array adj_nodes();
         array adj_edges();
         array  input_edges();
         array output_edges();
         array loop_edges();
         array connected_edges(Node *n);
         void self_remove();

Variáveis do Nó:

    double x
        double y
        double width
        string value
        string name
        string color  // em HEXADECIMAL
        bool begin
        bool end

### Arestas

    string color ( em hexa )
        string value
        string name
        double width
        string style ( dot, dash, dash dot, solid )

        node start();
        node  end();

        void self_remove();

### Exemplo

Aqui está um programa simples de exemplo que altera a cor dos 4 primeiros nós do primeiro grafo:

    /* 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]
     }

## Referência de Comandos

### Menus e Teclas de Atalho

#### O Menu Ficheiro

&Ctrl;Q Ficheiro Sair

- Sai do &rocs;

#### O Menu Configuração

Configuração Barras de Ferramentas Visíveis

- Activa ou desactiva as barras de ferramentas Principal e de Disposição.

Configuração Mostrar a Barra de Estado

- Activa ou desactiva a barra de estado.

Configuração Configurar os Atalhos...

- Abre a janela de configuração normal do &kde; que lhe permite escolher teclas de atalho diferentes para as acções diferentes.

Configuração Configurar as Barras de Ferramentas...

- Configura os itens que você deseja colocar na barra de ferramentas.

#### O Menu Ajuda

&help.menu.documentation;

## Créditos e Licença

&rocs;

Programa com 'copyright' 2009 de Tomaz Canabrava tcanabrava at kde dot org

Documentação com 'copyright' 2009 de &Anne-Marie.Mahfouf; &Anne-Marie.Mahfouf.mail; e Tomaz Canabrava tcanabrava at kde dot org

Tradução de José Nuno Pires zepires@gmail.com

&underFDL; &underGPL;

## Instalação

### Como obter o &rocs;

&install.intro.documentation;

### Compilação e instalação

&install.compile.documentation;
&documentation.index;