# O Manual do &kgraphviewer;

Gaël
de Chalendar

    kleag@free.fr

Federico
Zenith

    zenith@chemeng.ntnu.no

José
Pires

    jncp@netcabo.pt

Tradução
2006
Gaël de Chalendar
&FDLNotice;
2006-10-22
1.0.3

O &kgraphviewer; é um visualizador de grafos do &dot; do &graphviz; para o KDE. Os programas do &graphviz; são motores de disposição de grafos em 'software' livre. Os grafos são normalmente usados em domínios científicos e, em particular, na informática. Mas, até agora, faltava uma &GUI; moderna para olhar para os grafos. Os programas fornecidos com o &graphviz; são, na opinião do autor, desactualizados com interfaces em &X11; ou &tcltk; e com poucas funcionalidades.

O projecto &kgraphviewer; pretende substituir estas ferramentas com uma &GUI; moderna e amigável, com todas as potencialidades de uma aplicação do &kde; bem integrada.

KDE
kgraphviewer
graphviz
dot
neato
visualizador

## Introdução

O &kgraphviewer; é um visualizador de grafos pontuais do &graphviz; para o &kde;. Os programas do &graphviz; são motores de disposição de grafos em 'software' livre. O &kgraphviewer; mostra os grafos numa &GUI; gráfica moderna e amigável, com todas as potencialidades de uma aplicação do &kde; bem integrada. Tem as seguintes funcionalidades : Aqui está uma imagem do &kgraphviewer; A janela principal do &kgraphviewer; a mostrar um dos exemplos do &graphviz;

- Ampliação;

- carregamento de vários grafos em páginas, ao mesmo tempo;

- Armazenamento de uma lista dos ficheiros abertos recentemente;

- Apresentação de uma visão geral do grafo;

- Deslocamento do grafo por arrastamento com o rato;

- Impressão com todas as funcionalidades;

- Desenho perfeito de todos os grafos de exemplo do &graphviz;;

- São suportadas cores para os nós e extremos e várias formas para os nós;

- escolher automaticamente o &dot; para grafos direccionais e o &neato; para os não-direccionais;

- Carregamento automático ou manual, com confirmação do utilizador, dos ficheiros modificados externamente (configurável);

- Abrir instâncias novas como páginas novas da antiga (configurável);

- Sistema de ajuda;

- Internacionalização.

As funcionalidades previstas são:

- modificação para o &kde; 4

- usar eventualmente a biblioteca &qanava; para suportar a representação de grafos internos

- Gravar os dados acerca do grafo na sessão (programa de disposição usado, factor de ampliação, &etc;)

- integração no &kate; e no &konqueror; (para que uma alteração da vista do grafo no &kate; actualizasse a disposição e recarregasse o ficheiro no &kgraphviewer;);

- menu para abrir o ficheiro no &kate; ou para abrir um 'katepart' dentro da janela do &kgraphviewer;;

- Carregamento de grafos grandes e enormes (neste momento, existem problemas de performance com cerca de 1000 nós e um truque para ignorar os nós a partir de um dado limite.);

- Suporte progressivo para ainda mais atributos e valores do &dot;;

- Disposição em segundo plano (uma tarefa que não bloqueie a interface, com uma barra de progresso).

Repare que este programa inclui código da ferramenta GPL &kcachegrind; de Josef Weidendorfer, com autorização do mesmo.

Repare também que o sistema de impressão é da aplicação &koffice;/&kexi;.

Outro 'Software' Necessário: o &kgraphviewer; é um programa do &kde; que usa a ferramenta &dot; do &graphviz; para a disposição dos grafos. As suas dependências são:

- A biblioteca &qt; 3.x (3.3.6 e superior, para evitar um erro de pintura)

- bibliotecas do &kde; (pacote 'kdelibs'), desenvolvido e testado com a versão 3.5.2;

- As ferramentas do &graphviz; como programas externos (testado com a versão 2.8);

- A biblioteca &boost;/&spirit; (testado com a versão 0.32).

## Usar o &kgraphviewer;

### A Janela Principal

A janela principal mostra os grafos carregados, estando cada um deles na sua própria página. Inicialmente, se arrancar o &kgraphviewer; sem argumentos, a sua janela principal estará vazia, como acontece na imagem abaixo. Neste caso, a barra de ferramentas contém apenas os itens Abrir um Ficheiro e os Ficheiros Abertos Recentemente (vazio). Carregue na primeira opção para abrir a janela normal para Abrir um Ficheiro.

A janela principal inicial, ao abrir o &kgraphviewer; pela primeira vez
A janela principal inicial, ao abrir o &kgraphviewer; pela primeira vez

A janela principal inicial, ao abrir o &kgraphviewer; pela primeira vez

