RubyLit - Ruby.del.litoral!
HScale y VScale

El siguiente ejemplo muestra el uso de los Widget HScale y VScale.


require 'gtk2'

class Mi_app < Gtk::VBox
    def initialize()
        super()
        omogeneus=false
        # Creo una tabla de 2 x 2
        tabla = Gtk::Table.new( 2, 2, true )

        # creo los scales
        horizontal = Gtk::HScale.new(1, 10, 1)
        vertical   = Gtk::VScale.new(1, 10, 1)

        # pongo la tabla en la caja vertical
        pack_start(tabla, true, true, 2)

        # pongo el scale horizontal en la primer columna segunda fila
        tabla.attach(horizontal, 0, 2, 1, 2)

        # pongo el scale vertical en la segunda columna primera fila
        tabla.attach(vertical, 1, 2, 0, 1)

        bt1 = Gtk::Button.new("Clic")
        bt1.signal_connect( "button_press_event", Gdk::Event::BUTTON_PRESS ) do
            print "H:#{horizontal.value}  V:#{vertical.value}\n" 
        end
        tabla.attach(bt1, 0, 1, 0, 1)
    end
end

class Viewer < Gtk::Window
  def initialize()
    super()
    set_title("App Base") 
    set_window_position(Gtk::Window::POS_CENTER)
    signal_connect("delete_event") { |i,a| Gtk::main_quit }
    set_default_size( 300, 300 )
    add(Mi_app.new)
  end
end

Gtk.init()

view = Viewer.new
view.show_all

Gtk.main()