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:13:30 +0000
committernagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-03-10 10:13:30 +0000
commitd2a9e77748684e786af9525e258aee98c8ff2a8d (patch)
treec981003f0983f34978882802c6b8db378df5ab93 /ext/tk/lib/tk/textmark.rb
parent7935361d36fdfd372002c276baede34bb39f89a2 (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.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)