class Menu def initialize(items, &handler) end menu = Gtk::Menu::new() items.each { |caption, name| item_info = Gtk::MenuItem::new(caption) item_info.name = name item_info.signal_connect('activate') { |item| handler.call(item) } menu.append(item_info) } menu.show_all end