In Files

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

Class/Module Index [+]

Quicksearch

Tk::Iwidgets::Scrolledtext

Public Class Methods

new(*args) click to toggle source
 
               # File tk/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 tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 86
def bbox(index)
  list(tk_send('bbox', index))
end
            
child_site() click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 50
def child_site
  window(tk_call(@path, 'childsite'))
end
            
clear() click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 54
def clear
  tk_call(@path, 'clear')
  self
end
            
compare(idx1, op, idx2) click to toggle source
 
               # 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) click to toggle source
 
               # 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() click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 94
def debug
  bool(tk_send_without_enc('debug'))
end
            
debug=(boolean) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 68
def export(file)
  tk_call(@path, 'export', file)
  self
end
            
get(*index) click to toggle source
 
               # File tk/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 tk/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 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) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # 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() click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # 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() click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
Alias for: mark_next
previous_mark(index) click to toggle source
Alias for: mark_previous
rsearch(pat,start,stop=None) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 533
def see(index)
  tk_send_without_enc('see', index)
  self
end
            
set_mark(mark, index) click to toggle source
Alias for: mark_set
tksearch(*args) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
Alias for: mark_unset
xview(*index) click to toggle source
 
               # 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) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 548
def xview_moveto(*index)
  xview('moveto', *index)
end
            
xview_scroll(*index) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 551
def xview_scroll(*index)
  xview('scroll', *index)
end
            
yview(*index) click to toggle source
 
               # 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) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 563
def yview_moveto(*index)
  yview('moveto', *index)
end
            
yview_scroll(*index) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 566
def yview_scroll(*index)
  yview('scroll', *index)
end
            

Commenting is here to help enhance the documentation. For example, code samples, 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.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.