Class TkText
In: tk/lib/tk/text.rb
Parent: TkTextWin

Methods

Included Modules

TkTextTagConfig Scrollable

Constants

ItemConfCMD = ['tag'.freeze, 'configure'.freeze].freeze
TkCommandNames = ['text'.freeze].freeze
WidgetClassName = 'Text'.freeze

Public Class methods

[Source]

# File tk/lib/tk/text.rb, line 73
  def self.new(*args, &block)
    obj = super(*args){}
    obj.init_instance_variable
    obj.instance_eval(&block) if defined? yield
    obj
  end

Public Instance methods

[Source]

# File tk/lib/tk/text.rb, line 85
  def __destroy_hook__
    TkTextTag::TTagID_TBL.delete(@path)
    TkTextMark::TMarkID_TBL.delete(@path)
  end

[Source]

# File tk/lib/tk/text.rb, line 129
  def _addcmd(cmd)
    @cmdtbl.push cmd
  end

[Source]

# File tk/lib/tk/text.rb, line 133
  def _addtag(name, obj)
    @tags[name] = obj
  end
add_tag(tag, index1, index2=None)

Alias for tag_add

addtag(tag, index1, index2=None)

Alias for tag_add

[Source]

# File tk/lib/tk/text.rb, line 376
  def backspace
    self.delete 'insert'
  end

[Source]

# File tk/lib/tk/text.rb, line 380
  def bbox(index)
    list(tk_send_without_enc('bbox', _get_eval_enc_str(index)))
  end

[Source]

# File tk/lib/tk/text.rb, line 123
  def clear
    tk_send_without_enc('delete', "1.0", 'end')
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 384
  def compare(idx1, op, idx2)
    bool(tk_send_without_enc('compare', _get_eval_enc_str(idx1), 
                             op, _get_eval_enc_str(idx2)))
  end

[Source]

# File tk/lib/tk/text.rb, line 389
  def count(idx1, idx2, *opts)
    # opts are Tk8.5 feature

    cnt = 0
    args = opts.collect{|opt|
      str = opt.to_s
      cnt += 1 if str != 'update'
      '-' + str
    }
    args << _get_eval_enc_str(idx1) << _get_eval_enc_str(idx2)
    if cnt <= 1
      number(tk_send_without_enc('count', *opts))
    else
      list(tk_send_without_enc('count', *opts))
    end
  end

[Source]

# File tk/lib/tk/text.rb, line 405
  def count_info(idx1, idx2, update=true)
    # Tk8.5 feature

    opts = [
      :chars, :displaychars, :displayindices, :displaylines, 
      :indices, :lines, :xpixels, :ypixels
    ]
    if update
      lst = count(idx1, idx2, :update, *opts)
    else
      lst = count(idx1, idx2, *opts)
    end
    info = {}
    opts.each_with_index{|key, idx| info[key] = lst[idx]}
    info
  end

[Source]

# File tk/lib/tk/text.rb, line 312
  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

[Source]

# File tk/lib/tk/text.rb, line 426
  def debug
    bool(tk_send_without_enc('debug'))
  end

[Source]

# File tk/lib/tk/text.rb, line 429
  def debug=(boolean)
    tk_send_without_enc('debug', boolean)
    #self

    boolean
  end
delete_tag(*tags)

Alias for tag_delete

deltag(*tags)

Alias for tag_delete

[Source]

# File tk/lib/tk/text.rb, line 368
  def destroy
    @tags = {} unless @tags
    @tags.each_value do |t|
      t.destroy
    end
    super
  end

[Source]

# File tk/lib/tk/text.rb, line 435
  def dlineinfo(index)
    list(tk_send_without_enc('dlineinfo', _get_eval_enc_str(index)))
  end

[Source]

