class TkTextMark
Constants
- TMarkID_TBL
- Tk_TextMark_ID
Public Class Methods
id2obj(text, id)
click to toggle source
# File lib/tk/textmark.rb, line 23 def TkTextMark.id2obj(text, id) tpath = text.path TMarkID_TBL.mutex.synchronize{ if TMarkID_TBL[tpath] TMarkID_TBL[tpath][id]? TMarkID_TBL[tpath][id]: id else id end } end
new(parent, index)
click to toggle source
# File lib/tk/textmark.rb, line 34 def initialize(parent, index) #unless parent.kind_of?(Tk::Text) # fail ArgumentError, "expect Tk::Text for 1st argument" #end @parent = @t = parent @tpath = parent.path Tk_TextMark_ID.mutex.synchronize{ # @path = @id = Tk_TextMark_ID.join('') @path = @id = Tk_TextMark_ID.join(TkCore::INTERP._ip_id_).freeze Tk_TextMark_ID[1].succ! } TMarkID_TBL.mutex.synchronize{ TMarkID_TBL[@id] = self TMarkID_TBL[@tpath] = {} unless TMarkID_TBL[@tpath] TMarkID_TBL[@tpath][@id] = self } tk_call_without_enc(@t.path, 'mark', 'set', @id, _get_eval_enc_str(index)) @t._addtag id, self end
Public Instance Methods
exist?()
click to toggle source
# File lib/tk/textmark.rb, line 59 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 lib/tk/textmark.rb, line 115 def gravity tk_call_without_enc(@t.path, 'mark', 'gravity', @id) end
gravity=(direction)
click to toggle source
# File lib/tk/textmark.rb, line 119 def gravity=(direction) tk_call_without_enc(@t.path, 'mark', 'gravity', @id, direction) #self direction end
id()
click to toggle source
# File lib/tk/textmark.rb, line 55 def id Tk::Text::IndexString.new(@id) end
mutex()
click to toggle source
# File lib/tk/textmark.rb, line 15 def mutex; @mutex; end
next(index = nil)
click to toggle source
# File lib/tk/textmark.rb, line 125 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 Tk::Text::IndexModMethods module def +(mod) return chars(mod) if mod.kind_of?(Numeric) mod = mod.to_s if mod =~ /^\s*[+-]?\d/ Tk::Text::IndexString.new(@id + ' + ' + mod) else Tk::Text::IndexString.new(@id + ' ' + mod) end end def -(mod) return chars(-mod) if mod.kind_of?(Numeric) mod = mod.to_s if mod =~ /^\s*[+-]?\d/ Tk::Text::IndexString.new(@id + ' - ' + mod) elsif mod =~ /^\s*[-]\s+(\d.*)$/ Tk::Text::IndexString.new(@id + ' - -' + $1) else Tk::Text::IndexString.new(@id + ' ' + mod) end end
end¶ ↑
# File lib/tk/textmark.rb, line 95 def pos @t.index(@id) end
pos=(where)
click to toggle source
# File lib/tk/textmark.rb, line 99 def pos=(where) set(where) end
previous(index = nil)
click to toggle source
# File lib/tk/textmark.rb, line 133 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 lib/tk/textmark.rb, line 103 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 lib/tk/textmark.rb, line 109 def unset tk_call_without_enc(@t.path, 'mark', 'unset', @id) self end
Also aliased as: destroy