class Tk::Iwidgets::Scrolledtext
Constants
- TkCommandNames
- WidgetClassName
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
TkWindow.new
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 35 def initialize(*args) super(*args) @text = component_widget('text') end
Public Instance Methods
bbox(index)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 86 def bbox(index) list(tk_send('bbox', index)) end
child_site()
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 50 def child_site window(tk_call(@path, 'childsite')) end
clear()
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 54 def clear tk_call(@path, 'clear') self end
compare(idx1, op, idx2)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 89 def compare(idx1, op, idx2) bool(tk_send_without_enc('compare', _get_eval_enc_str(idx1), op, _get_eval_enc_str(idx2))) end
current_image_configinfo(index, slot = nil)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 260 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
debug()
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 94 def debug bool(tk_send_without_enc('debug')) end
debug=(boolean)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 97 def debug=(boolean) tk_send_without_enc('debug', boolean) #self boolean end
delete(first, last=None)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 103 def delete(first, last=None) tk_send_without_enc('delete', first, last) self end
dlineinfo(index)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 108 def dlineinfo(index) list(tk_send_without_enc('dlineinfo', _get_eval_enc_str(index))) end
export(file)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 68 def export(file) tk_call(@path, 'export', file) self end
get(*index)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 112 def get(*index) _fromUTF8(tk_send_without_enc('get', *index)) end
get_displaychars(*index)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 115 def get_displaychars(*index) # Tk8.5 feature get('-displaychars', *index) end
image_cget(index, slot)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 135 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
image_cget_strict(index, slot)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 124 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
image_cget_tkstring(index, slot)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 120 def image_cget_tkstring(index, slot) _fromUTF8(tk_send_without_enc('image', 'cget', _get_eval_enc_str(index), "-#{slot.to_s}")) end
image_configinfo(index, slot = nil)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 171 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
image_configure(index, slot, value=None)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 157 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
image_names()
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 281 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
import(file, idx=nil)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 59 def import(file, idx=nil) if idx tk_call(@path, 'import', file, index(idx)) else tk_call(@path, 'import', file) end self end
index(idx)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 288 def index(idx) tk_send_without_enc('index', _get_eval_enc_str(idx)) end
insert(index, *args)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 292 def insert(index, *args) tk_send('insert', index, *args) self end
mark_gravity(mark, direction=nil)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 304 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
mark_names()
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 297 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
mark_next(index)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 328 def mark_next(index) tagid2obj(_fromUTF8(tk_send_without_enc('mark', 'next', _get_eval_enc_str(index)))) end
Also aliased as: next_mark
mark_previous(index)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 334 def mark_previous(index) tagid2obj(_fromUTF8(tk_send_without_enc('mark', 'previous', _get_eval_enc_str(index)))) end
Also aliased as: previous_mark
mark_set(mark, index)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 314 def mark_set(mark, index) tk_send_without_enc('mark', 'set', _get_eval_enc_str(mark), _get_eval_enc_str(index)) self end
Also aliased as: set_mark
mark_unset(*marks)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 321 def mark_unset(*marks) tk_send_without_enc('mark', 'unset', *(marks.collect{|mark| _get_eval_enc_str(mark)})) self end
Also aliased as: unset_mark
method_missing(id, *args)
click to toggle source
Calls superclass method
Busy.method_missing
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 40 def method_missing(id, *args) if @text.respond_to?(id) @text.__send__(id, *args) else super(id, *args) end end
rsearch(pat,start,stop=None)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 529 def rsearch(pat,start,stop=None) rsearch_with_length(pat,start,stop)[0] end
rsearch_with_length(pat,start,stop=None)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 477 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
scan_dragto(x, y)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 344 def scan_dragto(x, y) tk_send_without_enc('scan', 'dragto', x, y) self end
scan_mark(x, y)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 340 def scan_mark(x, y) tk_send_without_enc('scan', 'mark', x, y) self end
search(pat,start,stop=None)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 473 def search(pat,start,stop=None) search_with_length(pat,start,stop)[0] end
search_with_length(pat,start,stop=None)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 416 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
see(index)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 533 def see(index) tk_send_without_enc('see', index) self end
tksearch(*args)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 376 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
tksearch_with_count(*args)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 396 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
xview(*index)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 540 def xview(*index) if index.size == 0 list(tk_send_without_enc('xview')) else tk_send_without_enc('xview', *index) self end end
xview_moveto(*index)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 548 def xview_moveto(*index) xview('moveto', *index) end
xview_scroll(*index)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 551 def xview_scroll(*index) xview('scroll', *index) end
yview(*index)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 555 def yview(*index) if index.size == 0 list(tk_send_without_enc('yview')) else tk_send_without_enc('yview', *index) self end end
yview_moveto(*index)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 563 def yview_moveto(*index) yview('moveto', *index) end
yview_scroll(*index)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 566 def yview_scroll(*index) yview('scroll', *index) end
Private Instance Methods
__font_optkeys()
click to toggle source
Calls superclass method
Tk::Iwidgets::Labeledwidget#__font_optkeys
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 28 def __font_optkeys super() << 'textfont' end
__strval_optkeys()
click to toggle source
Calls superclass method
Tk::Iwidgets::Labeledwidget#__strval_optkeys
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 23 def __strval_optkeys super() << 'textbackground' end
_ktext_length(txt)
click to toggle source
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 350 def _ktext_length(txt) if TkCore::WITH_ENCODING ### Ruby 1.9 !!!!!!!!!!!!! return txt.length end ########################### if $KCODE !~ /n/i return txt.gsub(/[^\Wa-zA-Z_\d]/, ' ').length end # $KCODE == 'NONE' if JAPANIZED_TK tk_call_without_enc('kstring', 'length', _get_eval_enc_str(txt)).to_i else begin tk_call_without_enc('encoding', 'convertto', 'ascii', _get_eval_enc_str(txt)).length rescue StandardError, NameError # sorry, I have no plan txt.length end end end
tagid(tag)
click to toggle source
Calls superclass method
# File lib/tkextlib/iwidgets/scrolledtext.rb, line 77 def tagid(tag) if tag.kind_of?(Tk::Itk::Component) tag.name else super(tag) end end