mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ext/tk/tkutil/tkutil.c: improve handling callback-subst-keys.
Now, support longnam-keys (e.g. '%CTT' on tkdnd-2.0; however, still not support tkdnd-2.0 on tkextlib), and symbols of parameters (e.g. :widget=>'%W', :keycode=>'%k', '%x'=>:x, '%X'=>:root_x, and so on; those are attributes of event object). It means that Ruby/Tk accepts not only "widget.bind(ev, '%W', '%k', ...){|w, k, ...| ... }", but also "widget.bind(ev, :widget, :keycode, ...){|w, k, ...| ... }". It is potentially incompatible, when user passes symbols to the arguments of the callback block (the block receives the symbols as strings). I think that is very rare case (probably, used by Ruby/Tk experts only). When causes such trouble, please give strings instead of such symbol parameters (e.g. call Symbol#to_s method). * ext/tk/lib/tk/event.rb, ext/tk/lib/tk/validation.rb, ext/tk/lib/tkextlib/blt/treeview.rb, ext/tk/lib/tkextlib/winico/winico.rb: ditto. * ext/tk/tkutil/tkutil.c: strings are available on subst_tables on TkUtil::CallbackSubst class (it is useful on Ruby 1.9). * ext/tk/lib/tk/spinbox.rb, ext/tk/lib/tkextlib/iwidgets/hierarchy.rb, ext/tk/lib/tkextlib/iwidgets/spinner.rb, ext/tk/lib/tkextlib/iwidgets/entryfield.rb, ext/tk/lib/tkextlib/iwidgets/calendar.rb, ext/tk/lib/tkextlib/blt/dragdrop.rb, ext/tk/lib/tkextlib/tkDND/tkdnd.rb, ext/tk/lib/tkextlib/treectrl/tktreectrl.rb, ext/tk/lib/tkextlib/tktable/tktable.rb: disable code piece became unnecessary by reason of the changes of ext/tk/tkutil/tkutil.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
8cf1995901
commit
d37d14c0a5
17 changed files with 410 additions and 166 deletions
|
@ -291,6 +291,7 @@ class Tk::TkTable
|
|||
nil
|
||||
]
|
||||
|
||||
=begin
|
||||
# for Ruby m17n :: ?x --> String --> char-code ( getbyte(0) )
|
||||
KEY_TBL.map!{|inf|
|
||||
if inf.kind_of?(Array)
|
||||
|
@ -306,6 +307,7 @@ class Tk::TkTable
|
|||
end
|
||||
inf
|
||||
}
|
||||
=end
|
||||
|
||||
_setup_subst_table(KEY_TBL, PROC_TBL);
|
||||
|
||||
|
@ -340,6 +342,7 @@ class Tk::TkTable
|
|||
nil
|
||||
]
|
||||
|
||||
=begin
|
||||
# for Ruby m17n :: ?x --> String --> char-code ( getbyte(0) )
|
||||
KEY_TBL.map!{|inf|
|
||||
if inf.kind_of?(Array)
|
||||
|
@ -355,6 +358,7 @@ class Tk::TkTable
|
|||
end
|
||||
inf
|
||||
}
|
||||
=end
|
||||
|
||||
_setup_subst_table(KEY_TBL, PROC_TBL);
|
||||
|
||||
|
@ -387,6 +391,7 @@ class Tk::TkTable
|
|||
nil
|
||||
]
|
||||
|
||||
=begin
|
||||
# for Ruby m17n :: ?x --> String --> char-code ( getbyte(0) )
|
||||
KEY_TBL.map!{|inf|
|
||||
if inf.kind_of?(Array)
|
||||
|
@ -402,6 +407,7 @@ class Tk::TkTable
|
|||
end
|
||||
inf
|
||||
}
|
||||
=end
|
||||
|
||||
_setup_subst_table(KEY_TBL, PROC_TBL);
|
||||
|
||||
|
@ -437,6 +443,7 @@ class Tk::TkTable
|
|||
nil
|
||||
]
|
||||
|
||||
=begin
|
||||
# for Ruby m17n :: ?x --> String --> char-code ( getbyte(0) )
|
||||
KEY_TBL.map!{|inf|
|
||||
if inf.kind_of?(Array)
|
||||
|
@ -452,6 +459,7 @@ class Tk::TkTable
|
|||
end
|
||||
inf
|
||||
}
|
||||
=end
|
||||
|
||||
_setup_subst_table(KEY_TBL, PROC_TBL);
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue