Class: Knj::Gtk2::Menu
Instance Method Summary collapse
-
#initialize(paras) ⇒ Menu
constructor
A new instance of Menu.
- #on_menuitem_activate(signal) ⇒ Object
- #signal ⇒ Object
Constructor Details
#initialize(paras) ⇒ Menu
Returns a new instance of Menu.
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 |
# File 'lib/knj/gtk2_menu.rb', line 2 def initialize(paras) @paras = paras @items = [] @mainmenu = Gtk::Menu.new @signal = "" count = 0 if @paras["items"].respond_to?("reverse") items = @paras["items"].reverse else items = @paras["items"] end if items.is_a?(Array) items = Knj::ArrayExt.dict(items) end items.each do |signal, | if .is_a?(Array) old_mi = = {"text" => [0], "connect" => [1]} end newitem = Gtk::MenuItem.new(["text"]) if ["connect"] newitem.signal_connect("activate") do Php4r.call_user_func(["connect"]) end else newitem.signal_connect("activate") do end end @items[count] = { "gtkmenuitem" => newitem, "signal" => signal } @mainmenu.prepend(newitem) count += 1 end event = Gdk::EventButton.new(Gdk::Event::BUTTON_PRESS) @mainmenu.show_all @mainmenu.popup(nil, nil, event., event.time) end |