diff options
Diffstat (limited to 'ext')
-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 |
3 files changed, 14 insertions, 8 deletions
diff --git a/ext/tk/lib/tk/canvas.rb b/ext/tk/lib/tk/canvas.rb index 602139e00a..f0cb755bd7 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 20db035fdd..a228a82246 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 eca0bbb67c..4d04974a55 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 |