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  

Ferramentas de menus

Módulo correspondente ao ficheiro Slang++/menu.H. Mais...


Ficheiros

file  exemplo2.C
 Programa que demostra a utilização do ecrã e dos menus de forma simples.

file  menu1.C
 Programa que demostra a utilização de menus simples.

file  menu.C
 Ficheiro de implementação do módulo menus.

file  menu.H
 Ficheiro de interface do módulo menus.

file  menu_impl.H
 Ficheiro auxiliar de implementação do módulo menus.


Componentes

class  ApendiceComCor
 Define ferramentas relacionadas com cores para os menus que as possuirem. Mais...

class  Menu
 Classe abstracta que representa a interface básica de todos os menus. Mais...

class  MenuComCor
 Classe abstracta que define a interface básica de todos os menus com cores. Mais...

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

class  MenuDeCores
 Representa menus de selecção das cores básicas usáveis no ecrã. Mais...

class  MenuDeSimOuNao
 Representa menus com apenas duas opções: sim e não. Mais...

class  Aviso
 Representa caixas de aviso, que apenas mostram uma mensagem e das quais se sai pressionando 'enter'. Mais...

class  CaixaDeTexto
 Representa caixas de texto, que quando executadas permitem ao utilizador introduzir uma cadeia de caracteres. Mais...


Descrição detalhada

Módulo correspondente ao ficheiro Slang++/menu.H.

Contém ferramentas para criar e executar vários tipos de menus e caixas de diálogo simples.

Os vários tipos de menus são exemplificados no programa abaixo:

#include <cstdlib> // para atoi().
#include <string>  // para string.

#include <Slang++/slang.H>

using namespace std;

using namespace Slang;

int main()
{
    // A definição dos menus e caixas de texto fora do ciclo leva a que estes
    // tenham memória, preservando as escolhas do utilizador entre interacções
    // indenpendentes:
    MenuSimples menu("Um menu que não faz nada...",
                     "Perguntar se sim ou não\n"
                     "Pedir uma cor\n"
                     "Abrir caixa para inserir texto\n"
                     "Abrir caixa para inserir número\n"
                     "Sair");
    MenuDeSimOuNao menu_de_sim_ou_nao("Responda sim ou não:");
    MenuDeCores menu_de_cores("Escolha uma cor");
    CaixaDeTexto caixa_para_texto("Escreva um texto:");
    CaixaDeTexto caixa_para_numeros("Escreva um número:", "", "0123456789", 
                                    true);

    do {
        menu.interage();

        Posicao const posicao_original_do_cursor = ecra.posicaoDoCursor();

        switch(menu.opcaoActual()) {
          case 0: {
              menu_de_sim_ou_nao.interage();

              ecra << "Escolheu: ";
              if(menu_de_sim_ou_nao.opcaoActual() == true)
                  ecra << "Sim";
              else
                  ecra << "Não";

              break;
          }
          case 1: {
              menu_de_cores.interage();

              ecra << "Escolheu: " << Cor(menu_de_cores.opcaoActual());

              break;
          }
          case 2: {
              caixa_para_texto.interage();

              ecra << "Texto: " << caixa_para_texto.textoActual();

              break;
          }
          case 3: {
              caixa_para_numeros.interage();

              ecra << "Número: " 
                   << atoi(caixa_para_numeros.textoActual().c_str());

              break;
          }
        }
        ecra << posicao_original_do_cursor << baixaCursor << refresca;
    } while(menu.opcaoActual() != 4);

    Aviso("Vou terminando...").interage();
}

Gerado em Tue Dec 3 15:19:36 2002 para Pacotes por doxygen1.3-rc1