Depois de seleccionar um ou vários ficheiros do &dot;, a janela principal fica como a imagem seguinte abaixo:

A janela principal do &kgraphviewer; com vários ficheiros abertos
A janela principal do &kgraphviewer; com vários ficheiros abertos

A janela principal do &kgraphviewer; com vários ficheiros abertos

Como pode ver, se o grafo for maior que a área disponível, aparece uma visão geral a um canto. Poderá escolher, com o menu de contexto, a posição óptima desta visão geral, ou optar por determiná-la automaticamente, assim como colocá-la onde desejar.

#### Mover o Grafo Dentro da Janela

Para mover o grafo, poderá:

- Carregar e arrastar o mesmo;

- Usar as barras de posicionamento;

- Carregar nas teclas de cursores;

- Carregar em algum ponto da visão geral;

- usar a roda do rato (para cima e para baixo, sem teclas acessórias; esquerda e direita com o &Alt; carregado);

- ou carregar e arrastar na área de visão geral.

#### Ampliação

Para ampliar, tanto poderá usar os botões da barra de ferramentas (ampliar) e (reduzir) ou carregar na tecla &Shift;, enquanto desloca a roda do seu rato. Durante a ampliação, o rectângulo vermelho na área de posicionamento, que mapeia a área visível, vai ficando cada vez mais pequeno. Mas, se ficar menor que 10 pixels do lado menor, então será substituído por um rectângulo vermelho normal, para poder ficar visível. Poderá ver isso na imagem abaixo.

Um grafo no nível máximo de ampliação
Um grafo no nível máximo de ampliação

Um grafo no nível máximo de ampliação

A ampliação está limitada em ambas as direcções por um factor de 10. Poderá ver abaixo o nível máximo de redução num grafo.

Um grafo no nível máximo de redução
Um grafo no nível máximo de redução

Um grafo no nível máximo de redução

#### Tratamento dos Ficheiros de Grafos

##### Ficheiros Modificados no Disco

Se um ficheiro carregado de momento no &kgraphviewer; for modificado por outro programa, então aparece a seguinte janela:

Janela para carregar de novo um ficheiro modificado no disco
Janela para carregar de novo um ficheiro modificado no disco

Janela para carregar de novo um ficheiro modificado no disco

Poderá optar por carregar de novo o grafo ou ignorar a alteração. Poderá também fazer com que o &kgraphviewer; recorde a sua escolha e volte a fazer a mesmo coisa das próximas vezes. Se quiser modificar mais tarde a sua escolha, então seleccione o item do menu Configuração Configurar o &kgraphviewer;. Veja o capítulo .

##### Ficheiros e Janelas

Quando abrir um ficheiro de um grafo fora de uma instância do &kgraphviewer; em execução, &eg; a partir de um navegador de ficheiros ou da linha de comandos, terá a opção de abrir uma nova janela do &kgraphviewer; ou de abrir o grafo numa página nova da janela existente. Isto é feito na janela abaixo.

Janela para abrir uma janela nova
Janela para abrir uma janela nova

Janela para abrir uma janela nova

Como na opção anterior, poderá gravar a sua escolha predefinida e modificá-la abaixo na janela de configuração.

##### Tratamento de Sessões

No arranque, pode optar por abrir de novo os grafos abertos da vez anterior ou não. Memorize outra vez a sua escolha e altere-a mais tarde, se o desejar.

Janela inicial para carregar de novo a sessão anterior no arranque
Janela inicial para carregar de novo a sessão anterior no arranque

Janela inicial para carregar de novo a sessão anterior no arranque

### Impressão do Grafo

Tente os botões Antevisão da impressão ou de Configuração da página para explorar as opções de impressão.

Janela de configuração da página
Janela de configuração da página

Janela de configuração da página

Poderá configurar as opções de impressão para fazer caber o grafo exactamente numa página, como acontece abaixo:

Configuração da antevisão da página, para caber numa página
Configuração da antevisão da página, para caber numa página

Configuração da antevisão da página, para caber numa página

Poderá também escolher como dividir o grafo em várias páginas. O número de páginas horizontais e verticais poderá ser escolhido de forma independente.

Antevisão da página, configurada screeninfo caber em várias páginas, ocupando-as por completo
Antevisão da página, configurada para caber em várias páginas, ocupando-as por completo

Antevisão da página, configurada para caber em várias páginas, ocupando-as por completo

Finalmente, ao usar várias páginas, poderá optar por fazer com que a parte do grafo que calha em cada página se ajuste à sua página, como acontece acima, não mantendo as proporções ou mantendo-as. No último caso, as páginas não serão preenchidas.

Poderá alterar o tamanho e as margens das páginas:

Janela do tamanho e margens da página
Janela do tamanho e margens da página

Janela do tamanho e margens da página

