# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 85
def bbox(index)
list(tk_send('bbox', index))
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 49
def child_site
window(tk_call(@path, 'childsite'))
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 53
def clear
tk_call(@path, 'clear')
self
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 88
def compare(idx1, op, idx2)
bool(tk_send_without_enc('compare', _get_eval_enc_str(idx1),
op, _get_eval_enc_str(idx2)))
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 259
def current_image_configinfo(index, slot = nil)
if TkComm::GET_CONFIGINFO_AS_ARRAY
if slot
conf = image_configinfo(index, slot)
{conf[0] => conf[4]}
else
ret = {}
image_configinfo(index).each{|conf|
ret[conf[0]] = conf[4] if conf.size > 2
}
ret
end
else # ! TkComm::GET_CONFIGINFO_AS_ARRAY
ret = {}
image_configinfo(index, slot).each{|k, conf|
ret[k] = conf[-1] if conf.kind_of?(Array)
}
ret
end
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 93
def debug
bool(tk_send_without_enc('debug'))
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 96
def debug=(boolean)
tk_send_without_enc('debug', boolean)
#self
boolean
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 102
def delete(first, last=None)
tk_send_without_enc('delete', first, last)
self
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 107
def dlineinfo(index)
list(tk_send_without_enc('dlineinfo', _get_eval_enc_str(index)))
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 67
def export(file)
tk_call(@path, 'export', file)
self
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 111
def get(*index)
_fromUTF8(tk_send_without_enc('get', *index))
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 114
def get_displaychars(*index)
# Tk8.5 feature
get('-displaychars', *index)
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 134
def image_cget(index, slot)
unless TkItemConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__
image_cget_strict(index, slot)
else
begin
image_cget_strict(index, slot)
rescue => e
begin
if current_image_configinfo.has_key?(slot.to_s)
# error on known option
fail e
else
# unknown option
nil
end
rescue
fail e # tag error
end
end
end
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 123
def image_cget_strict(index, slot)
case slot.to_s
when 'text', 'label', 'show', 'data', 'file'
_fromUTF8(tk_send_without_enc('image', 'cget',
_get_eval_enc_str(index), "-#{slot}"))
else
tk_tcl2ruby(_fromUTF8(tk_send_without_enc('image', 'cget',
_get_eval_enc_str(index),
"-#{slot}")))
end
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 119
def image_cget_tkstring(index, slot)
_fromUTF8(tk_send_without_enc('image', 'cget',
_get_eval_enc_str(index), "-#{slot.to_s}"))
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 170
def image_configinfo(index, slot = nil)
if TkComm::GET_CONFIGINFO_AS_ARRAY
if slot
case slot.to_s
when 'text', 'label', 'show', 'data', 'file'
#conf = tk_split_simplelist(_fromUTF8(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index), "-#{slot}")))
conf = tk_split_simplelist(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index), "-#{slot}"), false, true)
else
#conf = tk_split_list(_fromUTF8(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index), "-#{slot}")))
conf = tk_split_list(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index), "-#{slot}"), 0, false, true)
end
conf[0] = conf[0][1..-1]
conf
else
#tk_split_simplelist(_fromUTF8(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index)))).collect{|conflist|
# conf = tk_split_simplelist(conflist)
tk_split_simplelist(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index)), false, false).collect{|conflist|
conf = tk_split_simplelist(conflist, false, true)
conf[0] = conf[0][1..-1]
case conf[0]
when 'text', 'label', 'show', 'data', 'file'
else
if conf[3]
if conf[3].index('{')
conf[3] = tk_split_list(conf[3])
else
conf[3] = tk_tcl2ruby(conf[3])
end
end
if conf[4]
if conf[4].index('{')
conf[4] = tk_split_list(conf[4])
else
conf[4] = tk_tcl2ruby(conf[4])
end
end
end
conf[1] = conf[1][1..-1] if conf.size == 2 # alias info
conf
}
end
else # ! TkComm::GET_CONFIGINFO_AS_ARRAY
if slot
case slot.to_s
when 'text', 'label', 'show', 'data', 'file'
#conf = tk_split_simplelist(_fromUTF8(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index), "-#{slot}")))
conf = tk_split_simplelist(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index), "-#{slot}"), false, true)
else
#conf = tk_split_list(_fromUTF8(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index), "-#{slot}")))
conf = tk_split_list(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index), "-#{slot}"), 0, false, true)
end
key = conf.shift[1..-1]
{ key => conf }
else
ret = {}
#tk_split_simplelist(_fromUTF8(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index)))).each{|conflist|
# conf = tk_split_simplelist(conflist)
tk_split_simplelist(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index)), false, false).each{|conflist|
conf = tk_split_simplelist(conflist, false, true)
key = conf.shift[1..-1]
case key
when 'text', 'label', 'show', 'data', 'file'
else
if conf[2]
if conf[2].index('{')
conf[2] = tk_split_list(conf[2])
else
conf[2] = tk_tcl2ruby(conf[2])
end
end
if conf[3]
if conf[3].index('{')
conf[3] = tk_split_list(conf[3])
else
conf[3] = tk_tcl2ruby(conf[3])
end
end
end
if conf.size == 1
ret[key] = conf[0][1..-1] # alias info
else
ret[key] = conf
end
}
ret
end
end
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 156
def image_configure(index, slot, value=None)
if slot.kind_of? Hash
_fromUTF8(tk_send_without_enc('image', 'configure',
_get_eval_enc_str(index),
*hash_kv(slot, true)))
else
_fromUTF8(tk_send_without_enc('image', 'configure',
_get_eval_enc_str(index),
"-#{slot}",
_get_eval_enc_str(value)))
end
self
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 280
def image_names
#tk_split_simplelist(_fromUTF8(tk_send_without_enc('image', 'names'))).collect{|elt|
tk_split_simplelist(tk_send_without_enc('image', 'names'), false, true).collect{|elt|
tagid2obj(elt)
}
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 58
def import(file, idx=nil)
if idx
tk_call(@path, 'import', file, index(idx))
else
tk_call(@path, 'import', file)
end
self
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 287
def index(idx)
tk_send_without_enc('index', _get_eval_enc_str(idx))
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 291
def insert(index, *args)
tk_send('insert', index, *args)
self
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 303
def mark_gravity(mark, direction=nil)
if direction
tk_send_without_enc('mark', 'gravity',
_get_eval_enc_str(mark), direction)
self
else
tk_send_without_enc('mark', 'gravity', _get_eval_enc_str(mark))
end
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 296
def mark_names
#tk_split_simplelist(_fromUTF8(tk_send_without_enc('mark', 'names'))).collect{|elt|
tk_split_simplelist(tk_send_without_enc('mark', 'names'), false, true).collect{|elt|
tagid2obj(elt)
}
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 327
def mark_next(index)
tagid2obj(_fromUTF8(tk_send_without_enc('mark', 'next',
_get_eval_enc_str(index))))
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 333
def mark_previous(index)
tagid2obj(_fromUTF8(tk_send_without_enc('mark', 'previous',
_get_eval_enc_str(index))))
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 313
def mark_set(mark, index)
tk_send_without_enc('mark', 'set', _get_eval_enc_str(mark),
_get_eval_enc_str(index))
self
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 320
def mark_unset(*marks)
tk_send_without_enc('mark', 'unset',
*(marks.collect{|mark| _get_eval_enc_str(mark)}))
self
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 39
def method_missing(id, *args)
if @text.respond_to?(id)
@text.__send__(id, *args)
else
super(id, *args)
end
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 528
def rsearch(pat,start,stop=None)
rsearch_with_length(pat,start,stop)[0]
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 476
def rsearch_with_length(pat,start,stop=None)
pat = pat.chr if pat.kind_of? Integer
if stop != None
return ["", 0] if compare(start,'<=',stop)
txt = get(stop,start)
if (pos = txt.rindex(pat))
match = $&
#pos = txt[0..(pos-1)].split('').length if pos > 0
pos = _ktext_length(txt[0..(pos-1)]) if pos > 0
if pat.kind_of? String
#return [index(stop + " + #{pos} chars"), pat.split('').length]
return [index(stop + " + #{pos} chars"), _ktext_length(pat), pat.dup]
else
#return [index(stop + " + #{pos} chars"), $&.split('').length]
return [index(stop + " + #{pos} chars"), _ktext_length(match), match]
end
else
return ["", 0]
end
else
txt = get('1.0',start)
if (pos = txt.rindex(pat))
match = $&
#pos = txt[0..(pos-1)].split('').length if pos > 0
pos = _ktext_length(txt[0..(pos-1)]) if pos > 0
if pat.kind_of? String
#return [index("1.0 + #{pos} chars"), pat.split('').length]
return [index("1.0 + #{pos} chars"), _ktext_length(pat), pat.dup]
else
#return [index("1.0 + #{pos} chars"), $&.split('').length]
return [index("1.0 + #{pos} chars"), _ktext_length(match), match]
end
else
txt = get('1.0','end - 1 char')
if (pos = txt.rindex(pat))
match = $&
#pos = txt[0..(pos-1)].split('').length if pos > 0
pos = _ktext_length(txt[0..(pos-1)]) if pos > 0
if pat.kind_of? String
#return [index("1.0 + #{pos} chars"), pat.split('').length]
return [index("1.0 + #{pos} chars"), _ktext_length(pat), pat.dup]
else
#return [index("1.0 + #{pos} chars"), $&.split('').length]
return [index("1.0 + #{pos} chars"), _ktext_length(match), match]
end
else
return ["", 0]
end
end
end
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 343
def scan_dragto(x, y)
tk_send_without_enc('scan', 'dragto', x, y)
self
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 339
def scan_mark(x, y)
tk_send_without_enc('scan', 'mark', x, y)
self
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 472
def search(pat,start,stop=None)
search_with_length(pat,start,stop)[0]
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 415
def search_with_length(pat,start,stop=None)
pat = pat.chr if pat.kind_of? Integer
if stop != None
return ["", 0] if compare(start,'>=',stop)
txt = get(start,stop)
if (pos = txt.index(pat))
match = $&
#pos = txt[0..(pos-1)].split('').length if pos > 0
pos = _ktext_length(txt[0..(pos-1)]) if pos > 0
if pat.kind_of? String
#return [index(start + " + #{pos} chars"), pat.split('').length]
return [index(start + " + #{pos} chars"),
_ktext_length(pat), pat.dup]
else
#return [index(start + " + #{pos} chars"), $&.split('').length]
return [index(start + " + #{pos} chars"),
_ktext_length(match), match]
end
else
return ["", 0]
end
else
txt = get(start,'end - 1 char')
if (pos = txt.index(pat))
match = $&
#pos = txt[0..(pos-1)].split('').length if pos > 0
pos = _ktext_length(txt[0..(pos-1)]) if pos > 0
if pat.kind_of? String
#return [index(start + " + #{pos} chars"), pat.split('').length]
return [index(start + " + #{pos} chars"),
_ktext_length(pat), pat.dup]
else
#return [index(start + " + #{pos} chars"), $&.split('').length]
return [index(start + " + #{pos} chars"),
_ktext_length(match), match]
end
else
txt = get('1.0','end - 1 char')
if (pos = txt.index(pat))
match = $&
#pos = txt[0..(pos-1)].split('').length if pos > 0
pos = _ktext_length(txt[0..(pos-1)]) if pos > 0
if pat.kind_of? String
#return [index("1.0 + #{pos} chars"), pat.split('').length]
return [index("1.0 + #{pos} chars"),
_ktext_length(pat), pat.dup]
else
#return [index("1.0 + #{pos} chars"), $&.split('').length]
return [index("1.0 + #{pos} chars"), _ktext_length(match), match]
end
else
return ["", 0]
end
end
end
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 532
def see(index)
tk_send_without_enc('see', index)
self
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 375
def tksearch(*args)
# call 'search' subcommand of text widget
# args ::= [<array_of_opts>] <pattern> <start_index> [<stop_index>]
# If <pattern> is regexp, then it must be a regular expression of Tcl
if args[0].kind_of?(Array)
opts = args.shift.collect{|opt| '-' + opt.to_s }
else
opts = []
end
opts << '--'
ret = tk_send('search', *(opts + args))
if ret == ""
nil
else
ret
end
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 395
def tksearch_with_count(*args)
# call 'search' subcommand of text widget
# args ::= [<array_of_opts>] <var> <pattern> <start_index> [<stop_index>]
# If <pattern> is regexp, then it must be a regular expression of Tcl
if args[0].kind_of?(Array)
opts = args.shift.collect{|opt| '-' + opt.to_s }
else
opts = []
end
opts << '-count' << args.shift << '--'
ret = tk_send('search', *(opts + args))
if ret == ""
nil
else
ret
end
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 539
def xview(*index)
if index.size == 0
list(tk_send_without_enc('xview'))
else
tk_send_without_enc('xview', *index)
self
end
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 547
def xview_moveto(*index)
xview('moveto', *index)
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 550
def xview_scroll(*index)
xview('scroll', *index)
end
# File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 554
def yview(*index)
if index.size == 0
list(tk_send_without_enc('yview'))
else
tk_send_without_enc('yview', *index)
self
end
end
Commenting is here to help enhance the documentation. For example, sample code, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.