Slang++.
Mais...
Componentes | |
| struct | Slang::Ecra::Apaga |
| struct | Slang::Ecra::ApagaFimDaLinha |
| struct | Slang::Ecra::ApagaFimDoEcra |
| class | Slang::ApendiceComCor |
| Define ferramentas relacionadas com cores para os menus que as possuirem. Mais... | |
| class | Slang::Aviso |
| Representa caixas de aviso, que apenas mostram uma mensagem e das quais se sai pressionando 'enter'. Mais... | |
| class | Slang::Caixa |
| Representar caixas no ecrã. Mais... | |
| class | Slang::CaixaDeTexto |
| Representa caixas de texto, que quando executadas permitem ao utilizador escrever uma cadeia de caracteres. Mais... | |
| struct | Slang::Ecra::Campainha |
| class | Slang::Dimensao |
| Representa uma dimensão no ecrã. Mais... | |
| class | Slang::Ecra |
| Esta classe é um solitão: a sua única instância representa o ecrã. Mais... | |
| class | Slang::Erro |
| Base de uma pequena hierarquia de classes representando excepções. Mais... | |
| class | Slang::ErroAoCarregar |
| Representa excepções de carregamento de objectos a partir de canais. Mais... | |
| class | Slang::ErroAoGuardar |
| Representa excepções ao guardar objectos usando canais. Mais... | |
| struct | Slang::Ecra::Fundo |
| class | Slang::Ignora |
| Representa manipuladores de entrada que ignoram caracteres. Mais... | |
| struct | Slang::Ecra::Largura |
| struct | Slang::Ecra::Linha |
| class | Slang::Menu |
| Define a interface básica de todos os menus. Mais... | |
| class | Slang::MenuComCor |
| Define a interface básica de todos os menus com cores. Mais... | |
| class | Slang::MenuCor |
| Representa menus de selecção das cores básicas usáveis no ecrã. Mais... | |
| class | Slang::MenuSimNao |
| Esta classe serve para representar menus com apenas duas opções: sim e não. Mais... | |
| class | Slang::MenuSimples |
| Representa menus simples, que consistem numa sequência de itens. Mais... | |
| class | Slang::Ecra::ObjectoCor |
| Esta classe é usada para indicar a cor das células do ecrã (as células têm uma cor de texto e outra de fundo). Mais... | |
| struct | Slang::Ecra::Parado |
| class | Slang::Posicao |
| Representa a posição de uma célula do ecrã. Mais... | |
| struct | Slang::Ecra::Refresca |
| struct | Slang::Ecra::RefrescaTudo |
| class | Slang::Tecla |
| Representa teclas premidas. Mais... | |
| class | Slang::Teclado |
| Esta classe é um solitão: a sua única instância representa o teclado. Mais... | |
| class | Slang::Ecra::Troco |
| Esta classe serve para representar um troço de ecrã. Mais... | |
Operadores associados à classe Posicao | |
| Posicao | operator+ (Posicao a, Posicao const &b) |
| Soma de duas posições (o segundo operando é interpretado como um vector). Mais... | |
| Posicao | operator- (Posicao a, Posicao const &b) |
| Diferença de duas posições (o resultado pode ser interpretado como um vector). Mais... | |
| Posicao | operator+ (Posicao a, Dimensao const &b) |
| Soma de uma posição com uma dimensão. Mais... | |
| Posicao | operator- (Posicao a, Dimensao const &b) |
| Subtracção de uma dimensão a uma posição. Mais... | |
| Posicao | operator- (Posicao const &b) |
| Simétrico de uma posição. Mais... | |
| bool | operator== (Posicao const &a, Posicao const &b) |
| Comparação entre duas posições. Mais... | |
Operadores associados à classe Dimensao | |
| Dimensao | operator+ (Dimensao a, Dimensao const &b) |
| Soma de duas dimensões. Mais... | |
| Dimensao | operator- (Dimensao a, Dimensao const &b) |
| Subtracção de duas dimensões. Mais... | |
| bool | operator== (Dimensao const &a, Dimensao const &b) |
| Comparação entre duas dimensões. Mais... | |
Operadores associados à classe Caixa | |
| Caixa | operator+ (Caixa a, Posicao const &c) |
| Soma de caixa posição: devolve caixa deslocada. Mais... | |
| Caixa | operator+ (Posicao const &c, Caixa a) |
| Soma de caixa com posição: devolve caixa deslocada. Mais... | |
| Caixa | operator+ (Caixa a, Caixa const &b) |
| "Soma" de duas caixas: devolve caixa envolvente das duas caixas. Mais... | |
| Caixa | operator * (Caixa a, Caixa const &b) |
| "Produto" de duas caixas: devolve intersecção das duas caixas. Mais... | |
Operadores associados ao tipo enumerado Cor | |
| std::ostream& | operator<< (std::ostream &saida, Cor cor) |
| Operador de inserção de cores num canal. Mais... | |
| std::istream& | operator>> (std::istream &entrada, Cor &cor) |
| Operador de extracção de cores de um canal. Mais... | |
Manipuladores do ecrã | |
| Posicao | cursor (int linha, int coluna) |
| Manipulador usado para colocar o cursor numa dada posição. Mais... | |
| Caixa | caixa (int linha, int coluna, int linhas, int colunas) |
| Manipulador usado para desenhar uma caixa com caracteres especiais numa dada posição. Mais... | |
| Ecra::Linha const | linha_horizontal (true) |
| Manipulador usado para desenhar uma linha horizontal. Mais... | |
| Ecra::Linha const | linha_vertical (false) |
| Manipulador usado para desenhar uma linha vertical. Mais... | |
| Ecra::Fundo const | fundo |
| Manipulador usado para indicar que as próximas escritas devem ser realizadas usando a cor do fundo do ecrã. Mais... | |
| Ecra::Parado const | parado |
| Manipulador usado para manter o cursor na posição corrente depois da próxima operação de escrita no ecrã. Mais... | |
| Ecra::Largura const | largura |
| Manipulador usado para indicar o número de caracteres a escrever na próxima operação de escrita de tipos usuais (char, int, std::string). Mais... | |
| Ecra::Refresca const | refresca |
| Manipulador usado para refrescar o ecrã. Mais... | |
| Ecra::RefrescaTudo const | refresca_tudo |
| Manipulador usado para fazer o refrescamento total do ecrã. Mais... | |
| Ecra::Apaga const | apaga |
| Manipulador usado para apagar o ecrã (ou seja, para o pintar com a cor do fundo). Mais... | |
| Ecra::ApagaFimDaLinha const | apaga_fim_da_linha |
| Manipulador usado para apagar até ao fim da linha do cursor (ou seja, para o pintar com a cor do fundo). Mais... | |
| Ecra::ApagaFimDoEcra const | apaga_fim_do_ecra |
| Manipulador usado para apagar desde a posição do cursor até ao fim do ecrã (ou seja, para o pintar com a cor do fundo). Mais... | |
| Ecra::Campainha const | campainha |
| Manipulador usado para fazer soar a campainha. Mais... | |
Constantes associadas à classe Caixa | |
| Caixa const | caixa_vazia |
| Constante representando uma caixa vazia. Mais... | |
| Caixa const | caixa_universal |
| Constante representando a caixa universal (enche todo o espaço). Mais... | |
Manipuladores extra para std::istream | |
| Ignora const | il |
Manipulador que ignora todos os caracteres até ao próximo fim-de-linha ('\n'). Mais... | |
| Ignora const | ill |
Manipulador que ignora todos os caracteres até ao próximo fim-de-linha ('\n') mas primeiro limpa possíveis condições de erro do canal. Mais... | |
Enumerações | |
| enum | Cor { preto, primeira_cor = preto, cinza, vermelho, vermelho_brilhante, verde, verde_brilhante, castanho, amarelo, azul, azul_brilhante, magenta, magenta_brilhante, ciano, ciano_brilhante, cinzento_claro, branco, ultima_cor = branco } |
| ecra.H Slang/ecra.H Representa as possíveis cores do texto e do fundo de cada célula do ecrã. Mais... | |
| enum | Simbolo { diamante = , tijolo, ht, ff, cr, lf, grau, mais_menos, nl, vt, canto_inferior_direito, canto_superior_direito, canto_superior_esquerdo, canto_inferior_esquerdo, cruzamento, traco_topo, traco_superior, traco_horizontal, traco_inferior, traco_base, encontro_direita, encontro_esquerda, encontro_cima, encontro_baixo, traco_vertical, menor_ou_igual, maior_ou_igual, pi, diferente } |
| ecra.H Slang/ecra.H Representa os caracteres especiais úteis para desenhar caixas e outros símbolos especiais. Mais... | |
| enum | Justificacao { ao_centro, a_esquerda, a_direita } |
| ecra.H Slang/ecra.H Representa os vários tipos de justificação possíveis ao escrever texto no ecrã. Mais... | |
Funções | |
| Caixa | caixa (Posicao const &origem=Posicao(), Dimensao const &dimensao=Dimensao()) |
| Posicao | cursor (Posicao const &posicao) |
| std::istream& | operator>> (std::istream &entrada, Ignora const &ignora) |
| Operador de extracção para os manipuladores de ignorar caracteres. Mais... | |
Variáveis | |
| int const | numero_de_cores |
| Constante que guarda o número total de cores. Mais... | |
| Ecra | ecra |
| Uma variável global representando o ecrã. Mais... | |
| string const | nomes_das_cores [numero_de_cores] |
| Constante global com os nomes das cores. Mais... | |
| Teclado | teclado |
| Uma variável global representando o teclado. Mais... | |
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:
su (inserir a senha [password] de administração da máquina) rpm -Uhv slang*.rpm tar -zxf Slang++-0.2.tar.gz cd Slang++ make make install cd .. exit
|
|
ecra.H Slang/ecra.H Representa as possíveis cores do texto e do fundo de cada célula do ecrã. Note-se que nem todas as cores são válidas para o fundo em todos os terminais! Experimente para verificar quais é que funcionam bem... Ver na documentação abaixo os nomes das cores usados para inserção e extração de canais.
Definido na linha 361 do ficheiro ecra.H. 00361 {
00362 preto,
00363 primeira_cor = preto,
00364 cinza,
00365 vermelho,
00366 vermelho_brilhante,
00367 verde,
00368 verde_brilhante,
00369 castanho,
00370 amarelo,
00371 azul,
00372 azul_brilhante,
00373 magenta,
00374 magenta_brilhante,
00375 ciano,
00376 ciano_brilhante,
00377 cinzento_claro,
00378 branco,
00379 ultima_cor = branco
00380 };
|
|
|
ecra.H Slang/ecra.H Representa os vários tipos de justificação possíveis ao escrever texto no ecrã.
Definido na linha 425 do ficheiro ecra.H. 00425 {
00429 ao_centro,
00433 a_esquerda,
00437 a_direita
00438 };
|
|
|
ecra.H Slang/ecra.H Representa os caracteres especiais úteis para desenhar caixas e outros símbolos especiais.
Definido na linha 387 do ficheiro ecra.H. 00387 {
00388 diamante = '`',
00389 tijolo,
00390 ht,
00391 ff,
00392 cr,
00393 lf,
00394 grau,
00395 mais_menos,
00396 nl,
00397 vt,
00398 canto_inferior_direito,
00399 canto_superior_direito,
00400 canto_superior_esquerdo,
00401 canto_inferior_esquerdo,
00402 cruzamento,
00403 traco_topo,
00404 traco_superior,
00405 traco_horizontal,
00406 traco_inferior,
00407 traco_base,
00408 encontro_direita,
00409 encontro_esquerda,
00410 encontro_cima,
00411 encontro_baixo,
00412 traco_vertical,
00413 menor_ou_igual,
00414 maior_ou_igual,
00415 pi,
00416 diferente
00417 };
|
|
|
Definido na linha 624 do ficheiro ecra_impl.H. 00625 {
00626 return Caixa(origem, dimensao);
00627 }
|
|
|
Definido na linha 616 do ficheiro ecra_impl.H. 00616 {
00617 return posicao;
00618 }
|
1.2.6 escrito por Dimitri van Heesch,
© 1997-2001