Poderá também alterar o tipo de letra, os cabeçalhos e os rodapés:

Antevisão da página, configurada para caber em várias páginas sem cabeçalho e com um tipo de letra diferente
Antevisão da página, configurada para caber em várias páginas sem cabeçalho e com um tipo de letra diferente

Antevisão da página, configurada para caber em várias páginas sem cabeçalho e com um tipo de letra diferente

### Configurar o &kgraphviewer;

A página para Recarregar permite-lhe alterar o comportamento do &kgraphviewer; quando um ficheiro for modificado no disco. Poderá escolher uma resposta por omissão (recarregar automaticamente ou não) ou ser avisado de cada vez.

Página para recarregar os ficheiros modificados na janela de configuração
Página para recarregar os ficheiros modificados na janela de configuração

Página para recarregar os ficheiros modificados na janela de configuração

A página de Abertura permite alterar o comportamento do &kgraphviewer;, quando um ficheiro do grafo é aberto externamente à sessão actual. Poderá escolher uma opção predefinida (abrir numa janela existente ou numa nova) ou ser avisado de cada vez.

Página para abrir os ficheiros novos numa janela existente na janela de configuração
Página para abrir os ficheiros novos numa janela existente na janela de configuração

Página para abrir os ficheiros novos numa janela existente na janela de configuração

A página de Gestão de Sessões permite alterar o comportamento do &kgraphviewer; quando ele inicia. Pode escolher uma resposta predefinida (abrir de novo os ficheiros da sessão anterior) ou ser questionado de cada vez.

Página para reabrir os ficheiros da sessão anterior na janela de configuração
Página para reabrir os ficheiros da sessão anterior na janela de configuração

Página para reabrir os ficheiros da sessão anterior na janela de configuração

### Funções Diversas

O menu de contexto, obtido através do &RMB; na vista do grafo, oferece mais algumas possibilidades:

Disposição

  Este menu permite escolher entre vários algoritmos de disposição do &graphviz; ou escolher o seu próprio. Os itens, como estão descritos na página pessoal do &graphviz; são os seguintes:

  &dot;

    O algoritmo do &dot;. Predefinido para os grafos direccionais. Cria desenhos hierárquicos ou em camadas dos grafos direccionais. O algoritmo de disposição aponta os extremos na mesma direcção (de cima para baixo, ou da esquerda para a direita) e tenta depois evitar cruzamentos de arestas e reduzir o tamanho das mesmas.

  &neato;

    O algoritmo do &neato;. Predefinido para os grafos não-direccionais. Cria um modelo em flor. Ele usa o algoritmo Kamada-Kawai, que é equivalente às escalas multi-dimensionais estatísticas.

  &twopi;

    O algoritmo do &twopi;. Para os grafos direccionais e não-direccionais. Uma disposição radial, seguindo o Graham Wills 1997.

  &fdp;

    O algoritmo do &fdp;. Para os grafos não-direccionais. Cria um modelo em flor. Implementa a heurística de Fruchterman-Reingold, incluindo um sistema de resolução multi-grelha, que lida com grafos maiores e com grafos não-direccionais em enxames.

  &circo;

    O algoritmo do &circo;. Uma disposição circular, seguindo a especificação de Six e Tollis 1999, Kauffman e Wiese 2002. Adequado para certos diagramas de várias estruturas cíclicas.

  Indique o comando de disposição

    Abre uma janela que lhe permite indicar um comando de disposição executado pela linha de comandos. Este comando fica à espera de um parâmetro, o nome do ficheiro do grafo, e grava o resultado no 'stdout', na linguagem 'xdot'. Desta forma, poderá dar, por exemplo, opções específicas a um dos comandos anteriores ou aplicar um filtro que modifica o seu grafo, antes de o executar com o &dot;.

  Repor o comando de disposição predefinido

    Descobre de novo o tipo do grafo (direccional ou não) e aplica o algoritmo predefinido no mesmo, sendo por omissão o &dot; e o &neato;, respectivamente.

Exportar o Grafo

  Como Imagem...

    Permite exportar o grafo completo numa imagem &png;.

Activar a Vista de Topo

  Se a opção estiver assinalada, a vista de topo ou vista geral é apresentada em caso de necessidade. Caso contrário, fica escondida e o menu de posicionamento fica desactivado.

Vista de Topo

  Configura onde colocar a vista de topo ou geral, na área do grafo. As opções possíveis são:

  Superior-Esquerda

    Coloca a vista de topo no canto superior esquerdo;

  Superior-Direita

    Coloca a vista de topo no canto superior direito;

  Inferior-Esquerda

    Coloca a vista de topo no canto inferior esquerdo;

  Fundo Direita

    Coloca a vista de topo no canto inferior direito;

  Automático

    Escolhe automaticamente a melhor posição, para esconder o grafo o mínimo possível.

