Class: Tk::Iwidgets::Scrolledtext (Ruby 2.3.4)

In Files

  • tk/lib/tkextlib/iwidgets/scrolledtext.rb

Class/Module Index [+]

Quicksearch

Tk::Iwidgets::Scrolledtext

Public Class Methods

new(*args)
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 35
def initialize(*args)
  super(*args)
  @text = component_widget('text')
end
            

Public Instance Methods

bbox(index)
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 86
def bbox(index)
  list(tk_send('bbox', index))
end
            
child_site()
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 50
def child_site
  window(tk_call(@path, 'childsite'))
end
            
clear()
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 54
def clear
  tk_call(@path, 'clear')
  self
end
            
compare(idx1, op, idx2)
 
               # File tk/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)
 
               # File tk/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()
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 94
def debug
  bool(tk_send_without_enc('debug'))
end
            
debug=(boolean)
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 97
def debug=(boolean)
  tk_send_without_enc('debug', boolean)
  #self
  boolean
end
            
delete(first, last=None)
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 103
def delete(first, last=None)
  tk_send_without_enc('delete', first, last)
  self
end
            
dlineinfo(index)
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 108
def dlineinfo(index)
  list(tk_send_without_enc('dlineinfo', _get_eval_enc_str(index)))
end
            
export(file)
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 68
def export(file)
  tk_call(@path, 'export', file)
  self
end
            
get(*index)
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 112
def get(*index)
  _fromUTF8(tk_send_without_enc('get', *index))
end
            
get_displaychars(*index)
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 115
def get_displaychars(*index)
  # Tk8.5 feature
  get('-displaychars', *index)
end
            
image_cget(index, slot)
 
               # File tk/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)
 
               # File tk/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)
 
               # File tk/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)
 
               # File tk/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)
 
               # File tk/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()
 
               # File tk/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)
 
               # File tk/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)
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 288
def index(idx)
  tk_send_without_enc('index', _get_eval_enc_str(idx))
end
            
insert(index, *args)
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 292
def insert(index, *args)
  tk_send('insert', index, *args)
  self
end
            
mark_gravity(mark, direction=nil)
 
               # File tk/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()
 
               # File tk/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)
 
               # File tk/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)
 
               # File tk/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)
 
               # File tk/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)
 
               # File tk/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)
 
               # File tk/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
            
next_mark(index)
Alias for: mark_next
previous_mark(index)
Alias for: mark_previous
rsearch(pat,start,stop=None)
 
               # File tk/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)
 
               # File tk/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)
 
               # File tk/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)
 
               # File tk/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)
 
               # File tk/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)
 
               # File tk/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)
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 533
def see(index)
  tk_send_without_enc('see', index)
  self
end
            
set_mark(mark, index)
Alias for: mark_set
tksearch(*args)
 
               # File tk/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)
 
               # File tk/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
            
unset_mark(*marks)
Alias for: mark_unset
xview(*index)
 
               # File tk/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)
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 548
def xview_moveto(*index)
  xview('moveto', *index)
end
            
xview_scroll(*index)
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 551
def xview_scroll(*index)
  xview('scroll', *index)
end
            
yview(*index)
 
               # File tk/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)
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 563
def yview_moveto(*index)
  yview('moveto', *index)
end
            
yview_scroll(*index)
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 566
def yview_scroll(*index)
  yview('scroll', *index)
end