新井です。

In message "[ruby-list:28615] Re: ruby/tk TkEntry#selection_present bug?"
  on 09 Mar 2001 10:44:43 +0900,
  nagai / ai.kyutech.ac.jp wrote:
> 永井@知能.九工大です.

> ひぃぃぃ〜〜〜.修正します.
> テストおよび報告をどうもありがとうございます.
> が,今は科研の「基盤S」なんちゅう,
> よくわからんものの書類を書かされてますんで,
> 対処は来週後半になります.

# 九工大卒業生(私)として、お手伝いしないわけにはいかないですね(^^;

パッチにしてみました。ご査収の程よろしくお願いします。
# 中村さんも洩れがあればお知らせください。

# あっ TK_LIBRARY 忘れてる(^^;

[ruby-list:28594] TkScale#coords, TkScale#get,TkScale#identify 未実装
  TkScale#get      引数追加 (TkScale#value はそのままにしました)
  TkScale#coords   追加
  TkScale#identify 追加 (戻りは""でもそのまま返すようにしました)

[ruby-list:28612] TkScrollbar#identify bug
  TkScrollbar#identify 引数は省略不可だった
                       呼び出しているウィジェットコマンド名が間違ってた

[ruby-list:28662] TkMenu#insert bug
  TkMenu#insert 呼び出しているウィジェットコマンド名が間違ってた

[ruby-list:28663] TkMenuClone の使い方は?
  TkMenuClone#initialize
    第二引数typeを省略可能に
    TkComm#install_win にオブジェクトを渡していた (引数はパ
    スまたはnilでなければならない)

[ruby-list:28680] TkCanvas#delete bug
# すみません。これ未検証です。Canvas や Text はよく知らないので
  TkCanvas#bbox 引数はtagid()でidにしなければならない?
  TkCanvas#delete 引数はtagid()でidにしなければならない?

[ruby-list:28485] ruby/tk TkEntry#selection_present bug?
  TkEntry#selection_present の戻り値がおかしかった

[ruby-list:28667] TkTextMark#next(index), #previous(index)
  TkText#mark_next, TkText#mark_previous
    追加


Index: tk.rb =================================================================== RCS file: /src/ruby/ext/tk/lib/tk.rb,v retrieving revision 1.20 diff -u -F^class -r1.20 tk.rb --- tk.rb 2000/11/27 09:23:34 1.20 +++ tk.rb 2001/03/11 07:37:20 @@ -2708,8 +2708,8 @@ class TkScale<TkWindow tk_call 'scale', path end - def get - number(tk_send('get')) + def get(x=None, y=None) + number(tk_send('get', x, y)) end def set(val) @@ -2723,6 +2723,15 @@ class TkScale<TkWindow def value= (val) set val end + + def coords(val=None) + tk_split_list(tk_send "coords", val) + end + + def identify(x, y) + tk_send "identify", x, y + end + end class TkScrollbar<TkWindow @@ -2744,8 +2753,8 @@ class TkScrollbar<TkWindow number(tk_send('fraction', x, y)) end - def identify(x=None, y=None) - tk_send('fraction', x, y) + def identify(x, y) + tk_send('identify', x, y) end def get @@ -3033,7 +3042,7 @@ class TkMenu<TkWindow tk_send 'invoke', index end def insert(index, type, keys=nil) - tk_send 'add', index, type, *hash_kv(keys) + tk_send 'insert', index, type, *hash_kv(keys) end def delete(index, last=None) tk_send 'delete', index, last @@ -3128,12 +3137,12 @@ class TkMenu<TkWindow end class TkMenuClone<TkMenu - def initialize(parent, type=nil) + def initialize(parent, type=None) unless parent.kind_of?(TkMenu) fail ArgumentError, "parent must be TkMenu" end @parent = parent - install_win(@parent) + install_win(@parent ? @parent.path : nil) tk_call @parent.path, 'clone', @path, type end end Index: tkcanvas.rb =================================================================== RCS file: /src/ruby/ext/tk/lib/tkcanvas.rb,v retrieving revision 1.10 diff -u -F^class -r1.10 tkcanvas.rb --- tkcanvas.rb 2000/11/27 09:23:35 1.10 +++ tkcanvas.rb 2001/03/11 07:37:21 @@ -172,7 +172,7 @@ class TkCanvas<TkWindow end def bbox(tagOrId, *tags) - list(tk_send('bbox', tagid(tagOrId), *tags)) + list(tk_send('bbox', tagid(tagOrId), *tags.collect {|t| tagid(t)})) end def itembind(tag, context, cmd=Proc.new, args=nil) @@ -207,7 +207,7 @@ class TkCanvas<TkWindow end def delete(*args) - tk_send 'delete', *args + tk_send 'delete', *args.collect {|t| tagid(t)} end alias remove delete Index: tkentry.rb =================================================================== RCS file: /src/ruby/ext/tk/lib/tkentry.rb,v retrieving revision 1.8 diff -u -F^class -r1.8 tkentry.rb --- tkentry.rb 2000/11/27 09:23:36 1.8 +++ tkentry.rb 2001/03/11 07:37:22 @@ -136,7 +136,7 @@ class TkEntry<TkLabel tk_send 'selection', 'from', index end def selection_present() - tk_send('selection', 'present') == 1 + bool(tk_send('selection', 'present')) end def selection_range(s, e) tk_send 'selection', 'range', s, e Index: tktext.rb =================================================================== RCS file: /src/ruby/ext/tk/lib/tktext.rb,v retrieving revision 1.13 diff -u -F^class -r1.13 tktext.rb --- tktext.rb 2000/11/27 09:23:36 1.13 +++ tktext.rb 2001/03/11 07:37:23 @@ -189,6 +189,14 @@ class TkText<TkTextWin } end + def mark_next(index) + tagid2obj(tk_send('mark', 'next', index)) + end + + def mark_previous(index) + tagid2obj(tk_send('mark', 'previous', index)) + end + def window_names tk_send('window', 'names').collect{|elt| tagid2obj(elt)