## Referência de Comandos

### Os Menus do &kgraphviewer;

#### O Menu Ficheiro

&Ctrl;O Ficheiro Abrir

  Mostra a janela para Abrir um Ficheiro.

Ficheiro Abrir um Recente

  Mostra a lista com os dez ficheiros de grafos abertos mais recentemente.

Ficheiro Exportar o Grafo Como Imagem...

  Permite exportar o grafo completo numa imagem &png;.

&Ctrl;P Ficheiro Imprimir...

  Imprime o grafo actual com os parâmetros de impressão actuais.

Ficheiro Antevisão da Impressão...

  Abre a janela de Antevisão da Impressão para o grafo actual.

Ficheiro Configuração da Página

  Abre a janela de Configuração da Página para a impressão do grafo actual.

&Ctrl;Q Ficheiro Sair

  Sai do &kgraphviewer;.

#### O Menu Ver

Ver Recarregar

  Volta a carregar o grafo actual.

&Ctrl;+Ver Ampliar

  Amplia o grafo actual em 10%.

&Ctrl;-Ver Reduzir

  Reduz o grafo actual em 10%.

&Ctrl;B Ver Activar a Vista de Topo

  Se a opção estiver assinalada, a vista de topo ou vista geral é apresentada em caso de necessidade. Caso contrário, fica escondida e o menu de posicionamento fica desactivado.

Ver Vista de Topo

  Configura onde colocar a vista de topo, na área do grafo. As opções são:

  Superior-Esquerda

    Coloca a vista de topo no canto superior esquerdo;

  Superior-Direita

    Coloca a vista de topo no canto superior direito;

  Inferior-Esquerda

    Coloca a vista de topo no canto inferior esquerdo;

  Fundo Direita

    Coloca a vista de topo no canto inferior direito;

  Automático

    Escolhe automaticamente a melhor posição, para esconder o grafo o mínimo possível.

#### O Menu Ajuda

&help.menu.documentation;

### As Barras de Ferramentas do &kgraphviewer;

#### A Barra de Ferramentas Principal

  Mostra a janela para Abrir um Ficheiro.

  Mostra a lista dos ficheiros abertos recentemente.

  Imprime o grafo com a configuração actual.

  Mostra a janela de Antevisão de Impressão.

  Mostra a janela de Configuração da Página.

#### A Barra de Visualização

  Volta a carregar o grafo actual.

  Edita o comando de disposição ou mostra a lista de algoritmos predefinidos.

  Amplia o grafo actual em 10%.

  Reduz o grafo actual em 10%.

#### A Barra de Ajuda

  Mostra o cursor do rato O Que é Isto. Carregue com ele num elemento da &GUI; para obter ajuda acerca dele (se existir alguma disponível).

## Créditos e Licença

### Programa

#### Autores Principais

Programa com 'copyright' 2005-2006 de Gaël de Chalendar kleag@free.fr

#### Contribuições (a completar)

- Reimar Döffinger Reimar.Doeffinger@stud.uni-karlsruhe.de

### Guia do Utilizador

Documentação com 'copyright' 2006 de Gaël de Chalendar kleag@free.fr

#### Contribuições

- Federico Zenith zenith@chemeng.ntnu.no

### Outros Créditos

Neste programa, foi utilizado código de outros projectos de 'Software' Livre:

&kcachegrind;

  modelo inicial do grafo e classes de visualização;

&kexi;

  Classes de configuração e antevisão da impressão.

### Licenças

Tradução de José Nuno Pires jncp@netcabo.pt

&underFDL; &underGPL;

## Instalação

### Como obter o &kgraphviewer;

O &kgraphviewer; faz parte do pacote do &kde; extragear. O seu repositório de Subversion pode ser encontrado no kde.org aqui.

As versões independentes do &kgraphviewer; podem ser encontradas na página pessoal do &kgraphviewer;.

Poderá encontrar uma lista das alterações nesta página e no ficheiro ChangeLog, no topo do pacote da distribuição.

### Dependências

O &kgraphviewer; é um programa do &kde; que usa as ferramentas do &graphviz; para a disposição dos grafos. Necessita de ter instalados os seguintes programas:

- A biblioteca &qt; 3.x (3.3.6 e superior, para evitar um erro de pintura);

- Bibliotecas do &kde; (desenvolvido e testado com a versão 3.5.x);

- As ferramentas do &graphviz; (testado com as versões até à 2.8);

- A biblioteca &boost;/&spirit; (testado com a versão 0.32).

### Compilação e Instalação

&install.compile.documentation;

### Configuração

Não é necessária nenhuma configuração especial para usar o &kgraphviewer;. Veja o menu de Configuração para algumas opções.

&documentation.index;