From 0ac67b89331e03f82f731aa952050f4cfc64c80e Mon Sep 17 00:00:00 2001 From: matz Date: Fri, 17 Jul 1998 05:16:38 +0000 Subject: 1.1c0 addendum git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- MANIFEST | 2 ++ lib/tkbgerror.rb | 17 ++++++++++++++ lib/tkmngfocus.rb | 27 ++++++++++++++++++++++ lib/tkvirtevent.rb | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 112 insertions(+) create mode 100644 lib/tkbgerror.rb create mode 100644 lib/tkmngfocus.rb create mode 100644 lib/tkvirtevent.rb diff --git a/MANIFEST b/MANIFEST index 28f0c786ae..2f04f3c9ea 100644 --- a/MANIFEST +++ b/MANIFEST @@ -125,12 +125,14 @@ lib/thread.rb lib/thwait.rb lib/tk.rb lib/tkafter.rb +lib/tkbgerror.rb lib/tkcanvas.rb lib/tkclass.rb lib/tkdialog.rb lib/tkentry.rb lib/tkfont.rb lib/tkmenubar.rb +lib/tkmngfocus.rb lib/tkpalette.rb lib/tkscrollbox.rb lib/tktext.rb diff --git a/lib/tkbgerror.rb b/lib/tkbgerror.rb new file mode 100644 index 0000000000..8022077a3f --- /dev/null +++ b/lib/tkbgerror.rb @@ -0,0 +1,17 @@ +# +# tkbgerror -- bgerror ( tkerror ) module +# 1998/07/16 by Hidetoshi Nagai +# +require 'tk' + +module TkBgError + extend Tk + + def bgerror(message) + tk_call 'bgerror', message + end + alias tkerror bgerror + alias show bgerror + + module_function :bgerror, :tkerror, :show +end diff --git a/lib/tkmngfocus.rb b/lib/tkmngfocus.rb new file mode 100644 index 0000000000..921fb646e7 --- /dev/null +++ b/lib/tkmngfocus.rb @@ -0,0 +1,27 @@ +# +# tkmngfocus.rb : methods for Tcl/Tk standard library 'focus.tcl' +# 1998/07/16 by Hidetoshi Nagai +# +require 'tk' + +module TkManageFocus + extend Tk + + def TkManageFocus.followsMouse + tk_call 'tk_focusFollowsMouse' + end + + def TkManageFocus.next(window) + tk_call 'tk_focusNext', window + end + def focusNext + TkManageFocus.next(self) + end + + def TkManageFocus.prev(window) + tk_call 'tk_focusPrev', window + end + def focusPrev + TkManageFocus.prev(self) + end +end diff --git a/lib/tkvirtevent.rb b/lib/tkvirtevent.rb new file mode 100644 index 0000000000..0d100c2186 --- /dev/null +++ b/lib/tkvirtevent.rb @@ -0,0 +1,66 @@ +# +# tkvirtevent.rb : treats virtual events +# 1998/07/16 by Hidetoshi Nagai +# +require 'tk' + +class TkVirtualEvent", TkVirturlEventID[0]) + TkVirturlEventID[0] += 1 + add(*sequences) + end + + def add(*sequences) + if sequences != [] + tk_call('event', 'add', "<#{@id}>", + *(sequences.collect{|seq| "<#{tk_event_sequence(seq)}>"}) ) + TkVirturlEventTBL[@id] = self + end + self + end + + def delete(*sequences) + if sequences == [] + tk_call('event', 'delete', "<#{@id}>") + TkVirturlEventTBL[@id] = nil + else + tk_call('event', 'delete', "<#{@id}>", + *(sequences.collect{|seq| "<#{tk_event_sequence(seq)}>"}) ) + TkVirturlEventTBL[@id] = nil if info == [] + end + self + end + + def info + tk_call('event', 'info', "<#{@id}>").split(/\s+/).filter{|seq| + l = seq.scan(/<*[^<>]+>*/).filter{|subseq| + case (subseq) + when /^<<[^<>]+>>$/ + TkVirtualEvent.getobj(subseq[1..-2]) + when /^<[^<>]+>$/ + subseq[1..-2] + else + subseq.split('') + end + }.flatten + (l.size == 1) ? l[0] : l + } + end +end -- cgit v1.2.3