lib/knj/gtk2_menu.rb in knjrbfw-0.0.8 vs lib/knj/gtk2_menu.rb in knjrbfw-0.0.9
- old
+ new
@@ -1,57 +1,57 @@
class Knj::Gtk2::Menu
- 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, menuitem|
- if menuitem.is_a?(Array)
- old_mi = menuitem
- menuitem = {"text" => menuitem[0], "connect" => menuitem[1]}
- end
-
- newitem = Gtk::MenuItem.new(menuitem["text"])
-
- if menuitem["connect"]
- newitem.signal_connect("activate") do
- Knj::Php.call_user_func(menuitem["connect"])
- end
- else
- newitem.signal_connect("activate") do
- on_menuitem_activate
- 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.button, event.time)
- end
-
- def on_menuitem_activate(signal)
- @signal = signal
- end
-
- def signal() return @signal end
+ 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, menuitem|
+ if menuitem.is_a?(Array)
+ old_mi = menuitem
+ menuitem = {"text" => menuitem[0], "connect" => menuitem[1]}
+ end
+
+ newitem = Gtk::MenuItem.new(menuitem["text"])
+
+ if menuitem["connect"]
+ newitem.signal_connect("activate") do
+ Knj::Php.call_user_func(menuitem["connect"])
+ end
+ else
+ newitem.signal_connect("activate") do
+ on_menuitem_activate
+ 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.button, event.time)
+ end
+
+ def on_menuitem_activate(signal)
+ @signal = signal
+ end
+
+ def signal() return @signal end
end
\ No newline at end of file