mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/RUBY@9 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
63 lines
1.5 KiB
Ruby
63 lines
1.5 KiB
Ruby
require 'gtk'
|
|
|
|
window = Gtk::Window::new(Gtk::WINDOW_TOPLEVEL)
|
|
window.set_title("buttons")
|
|
window.border_width(0)
|
|
|
|
box1 = Gtk::VBox::new(FALSE, 0)
|
|
window.add(box1)
|
|
box1.show
|
|
|
|
table = Gtk::Table::new(3, 3, FALSE)
|
|
table.set_row_spacings(5)
|
|
table.set_col_spacings(5)
|
|
table.border_width(10)
|
|
box1.pack_start(table, TRUE, TRUE, 0)
|
|
table.show
|
|
|
|
button = []
|
|
0.upto(8) do |i|
|
|
button.push Gtk::Button::new("button"+(i+1))
|
|
end
|
|
0.upto(8) do |i|
|
|
button[i].signal_connect("clicked") do |w|
|
|
if button[i+1].visible?
|
|
button[i+1].hide
|
|
else
|
|
button[i+1].show
|
|
end
|
|
end
|
|
button[i].show
|
|
end
|
|
table.attach(button[0], 0, 1, 0, 1, nil, nil, 0, 0)
|
|
table.attach(button[1], 1, 2, 1, 2, nil, nil, 0, 0)
|
|
table.attach(button[2], 2, 3, 2, 3, nil, nil, 0, 0)
|
|
table.attach(button[3], 0, 1, 2, 3, nil, nil, 0, 0)
|
|
table.attach(button[4], 2, 3, 0, 1, nil, nil, 0, 0)
|
|
table.attach(button[5], 1, 2, 2, 3, nil, nil, 0, 0)
|
|
table.attach(button[6], 1, 2, 0, 1, nil, nil, 0, 0)
|
|
table.attach(button[7], 2, 3, 1, 2, nil, nil, 0, 0)
|
|
table.attach(button[8], 0, 1, 1, 2, nil, nil, 0, 0)
|
|
|
|
separator = Gtk::HSeparator::new()
|
|
box1.pack_start(separator, FALSE, TRUE, 0)
|
|
separator.show
|
|
|
|
box2 = Gtk::VBox::new(FALSE, 10)
|
|
box2.border_width(10)
|
|
box1.pack_start(box2, FALSE, TRUE, 0)
|
|
box2.show
|
|
|
|
close = Gtk::Button::new("close")
|
|
close.signal_connect("clicked") do
|
|
window.destroy
|
|
exit
|
|
end
|
|
box2.pack_start(close, TRUE, TRUE, 0)
|
|
close.set_flags(Gtk::CAN_DEFAULT);
|
|
close.grab_default
|
|
close.show
|
|
|
|
window.show
|
|
|
|
Gtk::main()
|