diff options
author | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-03-10 10:14:13 +0000 |
---|---|---|
committer | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-03-10 10:14:13 +0000 |
commit | b12fcec3213fdaa1a56edf550f994ec349140588 (patch) | |
tree | 8afc849e858fd04167e578c92c2ae02f1da24f69 /ext/tk/lib/tk/textmark.rb | |
parent | 1898e91c9d51bfa5d88a3e0000cb842c59ae8798 (diff) |
* ext/tcltklib/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/branches/ruby_1_8@8135 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) |