Edição de Setembro

... revista mensal de programação Open Source

Uma edição repleta de artigos inovadores, redigidos por profissionais, com especial detaque em PHP e PHP-GTK !
  Artigos :
- Design Patterns
- Cross Site Request
- Optimização de código
- Web Services
- Manuel Lemos em entrevista
-
Parceiros :
- Yahoo
- DRI
- Adianti
- PHPClasses
A Revista PHP é distribuida por universidades, instituições e empresas
Solicite-nos informação para publicidade a preços reduzidos !


Artigo 50 / 58

Verificar campos vazios nas aplicações PHP-GTK


Tags :
empty fields on PHP-GTK, PHP-GTK Dialog, campos vazios no PHP-GTK


Tal com nas aplicações Web , nas aplicações gráficas , muitos dos campos apresentados são de preenchimento obrigatório, e assim torna-se necessário apresentar soluções de forma a prevenir que esses campos sejam preenchidos. Para esta tarefa o PHP-GTK dispõe de uma janela de diálogo própria para apresentar as mensagens, e alguns botões prontos a utilizar , conhecidos por Stock Buttons.
O código seguinte é uma exemplo muito simples de verificar se um campo está vazio apresentando a respectiva mensagem de erro ao utilizador.


 <?php
    
   
/********************************************
    Autor    : José Franco
    Data     : 04 Maio de 2008
    Lisenca  : Creative Commons 
    Distro   : Verificar campos vazios no PHP-GTK2
    ***********************************************/ 
    //cria a janela
    
$Janela = new GtkWindow;
    
$Janela->set_title("Validando campos no PHP-GTK");
    
$Janela->set_position(Gtk::WIN_POS_CENTER);
    
$Janela->connect_simple('destroy', array(Gtk,  'main_quit'));
    
// container
    
$CaixaV = new GtkVBox();
    
//caixa de texto
    
$CaixaT  = new GtkEntry;
    
    
//botao
    
$Botao = new GtkButton("Guardar");
    
/*******************************************************
     * liga o botao àfuncção OnSalvar e envia o parametro
     * do tipo objecto onde o texto foi escrito (GtkEntry)
     *******************************************************/
    
$Botao->connect_simple('clicked''onSalvar',$CaixaT);
    
    
// coloca os objectos no container
    
$CaixaV->pack_start($CaixaT,0,0);
    
$CaixaV->pack_start($Botao,0,0);
    
$Janela->add($CaixaV);
    
// mostra o conteúdo na janela
    
$Janela->show_all();

  
/*******************************************
  * A função OnSalvar obtem a string digitada
  * na caixa de texto e invoca a mensagem de erro
  * no caso do campo estar vazio
  *********************************************/
  
function onSalvar(&$caixa){
  
$str $caixa->get_text();
   if(empty(
$str)) alerta("Indique o nome do cliente !");
  
  }
  
  
   
/***************************************************
   *   Cria a janela de alerta 
   *  A fução usa o construtor GtkDialo que mostra uma
   *  pequena janela e permite adicionar mensagens nesta
   * O botão usado é instanciado dos GTK::STOCK buttons
   * que generalizam botões previamente tratados , com uma
   * imagem neste, sendo mais facil ttar com os sinais que 
   * emitem (RESPONSE_XX)
   ****************************************************/
   
function alerta($info){
    
$popup = new GtkDialog(
    
"Alerta",
    
NULL,
    
Gtk::DIALOG_MODAL,array(Gtk::STOCK_OKGtk::RESPONSE_OK));
    
$popup->set_size_request(150,100);
    
$msg = new GtkLabel($info);
    
$topArea $popup->vbox;
    
$topArea->add($msg);       
   
    
$popup->show_all();
    
$rs $popup->run();
   if(
$rs ===Gtk::RESPONSE_OK){
      
$popup->destroy();
      }
   }
  
//loop de eventos na aplicação
  
Gtk::main();


?> 

Resultado


Comentários
Nome
Email
Comentário

+=
Não existem comentários para este artigo

Links patrocinados

Sponsors

Revista PHP Edição online
 Estão online 3 utilizadores !
38.107.191.117

Artigos publicados online

  • em breve
  • Publicidade
  • eXTReMe Tracker

Promove-te

A Revista PHP, está a receber propostas para edição em edições seguintes. Os teus artigos serão revistos por uma equipa profissional, e publicados de acordo com o grau de profissionalismo. A revista tem um ISSN associado, o que significa que os artigos aquí publicados serão de interesse ciêntifico, podendo ser utilizados em trabalhos de pesquisa tecnologica desde que citada a fonte !