[ruby-list:49640] Re: RubyTkのgridをスクロールさせたい
From:
Hidetoshi NAGAI <nagai@...>
Date:
2013-10-08 22:35:06 UTC
List:
ruby-list #49640
永井@知能.九工大です.
From: dezawa <dezawa@aliadne.net>
Subject: [ruby-list:49639] Re: RubyTkのgridをスクロールさせたい
Date: Tue, 08 Oct 2013 19:55:18 +0900
Message-ID: <5253E496.5050002@aliadne.net>
> が、次の問題が出てしまいました。
> window_configure([row,clm],:window=>l)で貼り付けた widgetは
> 読み出せないのでしょうか。
> table.current_window_configinfo([row,clm])を pp してみた所
> windowsはnilになっていました。
バグっぽいですね.
情報を得る手段はいくつか用意されていますが,
table.current_window_configinfo([row,clm], :window)
table.window_configinfo([row,clm])
table.window_configinfo([row,clm], :window)
table.window_cget([row,clm], :window)
のいずれでもダメでしょうか?
table.tk_send("window","configure","#{row},#{clm}")
あるいは table.tk_send("window","cget","#{row},#{clm}","-window") の出力
(table.tk_send(arg,...) の代わりに Tk.tk_call(table,arg,...) でも可) では
埋め込み widget のパス名が出力に含まれているでしょうか.
パス名が出力されているなら,結果文字列の解釈ミス等の Ruby/Tk 側のバグで,
出力されていないなら,多分 Tcl/Tk の Tktable 拡張側のバグということになります.
もし可能なら Tcl/Tk が出力した文字列を送ってもらえるとデバッグに役立ちます.
その際,同時に table.path と table.epath との結果,
および,埋め込み widget の .path と .epath との結果もいただけますと助かります.
tk_send または tk_call によって widget のパス名文字列 path が得られている
(Ruby/Tk 側のバグ) の場合の目前の回避策ですが,
TkComm.window(path) で Ruby/Tk の widget object を獲得できると思います.
もしこの結果が nil であるなら,これまで想定していなかった状況かもしれません.
その場合もパス名文字列等の Tcl/Tk 出力を送っていただけますと助かります.
よろしくお願い致します.
--
永井 秀利 (nagai@ai.kyutech.ac.jp)
九州工業大学大学院情報工学研究院知能情報工学研究系知能情報メディア部門助教