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();