From: Takeshi Honda Date: 2007-04-12T21:21:14+09:00 Subject: [ruby-list:43427] Re: Gtk::TreeView でドラッグ ありがとうございます。 やりたいことは下のように、ただドラッグ元の行と、ドロップ 先の行に書いてある文字列を取得したいです。行にはファイル 名が書いてあり、そのファイル名を取得して、ファイル移動の 処理を行いたいです。そのために、まずはTreeViewのどの行で あるかのpath情報が欲しいのです。 model = Gtk::TreeStore.new(String, Float, String, Float) … path = w.get_dest_row(x,y).shift; iter = model.get_iter(path); filename= model.get_value(iter,0) ドロップ先の行については、drag_dropシグナルを使うことで これができますが、ドラッグ元の行ではdrag_beginシグナルでx,y 座標が取得できないので、これができません。 >> button_press_eventで最後にクリックされた場所を覚えて おく 残念ながら、button_press_eventで得られるx,y座標は、ウイ ンドウ内におけるTreeView自体の位置であるらしく、常に [0,1] です。ですので、ドラッグ元の行を特定するのには使えません 。 ドラッグしたのがどの行であるかの情報を取れないようであれ ば、TreeViewのドラッグ&ドロップ機能は役に立たないと思う ので、取れないはずは無いと思うのですが、方法が全く分かり ません。 どなたかご存知の方がいらっしゃいましたら教えていただけた らと思います。 -------------------------------------- Protect Your PC Now ! - 0 yen Security Campaign http://pr.mail.yahoo.co.jp/premium/