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 34
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 85
def bbox(index)
  list(tk_send('bbox', index))
end
            
child_site() click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 49
def child_site
  window(tk_call(@path, 'childsite'))
end
            
clear() click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 53
def clear
  tk_call(@path, 'clear')
  self
end
            
compare(idx1, op, idx2) click to toggle source
 
               # 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
            
current_image_configinfo(index, slot = nil) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 255
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 93
def debug
  bool(tk_send_without_enc('debug'))
end
            
debug=(boolean) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 96
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 102
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 107
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 67
def export(file)
  tk_call(@path, 'export', file)
  self
end
            
get(*index) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 111
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 114
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 130
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 119
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_configinfo(index, slot = nil) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 166
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 152
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 276
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 58
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 283
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 287
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 299
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 292
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 323
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 329
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 309
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 316
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 39
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 524
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 472
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 339
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 335
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 468
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 411
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 528
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 371
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 391
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 535
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 543
def xview_moveto(*index)
  xview('moveto', *index)
end
            
xview_scroll(*index) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 546
def xview_scroll(*index)
  xview('scroll', *index)
end
            
yview(*index) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 550
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 558
def yview_moveto(*index)
  yview('moveto', *index)
end
            
yview_scroll(*index) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 561
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.

blog comments powered by Disqus