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 234
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 119
def image_cget(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 145
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 131
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 255
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 262
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 266
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 278
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 271
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 302
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 308
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 288
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 295
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.methods.include?(id.id2name)
    @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 498
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 446
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 318
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 314
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 442
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 385
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 502
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 345
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 365
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 509
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 517
def xview_moveto(*index)
  xview('moveto', *index)
end
            
xview_scroll(*index) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 520
def xview_scroll(*index)
  xview('scroll', *index)
end
            
yview(*index) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 524
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 532
def yview_moveto(*index)
  yview('moveto', *index)
end
            
yview_scroll(*index) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/scrolledtext.rb, line 535
def yview_scroll(*index)
  yview('scroll', *index)
end