<?php
// módulo PHP-GTK para Windows ou Linux:
dl('php_gtk.' . (strstr(PHP_OS, 'WIN') ? 'dll' : 'so'));
// Criando a Main Window(Janela Principal) e suas propriedades:
$window = &new GtkWindow();
// Largura, Altura da janela
$window->set_default_size(800 /* Largura */, 600 /* Altura */);
// Posição da Janela. Pode ser usado no formato x,y com a função set_position(x, y);
$window->set_position(GTK_WIN_POS_CENTER);
// Título da janela
$window->set_title("Criando Toolbar...");
// Conecta O sinal destroy da janela à função gtk::main_quit que encerra a aplicação
$window->connect_object('destroy', array('gtk', 'main_quit'));
// Mostra a Janela
$window->show();
// Criando Widget Fixed na Janela para Fixar as posições:
$fixed = &new GtkFixed;
// Colocando o Fixed na Janela(A janela por si só pode conter apenas um widget, o fixed pode conter vários):
$window->add($fixed);
// Este Widget permitirá que o nosso ToolBar se torne destacável da janela(ver screenshot 2).
$HandleBox = &new GtkHandleBox;
// +-------------------+
// | |
// | Criando o TOOLBAR |
// | |
// +-------------------+
$ToolBar = &new GtkToolBar("GTK_ORIENTATION_HORIZONTAL" , "GTK_TOOLBAR_BOTH");
/*
Orientação(1º Parâmetro) pode ser: GTK_ORIENTATION_HORIZONTAL ou GTK_ORIENTATION_VERTICAL
ToolBarStyle(2º Parâmetro) pode ser: GTK_TOOLBAR_ICONS, GTK_TOOLBAR_TEXT, GTK_TOOLBAR_BOTH
*/
// Espaço entre cada item do ToolBar
$ToolBar->set_space_size(2);
// +----------------+
// | Botão 1 |
// +----------------+
// Criando um Pixmap de uma imagem Xpm
$pixmap = gdk::pixmap_create_from_xpm($window->window, null, 'Package.xpm');
$icon = &new GtkPixmap($pixmap[0], $pixmap[1]);
// Criando o botão que receberá a imagem
$button = &new GtkButton();
$button->add($icon);
// +----------------+
// | Botão 2 |
// +----------------+
// Criando um Pixmap de uma imagem Xpm
$pixmap2 = gdk::pixmap_create_from_xpm($window->window, null, 'RenameModel.xpm');
$icon2 = &new GtkPixmap($pixmap2[0], $pixmap2[1]);
// Criando o botão que receberá a imagem
$button2 = &new GtkButton();
$button2->add($icon2);
// +----------------+
// | Botão 3 |
// +----------------+
// Criando um Pixmap de uma imagem Xpm
$pixmap3 = gdk::pixmap_create_from_xpm($window->window, null, 'Save.xpm');
$icon3 = &new GtkPixmap($pixmap3[0], $pixmap3[1]);
// Criando o botão que receberá a imagem
$button3 = &new GtkButton();
$button3->add($icon3);
// Colocando o botão na próxima posição do toolbar
$ToolBar->append_widget($button, "Este texto irá aparecer quando o mouse estiver em cima do botão 1", "Este texto irá aparecer quando o mouse estiver em cima do botão 1");
$ToolBar->append_space();
//Insere o espaço após o botão
$ToolBar->append_widget($button2, "Este texto irá aparecer quando o mouse estiver em cima do botão 2", "Este texto irá aparecer quando o mouse estiver em cima do botão 2");
$ToolBar->append_space();
//Insere o espaço após o botão
$ToolBar->append_widget($button3, "Este texto irá aparecer quando o mouse estiver em cima do botão 3", "Este texto irá aparecer quando o mouse estiver em cima do botão 3");
//Colocando o ToolBar dentro do HandleBox que criamos
$HandleBox->add($ToolBar);
//Colocando o HandleBox dentro do Fixed que criamos
$fixed->put($HandleBox, 10 /* Posição x */, 0 /* Posição y */);
$button->connect_object('clicked', 'Dialog', "Botão 1 Clicado!");
$button2->connect_object('clicked', 'Dialog', "Botão 2 Clicado!");
$button3->connect_object('clicked', 'Dialog', "Botão 3 Clicado!");
// Mostrando todos os itens da Janela:
$window->show_all();
function Dialog($text)
{
$label = &new GtkLabel($text);
$dialog = &new GtkDialog();
$vbox = $dialog->vbox;
$vbox->pack_start($label);
$dialog->show_all();
}
// Iniciando o Loop
Gtk::main();
?>