• Artigos
  • Projetos
  • Download
  • Docs
  • Enviar Artigo
  • ?

Área de Transferência

28/01/2007  Pablo DallOglio  Ler e Comentar

Este exemplo procura demonstar a utilização da área de transferência em conjunto com caixas de entrada de dados (GtkEntry). Este exemplo consiste em uma janela contendo uma caixa vertical (GtkVBox) com duas caixas horizontais (GtkHBox), cada uma contendo um botão (copiar ou colar) e uma caixa de entrada de dados.

O Objetivo do botão copiar, localizado em frente à caixa de entrada de dados da primeira linha é copiar o conteúdo digitado para a área de transferência. O Objetivo do botão colar, localizado em frente à caixa de entrada de dados da segunda linha é colar o conteúdo da área de transferência.

<?php
/*
 * função onCopy
 * Copia o conteúdo do Entry para a área de transferência
 */
function onCopy($entry)
{
    
// seleciona todo conteúdo
    
$entry->select_region(0,-1);
    
// copia para área de transferência
    
$entry->copy_clipboard();
}

/*
 * função onPaste
 * Cola o conteúdo da área de transferência para o Entry
 */
function onPaste($entry)
{
    
// limpa todo conteúdo
    
$entry->set_text('');
    
// cola conteúdo da área de transferência
    
$entry->paste_clipboard();
}

// cria janela principal
$window = new GtkWindow;
$window->set_default_size(140,100);
$window->set_position(GTK::WIN_POS_CENTER);
$window->set_title('Área de transferência');
$window->set_border_width(20);

// cria caixa vertical
$vbox = new GtkVBox;

// cria 2 campos de entrada
$entry1= new GtkEntry;
$entry2= new GtkEntry;

// cria 2 botões (copiar e colar)
$button1 = GtkButton::new_from_stock(Gtk::STOCK_COPY);
$button2 = GtkButton::new_from_stock(Gtk::STOCK_PASTE);

// define as ações dos botões
$button1->connect_simple('clicked', 'onCopy',  $entry1);
$button2->connect_simple('clicked', 'onPaste', $entry2);

// cria 2 caixas horizontais
$hbox1 = new GtkHBox;
$hbox2 = new GtkHBox;

// empacota botões e entries
$hbox1->pack_start($button1);
$hbox1->pack_start($entry1);

$hbox2->pack_start($button2);
$hbox2->pack_start($entry2);

// empacota caixas horizontais
$vbox->pack_start($hbox1);
$vbox->pack_start($hbox2);

$window->add($vbox);
// exibe janela
$window->show_all();
Gtk::main();
?>w




Comentários

 Adicionar Comentário
 login
 Senha
 Título
 Comentário

Livros




    Outros

    Busque conteúdo no site
    Participe de nosso grupo no google

    [Grupo]  [Arquivos] [Mapa Usuários]

    Google

    Parceiros

 
Designed by Wolfgang Bartelme Designed by Wolfgang Bartelme

© 2006 Wordpress Themes | Theme (Not so) Fresh
XHTML CSS RSS