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  

exemplo2.C

Ir para a documentação deste ficheiro.
00001 
00006 #include <cstdlib> // para atoi().
00007 #include <string>  // para string.
00008 
00009 #include <Slang++/slang.H>
00010 
00011 using namespace std;
00012 
00013 using namespace Slang;
00014 
00015 int main()
00016 {
00017     // A definição dos menus e caixas de texto fora do ciclo leva a que estes
00018     // tenham memória, preservando as escolhas do utilizador entre interacções
00019     // indenpendentes:
00020     MenuSimples menu("Um menu que não faz nada...",
00021                      "Perguntar se sim ou não\n"
00022                      "Pedir uma cor\n"
00023                      "Abrir caixa para inserir texto\n"
00024                      "Abrir caixa para inserir número\n"
00025                      "Sair");
00026     MenuDeSimOuNao menu_de_sim_ou_nao("Responda sim ou não:");
00027     MenuDeCores menu_de_cores("Escolha uma cor");
00028     CaixaDeTexto caixa_para_texto("Escreva um texto:");
00029     CaixaDeTexto caixa_para_numeros("Escreva um número:", "", "0123456789", 
00030                                     true);
00031 
00032     do {
00033         menu.interage();
00034 
00035         Posicao const posicao_original_do_cursor = ecra.posicaoDoCursor();
00036 
00037         switch(menu.opcaoActual()) {
00038           case 0: {
00039               menu_de_sim_ou_nao.interage();
00040 
00041               ecra << "Escolheu: ";
00042               if(menu_de_sim_ou_nao.opcaoActual() == true)
00043                   ecra << "Sim";
00044               else
00045                   ecra << "Não";
00046 
00047               break;
00048           }
00049           case 1: {
00050               menu_de_cores.interage();
00051 
00052               ecra << "Escolheu: " << Cor(menu_de_cores.opcaoActual());
00053 
00054               break;
00055           }
00056           case 2: {
00057               caixa_para_texto.interage();
00058 
00059               ecra << "Texto: " << caixa_para_texto.textoActual();
00060 
00061               break;
00062           }
00063           case 3: {
00064               caixa_para_numeros.interage();
00065 
00066               ecra << "Número: " 
00067                    << atoi(caixa_para_numeros.textoActual().c_str());
00068 
00069               break;
00070           }
00071         }
00072         ecra << posicao_original_do_cursor << baixaCursor << refresca;
00073     } while(menu.opcaoActual() != 4);
00074 
00075     Aviso("Vou terminando...").interage();
00076 }

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