From: Maki Izumida Date: 1999-10-22T19:49:07+09:00 Subject: [ruby-list:17931] ruby-gtk の tree オブジェクトに関する質問 泉田と申します。 先日は不適切な質問をしてしまい、すみませんでした。 私なりに問題点を整理しましたので 改めて質問させてください。 Treeオブジェクトのサブツリーのitemの初期化をしたいのですが、 うまく行きません。 一度removeしてから、再びappendをしようとすると、 in `append': destroyed GtkObject (ArgumentError) と怒られてしまいます。(;_;) ソースは以下の通りなのですが、#長くてすみません。 問題を解決するよい方法はありますでしょうか? #ちなみに、以下のTestTreeをルートツリーにした場合、 itemの初期化はうまくいきました。 それではよろしくお願いします。 ---- require 'gtk' class TestTree < Gtk::Tree def initialize super new_item("sub") end def remove_item foreach{|item| remove item } end def new_item(label) item = Gtk::TreeItem.new(label) item.show append item end end #main window = Gtk::Window.new(Gtk::WINDOW_TOPLEVEL) vbox = Gtk::VBox.new(false, 0) roottree = Gtk::Tree.new item = Gtk::TreeItem.new("root") item.show roottree.append item tree = TestTree.new tree.show item.set_subtree tree vbox.pack_end roottree, false, false, 0 button = Gtk::Button.new("NEW") button.signal_connect("clicked"){ tree.remove_item tree.new_item("subsub") <--ここでエラーが出ます } vbox.pack_start button, false, false, 0 window.add vbox vbox.show roottree.show button.show window.show Gtk.main ---- -- 泉田 真季(izumida@wni.co.jp)