#!/usr/bin/perl use strict; use Gtk2 '-init'; use Gtk2::GladeXML; my($programa, $ventana_principal, $abrir_archivo, $vista_de_texto,$buffer_de_texto); $programa = Gtk2::GladeXML->new('pruebas.glade'); ### Cargo Widgets $ventana_principal = $programa->get_widget('ventana_principal'); $abrir_archivo = $programa->get_widget('abrir_archivo'); $vista_de_texto = $programa->get_widget('vista_de_texto'); $programa->signal_autoconnect_from_package('main'); Gtk2->main; sub on_ventana_abrir_archivo_boton_abrir_clicked { $buffer_de_texto = Gtk2::TextBuffer->new; my $archivo_seleccionado = $abrir_archivo->get_filename; open(LISTA, "$archivo_seleccionado") || die('No pude abrir el archivo'); while(){ $buffer_de_texto->insert_at_cursor("$_"); } close(LISTA); $vista_de_texto->set_buffer($buffer_de_texto); $abrir_archivo->hide; } sub on_boton_abrir_archivo_clicked {$abrir_archivo->show_all;} sub on_ventana_abrir_archivo_boton_cancelar_clicked {$abrir_archivo->hide;} sub on_boton_salir_clicked { Gtk2->main_quit; }