# File tk/lib/tk/canvas.rb, line 648 def self.create(canvas, *args) unless self::CItemTypeName fail RuntimeError, "#{self} is an abstract class" end args, fontkeys = _parse_create_args(args) idnum = tk_call_without_enc(canvas.path, 'create', self::CItemTypeName, *args) canvas.itemconfigure(idnum, fontkeys) unless fontkeys.empty? idnum.to_i # 'canvas item id' is an integer number end
# File tk/lib/tk/canvas.rb, line 592 def TkcItem.id2obj(canvas, id) cpath = canvas.path return id unless CItemID_TBL[cpath] CItemID_TBL[cpath][id]? CItemID_TBL[cpath][id]: id end
# File tk/lib/tk/canvas.rb, line 660 def initialize(parent, *args) #unless parent.kind_of?(TkCanvas) # fail ArgumentError, "expect TkCanvas for 1st argument" #end @parent = @c = parent @path = parent.path @id = create_self(*args) # an integer number as 'canvas item id' CItemID_TBL[@path] = {} unless CItemID_TBL[@path] CItemID_TBL[@path][@id] = self end
# File tk/lib/tk/canvas.rb, line 688 def delete @c.delete @id CItemID_TBL[@path].delete(@id) if CItemID_TBL[@path] self end