PHP-GTK: Criando Aplicações Gráficas com PHP Adianti Framework para PHP PHP Programando com Orientação a Objetos Criando Relatórios com PHP

[PHP-GTK] NoteBook

Pablo Dall'Oglio pablo em dalloglio.net
Quarta Dezembro 13 21:39:22 CST 2006


Seria isto ?
o exemplo do sensitive é simples. A complexidade está no switch-page que
é chamado sempre que o usuário troca a aba do notebook. Neste caso
estamos fazendo um controle. Sempre que ele clicar na segunda aba, volta
para a primeira. Espero que tenha ajudado.

abraços
Pablo

<?php

$a = new GtkWindow;

$b = new GtkNotebook;

$b->append_page(new GtkLabel('Conteudo a'), new GtkLabel('TAB A'));
$b->append_page(new GtkLabel('Conteudo b'), new GtkLabel('TAB B'));
$b->append_page(new GtkLabel('Conteudo c'), new GtkLabel('TAB C'));
$b->connect_after('switch-page', 'trocou');

$a->add($b);
$a->show_all();

// retorna o conteúdo da segunda aba
$conteudo = $b->get_nth_page(1);
// retorna o rótulo da segunda aba (baseado no conteúdo)
$aba = $b->get_tab_label($conteudo);
// define a propriedade sensitive
$aba->set_sensitive(FALSE);


function trocou($notebook, $aba, $numero)
{
    echo "Você trocou para a aba $numero\n";
    if ($numero == 1)
    {
        echo "Não pode...\n";
        $notebook->set_current_page(0);
    }
}
Gtk::Main();
?>

Em Qua, 2006-12-13 às 15:09 -0300, Marcelo Rocha escreveu:
> Alguém??
> ----- Original Message ----- 
> From: "Marcelo Rocha" <cello_rocha at oi.com.br>
> To: "Comunidade Brasileira de PHP-GTK" <lista at php-gtk.com.br>
> Sent: Wednesday, December 13, 2006 8:52 AM
> Subject: [PHP-GTK] NoteBook
> 
> 
> Bom dia,
> 
> Como setar o sensitive numa aba de um notebook, procurei na documentação e
> no histórico
> e não tem nada.
> 
> Aos que puderem ajudar obrigado
> 
> Marcelo Rocha
> Iniciante PHP-Gtk2
> 
> _______________________________________________
> Lista mailing list
> Lista at php-gtk.com.br
> http://lists.php-gtk.com.br/cgi-bin/mailman/listinfo/lista
> 
> 
> 
-- 
:: Pablo Dall'Oglio
:: www.pablo.blog.br



More information about the Lista mailing list