alexprog58
(usa Debian)
Enviado em 17/07/2013 - 14:31h
<?php
/*--------------------------------------------------------------------*
\ Este php script foi criado por alexprog58 inicinte em php-gtk \
\ tenho algumas dificuldades ainda mas gostei muito. E decidi fazer \
\ este para mostra como criar com php-gtk orientado a objeto. \
\ by: Alex L.M 2013 \
\ pesso descupas aos da comunidade Viva o Linux se houver erro de \
\ codigo, e estou apto para houvir dicas e correçoes. obrigado \
*--------------------------------------------------------------------*/
class Radioght
{
private $window;
private $fixo;
public function __construct()
{
$this->window = new GtkWindow;
$this->window->set_title('M.E.N.U');
$this->window->set_default_size(600,480);
$this->window->set_position(GTK::WIN_POS_CENTER);
$this->window->set_border_width(60);
$this->window->connect_simple('destroy', array('Gtk', 'main_quit'));
$fixo= new GtkFixed;// adicionado para expor objetos de acordo com a necesidade altura e distancia
$this->window->add($fixo);//integrando objeto junto a janela
$hora= new GtkLabel("Hora");//usando gtklabel para imprimir hora
Gtk::timeout_add(1, 'AtualizaClock');//funçao para atualizar hora
$hora->set_markup(date('H:i:s'));//imprimindo a hora
$this->window->add($hora);//integrando objeto junto a janela
$fixo->put($hora,350,0); //fixo controla a exposiçao do objeto altura e distancia
$date= new GtkLabel("Data"); //usando gtklabel para imprimir a data
$date->set_text(date('d/m/y'));//imprimindo a data
$this->window->add($date);//integrando objeto junto a janela
$fixo->put($date,40,0); //fixo controla a exposiçao do objeto altura e distancia
$vbox = new GtkVBox;//criando gtkvbox para exibir radiobutton juntos
$this->window->add($vbox);//integrando objeto junto a janela
$label = new GtkLabel(utf8_decode("Menu"));//criando gtklabel para imprimir nome
$fonte = new PangoFontDescription('Arial 20');// alterando tipo de fonte
$label->modify_fg(Gtk::STATE_NORMAL, GdkColor::parse('#1E90FF'));// alterando cor de fonte
$label->modify_font($fonte);// codicão para alterar fonte
$fixo->put($label,75,25); //fixo controla a exposiçao do objeto altura e distancia
$this->check1 = new GtkCheckButton('Muzzarela');//criando objeto GtkCheckButton ou radiobutton
$fixo->put($this->check1, 85,70);//fixo controla a exposiçao do objeto altura e distancia
$this->check2 = new GtkCheckButton('4queijos');//criando objeto GtkCheckButton ou radiobutton
$fixo->put($this->check2,290,70);//fixo controla a exposiçao do objeto altura e distancia
$this->check3 = new GtkCheckButton('Napolitana');//criando objeto GtkCheckButton ou radiobutton
$fixo->put($this->check3,85,250);//fixo controla a exposiçao do objeto altura e distancia
$this->check4 = new GtkCheckButton('portugueza');//criando objeto GtkCheckButton ou radiobutton
$fixo->put($this->check4,290,250);//fixo controla a exposiçao do objeto altura e distancia
$this->check5= new GtkCheckButton('nao quero nada');//criando objeto GtkCheckButton ou radiobutton
$fixo->put($this->check5,85,280);//fixo controla a exposiçao do objeto altura e distancia
$this->check6 = new GtkCheckButton('lasagna');//criando objeto GtkCheckButton ou radiobutton
$fixo->put($this->check6 ,290,280);//fixo controla a exposiçao do objeto altura e distancia
$button = GtkButton::new_from_stock(Gtk::STOCK_OK);//carrega botao
$button->connect_simple('clicked', array($this, 'onClick'));//ligação para a função
$fixo->put($button,340,320);//fixo controla a exposiçao do objeto altura e distancia
$vbox->pack_start($label, false, false);//carrega objetos do GtkVBox
$vbox->pack_start($label2, false, false);//carrega objetos do GtkVBox
$vbox->pack_start($this->check1, false, false);//carrega objetos do GtkVBox
$vbox->pack_start($this->check2, false, false);//carrega objetos do GtkVBox
$vbox->pack_start($this->check3, false, false);//carrega objetos do GtkVBox
$vbox->pack_start($this->check4, false, false);//carrega objetos do GtkVBox
$vbox->pack_start($this->check5, false, false);//carrega objetos do GtkVBox
$vbox->pack_start($this->check6, false, false);//carrega objetos do GtkVBox
$vbox->pack_start($codigo, false, false);//carrega objetos do GtkVBox
$vbox->pack_start($button, false, false);//carrega objetos do GtkVBox
$this->window->show_all();//janela carreaga todos os objetos adicionado a ela
}
/*=================================Atualiza Hora tem algum erro nao funciona=======================*/
public function AtualizaClock(){//função atualiza hora
$hora->set_markup(date('H:i:s'));//me descupa mas nnão oncegui fazer funcionar
Gtk::timeout_add(1000,'AtualizaClock');//se alguem consegui poste. agradecido
}
public function onClick()//função click funciona quando botao ok é acionado
{
$texto = '';//criando corpo do Gtkdialog Com texto do GtkCheckButton selecionado
$texto .= $this->check1->get_active() ? "* <b> muzzarela </b> \n" : '';
$texto .= $this->check2->get_active() ? "* <b> 4queijos </b> \n" : '';
$texto .= $this->check3->get_active() ? "* <b> napolitana </b> \n" : '';
$texto .= $this->check4->get_active() ? "* <b> portuguesa </b> \n" : '';
$texto .= $this->check5->get_active() ? "* <b> nao quero nada</b> \n" : '';
$texto .= $this->check6->get_active() ? "* <b> Lasagna </b> \n" : '';
$dialog = new GtkMessageDialog(null, Gtk::DIALOG_MODAL, Gtk::MESSAGE_INFO,
Gtk::BUTTONS_OK, NULL);
$dialog->set_markup("Você escolheu: \n$texto ");
$dialog->run();//carrega dialogo
$dialog->destroy();//esta funçao destroi a janela ao ser fechada
}
}
new Radioght;//observar que este contem o nome da classe la nas primeiras linhas
Gtk::main();
?>