83
83
>Introdução</title>
85
>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>
85
>&rocs; aims to be a Graph Theory IDE for helping professors to show the results of a graph algorithm and also helping students to do the algorithms.</para>
88
>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>
88
>&rocs; has a scripting module, done in Qt Script, that interacts with the drawn graph and every change in the graph with the script is reflected on the drawn one.</para>
91
91
<chapter id="using-rocs">
93
93
>Usar o &rocs;</title>
95
>A interface do utilizador está dividida em duas partes: </para
95
>The user interface is divided in two parts: </para
101
>a parte superior-direita é onde desenha os seus grafos, enquanto a inferior-direita é onde cria os seus algoritmos, </para
101
>the top right part is where you draw your graphs, and the bottom right one is where you create your algorithms, </para
105
>a barra lateral esquerda é onde ficam todos os seus grafos abertos, sendo que poderá abrir vários grafos por cada ficheiro. </para
105
>the left sidebar is where all your open graphs stay, you can open multiple graphs per file. </para
110
110
<sect1 id="rocs-features">
112
>Configuração global do &rocs;</title>
112
>&rocs; global settings</title>
114
>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>
114
>On the left sidebar you can find the options for each opened graph, all these options are global per graph and can be changed per node and edge with the Node Properties and the Edge Properties dialogs.</para>
119
>Nome do Grafo</guilabel>
119
>Graph Name</guilabel>
125
>Cor dos Nós</guilabel
126
>, para os nós acabados de criar, poderá alterar a cor do nó para todos os nós actuais, carregando no botão <guilabel
125
>Node Color</guilabel
126
> for new created nodes, you can change the node color for all current nodes by clicking the <guilabel
133
>Cor das Arestas</guilabel>
133
>Edge Color</guilabel>
138
>A última fila de opções consiste em botões de comutação:</para>
138
>The last row of options consists in toggled buttons:</para>
143
>Mostrar os nomes em:</guilabel
143
>Show names in:</guilabel
175
175
<sect1 id="rocs-toolbars">
177
>Barras de Ferramentas do &rocs;</title>
177
>&rocs; toolbars</title>
179
>Existem duas barras de ferramentas no topo. A principal tem as seguintes ferramentas:</para>
179
>There are two toolbars, on the top. The main one has the following tools:</para>
184
>Mover o Nó</guilabel
185
>: move um nó pela área de desenho.</para
190
>Adicionar um Nó</guilabel
191
>: cria um novo nó na posição da área de desenho onde carregou.</para
196
>Adicionar uma Aresta</guilabel
197
>: cria uma nova aresta entre os dois nós.</para
202
>Seleccionar</guilabel
203
>: selecciona os itens, carregando para tal nos mesmos.</para
209
>: apaga os itens, carregando para tal neles.</para
213
>Usar as ferramentas de alinhamento para colocar os nós seleccionados.</para
185
>: moves a node around the drawing area.</para
191
>: creates a new node at the clicked position on the drawing area.</para
197
>: creates a new edge between two nodes.</para
203
>: select items by clicking on them.</para
209
>: delete items by clicking on them.</para
213
>Use the align tools to place selected nodes.</para
218
>Se carregar com o botão direito do rato num nó ou aresta, irá invocar a janela de propriedades para esse item.</para>
218
>A right mouse click on a node or edge brings you the property dialog for that node or edge.</para>
220
>A barra de disposição consiste em vários ícones de alinhamento.</para>
220
>The layout toolbar consists in various aligns icons.</para>
223
>Para alinhar os nós, escolha a ferramenta <guiicon
224
>Seleccionar</guiicon
225
>, carregue e arraste um rectângulo e escolha o alinhamento desejado. </para>
223
>To align nodes, choose the <guiicon
225
> tool, click and drag a rectangle, then choose the alignement that you want. </para>
229
229
<chapter id="scripting-rocs">
231
>Programar no &rocs;</title>
231
>Scripting &rocs;</title>
233
>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>
233
>After the graph is on screen, you can start creating the script for it. The language uses a Javascript syntax and following are the Graph, Node and Edge objects.</para>
235
235
<sect1 id="script-graph">
239
239
>array list_nodes();
240
240
array list_edges();
242
edge add_edge(de, para);
243
node node_byname(QString& nome);
242
edge add_edge(from, to);
243
node node_byname(QString& name);
244
244
node begin_node();
245
245
array end_nodes();
249
>As variáveis do grafo podem ser alteradas:</para>
249
>Graph variables that can be changed:</para>
254
string nodeDefaultColor // em HEXADECIMAL
255
string edgeDefaultColor // em HEXADECIMAL
254
string nodeDefaultColor // in HEXA
255
string edgeDefaultColor // in HEXA
256
256
</programlisting>
259
259
<sect1 id="script-nodes">
263
263
>array adj_nodes();
264
264
array adj_edges();
308
308
>Aqui está um programa simples de exemplo que altera a cor dos 4 primeiros nós do primeiro grafo:</para>
310
>/* Um exemplo simples que altera a cor dos 4 primeiros nós do primeiro grafo: */
310
>/* A simple example that sets the color of the 4 first nodes in the first
312
var cores = new Array("red", "green", "blue", "yellow");
313
var colours = new Array("red", "green", "blue", "yellow");
314
/* 'grafos' é uma lista de grafos, onde poderá aceder a um grafo pelo seu índice
315
na lista ou pelo seu nome, pelo que, se o nome do primeiro grafo for 'SemTitulo0',
316
ambas as instruções seguintes são correctas */
317
var lista1= graphs[0].list_nodes(); // 1a forma
318
var lista2=SemTitulo0.list_nodes(); // 2a forma
315
/* graphs is an array of graphs, you can access a graph by its index in the
316
array or by its name, so if the first graph's name is Untitled0, the following
317
sentence are right */
318
var list1= graphs[0].list_nodes(); // 1st form.
319
var list2=Untitled0.list_nodes(); // 2nd form
320
for ( var i = 0; i ≤ cores.length; i++){
321
for ( var i = 0; i < colours.length; i++){
322
> lista2.length) break;
323
lista2[i].color = cores[i]
323
> list2.length) break;
324
list2[i].color = colours[i]
325
326
</programlisting>
374
>Configuração</guimenu
382
>Configuração</guimenu
384
>Barras de Ferramentas Visíveis</guisubmenu
390
>Activa ou desactiva</action
391
> as barras de ferramentas <guimenuitem
392
>Principal</guimenuitem
394
>Disposição</guimenuitem
404
>Configuração</guimenu
406
>Mostrar a Barra de Estado</guimenuitem
412
>Activa ou desactiva</action
413
> a barra de estado.</para
421
>Configuração</guimenu
423
>Configurar os Atalhos...</guimenuitem
430
> a janela de configuração normal do &kde; que lhe permite escolher teclas de atalho diferentes para as acções diferentes. </para
438
>Configuração</guimenu
440
>Configurar as Barras de Ferramentas...</guimenuitem
447
> os itens que você deseja colocar na barra de ferramentas. </para
385
>Toolbars Shown</guisubmenu
407
>Show Statusbar</guimenuitem
414
> the statusbar.</para
424
>Configure Shortcuts...</guimenuitem
431
> standard &kde; setting dialog that allows you to choose different shortcut keys for different actions. </para
441
>Configure Toolbars...</guimenuitem
448
> the items you want to put in the toolbar. </para