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 > 1 menuitem.set_submenu create_menu(depth - 1) 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 create_menu(3) menubar.append menuitem menuitem.show menuitem = Gtk::MenuItem::new("bar") menuitem.set_submenu create_menu(4) 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() by Programming Language
summaryrefslogtreecommitdiff
path: root/tool/insns2vm.rb
AgeCommit message (Expand)Author
2018-01-27insns2vm.rb: make #generate_parser privatek0kubun
2018-01-12tool/ruby_vm support for pre-2.1 BASERUBYshyouhei
2018-01-12delete tool/instruction.rb (2nd try)shyouhei
2018-01-10merge revisions 61753:61750 61747:61740 61737:61728shyouhei
2018-01-09delete tool/instruction.rbshyouhei
2016-07-02tool: add descriptions and fix typosnormal
2008-10-17 * tool/insns2vm.rb: remove -Kn option in shebang line because it'susa
2007-12-25* insns2vm.rb: add encoding option to shbang.ko1
2007-12-22* tool/insns2vm.rb: moved from lib/vm/instruction.rb.ko1
2007-12-22* tool/insns2vm.rb: set property.nobu
2007-06-29* tool/insns2vm.rb, lib/vm/instruction.rb: move process bodyko1
2007-06-24* vm_macro.def: removed.ko1
2007-05-03* vm_evalbody.ci, insns.def, vm.c, tool/insns2vm.rb (rb_num_t):nobu