PHP-GTK: Criando Aplicações Gráficas com PHP Adianti Framework para PHP PHP Programando com Orientação a Objetos Criando Relatórios com PHP

[PHP-GTK] Problemas com janelas

Zendrael zendrael em gmail.com
Quinta Agosto 3 13:31:46 CDT 2006


Olás!

Numa aplicação possuo 2 janelas, a principal cria a 2º janela e
através da principal eu posso alterar algumas propriedades da 2º
janela - o problema é: como fazer com que a 2º janela também possa
alterar alguma propriedade ou objeto da janela principal?

Segue o código do que fiz até agora:

//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\
<?
  dl('php_gtk.'.PHP_SHLIB_SUFFIX);

  class main{
    function main(){
      $w = $this->w = new gtkwindow();
      $v = $this->v = new gtkVbox();
      $b1 = $this->b1 = new gtkbutton('change name');
      $b2 = $this->b2 = new gtkbutton('change height');
      $b3 = $this->b3 = new gtkbutton('change width');

      $w->add($v);
      $v->pack_start($b1);
      $v->pack_start($b2);
      $v->pack_start($b3);
		
      //aqui chamando a classe win
      $n = new win();

      $b1->connect_object('clicked', array($n,'do_name'), 'abc' );
      $b2->connect_object('clicked', array($n,'do_h'), 300 );
      $b3->connect_object('clicked', array($n,'do_w'), 300 );

      $w->connect_object('destroy',array('gtk','main_quit'));

      $w->show_all();
    }

  }

  class win{
    var $w;

    function win(){
      $this->w = new gtkwindow();
      $this->w->realize();
      $this->w->show_all();
    }

    function do_name( $nam ){
      $this->w->set_title( $nam );
    }

    function do_h( $val ){
      $wid = $this->w->window->width;
      //width, height
      $this->w->set_default_size( $wid, $val );
      $this->w->show();
    }

    function do_w( $val ){
      $hei = $this->w->window->height;
      $this->w->set_default_size( $val, $hei );
      $this->w->show();
    }

  }

  new main();

  gtk::main();

?>
//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//

Em outro sistema, no evento delete-event da janela principal eu chamo
a janela de confirmação pra sair do sistema, mas a janela principal
desaparece! Como mantê-la visível ou fazer com que reapareça caso o
usuário clique no botão cancelar da janela de confirmação?


Obrigado pelo help!


Zendrael ·.·


More information about the Lista mailing list