In Files

  • tk/lib/tk/textmark.rb

Class/Module Index [+]

Quicksearch

TkTextMark

Public Class Methods

id2obj(text, id) click to toggle 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) click to toggle 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() click to toggle source
Alias for: unset
exist?() click to toggle 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() click to toggle source
 
               # File tk/lib/tk/textmark.rb, line 98
def gravity
  tk_call_without_enc(@t.path, 'mark', 'gravity', @id)
end
            
gravity=(direction) click to toggle 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() click to toggle source
 
               # File tk/lib/tk/textmark.rb, line 38
def id
  TkText::IndexString.new(@id)
end
            
next(index = nil) click to toggle 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() click to toggle source

begin

# move to TkText::IndexModMethods module
def +(mod)
  return chars(mod) if mod.kind_of?(Numeric)

  mod = mod.to_s
  if mod =~ /^\s*[+-]?\d/
    TkText::IndexString.new(@id + ' + ' + mod)
  else
    TkText::IndexString.new(@id + ' ' + mod)
  end
end

def -(mod)
  return chars(-mod) if mod.kind_of?(Numeric)

  mod = mod.to_s
  if mod =~ /^\s*[+-]?\d/
    TkText::IndexString.new(@id + ' - ' + mod)
  elsif mod =~ /^\s*[-]\s+(\d.*)$/
    TkText::IndexString.new(@id + ' - -' + $1)
  else
    TkText::IndexString.new(@id + ' ' + mod)
  end
end

end

 
               # File tk/lib/tk/textmark.rb, line 78
def pos
  @t.index(@id)
end
            
pos=(where) click to toggle source
 
               # File tk/lib/tk/textmark.rb, line 82
def pos=(where)
  set(where)
end
            
previous(index = nil) click to toggle 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) click to toggle 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() click to toggle source
 
               # File tk/lib/tk/textmark.rb, line 92
def unset
  tk_call_without_enc(@t.path, 'mark', 'unset', @id)
  self
end
            
Also aliased as: destroy