# File tk/lib/tk/text.rb, line 1155
  def dump(type_info, *index, &block)
    args = type_info.collect{|inf| '-' + inf}
    args << '-command' << block if block
    str = tk_send('dump', *(args + index))
    result = []
    sel = nil
    i = 0
    while i < str.size
      # retrieve key

      idx = str.index(/ /, i)
      result.push str[i..(idx-1)]
      i = idx + 1
      
      # retrieve value

      case result[-1]
      when 'text'
        if str[i] == ?{
          # text formed as {...}

          val, i = _retrieve_braced_text(str, i)
          result.push val
        else
          # text which may contain backslahes

          val, i = _retrieve_backslashed_text(str, i)
          result.push val
        end
      else
        idx = str.index(/ /, i)
        val = str[i..(idx-1)]
        case result[-1]
        when 'mark'
          case val
          when 'insert'
            result.push TkTextMarkInsert.new(self)
          when 'current'
            result.push TkTextMarkCurrent.new(self)
          when 'anchor'
            result.push TkTextMarkAnchor.new(self)
          else
            result.push tk_tcl2ruby(val)
          end
        when 'tagon'
          if val == 'sel'
            if sel
              result.push sel
            else
              result.push TkTextTagSel.new(self)
            end
          else
            result.push tk_tcl2ruby(val)
          end
        when 'tagoff'
            result.push tk_tcl2ruby(val)
        when 'window'
          result.push tk_tcl2ruby(val)
        end
        i = idx + 1
      end

      # retrieve index

      idx = str.index(/ /, i)
      if idx
        result.push str[i..(idx-1)]
        i = idx + 1
      else
        result.push str[i..-1]
        break
      end
    end
    
    kvis = []
    until result.empty?
      kvis.push [result.shift, result.shift, result.shift]
    end
    kvis  # result is [[key1, value1, index1], [key2, value2, index2], ...]

  end

[Source]

# File tk/lib/tk/text.rb, line 1267
  def dump_all(*index, &block)
    dump(['all'], *index, &block)
  end

[Source]

# File tk/lib/tk/text.rb, line 1282
  def dump_image(*index, &block)
    dump(['image'], *index, &block)
  end

[Source]

# File tk/lib/tk/text.rb, line 1270
  def dump_mark(*index, &block)
    dump(['mark'], *index, &block)
  end

[Source]

# File tk/lib/tk/text.rb, line 1273
  def dump_tag(*index, &block)
    dump(['tag'], *index, &block)
  end

[Source]

# File tk/lib/tk/text.rb, line 1276
  def dump_text(*index, &block)
    dump(['text'], *index, &block)
  end

[Source]

# File tk/lib/tk/text.rb, line 1279
  def dump_window(*index, &block)
    dump(['window'], *index, &block)
  end

[Source]

# File tk/lib/tk/text.rb, line 451
  def edit_redo
    tk_send_without_enc('edit', 'redo')
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 455
  def edit_reset
    tk_send_without_enc('edit', 'reset')
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 459
  def edit_separator
    tk_send_without_enc('edit', 'separator')
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 463
  def edit_undo
    tk_send_without_enc('edit', 'undo')
    self
  end
erase()

Alias for clear

[Source]

# File tk/lib/tk/text.rb, line 108
  def get_displaychars(*index)
    # Tk8.5 feature

    get('-displaychars', *index)
  end

[Source]

# File tk/lib/tk/text.rb, line 205
  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

[Source]

# File tk/lib/tk/text.rb, line 231
  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}")))
        else
          conf = tk_split_list(_fromUTF8(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index), "-#{slot}")))
        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)
          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}")))
        else
          conf = tk_split_list(_fromUTF8(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index), "-#{slot}")))
        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)
          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

[Source]

# File tk/lib/tk/text.rb, line 217
  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

[Source]

# File tk/lib/tk/text.rb, line 333
  def image_names
    tk_split_simplelist(_fromUTF8(tk_send_without_enc('image', 'names'))).collect{|elt|
      tagid2obj(elt)
    }
  end

[Source]

# File tk/lib/tk/text.rb, line 104
  def index(index)
    tk_send_without_enc('index', _get_eval_enc_str(index))
  end

[Source]

# File tk/lib/tk/text.rb, line 80
  def init_instance_variable
    @cmdtbl = []
    @tags = {}
  end

[Source]

# File tk/lib/tk/text.rb, line 349
  def insert(index, chars, *tags)
    if tags[0].kind_of? Array
      # multiple chars-taglist argument :: str, [tag,...], str, [tag,...], ...

      args = [chars]
      while tags.size > 0
        args << tags.shift.collect{|x|_get_eval_string(x)}.join(' ')  # taglist

        args << tags.shift if tags.size > 0                           # chars

      end
      super index, *args
    else
      # single chars-taglist argument :: str, tag, tag, ...

      if tags.size == 0
        super index, chars
      else
        super index, chars, tags.collect{|x|_get_eval_string(x)}.join(' ')
      end
    end
  end

