Como mudar a cor do fundo de um GtkEntry

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

Captura_de_tela-Teste-1

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