Class | TkTextMark
In: | tk/lib/tk/textmark.rb
Parent: | TkObject

### Methods

destroy exist? gravity gravity= id id2obj new next pos pos= previous set unset

### Included Modules

TkText::IndexModMethods

### Constants

TMarkID_TBL | = | TkCore::INTERP.create_table
Tk_TextMark_ID | = | ['mark'.freeze, '00000'.taint].freeze

### Public Class methods

id2obj(text, id)

[Source]

    # File tk/lib/tk/textmark.rb, line 15
      def TkTextMark.id2obj(text, id)
        tpath = text.path
        return id unless TMarkID_TBL[tpath]
        TMarkID_TBL[tpath][id]? TMarkID_TBL[tpath][id]: id
      end

new(parent, index)

[Source]

    # File tk/lib/tk/textmark.rb, line 21
      def initialize(parent, index)
        #unless parent.kind_of?(TkText)
        #  fail ArgumentError, "expect TkText for 1st argument"
        #end
        @parent = @t = parent
        @tpath = parent.path
        # @path = @id = Tk_TextMark_ID.join('')
        @path = @id = Tk_TextMark_ID.join(TkCore::INTERP._ip_id_).freeze
        TMarkID_TBL[@id] = self
        TMarkID_TBL[@tpath] = {} unless TMarkID_TBL[@tpath]
        TMarkID_TBL[@tpath][@id] = self
        Tk_TextMark_ID[1].succ!
        tk_call_without_enc(@t.path, 'mark', 'set', @id,
                            _get_eval_enc_str(index))
        @t._addtag id, self
      end

### Public Instance methods

destroy()

Alias for unset

exist?()

[Source]

    # File tk/lib/tk/textmark.rb, line 42
      def exist?
        #if ( tk_split_simplelist(_fromUTF8(tk_call_without_enc(@t.path, 'mark', 'names'))).find{|id| id == @id } )
        if ( tk_split_simplelist(tk_call_without_enc(@t.path, 'mark', 'names'), false, true).find{|id| id == @id } )
          true
        else
          false
        end
      end

gravity()

[Source]

    # File tk/lib/tk/textmark.rb, line 98
      def gravity
        tk_call_without_enc(@t.path, 'mark', 'gravity', @id)
      end

gravity=(direction)

[Source]

    # File tk/lib/tk/textmark.rb, line 102
      def gravity=(direction)
        tk_call_without_enc(@t.path, 'mark', 'gravity', @id, direction)
        #self
        direction
      end

id()

[Source]

    # File tk/lib/tk/textmark.rb, line 38
      def id
        TkText::IndexString.new(@id)
      end

next(index = nil)

[Source]

    # File tk/lib/tk/textmark.rb, line 108
      def next(index = nil)
        if index
          @t.tagid2obj(_fromUTF8(tk_call_without_enc(@t.path, 'mark', 'next', _get_eval_enc_str(index))))
        else
          @t.tagid2obj(_fromUTF8(tk_call_without_enc(@t.path, 'mark', 'next', @id)))
        end
      end

pos()

[Source]

    # File tk/lib/tk/textmark.rb, line 78
      def pos
        @t.index(@id)
      end

pos=(where)

[Source]

    # File tk/lib/tk/textmark.rb, line 82
      def pos=(where)
        set(where)
      end

previous(index = nil)

[Source]

    # File tk/lib/tk/textmark.rb, line 116
      def previous(index = nil)
        if index
          @t.tagid2obj(_fromUTF8(tk_call_without_enc(@t.path, 'mark', 'previous', _get_eval_enc_str(index))))
        else
          @t.tagid2obj(_fromUTF8(tk_call_without_enc(@t.path, 'mark', 'previous', @id)))
        end
      end

set(where)

[Source]

    # File tk/lib/tk/textmark.rb, line 86
      def set(where)
        tk_call_without_enc(@t.path, 'mark', 'set', @id,
                            _get_eval_enc_str(where))
        self
      end

unset()

[Source]

    # File tk/lib/tk/textmark.rb, line 92
      def unset
        tk_call_without_enc(@t.path, 'mark', 'unset', @id)
        self
      end

[Validate]