Página principal   Módulos   Lista de namespaces   Hierarquia de classes   Lista de componentes   Lista de ficheiros   Membros do namespace   Componentes membro   Ficheiros membro   Páginas relacionadas  

Referência à classe Slang::MenuSimples
[Ferramentas de menus]

Representa menus simples, que consistem numa sequência de itens. Mais...

#include <Slang++/menu.H>

Diagrama de heranças da classe Slang::MenuSimples

Slang::MenuComCor Slang::Menu Slang::ApendiceComCor Slang::MenuDeCores Slang::MenuDeSimOuNao Mostrar lista completa dos membros

Membros públicos

Construtores
 MenuSimples (std::string const &titulo, std::string const itens[], int const numero_de_itens)
 Constrói um menu simples com o título dado e com os itens cujo texto é dado na forma de uma matriz clássica de cadeias de caracteres.

 MenuSimples (std::string const &titulo, std::string const &itens)
 Constrói um menu simples com o título dado e com os itens cujo texto é dado na forma de uma cadeia de caracteres onde os itens são terminados por '\n'.

Inspectores
virtual int opcaoActual () const
 Devolve a opção actual do menu (o primeiro item do menu tem número 0).

Interface com o utilizador
virtual void interage ()
 Executa o menu, i.e., interage com o utilizador do programa.


Descrição detalhada

Representa menus simples, que consistem numa sequência de itens.

O programa abaixo mostra um menu simples no ecrã e escreve a opção que for pressionada até ser seleccionada a opção "Basar":

#include <string> 

#include <Slang++/slang.H> 

using namespace std; 

using namespace Slang; 

int main () 
{ 
    string opcoes[] = {"Basar",
                       "Nao faz nada...",
                       "Esta também não!",
                       "Nem esta..."};
    int numero_de_opcoes = sizeof(opcoes) / sizeof(string);
    
    MenuSimples menu("Um menu que não faz nada!", opcoes, numero_de_opcoes); 
    
    while(true) {
        menu.interage();
        
        if(menu.opcaoActual() == 0)
            break;
        
        ecra << parado << largura(20) << opcoes[menu.opcaoActual()] << refresca; 
    } 
}

O mesmo exemplo poderia ser escrito com mais simplicidade se não se precisasse de acedar às opções do menu individualmente:

#include <string> 

#include <Slang++/slang.H> 

using namespace std; 

using namespace Slang; 

int main () 
{     
    MenuSimples menu("Um menu que não faz nada!",
                     "Basar\n"
                     "Nao faz nada...\n"
                     "Esta também não!\n"
                     "Nem esta..."); 
    
    while(true) {
        menu.interage();
        
        if(menu.opcaoActual() == 0)
            break;
        
        ecra << parado << largura(20) << menu.opcaoActual() << refresca; 
    } 
}

Invariante:
1 <= numero_de_itens e itens.size() == numero_de_itens e (Q j : 0 <= j < numero_de_itens : eImprimivel(itens[j])) e comprimento_maximo_dos_itens = max((M j: 0 <= j < numero_de_itens : itens[j].size()), titulo().length() e 0 <= opcao_corrente < numero_de_itens.

Definido na linha 275 do ficheiro menu.H.


Documentação dos Construtores & Destrutor

Slang::MenuSimples::MenuSimples std::string const &    titulo,
std::string const    itens[],
int const    numero_de_itens
[inline]
 

Constrói um menu simples com o título dado e com os itens cujo texto é dado na forma de uma matriz clássica de cadeias de caracteres.

Precondição:
titulo ≠ "" e eImprimivel(titulo) e 1 <= numero_de_itens e itens tem numero_de_itens elementos e (Q j : 0 <= j < numero_de_itens : eImprimivel(itens[j])).
Poscondição:
titulo() = titulo.

Definido na linha 137 do ficheiro menu_impl.H.

Referências Slang::Menu::titulo().

Slang::MenuSimples::MenuSimples std::string const &    titulo,
std::string const &    itens
 

Constrói um menu simples com o título dado e com os itens cujo texto é dado na forma de uma cadeia de caracteres onde os itens são terminados por '\n'.

Precondição:
titulo ≠ "" e eImprimivel(titulo) e itens tem pelo menos um item e os itens em itens são todos imprimíveis.
Poscondição:
titulo() = titulo.

Definido na linha 14 do ficheiro menu.C.

Referências Slang::Menu::titulo().


Documentação dos métodos

int Slang::MenuSimples::opcaoActual   const [inline, virtual]
 

Devolve a opção actual do menu (o primeiro item do menu tem número 0).

Precondição:
V.
Poscondição:
opcaoActual = opção actual do menu, i.e, a última opção escolhida pelo utilizador.

Implementa Slang::Menu.

Reimplementado em Slang::MenuDeSimOuNao.

Definido na linha 158 do ficheiro menu_impl.H.

void Slang::MenuSimples::interage   [virtual]
 

Executa o menu, i.e., interage com o utilizador do programa.

Precondição:
V.
Poscondição:
opcaoActual() é a última opção escolhida pelo utilizador.

Implementa Slang::Menu.

Definido na linha 47 do ficheiro menu.C.

Referências Slang::Ecra::cola(), Slang::ecra, Slang::Ecra::foiRedimensionado(), Slang::fundo(), Slang::Teclado::haTeclaDisponivel(), Slang::Teclado::leProximaTeclaDisponivel(), Slang::Ecra::posicaoDoCursor(), Slang::refresca(), Slang::teclado, Slang::Teclado::teclaLida() e Slang::Ecra::trocoDoEcraCompleto().

Referenciado por Slang::Aviso::interage().


A documentação para esta classe foi gerada a partir dos seguintes ficheiros:
Gerado em Tue Dec 3 15:19:38 2002 para Pacotes por doxygen1.3-rc1