Class: TkText

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

### Methods

__destroy_hook__ _addcmd _addtag add_tag addtag at at backspace bbox clear compare count count_info current_image_configinfo debug debug= delete_tag deltag destroy dlineinfo dump dump_all dump_image dump_mark dump_tag dump_text dump_window edit_redo edit_reset edit_separator edit_undo erase get_displaychars image_cget image_configinfo image_configure image_names index init_instance_variable insert mark_gravity mark_names mark_next mark_previous mark_set mark_unset modified modified= modified? new next_mark peer_names previous_mark replace rsearch rsearch_with_length search search_with_length set_current set_insert set_mark tag_add tag_bind tag_bind_append tag_bind_remove tag_bindinfo tag_delete tag_lower tag_names tag_nextrange tag_prevrange tag_raise tag_ranges tag_remove tagid2obj text_copy text_cut text_paste tksearch tksearch_with_count unset_mark value value= window_names xview_pickplace yview_pickplace

### Included Modules

TkTextTagConfig Scrollable

### Classes and Modules

Module TkText::IndexModMethods
Class TkText::IndexString
Class TkText::Peer

### Constants

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

### Public Class methods

at(x, y)

[Source]

    # File tk/lib/tk/text.rb, line 195
      def self.at(x, y)
        TkText::IndexString.at(x, y)
      end

new(*args) {|| ...}

[Source]

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

### Public Instance methods

__destroy_hook__()

[Source]

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

_addcmd(cmd)

[Source]

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

_addtag(name, obj)

[Source]

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

at(x, y)

[Source]

    # File tk/lib/tk/text.rb, line 199
      def at(x, y)
        TkText::IndexString.at(x, y)
      end

backspace()

[Source]

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

bbox(index)

[Source]

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

clear()

[Source]

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

compare(idx1, op, idx2)

[Source]

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

count(idx1, idx2, *opts)

[Source]

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

count_info(idx1, idx2, update=true)

[Source]

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

current_image_configinfo(index, slot = nil)

[Source]

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

[Source]

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

debug=(boolean)

[Source]

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

destroy()

[Source]

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

dlineinfo(index)

[Source]

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

dump(type_info, *index, &block)

