diff options
author | (no author) <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-01-16 12:19:22 +0000 |
---|---|---|
committer | (no author) <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-01-16 12:19:22 +0000 |
commit | f12baed5df6d3c213dd75d2f0d9f36bb179fb843 (patch) | |
tree | c39f9c14cd6f8bcf85b6b842a2774cafb102bc2e /ext/gtk/test.rb | |
parent | 22ab6d39643b1bbc997e15b763d2b12996b1f1b9 (diff) |
This commit was manufactured by cvs2svn to create branch 'RUBY'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/RUBY@9 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/gtk/test.rb')
-rw-r--r-- | ext/gtk/test.rb | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/ext/gtk/test.rb b/ext/gtk/test.rb new file mode 100644 index 0000000000..52ce5db7e0 --- /dev/null +++ b/ext/gtk/test.rb @@ -0,0 +1,96 @@ +require 'gtk' + +def create_menu(depth) + return nil if depth < 1 + + menu = Gtk::Menu::new() + group = nil + submenu = nil + + for i in 0..4 + buf = sprintf("item %2d - %d", depth, i+1) +# menuitem = Gtk::MenuItem::new(buf) + menuitem = Gtk::RadioMenuItem.new(group, buf) + group = menuitem.group + if depth % 2 + menuitem.set_show_toggle TRUE + end + menu.append menuitem + menuitem.show + if depth > 0 + unless submenu + submenu = create_menu(depth - 1) + end + menuitem.set_submenu submenu + end + end + return menu +end + +window = Gtk::Window::new(Gtk::WINDOW_TOPLEVEL) +window.signal_connect("destroy") do + exit +end +window.signal_connect("delete_event") do + exit +end +window.set_title("menus") +window.border_width(0) + +box1 = Gtk::VBox::new(FALSE, 0) +window.add box1 +box1.show + +menubar = Gtk::MenuBar::new() +box1.pack_start menubar, FALSE, TRUE, 0 +menubar.show + +menu = create_menu(2) +menuitem = Gtk::MenuItem::new("test\nline2") +menuitem.set_submenu menu +menubar.append menuitem +menuitem.show + +menuitem = Gtk::MenuItem::new("foo") +menuitem.set_submenu menu +menubar.append menuitem +menuitem.show + +menuitem = Gtk::MenuItem::new("bar") +menuitem.set_submenu menu +menubar.append menuitem +menuitem.show + +box2 = Gtk::VBox::new(FALSE, 10) +box2.border_width 10 +box1.pack_start box2, TRUE, TRUE, 0 +box2.show + +optionmenu = Gtk::OptionMenu::new() +optionmenu.set_menu create_menu(1) +optionmenu.set_history 4 +box2.pack_start optionmenu, TRUE, TRUE, 0 +optionmenu.show + +separator = Gtk::HSeparator::new() +box1.pack_start(separator, FALSE, TRUE, 0) +separator.show + +box2 = Gtk::HBox::new(FALSE, 10) +box2.border_width(10) +box1.pack_start(box2, FALSE, TRUE, 0) +box2.show + +button = Gtk::Button::new("close") +button.signal_connect("clicked") do + window.destroy + exit +end +box2.pack_start(button, TRUE, TRUE, 0) +button.set_flags(Gtk::CAN_DEFAULT); +button.grab_default +button.show + +window.show + +Gtk::main() |