Utilizando mascaras em campos de formulários

Explicação

A validação do formato dos dados em formulários é muito importante para prevenir má entrada de dados no banco de dados, acarretando em problema na geração de relatórios ou até mesmo em fechamento inesperado do aplicativo. Para isso é muito comum que seja utilizado mascaras nos campos, forçando o usuário a digitar valores corretos.

Imagem

Exemplo


 * @download 
 */
class Demo {
	/**
	 * Armazena os widgets necessarios
	 * 
	 * @access private
	 * @property array $widgets
	 */
	public $widgets = array();
	
	/**
	 * @name __construct()
	 * @return Demo
	 */
	public function __construct() {
		// Cria a janela
		$this->widgets['frmDemo'] = new GtkWindow();
		$this->widgets['frmDemo']->set_size_request(180, 180);
		$this->widgets['frmDemo']->set_position(Gtk::WIN_POS_CENTER_ALWAYS);
		$this->widgets['frmDemo']->set_title("Demo");
		$this->widgets['frmDemo']->connect("destroy", array($this, "frmDemo_unload"));
		$fix = new GtkFixed();
		
		// Telefone
		$fix->put(Fabula::GtkLabel("Telefone"), 8, 8);
		$this->widgets['txtTelefone'] = Fabula::GtkEntry();
		$this->widgets['txtTelefone']->set_mask("(99) 9999-9999");
		$fix->put($this->widgets['txtTelefone'], 8, 24);
		
		// CPF
		$fix->put(Fabula::GtkLabel("CPF"), 8, 52);
		$this->widgets['txtCPF'] = Fabula::GtkEntry();
		$this->widgets['txtCPF']->set_mask("999.999.999-99");
		$fix->put($this->widgets['txtCPF'], 8, 68);
		
		// Inicia a aplicação
		$this->widgets['frmDemo']->add($fix);
		$this->frmDemo_onload();
	}
	
	/**
	 * Método do carregamento do formulario
	 * 
	 * @name frmDemo_onload()
	 */
	public function frmDemo_onload() {
		// Inicia a aplicação
		$this->widgets['frmDemo']->show_all();
		Gtk::main();
	}
	
	/**
	 * Método do descarregamento do formulario
	 * 
	 * @name frmDemo_unload()
	 */
	public function frmDemo_unload() {
		// Encerra a aplicação
		Gtk::main_quit();
	}
}
	
/**
 * Inicia o demo
 */
new Demo();

Referências

http://gtk.php.net/manual/en/gtk.gtkentry.php