[Source]

    # File tk/lib/tk/text.rb, line 1299
      def dump(type_info, *index, &block)
        if type_info.kind_of?(Symbol)
          type_info = [ type_info.to_s ]
        elsif type_info.kind_of?(String)
          type_info = [ type_info ]
        end
        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)
            when 'image'
              result.push tk_tcl2ruby(val)
            end
            i = idx + 1
          end

          # retrieve index
          idx = str.index(/ /, i)
          if idx
            result.push(TkText::IndexString.new(str[i..(idx-1)]))
            i = idx + 1
          else
            result.push(TkText::IndexString.new(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

dump_all(*index, &block)

[Source]

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

dump_image(*index, &block)

[Source]

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

dump_mark(*index, &block)

[Source]

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

dump_tag(*index, &block)

[Source]

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

dump_text(*index, &block)

[Source]

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

dump_window(*index, &block)

[Source]

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

edit_redo()

[Source]

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

edit_reset()

[Source]

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

edit_separator()

[Source]

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

edit_undo()

[Source]

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

erase()

Alias for clear

get_displaychars(*index)

[Source]

    # File tk/lib/tk/text.rb, line 208
      def get_displaychars(*index)
        # Tk8.5 feature
        get('-displaychars', *index)
      end

image_cget(index, slot)

[Source]

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

[Source]

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

[Source]

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

[Source]

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

index(idx)

[Source]

    # File tk/lib/tk/text.rb, line 203
      def index(idx)
        TkText::IndexString.new(tk_send_without_enc('index',
                                                    _get_eval_enc_str(idx)))
      end

init_instance_variable()

[Source]

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

insert(index, chars, *tags)

[Source]

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

mark_gravity(mark, direction=nil)

[Source]

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

[Source]

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

[Source]

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

mark_previous(index)

[Source]

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

mark_set(mark, index)

[Source]

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

mark_unset(*marks)

[Source]

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

modified(mode)

[Source]

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

modified=(mode)

[Source]

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

modified?()

[Source]

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

next_mark(index)

Alias for mark_next

peer_names()

[Source]

    # File tk/lib/tk/text.rb, line 532
      def peer_names()
        # Tk8.5 feature
        list(tk_send_without_enc('peer', 'names'))
      end

previous_mark(index)

Alias for mark_previous

replace(idx1, idx2, *opts)

[Source]

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

rsearch(pat,start,stop=None)

[Source]

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

rsearch_with_length(pat,start,stop=None)

[Source]

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

search(pat,start,stop=None)

[Source]

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

search_with_length(pat,start,stop=None)

[Source]

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

set_current(index)

[Source]

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

set_insert(index)

[Source]

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

tag_add(tag, index1, index2=None)

[Source]

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

tag_bind(tag, seq, *args)

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 642
      def tag_bind(tag, seq, *args)
        # if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
        if TkComm._callback_entry?(args[0]) || !block_given?
          cmd = args.shift
        else
          cmd = Proc.new
        end
        _bind([@path, 'tag', 'bind', tag], seq, cmd, *args)
        self
      end

tag_bind_append(tag, seq, *args)

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 657
      def tag_bind_append(tag, seq, *args)
        # if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
        if TkComm._callback_entry?(args[0]) || !block_given?
          cmd = args.shift
        else
          cmd = Proc.new
        end
        _bind_append([@path, 'tag', 'bind', tag], seq, cmd, *args)
        self
      end

tag_bind_remove(tag, seq)

[Source]

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

tag_bindinfo(tag, context=nil)

[Source]

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

tag_delete(*tags)

[Source]

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

tag_lower(tag, below=None)

[Source]

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

tag_names(index=None)

[Source]

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

tag_nextrange(tag, first, last=None)

[Source]

    # File tk/lib/tk/text.rb, line 884
      def tag_nextrange(tag, first, last=None)
        simplelist(tk_send_without_enc('tag', 'nextrange',
                                       _get_eval_enc_str(tag),
                                       _get_eval_enc_str(first),
                                       _get_eval_enc_str(last))).collect{|idx|
          TkText::IndexString.new(idx)
        }
      end

tag_prevrange(tag, first, last=None)

[Source]

    # File tk/lib/tk/text.rb, line 893
      def tag_prevrange(tag, first, last=None)
        simplelist(tk_send_without_enc('tag', 'prevrange',
                                       _get_eval_enc_str(tag),
                                       _get_eval_enc_str(first),
                                       _get_eval_enc_str(last))).collect{|idx|
          TkText::IndexString.new(idx)
        }
      end

tag_raise(tag, above=None)

[Source]

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

tag_ranges(tag)

[Source]

    # File tk/lib/tk/text.rb, line 871
      def tag_ranges(tag)
        #l = tk_split_simplelist(tk_send_without_enc('tag', 'ranges',
        #                                            _get_eval_enc_str(tag)))
        l = tk_split_simplelist(tk_send_without_enc('tag', 'ranges',
                                                    _get_eval_enc_str(tag)),
                                false, true)
        r = []
        while key=l.shift
          r.push [TkText::IndexString.new(key), TkText::IndexString.new(l.shift)]
        end
        r
      end

tag_remove(tag, *indices)

[Source]

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

tagid2obj(tagid)

[Source]

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

text_copy()

[Source]

    # File tk/lib/tk/text.rb, line 594
      def text_copy
        # Tk8.4 feature
        tk_call_without_enc('tk_textCopy', @path)
        self
      end

text_cut()

[Source]

    # File tk/lib/tk/text.rb, line 600
      def text_cut
        # Tk8.4 feature
        tk_call_without_enc('tk_textCut', @path)
        self
      end

text_paste()

[Source]

    # File tk/lib/tk/text.rb, line 606
      def text_paste
        # Tk8.4 feature
        tk_call_without_enc('tk_textPaste', @path)
        self
      end

tksearch(*args)

[Source]

    # File tk/lib/tk/text.rb, line 1114
      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
          TkText::IndexString.new(ret)
        end
      end

tksearch_with_count(*args)

[Source]

    # File tk/lib/tk/text.rb, line 1147
      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
          TkText::IndexString.new(ret)
        end
      end

unset_mark(*marks)

Alias for mark_unset

value()

[Source]

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

value=(val)

[Source]

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

window_names()

[Source]

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

xview_pickplace(index)

[Source]

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

yview_pickplace(index)

[Source]

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

[Validate]