namespace Slang

Este espaço nominativo envolve todas as ferramentas da biblioteca Slang++.

class Coordenada
Esta classe serve para representar as coordenadas de uma célula do ecrã.
[more] Operadores associados à classe Coordenada
class Dimensao
Esta classe serve para representar uma dimensão no ecrã.
[more] Operadores associados à classe Dimensao
class Caixa
Esta classe serve para representar caixas no ecrã.
[more] Operadores associados à classe Caixa
[more] Constantes associadas à classe Caixa
[more]enum Cor
Este tipo enumerado representa as possíveis cores do texto e do fundo de cada célula do ecrã.
[more] Operadores associados ao tipo enumerado Cor
[more]int const numero_de_cores
Constante que guarda o número total de cores.
class Ecra
Esta classe é um solitão: a sua única instância representa o ecrã.
[more]extern Ecra ecra
Uma variável global representando o ecrã.
[more] Manipuladores do ecrã
[more]extern string const nomes_das_cores[numero_de_cores]
Constante global com os nomes das cores.
class ApendiceComCor
Esta classe abstracta serve para definir as ferramentas relacionadas com cores para os menus que as possuirem.
class Menu
Esta classe abstracta serve para definir a interface básica de todos os menus.
class MenuComCor
Esta classe abstracta serve para definir a interface básica de todos os menus com cores.
class MenuSimples
Esta classe serve para representar menus simples, que consistem numa sequência de itens.
class MenuCor
Esta classe serve para representar menus de selecção das cores básicas usáveis no ecrã.
class MenuSimNao
Esta classe serve para representar menus com apenas duas opções: sim e não.
class Aviso
Esta classe serve para representar caixas de aviso, que apenas mostram uma mensagem e das quais se sai pressionando 'enter'.
class CaixaDeTexto
Esta classe serve para representar caixas de texto, que quando executadas permitem ao utilizador escrever uma cadeia de caracteres.
class Tecla
Esta classe serve para representar teclas premidas.
class Teclado
Esta classe é um solitão: a sua única instância representa o teclado.
[more]extern Teclado teclado
Uma variável global representando o teclado.
[more] Manipuladores extra para std::istream
class Erro
Esta classe serve de base a uma pequena hierarquia de classes representando excepções.
class ErroAoCarregar
Esta classe serve para representar excepções de carregamento de objectos a partir de canais.
class ErroAoGuardar
Esta classe serve para representar excepções ao guardar objectos usando canais.


Documentation

Este espaço nominativo envolve todas as ferramentas da biblioteca Slang++.

A biblioteca Slang++ permite a utilização de algumas funções que actuam sobre o teclado e o ecrã e a criação de menus simples em modo texto. A biblioteca consiste de um pacote Slang (representado pelo espaço nominativo Slang) dividido em quatro módulos fisicos teclado, ecra, menu e util, cada um com o correspondente ficheiro de interface (Slang/teclado.H, Slang/ecra.H, Slang/menu.H e Slang/util.H).

Estão definidas nesta biblioteca as variáveis globais teclado (do tipo Slang::Teclado) e ecra (do tipo Slang::Ecra), não sendo por isso necessário criar quaisquer variáveis destes tipos.

Nesta documentação omite-se o prefixo Slang:: sempre que conveniente para facilitar a leitura, embora em rigor este seja necessário.

Para construir um programa (neste caso teste_slang.C) que utilize estas biblioteca deve dar o seguinte comando:

c++ -Wall -ansi -pedantic -g -o teste_slang teste_slang.C -lSlang++ -lslang 

Os ficheiros fonte devem incluir o ficheiro de interface Slang/slang.H, que por sua vez inclui os ficheiros de interface dos quatro módulos, ou incluir apenas o ficheiro de interface do módulo pretendido.

Sempre que se testar algum programa que use a biblioteca Slang++ deve-se usar uma consola xterm (outras consolas podem gerar alguns problemas). Para lançar uma consola xterm deve-se dar o comando:

xterm& 
numa consola normal (Konsole).

Pode-se também fazer 'alt-F2' e escrever xterm na caixa de diálogo que surge no ecrã.

Caso se pretenda instalar esta biblioteca noutro computador deve-se fazer o seguinte:

  1. Importar os seguintes ficheiros:

    Para importar no netscape basta fazer 'shift-clique' no botão esquerdo do rato.

  2. Dar os seguintes comandos:
    tar -zxf Slang++-0.1.tar.gz 
    cd Slang++ 
    make 
    su (inserir a senha [password] de administração da máquina) 
    cd .. 
    rpm -Uhv slang.*.rpm 
    exit