+2

Criando Menus em Aplicações PHP-GTK

criado por Nielson de Jesus Lima Rocha em 29/01/2003 9:16pm
Vamos então começar a fazer o menu. Lembrando que você deve ter instalado o PHP-GTK em sua máquina para poder rodar do script.

Criando o arquivo menu.php:

<?php
// Chamando o modulo PHP-GTK:
dl('php_gtk.' . (strstr(PHP_OS, 'WIN') ? 'dll' : 'so'));

// Criando a janela:
$Janela = &new GtkWindow();
// Vamos agora setar as propiedades da janela:

$Janela->set_default_size(350, 450); // Tamanho da Janela
$Janela->set_title("Menu em PHP-GTK"); // Título da Janela
$Janela->set_position(GTK_WIN_POS_CENTER); // Define a posição da Janela com a constante GTK_WIN_POS_CENTER  para centralizar a janela
$Janela->set_border_width(0); // Seta o tamanho da borda
$Janela->connect_object('destroy', array('gtk', 'main_quit')); // Necessário para destruir a janela caso ela for fechada.

/* Agora que já criamos a janela e setamos suas principais propiedades, vamos criar o Menu, que terá a seguinte estrutura:

Clientes -> Cadastrar
         -> Editar
         -> Excluir
         -> -
         -> Fechar
Ferramentas
         -> Opções Gerais
Ajuda
         -> Sobre o sistema
Mas antes de criamos o menu nos temos q criar uma caixa vertical para a janela:
*/

$Caixa = &new GtkVBox(); // Cria uma caixa vertical para abrigar menus, paineis etc...
// Atribuindo ele a Janela:
$Janela->add($Caixa);

// Agora iremos criar o menu:

$Menu = &new GtkMenuBar; // Classe com as propiedades do menu

// atribuindo o menu a caixa da janela:
$Caixa->pack_start($Menu, false, false, 0);

// Criando o menu Clientes:
$Clientes = &new GtkMenuItem("Clientes"); // Cria o item para o menu
$Menu->append($Clientes); // Junta o item Cliente ao Menu

$Ferramentas = &new GtkMenuItem("Ferramentas"); // Cria o item ferramentas
$Menu->append($Ferramentas); // Junta o item ao Menu

$Ajuda = &new GtkMenuItem("Ajuda"); // Cria o item Ajuda
$Menu->append($Ajuda); // Adiciona o item ao Menu

// Vamos criar agora os submenus
// Sub Menus -> Clientes:
$M_Clientes = &new GtkMenu(); // Necessário para criar o submenu
$Clientes_Cadastro = &new GtkMenuItem("Cadastrar");
$M_Clientes->append($Clientes_Cadastro);
$Clientes_Editar = &new GtkMenuItem("Editar");
$M_Clientes->append($Clientes_Editar);
$Clientes_Excluir = &new GtkMenuItem("Excluir");
$M_Clientes->append($Clientes_Excluir);
$Clientes_Separador = &new GtkMenuItem(); // Cria o separador
$Clientes_Separador->set_sensitive(false); // Desabilita o separador
$M_Clientes->append($Clientes_Separador);
$Clientes_Sair = &new GtkMenuItem("Sair");
$M_Clientes->append($Clientes_Sair);

// Vamos atribuir como submenu:
$Clientes->set_submenu($M_Clientes);

// Sub Menus do Item Ferramentas:
$M_Ferr = &new GtkMenu();
$Ferr_op = &new GtkMenuItem("Opcoes Gerais");
$M_Ferr->append($Ferr_op);

// Setando como submenu:
$Ferramentas->set_submenu($M_Ferr);

// Criando o sub menu para Ajuda:
$M_Ajuda = &new GtkMenu();
$Ajuda_Sobre = &new GtkMenuItem("Sobre o sistema");
$M_Ajuda->append($Ajuda_Sobre);

// Setando como submenu:
$Ajuda->set_submenu($M_Ajuda);

// Agora iremos mostra os itens da janela:
$Janela->show_all();

// Gerando o Loop
Gtk :: main();
?>

Agora você deve abrir o command-prompt do DOS e digitar:

C:\pasta\php_gtk\php -q menu.php

Será gerado a janela PHP-GTK com o menu.

Comentários:

Mostrando 1 - 10 de 11 comentários
Realmente, Java é Java, PHP é PHP e Deus é Deus...
Se bobear, Deus nem existe, po!! :)
e provavelmente, Deus não programa em nenhuma dessas duas linguagens... ele programa direto em Assembly... ou naqueles códigozinhos verdes que ficam caindo nos monitores de Matrix... :)

