RubyLit - Ruby.del.litoral!
Dialogo Selecionar Archivo

#
#http://ruby-gnome2.sourceforge.net/tut/12.2.htm
#
require 'gtk2'

# inicio gtk, es comun olvidarse de esta linea.
Gtk.init

# Creo la ventana
window = Gtk::Window.new( Gtk::Window::TOPLEVEL )
# Seteo ancho y alto
window.set_size_request( 300, 75 )
# Le pongo Titulo
window.set_title( "Seleccionar Fuente" )
# creo el evento que cierra la ventana al hacer clic en la X
window.signal_connect( "delete_event" ) { Gtk.main_quit }

# Creo una Caja Vertical
vbox = Gtk::VBox.new( true, 0 )
# Agrego la caja a la ventana
window.add( vbox )

# Creo un boton
button = Gtk::Button.new( "Click" )
# Agrego el boton a la caja
vbox.pack_start( button, false, false, 0)

# Creo un label
label = Gtk::Label.new( "Cambiar la fuente" )
# Agrego el label a la caja
vbox.pack_start( label, false, false, 0)

# Creo el evento que responde al click
button.signal_connect( "button_press_event", Gdk::Event::BUTTON_PRESS  ) { 
   |widget, event, y|

    #creo el dialogo.
    dialog = Gtk::FontSelectionDialog.new("seleccione la fuente")

    # Ejecuto el dialogo
    dialog.run do |response|
        # Capturo la respuesta
        case response
        when Gtk::Dialog::RESPONSE_OK
          # Desde aca llamo a la rutina de aceptar
          label.set_markup("<span font_desc=\"#{dialog.font_name}\">Hola Ruby!</span>")
          puts "hay mas ayuda interesante sobre set_markup en:" 
          puts "http://library.gnome.org/devel/pango/unstable/PangoMarkupFormat.html" 

        else
          # Desde aca llamo a la rutina de cancelar
          puts "click en el boton cancelar" 
        end
        # Destruyo el dialogo
        dialog.destroy
    end
}

#muestro todo lo que puse en la ventana
window.show_all

#run!
Gtk.main

cavite housing