From 5c47ddf9e7fa05bc993818c166e8162c20a970f9 Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 19 Jan 1998 05:08:25 +0000 Subject: Mon Jan 19 14:06:13 JST 1998 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@23 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/gtk/testd.rb | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 ext/gtk/testd.rb (limited to 'ext/gtk/testd.rb') diff --git a/ext/gtk/testd.rb b/ext/gtk/testd.rb new file mode 100644 index 0000000000..52ce5db7e0 --- /dev/null +++ b/ext/gtk/testd.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() -- cgit v1.2.3