1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
#!/usr/bin/env ruby
=begin
buttonbox.rb - Ruby/GTK2 sample script.
Copyright (c) 2002-2006 Ruby-GNOME2 Project Team
This program is licenced under the same licence as Ruby-GNOME2.
$Id: buttonbox.rb,v 1.9 2006/06/17 13:18:12 mutoh Exp $
=end
require 'gtk2'
def create_bbox_window(horizontal, title, pos, spacing, layout)
window = Gtk::Window.new(title)
window.signal_connect("delete_event") do
window.destroy
end
box1 = Gtk::VBox.new(false, 0)
window.add(box1)
if horizontal
window.set_default_size(550, 60)
window.move(150, pos)
bbox = Gtk::HButtonBox.new
else
window.set_default_size(150, 400)
window.move(pos, 200)
bbox = Gtk::VButtonBox.new
end
bbox.layout_style = layout
bbox.spacing = spacing
box1.border_width = 25
box1.pack_start(bbox, true, true, 0)
button = Gtk::Button.new("OK")
bbox.add(button)
button.signal_connect("clicked") do
window.destroy
end
button = Gtk::Button.new("Cancel")
bbox.add(button)
button.signal_connect("clicked") do
window.destroy
end
button = Gtk::Button.new("Help")
bbox.add(button)
window.show_all
end
def test_hbbox
create_bbox_window(true, "Spread", 50, 40, Gtk::ButtonBox::SPREAD)
create_bbox_window(true, "Edge", 250, 40, Gtk::ButtonBox::EDGE)
create_bbox_window(true, "Start", 450, 40, Gtk::ButtonBox::START)
create_bbox_window(true, "End", 650, 15, Gtk::ButtonBox::END)
end
def test_vbbox
create_bbox_window(false, "Spread", 50, 40, Gtk::ButtonBox::SPREAD)
create_bbox_window(false, "Edge", 250, 40, Gtk::ButtonBox::EDGE)
create_bbox_window(false, "Start", 450, 40, Gtk::ButtonBox::START)
create_bbox_window(false, "End", 650, 15, Gtk::ButtonBox::END)
end
window = Gtk::Window.new("button box")
window.signal_connect("delete_event") do
Gtk.main_quit
end
window.border_width = 20
bbox = Gtk::HButtonBox.new
window.add(bbox)
button = Gtk::Button.new("Horizontal")
button.signal_connect("clicked") do
test_hbbox
end
bbox.add(button)
button = Gtk::Button.new("Vertical")
button.signal_connect("clicked") do
test_vbbox
end
bbox.add(button)
window.show_all
Gtk.main
|