[Source]

# File tk/lib/tk/text.rb, line 169
  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

[Source]

# File tk/lib/tk/text.rb, line 163
  def mark_names
    tk_split_simplelist(_fromUTF8(tk_send_without_enc('mark', 'names'))).collect{|elt|
      tagid2obj(elt)
    }
  end

[Source]

# File tk/lib/tk/text.rb, line 193
  def mark_next(index)
    tagid2obj(_fromUTF8(tk_send_without_enc('mark', 'next', 
                                            _get_eval_enc_str(index))))
  end

[Source]

# File tk/lib/tk/text.rb, line 199
  def mark_previous(index)
    tagid2obj(_fromUTF8(tk_send_without_enc('mark', 'previous', 
                                            _get_eval_enc_str(index))))
  end

[Source]

# File tk/lib/tk/text.rb, line 179
  def mark_set(mark, index)
    tk_send_without_enc('mark', 'set', _get_eval_enc_str(mark), 
                        _get_eval_enc_str(index))
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 186
  def mark_unset(*marks)
    tk_send_without_enc('mark', 'unset', 
                        *(marks.collect{|mark| _get_eval_enc_str(mark)}))
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 442
  def modified(mode)
    tk_send_without_enc('edit', 'modified', mode)
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 446
  def modified=(mode)
    modified(mode)
    mode
  end

[Source]

# File tk/lib/tk/text.rb, line 439
  def modified?
    bool(tk_send_without_enc('edit', 'modified'))
  end
next_mark(index)

Alias for mark_next

previous_mark(index)

Alias for mark_previous

[Source]

# File tk/lib/tk/text.rb, line 421
  def replace(idx1, idx2, *opts)
    tk_send('replace', idx1, idx2, *opts)
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 1151
  def rsearch(pat,start,stop=None)
    rsearch_with_length(pat,start,stop)[0]
  end

[Source]

# File tk/lib/tk/text.rb, line 1099
  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

[Source]

# File tk/lib/tk/text.rb, line 1095
  def search(pat,start,stop=None)
    search_with_length(pat,start,stop)[0]
  end

[Source]

# File tk/lib/tk/text.rb, line 1038
  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

[Source]

# File tk/lib/tk/text.rb, line 344
  def set_current(index)
    tk_send_without_enc('mark','set','current', _get_eval_enc_str(index))
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 339
  def set_insert(index)
    tk_send_without_enc('mark','set','insert', _get_eval_enc_str(index))
    self
  end
set_mark(mark, index)

Alias for mark_set

[Source]

# File tk/lib/tk/text.rb, line 496
  def tag_add(tag, index1, index2=None)
    tk_send_without_enc('tag', 'add', _get_eval_enc_str(tag), 
                        _get_eval_enc_str(index1), 
                        _get_eval_enc_str(index2))
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 522
  def tag_bind(tag, seq, cmd=Proc.new, *args)
    _bind([@path, 'tag', 'bind', tag], seq, cmd, *args)
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 527
  def tag_bind_append(tag, seq, cmd=Proc.new, *args)
    _bind_append([@path, 'tag', 'bind', tag], seq, cmd, *args)
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 532
  def tag_bind_remove(tag, seq)
    _bind_remove([@path, 'tag', 'bind', tag], seq)
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 537
  def tag_bindinfo(tag, context=nil)
    _bindinfo([@path, 'tag', 'bind', tag], context)
  end

[Source]

# File tk/lib/tk/text.rb, line 505
  def tag_delete(*tags)
    tk_send_without_enc('tag', 'delete', 
                        *(tags.collect{|tag| _get_eval_enc_str(tag)}))
    if TkTextTag::TTagID_TBL[@path]
      tags.each{|tag|
        if tag.kind_of? TkTextTag
          TkTextTag::TTagID_TBL[@path].delete(tag.id) 
        else
          TkTextTag::TTagID_TBL[@path].delete(tag) 
        end
      }
    end
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 723
  def tag_lower(tag, below=None)
    tk_send_without_enc('tag', 'lower', _get_eval_enc_str(tag), 
                        _get_eval_enc_str(below))
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 157
  def tag_names(index=None)
    tk_split_simplelist(_fromUTF8(tk_send_without_enc('tag', 'names', _get_eval_enc_str(index)))).collect{|elt|
      tagid2obj(elt)
    }
  end

[Source]

