summaryrefslogtreecommitdiff
path: root/ext/tk/lib/tk/textmark.rb
diff options
context:
space:
mode:
authornagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-03-10 10:14:13 +0000
committernagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-03-10 10:14:13 +0000
commitb12fcec3213fdaa1a56edf550f994ec349140588 (patch)
tree8afc849e858fd04167e578c92c2ae02f1da24f69 /ext/tk/lib/tk/textmark.rb
parent1898e91c9d51bfa5d88a3e0000cb842c59ae8798 (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.rb32
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)