Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env perl
- # Instalar Gtk3 y Gtk3::WebKit por CPAN,para funcionar correctamente
- # Programa de prueba para Tiempo de Tux <http://www.itimetux.com>
- # Por Demianx864
- # Eres libre de estudiar modificar y añadir nuevas cosas a el programa,que te diviertas :D
- # Simple PerlBrowser 2.0
- # Gracias al modulo WebKit <http://webkitgtk.org/>
- use strict;
- use feature ':5.14';
- use Glib qw/TRUE FALSE/;
- use Gtk3 -init;
- use Gtk3::WebKit;
- # Parámetros de la ventana
- my $ventana = Gtk3::Window->new('toplevel');
- $ventana->set_default_size(800, 600);
- $ventana->set_title("Simple PerlBrowser 2");
- $ventana->set_border_width(5);
- $ventana->signal_connect (delete_event => sub { Gtk3->main_quit });
- # Entrada
- my $entry = Gtk3::Entry->new;
- $entry->signal_connect( "activate" => \&entrada, undef );
- # Botones
- my $brg = Gtk3::Button->new("Salir");
- my $go = Gtk3::Button->new("Ir");
- my $batras = Gtk3::ToolButton->new_from_stock('gtk-go-back');
- my $belante = Gtk3::ToolButton->new_from_stock('gtk-go-forward');
- $brg->signal_connect ("clicked" => \&salir );
- $batras->signal_connect( "clicked" => \&atras );
- $belante->signal_connect ( "clicked" => \&adelante );
- $go->signal_connect ( "clicked" => \&entrada, undef );
- # Webkit
- my $uri = shift @ARGV || 'http://www.google.com/';
- my $ver = Gtk3::WebKit::WebView->new();
- # Cargamos url
- $ver->load_uri( $uri );
- # Añadimos url a scrolls
- my $scrolls = Gtk3::ScrolledWindow->new();
- $scrolls->set_policy ('automatic', 'automatic');
- $scrolls->add($ver);
- # Unimos todo
- # hbox
- my $hbox = Gtk3::Box->new("horizontal", 0);
- $hbox->pack_start($brg, FALSE, FALSE, 0);
- $hbox->pack_start($entry, TRUE,TRUE , 0);
- $hbox->pack_start($go, TRUE,TRUE , 0);
- $hbox->pack_start($batras, FALSE, FALSE, 0);
- $hbox->pack_start($belante, FALSE, FALSE, 0);
- # vbox
- my $vbox = Gtk3::Box->new("vertical", 0);
- $vbox->pack_start($scrolls,TRUE, TRUE, 0);
- $vbox->pack_start($hbox, FALSE, FALSE, 0);
- $ventana->add($vbox);
- # Lo mostramos
- $ventana->show_all();
- Gtk3->main();
- #Funciones
- sub salir {
- say "Hasta luego";
- Gtk3->main_quit;
- return FALSE;
- }
- sub adelante{ $ver->go_forward }
- sub atras{ $ver->go_back }
- sub entrada{
- my $uri = $entry->get_text;
- my $sbr = substr($uri,0,7);
- # Checamos si tiene http y si no es asi cambiamos el valor
- if ($sbr eq "http://") {
- $uri = $uri;
- }
- else{
- $uri = "http://$uri";
- }
- $ver->load_uri($uri);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement