Maintenance of Ruby 2.0.0 ended on February 24, 2016. Read more
# File tk/lib/tk/texttag.rb, line 255 def self.new(parent, name, *args) tagobj = nil TTagID_TBL.mutex.synchronize{ if TTagID_TBL[parent.path] && TTagID_TBL[parent.path][name] tagobj = TTagID_TBL[parent.path][name] else # super(parent, name, *args) (tagobj = self.allocate).instance_eval{ @parent = @t = parent @tpath = parent.path @path = @id = name TTagID_TBL[@id] = self TTagID_TBL[@tpath] = {} unless TTagID_TBL[@tpath] TTagID_TBL[@tpath][@id] = self unless TTagID_TBL[@tpath][@id] @t._addtag @id, self } end } if args != [] keys = args.pop if keys.kind_of?(Hash) tagobj.add(*args) if args != [] tagobj.configure(keys) else args.push keys tagobj.add(*args) end end tagobj end
# File tk/lib/tk/texttag.rb, line 288 def initialize(parent, name, *args) # dummy:: not called by 'new' method #unless parent.kind_of?(Tk::Text) # fail ArgumentError, "expect Tk::Text for 1st argument" #end @parent = @t = parent @tpath = parent.path @path = @id = name #if mode # tk_call @t.path, "addtag", @id, *args #end if args != [] keys = args.pop if keys.kind_of?(Hash) add(*args) if args != [] configure(keys) else args.push keys add(*args) end end @t._addtag @id, self end