Aplicações desktop com php – parte 2
Agosto 25, 2008
Saudações phpzeiros! Depois de um tempo sem postar graças ao trabalho, estou de volta
. E vamos voltar a série de posts de aplicações desktop com php-gtk. Hoje vamos falar um pouco de containers.
Containers são componentes (widgets) que encapsulam outros componentes. Janelas, painés, frames são exemplos de containers.
Os dois tipos básicos mais usados de containers são GtkBin e GtkBox. O primeiro só permite um componente filho, enquanto o segundo permite que vários widgets sejam acoplados ao container. Essas duas classes são abstratas e como tal não podem ser instânciadas diretamente.
Vamos então falar dos containers mais usados:
- GtkHBox, GtkVBox
Organiza os componentes filhos em uma única linha horizontal (GtkHBox) da esquerda para a direita ou vertical (GtkVBox) do topo para a base. Os métodos usado para adicionar os componentes são pack_start e pack_end.Estrutura do GtkHBoxComponente 1 Componente 2 Componente n Estrutura do GtkVBoxComponente 1 Componente 2 Componente n $vbox = new GtkVBox(); $vbox->pack_start( new GtkEntry() ); $vbox->pack_start( new GtkEntry() ); $wnd->add($vbox);
- GtkTable
Organiza os componentes no formato de uma tabela usando linhas e colunas. Os componentes podem ocupar mais de uma linha/coluna.
Os componentes são adicionados usando o método attach do GtkTable. Nele você deve dizer em que linha/coluna o componente deve iniciar e terminar.$table->attach($label, 0, 2, 0, 1);
No exemplo acima, o label vai iniciar na coluna 0 e terminar na coluna 2 (ocupando duas colunas), iniciar na linha 0 e terminar na linha 1 (ocupando 1 linha apenas).
- GtkFixed
O mais flexivel na minha opinião. O desenvolvedor informa as coordenadas x e y em que o componente deve ficar posicionado na tela. O método usado para adicionar os componentes é o put ou move. Para tal, basta indicar a posição (x,y) de onde o componente deve ser colocado no formulário.$fixed->put( new GtkEntry(), 8, 24);
- GtkWindow
Esse é o container mais usado. Como se trata de um GtkBin, só permite apenas um componente filho. O método usado para adicionar os componentes é o add.$win = new GtkWindow(); $win->set_title("Exemplo GtkWindow"); $fixed = new GtkFixed(); $fixed->put( new GtkEntry(), 8, 24); $win->add($fixed);
É isso ai galera. Até o próximo post.
Entry Filed under: PHP. Tags: Aplicações, containers, Desktop, GTK+, GtkFixed, GtkHBox, GtkTable, GtkVBox, Linux, PHP, widget, Windows.
Trackback this post | Subscribe to the comments via RSS Feed