# File tk/lib/tk/text.rb, line 745
  def tag_nextrange(tag, first, last=None)
    tk_split_list(tk_send_without_enc('tag', 'nextrange', 
                                      _get_eval_enc_str(tag), 
                                      _get_eval_enc_str(first), 
                                      _get_eval_enc_str(last)))
  end

[Source]

# File tk/lib/tk/text.rb, line 752
  def tag_prevrange(tag, first, last=None)
    tk_split_list(tk_send_without_enc('tag', 'prevrange', 
                                      _get_eval_enc_str(tag), 
                                      _get_eval_enc_str(first), 
                                      _get_eval_enc_str(last)))
  end

[Source]

# File tk/lib/tk/text.rb, line 717
  def tag_raise(tag, above=None)
    tk_send_without_enc('tag', 'raise', _get_eval_enc_str(tag), 
                        _get_eval_enc_str(above))
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 735
  def tag_ranges(tag)
    l = tk_split_simplelist(tk_send_without_enc('tag', 'ranges',
                                                _get_eval_enc_str(tag)))
    r = []
    while key=l.shift
      r.push [key, l.shift]
    end
    r
  end

[Source]

# File tk/lib/tk/text.rb, line 729
  def tag_remove(tag, *indices)
    tk_send_without_enc('tag', 'remove', _get_eval_enc_str(tag), 
                        *(indices.collect{|idx| _get_eval_enc_str(idx)}))
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 149
  def tagid2obj(tagid)
    if @tags[tagid]
      @tags[tagid]
    else
      tagid
    end
  end

[Source]

# File tk/lib/tk/text.rb, line 478
  def text_copy
    # Tk8.4 feature

    tk_call_without_enc('tk_textCopy', @path)
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 484
  def text_cut
    # Tk8.4 feature

    tk_call_without_enc('tk_textCut', @path)
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 490
  def text_paste
    # Tk8.4 feature

    tk_call_without_enc('tk_textPaste', @path)
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 970
  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

    nocase = false
    if args[0].kind_of?(Array)
      opts = args.shift.collect{|opt|
        s_opt = opt.to_s
        nocase = true if s_opt == 'nocase'
        '-' + s_opt
      }
    else
      opts = []
    end

    if args[0].kind_of?(Regexp)
      regexp = args.shift
      if !nocase && (regexp.options & Regexp::IGNORECASE) != 0
        opts << '-nocase'
      end
      args.unshift(regexp.source)
    end

    opts << '--'

    ret = tk_send('search', *(opts + args))
    if ret == ""
      nil
    else
      ret
    end
  end

[Source]

# File tk/lib/tk/text.rb, line 1003
  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

    nocase = false
    if args[0].kind_of?(Array)
      opts = args.shift.collect{|opt|
        s_opt = opt.to_s
        nocase = true if s_opt == 'nocase'
        '-' + s_opt
      }
    else
      opts = []
    end

    opts << '-count' << args.shift

    if args[0].kind_of?(Regexp)
      regexp = args.shift
      if !nocase && (regexp.options & Regexp::IGNORECASE) != 0
        opts << '-nocase'
      end
      args.unshift(regexp.source)
    end

    opts << '--'

    ret = tk_send('search', *(opts + args))
    if ret == ""
      nil
    else
      ret
    end
  end
unset_mark(*marks)

Alias for mark_unset

[Source]

# File tk/lib/tk/text.rb, line 113
  def value
    _fromUTF8(tk_send_without_enc('get', "1.0", "end - 1 char"))
  end

[Source]

# File tk/lib/tk/text.rb, line 117
  def value= (val)
    tk_send_without_enc('delete', "1.0", 'end')
    tk_send_without_enc('insert', "1.0", _get_eval_enc_str(val))
    val
  end

[Source]

# File tk/lib/tk/text.rb, line 943
  def window_names
    tk_split_simplelist(_fromUTF8(tk_send_without_enc('window', 'names'))).collect{|elt|
      tagid2obj(elt)
    }
  end

[Source]

# File tk/lib/tk/text.rb, line 468
  def xview_pickplace(index)
    tk_send_without_enc('xview', '-pickplace', _get_eval_enc_str(index))
    self
  end

[Source]

# File tk/lib/tk/text.rb, line 473
  def yview_pickplace(index)
    tk_send_without_enc('yview', '-pickplace', _get_eval_enc_str(index))
    self
  end

[Validate]