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... |
From: Masao M. <mu...@hi...> - 2005-02-03 16:41:30
|
むとうです。 On Thu, 03 Feb 2005 16:37:01 +0900 Seiya Nishizawa <se...@ku...> wrote: > 西澤と申します。 > > 複数の ItemFactory に 同じ AccelGroup を使うと以下のメッセージが出ます。 > > (itemfactory.rb:1579): Gtk-CRITICAL **: gtk_menu_set_accel_path: > assertion `accel_path[0] == '<' && strchr (accel_path, '/')' failed > > 動作には問題はないように思われます。 > 使い方が間違っているのでしょうか。 えっと、頂いたサンプルスクリプトでも、 「複数のItemFactory に 同じ AccelGroup を使」っていますよね。 #以下の部分。 > ifp = Gtk::ItemFactory.new(Gtk::ItemFactory::TYPE_MENU_BAR, "<main>", > accelgroup) : : > ifp2 = Gtk::ItemFactory.new(Gtk::ItemFactory::TYPE_OPTION_MENU, > "<option>", accelgroup) もしよろしければ再現スクリプトをいただけませんか? > あと、以下のテストスクリプトではクリックするまで > TYPE_OPTION_MENU の Test というラベルが書かれません。 うーん、こちらは確かにそうなりますねぇ。なんでだろう。 -- .:% Masao Mutoh<mu...@hi...> |
From: Seiya N. <se...@ku...> - 2005-02-04 01:07:02
|
西澤です。 返答いただきありがとうございます。 Masao Mutoh wrote: >>複数の ItemFactory に 同じ AccelGroup を使うと以下のメッセージが出ます。 >> >>(itemfactory.rb:1579): Gtk-CRITICAL **: gtk_menu_set_accel_path: >>assertion `accel_path[0] == '<' && strchr (accel_path, '/')' failed >> >>動作には問題はないように思われます。 >>使い方が間違っているのでしょうか。 > > > えっと、頂いたサンプルスクリプトでも、 > 「複数のItemFactory に 同じ AccelGroup を使」っていますよね。 > #以下の部分。 > > >>ifp = Gtk::ItemFactory.new(Gtk::ItemFactory::TYPE_MENU_BAR, "<main>", >>accelgroup) > > : > : > >>ifp2 = Gtk::ItemFactory.new(Gtk::ItemFactory::TYPE_OPTION_MENU, >>"<option>", accelgroup) > > > もしよろしければ再現スクリプトをいただけませんか? こちらでは同じスクリプトで上記のメッセージが出ます。 ということは むとうさんの環境では出ていないということですね。 環境依存ということは問題がややこしいですね。 何かチェックすべき点があれば指摘してください。 宜しくお願いします。 -- Seiya Nishizawa se...@ku... |
From: Seiya N. <se...@ku...> - 2005-02-04 01:51:43
Attachments:
test.c
|
西澤です。 自己レスです。 Cでも同じメッセージが出ました。 ラベルが書かれないのも同じでした。 サンプルプログラムをつけます。 Seiya Nishizawa wrote: > 西澤です。 > > 返答いただきありがとうございます。 > > Masao Mutoh wrote: > > >>>複数の ItemFactory に 同じ AccelGroup を使うと以下のメッセージが出ます。 >>> >>>(itemfactory.rb:1579): Gtk-CRITICAL **: gtk_menu_set_accel_path: >>>assertion `accel_path[0] == '<' && strchr (accel_path, '/')' failed >>> >>>動作には問題はないように思われます。 >>>使い方が間違っているのでしょうか。 >> >> >>えっと、頂いたサンプルスクリプトでも、 >>「複数のItemFactory に 同じ AccelGroup を使」っていますよね。 >>#以下の部分。 >> >> >> >>>ifp = Gtk::ItemFactory.new(Gtk::ItemFactory::TYPE_MENU_BAR, "<main>", >>>accelgroup) >> >> : >> : >> >> >>>ifp2 = Gtk::ItemFactory.new(Gtk::ItemFactory::TYPE_OPTION_MENU, >>>"<option>", accelgroup) >> >> >>もしよろしければ再現スクリプトをいただけませんか? > > > こちらでは同じスクリプトで上記のメッセージが出ます。 > ということは むとうさんの環境では出ていないということですね。 > 環境依存ということは問題がややこしいですね。 > 何かチェックすべき点があれば指摘してください。 > 宜しくお願いします。 > > -- Seiya Nishizawa se...@ku... |
From: KATO K. <kz...@8-...> - 2005-02-04 02:24:18
|
加藤和良です。 On 2005/02/04, at 10:51 AM, Seiya Nishizawa wrote: > 自己レスです。 > Cでも同じメッセージが出ました。 > ラベルが書かれないのも同じでした。 > サンプルプログラムをつけます。 手元の環境で動かしてみました。 Apple Mac OS X 10.3.7 Ruby-GNOME2 CVS HEAD GTK+ 2.6.1 AccelGroup のほうは C でのみメッセージが出ています。 OptionMenu のほうは両方でラベルが出てきません。 ただし、メニューのエントリが2つ以上だと大丈夫なようです。 原因究明まではいってないのですが、取り急ぎ報告だけ。 -- KATO Kazuyoshi http://8-p.info/ |
From: Seiya N. <se...@ku...> - 2005-02-07 05:03:32
|
西澤です。 ありがとうございます。 On Fri, 4 Feb 2005 11:24:29 +0900 KATO Kazuyoshi <kz...@8-...> wrote: > > 自己レスです。 > > Cでも同じメッセージが出ました。 > > ラベルが書かれないのも同じでした。 > > サンプルプログラムをつけます。 > 手元の環境で動かしてみました。 > Apple Mac OS X 10.3.7 > Ruby-GNOME2 CVS HEAD > GTK+ 2.6.1 > > AccelGroup のほうは C でのみメッセージが出ています。 Cで出て、rubyで出ないって不思議ですね。 > OptionMenu のほうは両方でラベルが出てきません。 > ただし、メニューのエントリが2つ以上だと大丈夫なようです。 エントリーが1つのメニューはあり得ないので実害は無いですね。 -------------- Seiya Nishizawa se...@ku... |
From: Masao M. <mu...@hi...> - 2005-02-05 12:11:52
|
むとうです。 また、メールをロストしてました。うーぬ。 > 西澤です。 > > 自己レスです。 > Cでも同じメッセージが出ました。 > ラベルが書かれないのも同じでした。 > サンプルプログラムをつけます。 なるほど...。 これは、GTK+の方にバグレポートしていただいた 方が良いですねぇ。 バグレポートはこちら: http://bugzilla.gnome.org/ あるいは、Gtk::UIManagerを使って頂くと うまくいったりして。 いずれにせよ、Gtk::ItemFactoryはObsolete なので直してもらえるかは不明ですが....。 それでは。 -- .:% Masao Mutoh<mu...@hi...> |
From: Seiya N. <se...@ku...> - 2005-02-07 04:58:42
|
西澤です。 On Sat, 5 Feb 2005 21:11:41 +0900 Masao Mutoh <mu...@hi...> wrote: > > 自己レスです。 > > Cでも同じメッセージが出ました。 > > ラベルが書かれないのも同じでした。 > > サンプルプログラムをつけます。 > > なるほど...。 > これは、GTK+の方にバグレポートしていただいた > 方が良いですねぇ。 > > バグレポートはこちら: > http://bugzilla.gnome.org/ とりあえず報告しておきました。 > あるいは、Gtk::UIManagerを使って頂くと > うまくいったりして。 こんなのもあるんですね。 ちょっと試してみます。 > いずれにせよ、Gtk::ItemFactoryはObsolete > なので直してもらえるかは不明ですが....。 そうなんですか。 使わない方向で考えていきたいと思います。 -------------- Seiya Nishizawa se...@ku... |
From: Masao M. <mu...@hi...> - 2005-02-07 14:22:21
|
むとうです。 On Mon, 7 Feb 2005 13:58:29 +0900 Seiya Nishizawa <se...@ku...> wrote: > 西澤です。 > > On Sat, 5 Feb 2005 21:11:41 +0900 > Masao Mutoh <mu...@hi...> wrote: > > > > 自己レスです。 > > > Cでも同じメッセージが出ました。 > > > ラベルが書かれないのも同じでした。 > > > サンプルプログラムをつけます。 > > > > なるほど...。 > > これは、GTK+の方にバグレポートしていただいた > > 方が良いですねぇ。 > > > > バグレポートはこちら: > > http://bugzilla.gnome.org/ > とりあえず報告しておきました。 ありがとうございます。 > > あるいは、Gtk::UIManagerを使って頂くと > > うまくいったりして。 > こんなのもあるんですね。 > ちょっと試してみます。 > > > いずれにせよ、Gtk::ItemFactoryはObsolete > > なので直してもらえるかは不明ですが....。 > そうなんですか。 > 使わない方向で考えていきたいと思います。 この他にも2.4, 2.6になってからObsoleteになった ウィジェットがいくつかあります。 そのようなウィジェットはGTK+のリファレンスマニュアル か、Ruby-GNOME2 WebsiteのStatusページで確認できます。 #Deprecated since 2.x.なんてのがそうです。 もし、これから新しくプロジェクトを始めるのであれば 新しいウィジェットを使うようにした方が後々良いかも しれませんね。 それでは。 -- .:% Masao Mutoh<mu...@hi...> |