Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Janelas X GTK Gostaria de trabalhar com o PHP-GTK e o componente TWindow. Porém se utilizo o componente TWindow, ao executar o sistema ele se fecha. Será que para utilizar o TWindow tenho que criar um template para cada janela? Se for como fazer? Espero que tenha ficado claro a dúvida. Abraço ...
JN
Janelas X GTK  
Fechado
Gostaria de trabalhar com o PHP-GTK e o componente TWindow.
Porém se utilizo o componente TWindow, ao executar o sistema ele se fecha.
Será que para utilizar o TWindow tenho que criar um template para cada janela? Se for como fazer?
Espero que tenha ficado claro a dúvida.

Abraço

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (3)


AN

Ola!
da uma olhada no aplicativo tutor os arquivos:
app/control/organization/complexViews/CitySeek.class.php
app/control/organization/complexViews/CustomerDataGridView.class.php
app/control/organization/complexViews/CustomerFormView.php


Execute o tutor em ambiente GTK abra o exemplo Organization->complexViews->CustomerForm

Ao clicar na botão (lupa) ao lado do campo City abre uma nova janela do tipo TWindow.
Acho que pode encontrar o que precisa por ali.


abs.


PD

João Renato,

Desculpe, mas o index.gtk.php do tutor realmente não estava preparado para instanciar classes filhas de TWindow. Se você fizer essa pequena mudança no método run() no arquivo index.gtk.php irá funcionar:

  1. <?php
  2. class TApplication extends GtkWindow
  3. {
  4.     //...
  5.     /**
  6.      * Pack a class inside the application window
  7.      * @param $class class name
  8.      */
  9.     function run($class)
  10.     {
  11.         if (class_exists($class))
  12.         {
  13.             $object = new $class;
  14.             
  15.             if ($object instanceof TPage)
  16.             {
  17.                 if ($children $this->content->get_children())
  18.                 {
  19.                     foreach ($children as $child)
  20.                     {
  21.                         $this->content->remove($child);
  22.                     }
  23.                 }
  24.                 
  25.                 $this->classname $class;
  26.                 $this->content->put($object55);
  27.                 $object->show();
  28.                 return $object;
  29.             }
  30.             else
  31.             {
  32.                 $object->show();
  33.                 return $object;
  34.             }
  35.         }
  36.     }
  37.     //...
  38. }
  39. ?>
PD

João,

Saliento que a alteração está no fato de testar se o objeto é filho de TPage ou não (TWindow). No próximo release, isso já virá por default.

abraços,
Pablo