Como desabilitar edição no GtkComboBoxEntry

Explicação

A classe GtkComboBoxEntry, nos ajuda quando precisamos dar opções de preenchimento ao ComboBox, mas por questão de estética e facilidade de uso, muitas vezes é utilizado no lugar do GtkComboBox. Para desativar utilizamos uma propriedade chamada editable do GtkEntry.. Para utilizarmos o GtkComboBoxEntry como se fosse um combo normal, precisamos retirar a propriedade de edição do mesmo. Como a parte editável é o GtkEntry, podemos utilizar a propriedade editable para desabilitar a edição.

Solução

Setar a propriedade editable como FALSE.

Exemplo

widgets['cmbTeste'] = &GtkComboBoxEntry::new_text();
			$this->widgets['cmbTeste']->set_size_request(284, 25);
			$fixed->put($this->widgets['cmbTeste'], 8, 8);
			
			// Desabilita a edição
			$this->widgets['cmbTeste']->get_child()->set_property("editable", FALSE);
			
			// Cria o Botão inserir
			$this->widgets['btnInserir'] = new GtkButton("Inserir");
			$this->widgets['btnInserir']->set_size_request(80, 28);
			$fixed->put($this->widgets['btnInserir'], 8, 40);
			$this->widgets['btnInserir']->connect_simple("clicked", array($this, "btnInserir_onClick"));
			
			// Cria o Botão Buscar
			$this->widgets['btnBuscar'] = new GtkButton("Buscar");
			$this->widgets['btnBuscar']->set_size_request(80, 28);
			$fixed->put($this->widgets['btnBuscar'], 88, 40);
			$this->widgets['btnBuscar']->connect_simple("clicked", array($this, "btnBuscar_onClick"));
			
			// Cria o Label
			$this->widgets['lblTeste'] = new GtkLabel("");
			$this->widgets['lblTeste']->set_size_request(80, 28);
			$fixed->put($this->widgets['lblTeste'], 174, 40);
			
			// Cria a janela
			$this->widgets['frmTeste'] = new GtkWindow();
			$this->widgets['frmTeste']->set_size_request(300, 75);
			$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")
			);
		}
		
		// Método do evento onClick do btnInsert
		public function btnInserir_onClick()
		{
			static $total;
			$this->widgets['cmbTeste']->append_text("Opcao " . ++$total);
		}
		
		// Método do evento onClick do btnBuscar
		public function btnBuscar_onClick()
		{
			$value = $this->widgets['cmbTeste']->get_child()->get_text();
			$this->widgets['lblTeste']->set_label($value);
		}
	}

	// Inicia a aplicação
	$teste = new Teste();
	gtk::main();

Referências

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