#!/usr/bin/perl =head1 NAME simple.pl - Apply Pango markup through buttons. =head1 DESCRIPTION This sample program provides some buttons that apply Pango markup. =cut use strict; use warnings; use Glib qw(TRUE FALSE); use Gtk2 '-init'; use Gtk2::Ex::Entry::Pango; exit main(); sub main { my $window = Gtk2::Window->new(); my $entry = Gtk2::Ex::Entry::Pango->new(); my $button_markup1 = Gtk2::Button->new('Markup 1'); my $button_markup2 = Gtk2::Button->new('Markup 2'); my $button_text = Gtk2::Button->new('Text'); my $hbox_bottom = new Gtk2::HBox(FALSE, 0); $hbox_bottom->pack_start($button_markup1, FALSE, FALSE, 0); $hbox_bottom->pack_start($button_markup2, FALSE, FALSE, 0); $hbox_bottom->pack_start($button_text, FALSE, FALSE, 0); my $vbox = new Gtk2::VBox(FALSE, 0); $vbox->pack_start($entry, TRUE, TRUE, 0); $vbox->pack_start($hbox_bottom, TRUE, TRUE, 0); $window->set_focus_child($button_markup1); $window->add($vbox); # Use Pango markup $entry->set_markup( 'Pango is fun' ); # Connect the signals $window->signal_connect(delete_event => sub { Gtk2->main_quit(); }); $button_markup1->signal_connect(clicked => sub { $entry->set_markup('smaller text'); }); $button_markup2->signal_connect(clicked => sub { $entry->set_markup('smaller text'); }); $button_text->signal_connect(clicked => sub { $entry->set_text('smaOOOOller text'); }); $window->show_all(); Gtk2->main(); return 0; }