class TkcItem
Constants
- CItemID_TBL
- CItemTypeName
- CItemTypeToClass
Public Class Methods
create(canvas, *args)
click to toggle source
# File lib/tk/canvas.rb, line 731 def self.create(canvas, *args) unless self::CItemTypeName fail RuntimeError, "#{self} is an abstract class" end 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
id2obj(canvas, id)
click to toggle source
# File lib/tk/canvas.rb, line 663 def TkcItem.id2obj(canvas, id) cpath = canvas.path CItemID_TBL.mutex.synchronize{ if CItemID_TBL[cpath] CItemID_TBL[cpath][id]? CItemID_TBL[cpath][id]: id else id end } end
new(parent, *args)
click to toggle source
# File lib/tk/canvas.rb, line 744 def initialize(parent, *args) #unless parent.kind_of?(Tk::Canvas) # fail ArgumentError, "expect Tk::Canvas for 1st argument" #end @parent = @c = parent @path = parent.path @id = create_self(*args) # an integer number as 'canvas item id' CItemID_TBL.mutex.synchronize{ CItemID_TBL[@path] = {} unless CItemID_TBL[@path] CItemID_TBL[@path][@id] = self } end
type2class(type)
click to toggle source
# File lib/tk/canvas.rb, line 659 def TkcItem.type2class(type) CItemTypeToClass[type] end
Public Instance Methods
delete()
click to toggle source
# File lib/tk/canvas.rb, line 774 def delete @c.delete @id CItemID_TBL.mutex.synchronize{ CItemID_TBL[@path].delete(@id) if CItemID_TBL[@path] } self end
exist?()
click to toggle source
# File lib/tk/canvas.rb, line 766 def exist? if @c.find_withtag(@id) true else false end end
id()
click to toggle source
# File lib/tk/canvas.rb, line 762 def id @id end