diff options
author | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-03-10 10:13:30 +0000 |
---|---|---|
committer | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-03-10 10:13:30 +0000 |
commit | d2a9e77748684e786af9525e258aee98c8ff2a8d (patch) | |
tree | c981003f0983f34978882802c6b8db378df5ab93 /ext/tk/lib/tk/textmark.rb | |
parent | 7935361d36fdfd372002c276baede34bb39f89a2 (diff) |
* ext/tk/tcltklib.c (lib_eventloop_ensure): mis-delete a timer handler
when exit from a recursive called eventloop
* ext/tk/lib/tk/timer.rb: new TkRTTimer class, which can works for a
realtime operation
* ext/tk/sample/tkrttimer.rb: sample of TkRTTimer class
* ext/tk/lib/tk/textmark.rb: move TkTextMark#+ and TkTextMark#- to
TkText::IndexModMethods
* ext/tk/lib/tk/text.rb: improve TkTextMark#+ and TkTextMark#-, and
add them to TkText::IndexModMethods module
* ext/tk/sample/tktextio.rb: add test part of "seek by text index
modifiers"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/lib/tk/textmark.rb')
-rw-r--r-- | ext/tk/lib/tk/textmark.rb | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/ext/tk/lib/tk/textmark.rb b/ext/tk/lib/tk/textmark.rb index 9dff764eca..dccde38d7f 100644 --- a/ext/tk/lib/tk/textmark.rb +++ b/ext/tk/lib/tk/textmark.rb @@ -47,11 +47,39 @@ class TkTextMark<TkObject end end +=begin + # move to TkText::IndexModMethods module def +(mod) - TkText::IndexString.new(@id + ' + ' + 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) - TkText::IndexString.new(@id + ' - ' + 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 + + def pos + @t.index(@id) + end + + def pos=(where) + set(where) end def set(where) |