| Class | TkTextTag |
| In: |
tk/lib/tk/texttag.rb
|
| Parent: | TkObject |
| TTagID_TBL | = | TkCore::INTERP.create_table |
| Tk_TextTag_ID | = | ['tag'.freeze, '00000'.taint].freeze |
# File tk/lib/tk/texttag.rb, line 17 def TkTextTag.id2obj(text, id) tpath = text.path return id unless TTagID_TBL[tpath] TTagID_TBL[tpath][id]? TTagID_TBL[tpath][id]: id end
# File tk/lib/tk/texttag.rb, line 23 def initialize(parent, *args) #unless parent.kind_of?(TkText) # fail ArgumentError, "expect TkText for 1st argument" #end @parent = @t = parent @tpath = parent.path # @path = @id = Tk_TextTag_ID.join('') @path = @id = Tk_TextTag_ID.join(TkCore::INTERP._ip_id_).freeze # TTagID_TBL[@id] = self TTagID_TBL[@tpath] = {} unless TTagID_TBL[@tpath] TTagID_TBL[@tpath][@id] = self Tk_TextTag_ID[1].succ! #tk_call @t.path, "tag", "configure", @id, *hash_kv(keys) 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
# File tk/lib/tk/texttag.rb, line 70 def add(*indices) tk_call_without_enc(@t.path, 'tag', 'add', @id, *(indices.collect{|idx| _get_eval_enc_str(idx)})) self end
def bind(seq, cmd=Proc.new, *args)
_bind([@t.path, 'tag', 'bind', @id], seq, cmd, *args) self
end
# File tk/lib/tk/texttag.rb, line 175 def bind(seq, *args) # if args[0].kind_of?(Proc) || args[0].kind_of?(Method) if TkComm._callback_entry?(args[0]) || !block_given? cmd = args.shift else cmd = Proc.new end _bind([@t.path, 'tag', 'bind', @id], seq, cmd, *args) self end
def bind_append(seq, cmd=Proc.new, *args)
_bind_append([@t.path, 'tag', 'bind', @id], seq, cmd, *args) self
end
# File tk/lib/tk/texttag.rb, line 190 def bind_append(seq, *args) # if args[0].kind_of?(Proc) || args[0].kind_of?(Method) if TkComm._callback_entry?(args[0]) || !block_given? cmd = args.shift else cmd = Proc.new end _bind_append([@t.path, 'tag', 'bind', @id], seq, cmd, *args) self end
# File tk/lib/tk/texttag.rb, line 201 def bind_remove(seq) _bind_remove([@t.path, 'tag', 'bind', @id], seq) self end
# File tk/lib/tk/texttag.rb, line 206 def bindinfo(context=nil) _bindinfo([@t.path, 'tag', 'bind', @id], context) end
def configure(key, val=None)
if key.kind_of?(Hash)
tk_call @t.path, 'tag', 'configure', @id, *hash_kv(key)
else
tk_call @t.path, 'tag', 'configure', @id, "-#{key}", val
end
end def configure(key, value)
if value == FALSE
value = "0"
elsif value.kind_of?(Proc)
value = install_cmd(value)
end
tk_call @t.path, 'tag', 'configure', @id, "-#{key}", value
end
# File tk/lib/tk/texttag.rb, line 163 def configinfo(key=nil) @t.tag_configinfo @id, key end
# File tk/lib/tk/texttag.rb, line 144 def configure(key, val=None) @t.tag_configure @id, key, val end
# File tk/lib/tk/texttag.rb, line 167 def current_configinfo(key=nil) @t.current_tag_configinfo @id, key end
# File tk/lib/tk/texttag.rb, line 222 def destroy tk_call_without_enc(@t.path, 'tag', 'delete', @id) TTagID_TBL[@tpath].delete(@id) if TTagID_TBL[@tpath] self end
# File tk/lib/tk/texttag.rb, line 53 def exist? #if ( tk_split_simplelist(_fromUTF8(tk_call_without_enc(@t.path, 'tag', 'names'))).find{|id| id == @id } ) if ( tk_split_simplelist(tk_call_without_enc(@t.path, 'tag', 'names'), false, true).find{|id| id == @id } ) true else false end end
# File tk/lib/tk/texttag.rb, line 216 def lower(below=None) tk_call_without_enc(@t.path, 'tag', 'lower', @id, _get_eval_enc_str(below)) self end
# File tk/lib/tk/texttag.rb, line 91 def nextrange(first, last=None) simplelist(tk_call_without_enc(@t.path, 'tag', 'nextrange', @id, _get_eval_enc_str(first), _get_eval_enc_str(last))).collect{|idx| TkText::IndexString.new(idx) } end
# File tk/lib/tk/texttag.rb, line 99 def prevrange(first, last=None) simplelist(tk_call_without_enc(@t.path, 'tag', 'prevrange', @id, _get_eval_enc_str(first), _get_eval_enc_str(last))).collect{|idx| TkText::IndexString.new(idx) } end
# File tk/lib/tk/texttag.rb, line 210 def raise(above=None) tk_call_without_enc(@t.path, 'tag', 'raise', @id, _get_eval_enc_str(above)) self end
# File tk/lib/tk/texttag.rb, line 82 def ranges l = tk_split_simplelist(tk_call_without_enc(@t.path, 'tag', 'ranges', @id)) r = [] while key=l.shift r.push [TkText::IndexString.new(key), TkText::IndexString.new(l.shift)] end r end
ruby-doc.org is hosted and maintained by James Britt and Happy Camper Studios, a Ruby application development company in Phoenix, Arizona. The site was created in 2002 as part of the Ruby Documentation Project to promote the Ruby language and to help other Ruby hackers.
Documentation content on ruby-doc.org is provided by remarkable members of the Ruby community.
For more information on the Ruby programming language, visit ruby-lang.org.
Want to help improve Ruby's API docs? See Ruby Documentation Guidelines.