From: Seiya N. <se...@ku...> - 2005-02-03 07:37:15
|
西澤と申します。 複数の ItemFactory に 同じ AccelGroup を使うと以下のメッセージが出ます。 (itemfactory.rb:1579): Gtk-CRITICAL **: gtk_menu_set_accel_path: assertion `accel_path[0] == '<' && strchr (accel_path, '/')' failed 動作には問題はないように思われます。 使い方が間違っているのでしょうか。 あと、以下のテストスクリプトではクリックするまで TYPE_OPTION_MENU の Test というラベルが書かれません。 すいませんがお分かりの方宜しくお願いします。 当方の環境です。 VineSeed ruby-gnome2 0.9.1 gtk2 2.6.1 テストスクリプトをつけます ---------- ここから ---------- require 'gtk2' Gtk.init window = Gtk::Window.new window.signal_connect("destroy") do Gtk.main_quit end window.signal_connect("delete_event") do Gtk.main_quit end window.set_title("Gtk::ItemFactory") accelgroup = Gtk::AccelGroup.new window.add_accel_group(accelgroup) ifp = Gtk::ItemFactory.new(Gtk::ItemFactory::TYPE_MENU_BAR, "<main>", accelgroup) quit = Proc.new{p "Quit"; Gtk.main_quit} ifp.create_items([ ["/_Stock"], ["/_Stock/_Quit", "<StockItem>", "<control>Q", Gtk::Stock::QUIT, quit], ]) ifp2 = Gtk::ItemFactory.new(Gtk::ItemFactory::TYPE_OPTION_MENU, "<option>", accelgroup) test = Proc.new {|d| p "Test, #{d}"} ifp2.create_items([ ["/_Test"], ["/_Test/_Item", "<Item>", "<control>I", nil, test], ]) vbox = Gtk::VBox.new vbox.pack_start(ifp.get_widget("<main>")) vbox.pack_start(ifp2.get_widget("<option>")) window.add(vbox) window.show_all Gtk.main ---------- ここまで ---------- -- Seiya Nishizawa se...@ku... |