Mas sério, pessoal... PHP-GTK é mais demonstração de tecnologia e potencial do que outra coisa. Espero estar enganado, mas não vejo muito futuro comercial nisso.
08/12/2003 8:11am (~13 anos atrás)

O melhor site é o http://gtk.php.net tem uma boa documentação (que em algumas partes estã em português).
22/02/2003 12:47pm (~14 anos atrás)

Não é que as grandes empresas não gostem da comunidade Open Source, porque elas já mudaram ou estão mudando. O Java já se estabeleceu no mundo corporativo e a microsoft está correndo atrás com o .net
E o PHP é isso que o Adler falou.
Excelente para pequenos e médios projetos de desenvolvimento rápido. Tem espaço para todas as tecnologias. O PHP cresce no segmento que lhe é favorável, que por sinal é a maior fatia. Certo?
07/02/2003 8:28am (~14 anos atrás)

Acho que se o PHP tivesse um grande apoio o projeto já estaria muito mais adiantado. Mas parecem que as grandes empresas não gostam da comunidade "Open Source".
06/02/2003 10:18pm (~14 anos atrás)

Olá rapazes, postei uma faq para acirrar discussões como essa, dá uma olhada lá, e ganhe até uns pontos extras.

Pergunta:
Como está o PHP em relação à Java e asp.net e aceitação nas grandes empresas? (5)

[]'s BobFrank
05/02/2003 11:48am (~14 anos atrás)

Não concordo com vc, faço parte da equipe dos desenvolvedores do PHP, e acho que dá qui a algum tempo (1, 2 ou até 3 anos) o PHP já seke muito mais evoluido que o java, e também tendo os mesmos recursos.

Um dia vocês verão isso...
04/02/2003 10:03pm (~14 anos atrás)

Acho que para windows ainda não fizeram no PEAR. Recebi informações que eles já estão trabalhando em uma versão pra windows.
31/01/2003 9:58pm (~14 anos atrás)

Cara na verdade isso não se torna tão necessario, afinal o proprio Flash(swf) e o java(applets), já são boas alternativas como tecnologia client-side.

Eu acredito mais e na questão do php pre-copilado uma especie de Byte-Code e no php para criar aplicativos multiplataforma.

Acredito muito no projeto php-gtk, mais acredito que muitas mudanças viram, o php-gtk ainda e meio restrito em suas funcionalidades, temos mesmo e que criar extensões e ferramentas que tronsforme do php uma verdadeira maquina de programar que permita criar programas avançados, como o Java tem permitido.
E evidente que criar programa de alta qualidade vai muito do programador, mais se a liguagem não ajuda a coisa não anda.
Para queles que estão desenvolvendo em php-gtk, uma questão tem se mostrado bem relevante, o Byte-Code php, ou seja usar ferramentas como Zend e Pear para gerar códigos pre-copilados, coisa que ira ajudar não so na proteção de seus códigos(tanto a nivel de Licença, como da alteração idevida fazendo com que a aplicação não funcine) como também teremos programas mais rápidos.

Em rezumo php e uma linguagem nova, se comparada com Java, mais é uma linguagem de grade futuro.

Vamos sentar e esperar pra ver....
Quero dizer sentar porcaria ninhuma, vamos botar a mão na massa e ajudar o php a evoluir, se não com códigos pelomenos com idéias !

Quanto a execução por telnet, vai denpender do que você quer dizer.
Se você tiver acesso ao código em php, podera executar de qualquer maneira, inclusive por ftp !
30/01/2003 11:00am (~14 anos atrás)

Não fui eu quem escreveu o artigo mais eu te respondo.
1)Sim
2)Sim
3)Não(ao menos por enquanto)
4)Sim
5)Não(ao menos por enquanto)
Explicações:
Php-gtk e uma extensão do php para criar aplicativos, esse aplicativos são rodados localmente e não atraves de um server.

Quanto a 3ª e a 5ª questão:
Eu (eu mesmo) acredito que o php ainda vai evoluir para uma coisa como o Applet de Java, ou seja poderemos rodar php dentro do browser, e dentre em breve teremos copiladores php que criaram Byte-Code reias, ou seja o PHP se tornara um concorrete mais do que altura do Java, coisa que ele já é em se tratando de aplicação Server/Cliente.

Todos ai concordão?
30/01/2003 8:35am (~14 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)