diff options
author | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-05 21:29:32 +0000 |
---|---|---|
committer | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-05 21:29:32 +0000 |
commit | 547632626efe56b1e3f9cb24ee5ed179ab2fe23c (patch) | |
tree | 3331815a48d58f514ff661e3c53d60abfd511c56 | |
parent | ec9089637eea240b60bb340bf82737926c753a84 (diff) | |
download | ruby-547632626efe56b1e3f9cb24ee5ed179ab2fe23c.tar.gz ruby-547632626efe56b1e3f9cb24ee5ed179ab2fe23c.tar.xz ruby-547632626efe56b1e3f9cb24ee5ed179ab2fe23c.zip |
* ext/tk/lib/tk/canvas.rb: *** POTENTIALLY INCOMPATIBLE ***
'tags' option of a TkcItem object gives a list of TkcTag objects.
* ext/tk/lib/tkextlib/vu/dial.rb: fix logical bug.
* ext/tk/lib/tk/canvas.rb, ext/tk/lib/tkextlib/blt/component.rb:
lack of support for methodcall_optkeys.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@25238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | ext/tk/lib/tk/canvas.rb | 10 | ||||
-rw-r--r-- | ext/tk/lib/tkextlib/blt/component.rb | 8 | ||||
-rw-r--r-- | ext/tk/lib/tkextlib/vu/dial.rb | 4 |
4 files changed, 24 insertions, 8 deletions
@@ -1,3 +1,13 @@ +Tue Oct 6 06:26:00 2009 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> + + * * ext/tk/lib/tk/canvas.rb: *** POTENTIALLY INCOMPATIBLE *** + 'tags' option of a TkcItem object should give a list of TkcTag objs. + + * ext/tk/lib/tkextlib/vu/dial.rb: fix logical bug. + + * ext/tk/lib/tk/canvas.rb, ext/tk/lib/tkextlib/blt/component.rb: + lack of support for methodcall_optkeys. + Mon Oct 5 12:22:12 2009 Yukihiro Matsumoto <matz@ruby-lang.org> * array.c (rb_ary_{times, shuffle_bang, sample}): reducing macro diff --git a/ext/tk/lib/tk/canvas.rb b/ext/tk/lib/tk/canvas.rb index 602139e00..f0cb755bd 100644 --- a/ext/tk/lib/tk/canvas.rb +++ b/ext/tk/lib/tk/canvas.rb @@ -25,7 +25,10 @@ module TkCanvasItemConfig private :__item_methodcall_optkeys def __item_val2ruby_optkeys(id) # { key=>proc, ... } - super(id).update('window'=>proc{|i, v| window(v)}) + super(id).update('window'=>proc{|i, v| window(v)}, + 'tags'=>proc{|i, v| + simplelist(v).collect{|tag| TkcTag.id2obj(self, tag)} + }) end private :__item_val2ruby_optkeys @@ -690,7 +693,7 @@ class TkcItem<TkObject args = args.flatten end - [args, fontkeys] + [args, fontkeys, methodkeys] end private_class_method :_parse_create_args @@ -698,10 +701,11 @@ class TkcItem<TkObject unless self::CItemTypeName fail RuntimeError, "#{self} is an abstract class" end - args, fontkeys = _parse_create_args(args) + args, fontkeys, methodkeys = _parse_create_args(args) idnum = tk_call_without_enc(canvas.path, 'create', self::CItemTypeName, *args) canvas.itemconfigure(idnum, fontkeys) unless fontkeys.empty? + canvas.itemconfigure(idnum, methodkeys) unless methodkeys.empty? idnum.to_i # 'canvas item id' is an integer number end ######################################## diff --git a/ext/tk/lib/tkextlib/blt/component.rb b/ext/tk/lib/tkextlib/blt/component.rb index 20db035fd..a228a8224 100644 --- a/ext/tk/lib/tkextlib/blt/component.rb +++ b/ext/tk/lib/tkextlib/blt/component.rb @@ -1268,7 +1268,7 @@ module Tk::BLT args = [] end - [args, fontkeys] + [args, fontkeys, methodkeys] end private_class_method :_parse_create_args @@ -1276,18 +1276,20 @@ module Tk::BLT unless self::MarkerTypeName fail RuntimeError, "#{self} is an abstract class" end - args, fontkeys = _parse_create_args(keys) + args, fontkeys, methodkeys = _parse_create_args(keys) idnum = tk_call_without_enc(chart.path, 'marker', 'create', self::MarkerTypeName, *args) chart.marker_configure(idnum, fontkeys) unless fontkeys.empty? + chart.marker_configure(idnum, methodkeys) unless methodkeys.empty? idnum.to_i # 'item id' is an integer number end def self.create_type(chart, type, keys={}) - args, fontkeys = _parse_create_args(keys) + args, fontkeys, methodkeys = _parse_create_args(keys) idnum = tk_call_without_enc(chart.path, 'marker', 'create', type, *args) chart.marker_configure(idnum, fontkeys) unless fontkeys.empty? + chart.marker_configure(idnum, methodkeys) unless methodkeys.empty? id = idnum.to_i # 'item id' is an integer number obj = self.allocate obj.instance_eval{ diff --git a/ext/tk/lib/tkextlib/vu/dial.rb b/ext/tk/lib/tkextlib/vu/dial.rb index eca0bbb67..4d04974a5 100644 --- a/ext/tk/lib/tkextlib/vu/dial.rb +++ b/ext/tk/lib/tkextlib/vu/dial.rb @@ -32,10 +32,10 @@ class Tk::Vu::Dial < TkWindow def coords(val = nil) if val - tk_split_list(tk_send_without_enc('coords')) - else tk_send_without_enc('coords', val) self + else + tk_split_list(tk_send_without_enc('coords')) end end |