From: matz@... (Yukihiro Matsumoto) Date: 1998-07-27T12:19:12+09:00 Subject: [ruby-dev:3418] Re: tk.rb まつもと ゆきひろです In message "[ruby-dev:3417] Re: tk.rb" on 98/07/27, NAGAI Hidetoshi writes: |永井@知能.九工大です. |M> def protocol(name=None, func=None) |M> tk_call 'wm', 'protocol', path, name, func |M> end |M> テストしてません. | |多分,これでは機能不足で,引数が省略された時の戻り値の違いを |考慮する必要があると思います. むむむ,確かに. じゃあ,こんな感じかなあ.man wmがやや意味不明だったので勘違 いしてるかも. def protocol(*args) result = tk_call 'wm', 'protocol', path, *args if args.size == 0 list(result) else result end end |M> |focus メソッドで現在の focus を得たいのですが、つねにフォーカスの設定 |M> |をして self をかえすので、それができないと思うんですが、どうでしょう。 |M> TkWindow#focusで現在の focus を得るというのも変な話です. |M> Tk.focusというメソッドを追加しましょう. | |追加の場合,オプションを考えて, |get_focus, set_focus(win), get_focus_displayof(win), |focus_force(win), focus_lastfor(win) といったところが |必要でしょうか? |単なる focus を get_focus に alias するか, |引数に応じて get_focus, set_focus を呼び分けるかは |どちらでも良さそうです. ええと,Tk.focusは引数なしのfocusに相当します. TkWindow#focusは focus win 相当ですね.ですから,後必要なの は -displayof, -force, -lastforをどう表現するかですね. -displayof Tk.focusのoptional引数で対応 -lastfor Tk.focus_lastfor -force TkWindow.focusのoptional引数で対応 という感じでしょうか.