Explicação
Um programador sempre necessita estilizar suas aplicações para facilitar a interação com o usuário. O método mais eficaz é a utilização de cores, elas facilitam bastante o usuário a deduzir certas coisas no sistema, como um cadastro bloqueado, o estado do sistema (busca? inserção? edição?). Para este efeito em algum widgets isso é feito facilmente com o método modify_base() do GtkWidget().
Imagem
Solução
Mudar a cor do GtkEntry com o método modify_base().
Exemplo
widgets['txtTeste'] = new GtkEntry();
$this->widgets['txtTeste']->set_size_request(100, 23);
$fixed->put($this->widgets['txtTeste'], 8, 8);
// Muda a cor do Entry
$this->widgets['txtTeste']->modify_base(
Gtk::STATE_NORMAL,
GdkColor::parse("#FFD79B")
);
// Cria a janela
$this->widgets['frmTeste'] = new GtkWindow();
$this->widgets['frmTeste']->set_size_request(300, 200);
$this->widgets['frmTeste']->set_resizable(FALSE);
$this->widgets['frmTeste']->set_title("Teste");
$this->widgets['frmTeste']->add($fixed);
$this->widgets['frmTeste']->set_position(GTK::WIN_POS_CENTER);
$this->widgets['frmTeste']->show_all();
// Conecta o destroy
$this->widgets['frmTeste']->connect_simple(
"destroy",
array("Gtk", "main_quit")
);
}
}
// Inicia a aplicação
$teste = new Teste();
gtk::main();
Referências
http://gtk.php.net/manual/en/gtk.gtkwidget.method.modify_base.php