• Artigos
  • Projetos
  • Download
  • Docs
  • Enviar Artigo
  • ?

GtkCombobox usando new_text()

08/02/2008  Fernando Henrique Correa  Ler e Comentar

Exemplo simples de aplicação O.O. para gerar um GtkCombobox com dados provenientes de um vetor.


O legal deste exemplo é a utilização do sinal CHANGE.

Este exemplo foi desenvolvido em parceria com Edivan Carneiro de Castro.

<?php
/**
 * GTKCombobox com new_Text
 * By Fernando Herique Correa and Edivan Carneiro De Castro.
 * 2008-02-12
 */
class app {
    
    private 
$win = null;
    private 
$combo = null;
    
    public function 
app(){
        
$this->buildGUI();
        
$this->startApp();
    }
    
    private function 
buildGUI(){
        
        
#Window
        
$this->createWin();
        
        
#Stored do Combo
        
$this->createCombo();
        
        
#Inicia App
        
$this->startApp();

    }
    
    private function 
createWin(){
        
$this->win = new GtkWindow();
        
$this->win->set_title("GtkComboBox com new_text()");
        
$this->win->set_default_size(450,50);
        
$this->win->connect('delete_event',array($this,'turnOffApp'));
    }
    
    private function 
createCombo(){
        
$this->combo = GtkComboBox::new_text();

        
$array_dados = $this->getDados();
        foreach (
$array_dados as $option) {
            
$this->combo->append_text($option);
        }

        
$this->combo->set_active(0);
        
$this->combo->connect('changed', array($this, 'changeCBox'));
        
$this->win->add($this->combo);
    }
    
    public function 
changeCBox($lista_selection){
        
        
$iter = $lista_selection->get_active_iter();
        echo 
get_class($iter);
        if(
$iter) {        
            
$model = $this->combo->get_model();
            
get_class($model);
            
$nome = $model->get_value($iter,0);
            echo 
__METHOD__ ."> $nome 
"
;
        }
        else {
            echo 
__METHOD__ ."> Falha de selecao.
"
;
        }
    }
    
    private function 
getDados(){
        
$array_dados = array(
            
0 => 'Edivan Carneiro De Castro',
            
1 => 'Fernando Henrique Correa',
            
2 => 'Lista PHP-GTK BR.'
        
);
        
        return 
$array_dados;
    }
    
    private function 
startApp(){
        
$this->win->show_all();
    }
    
    public function 
turnOffApp(){
        
GTK::main_quit();
    }
}

new 
app();
GTK::main();
?>




Comentários

 Adicionar Comentário
 login
 Senha
 Título
 Comentário

Livros




    Outros

    Busque conteúdo no site
    Participe de nosso grupo no google

    [Grupo]  [Arquivos] [Mapa Usuários]

    Google

    Parceiros

 
Designed by Wolfgang Bartelme Designed by Wolfgang Bartelme

© 2006 Wordpress Themes | Theme (Not so) Fresh
XHTML CSS RSS