diff options
author | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-08-09 06:16:04 +0000 |
---|---|---|
committer | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-08-09 06:16:04 +0000 |
commit | fca9326807d7ae597339b2408731b7e82770d8c5 (patch) | |
tree | eb8599229fa4760275fe10fee50ba817d01df64f /ext/tk | |
parent | 3757005cec2e512c35c4be383be76091048d08cc (diff) |
* ext/tcltklib/tcltklib.c: remove dangerous 'rb_jump_tag's.
* ext/tk/lib/tk.rb: add __val2ruby_optkeys and __ruby2val_optkeys to
help to convert option values between ruby and tcl.
* ext/tk/lib/tk/itemconfig.rb: add __item_val2ruby_optkeys and
__item_ruby2val_optkeys to help to convert option values between
ruby and tcl.
* ext/tk/lib/tk/radiobutton.rb: use __ruby2val_optkeys for 'variable'
option (for the reason of backward compatibility).
* ext/tk/lib/tk/composite.rb: clarify the arguments of super().
* ext/tk/lib/tk/spinbox.rb: ditto.
* ext/tk/lib/tk/text.rb: ditto.
* ext/tk/lib/tk/validation.rb: ditto.
* ext/tk/lib/tkextlib/*: support to treat tkvariable-type
configure options.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk')
33 files changed, 449 insertions, 31 deletions
diff --git a/ext/tk/ChangeLog.tkextlib b/ext/tk/ChangeLog.tkextlib index d7c3a9687d..e5c99399e1 100644 --- a/ext/tk/ChangeLog.tkextlib +++ b/ext/tk/ChangeLog.tkextlib @@ -1,3 +1,54 @@ +2005-08-09 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> + + * ext/tk/lib/tkextlib/blt/barchart.rb: support to treat tkvariable-type + configure options. + + * ext/tk/lib/tkextlib/blt/component.rb: ditto. + + * ext/tk/lib/tkextlib/blt/dragdrop.rb: ditto. + + * ext/tk/lib/tkextlib/blt/treeview.rb: ditto. + + * ext/tk/lib/tkextlib/bwidget/button.rb: ditto. + + * ext/tk/lib/tkextlib/bwidget/entry.rb: ditto. + + * ext/tk/lib/tkextlib/bwidget/label.rb: ditto. + + * ext/tk/lib/tkextlib/bwidget/labelentry.rb: ditto. + + * ext/tk/lib/tkextlib/bwidget/labelframe.rb: ditto. + + * ext/tk/lib/tkextlib/bwidget/mainframe.rb: ditto. + + * ext/tk/lib/tkextlib/bwidget/passwddlg.rb: ditto. + + * ext/tk/lib/tkextlib/bwidget/spinbox.rb: ditto. + + * ext/tk/lib/tkextlib/bwidget/tree.rb: ditto. + + * ext/tk/lib/tkextlib/iwidgets/calendar.rb: ditto. + + * ext/tk/lib/tkextlib/iwidgets/entryfield.rb: ditto. + + * ext/tk/lib/tkextlib/iwidgets/hierarchy.rb: ditto. + + * ext/tk/lib/tkextlib/iwidgets/labeledframe.rb: ditto. + + * ext/tk/lib/tkextlib/iwidgets/labeledwidget.rb: ditto. + + * ext/tk/lib/tkextlib/iwidgets/menubar.rb: ditto. + + * ext/tk/lib/tkextlib/iwidgets/scrolledlistbox.rb: ditto. + + * ext/tk/lib/tkextlib/iwidgets/spinner.rb: ditto. + + * ext/tk/lib/tkextlib/iwidgets/toolbar.rb: ditto. + + * ext/tk/lib/tkextlib/tkimg/pixmap.rb: ditto. + + * ext/tk/lib/tkextlib/tktable/tktable.rb: ditto. + 2005-08-06 ocean <ocean@ruby-lang.org> * sample/tkextlib/tile/demo.rb: use Tk::Tile::Scale#variable. diff --git a/ext/tk/lib/tk.rb b/ext/tk/lib/tk.rb index f0f0271047..a190b6f1c7 100644 --- a/ext/tk/lib/tk.rb +++ b/ext/tk/lib/tk.rb @@ -2720,7 +2720,24 @@ module TkConfigMethod end private :__tkvariable_optkeys + def __val2ruby_optkeys # { key=>proc, ... } + # The method is used to convert a opt-value to a ruby's object. + # When get the value of the option "key", "proc.call(value)" is called. + {} + end + private :__val2ruby_optkeys + + def __ruby2val_optkeys # { key=>proc, ... } + # The method is used to convert a ruby's object to a opt-value. + # When set the value of the option "key", "proc.call(value)" is called. + # That is, "-#{key} #{proc.call(value)}". + {} + end + private :__ruby2val_optkeys + def __methodcall_optkeys # { key=>method, ... } + # The method is used to both of get and set. + # Usually, the 'key' will not be a widget option. {} end private :__methodcall_optkeys @@ -2775,6 +2792,16 @@ module TkConfigMethod fail ArgumentError, "Invalid option `#{orig_slot.inspect}'" end + if ( method = _symbolkey2str(__val2ruby_optkeys())[slot] ) + optval = tk_call_without_enc(*(__cget_cmd << "-#{slot}")) + begin + return method.call(optval) + rescue => e + warn("Warning:: #{e.message} (when #{method}.call(#{optval.inspect})") if $DEBUG + return optval + end + end + if ( method = _symbolkey2str(__methodcall_optkeys)[slot] ) return self.__send__(method) end @@ -2843,6 +2870,12 @@ module TkConfigMethod self.__send__(method, value) if value } + __ruby2val_optkeys.each{|key, method| + key = key.to_s + value = slot[key] + slot[key] = method.call(value) if value + } + __keyonly_optkeys.each{|defkey, undefkey| conf = slot.find{|kk, vv| kk == defkey.to_s} if conf @@ -2876,6 +2909,8 @@ module TkConfigMethod elsif undefkey tk_call(*(__config_cmd << "-#{undefkey}")) end + elsif ( method = _symbolkey2str(__ruby2val_optkeys)[slot] ) + method.call(value) elsif ( method = _symbolkey2str(__methodcall_optkeys)[slot] ) self.__send__(method, value) elsif (slot =~ /^(|latin|ascii|kanji)(#{__font_optkeys.join('|')})$/) @@ -2918,6 +2953,31 @@ module TkConfigMethod if slot slot = slot.to_s case slot + when /^(#{__val2ruby_optkeys().keys.join('|')})$/ + method = _symbolkey2str(__val2ruby_optkeys())[slot] + conf = tk_split_simplelist(tk_call_without_enc(*(__confinfo_cmd() << "-#{slot}")), false, true) + if ( __configinfo_struct[:default_value] \ + && conf[__configinfo_struct[:default_value]] ) + optval = conf[__configinfo_struct[:default_value]] + begin + val = method.call(optval) + rescue => e + warn("Warning:: #{e.message} (when #{method}.call(#{optval.inspect})") if $DEBUG + val = optval + end + conf[__configinfo_struct[:default_value]] = val + end + if ( conf[__configinfo_struct[:current_value]] ) + optval = conf[__configinfo_struct[:current_value]] + begin + val = method.call(optval) + rescue => e + warn("Warning:: #{e.message} (when #{method}.call(#{optval.inspect})") if $DEBUG + val = optval + end + conf[__configinfo_struct[:current_value]] = val + end + when /^(#{__methodcall_optkeys.keys.join('|')})$/ method = _symbolkey2str(__methodcall_optkeys)[slot] return [slot, '', '', '', self.__send__(method)] @@ -3059,7 +3119,32 @@ module TkConfigMethod conf[__configinfo_struct[:key]] = conf[__configinfo_struct[:key]][1..-1] - case conf[__configinfo_struct[:key]] + optkey = conf[__configinfo_struct[:key]] + case optkey + when /^(#{__val2ruby_optkeys().keys.join('|')})$/ + method = _symbolkey2str(__val2ruby_optkeys())[optkey] + if ( __configinfo_struct[:default_value] \ + && conf[__configinfo_struct[:default_value]] ) + optval = conf[__configinfo_struct[:default_value]] + begin + val = method.call(optval) + rescue => e + warn("Warning:: #{e.message} (when #{method}.call(#{optval.inspect})") if $DEBUG + val = optval + end + conf[__configinfo_struct[:default_value]] = val + end + if ( conf[__configinfo_struct[:current_value]] ) + optval = conf[__configinfo_struct[:current_value]] + begin + val = method.call(optval) + rescue => e + warn("Warning:: #{e.message} (when #{method}.call(#{optval.inspect})") if $DEBUG + val = optval + end + conf[__configinfo_struct[:current_value]] = val + end + when /^(#{__strval_optkeys.join('|')})$/ # do nothing @@ -3232,6 +3317,31 @@ module TkConfigMethod if slot slot = slot.to_s case slot + when /^(#{__val2ruby_optkeys().keys.join('|')})$/ + method = _symbolkey2str(__val2ruby_optkeys())[slot] + conf = tk_split_simplelist(tk_call_without_enc(*(__confinfo_cmd << "-#{slot}")), false, true) + if ( __configinfo_struct[:default_value] \ + && conf[__configinfo_struct[:default_value]] ) + optval = conf[__configinfo_struct[:default_value]] + begin + val = method.call(optval) + rescue => e + warn("Warning:: #{e.message} (when #{method}.call(#{optval.inspect})") if $DEBUG + val = optval + end + conf[__configinfo_struct[:default_value]] = val + end + if ( conf[__configinfo_struct[:current_value]] ) + optval = conf[__configinfo_struct[:current_value]] + begin + val = method.call(optval) + rescue => e + warn("Warning:: #{e.message} (when #{method}.call(#{optval.inspect})") if $DEBUG + val = optval + end + conf[__configinfo_struct[:current_value]] = val + end + when /^(#{__methodcall_optkeys.keys.join('|')})$/ method = _symbolkey2str(__methodcall_optkeys)[slot] return {slot => ['', '', '', self.__send__(method)]} @@ -3375,7 +3485,32 @@ module TkConfigMethod conf[__configinfo_struct[:key]] = conf[__configinfo_struct[:key]][1..-1] - case conf[__configinfo_struct[:key]] + optkey = conf[__configinfo_struct[:key]] + case optkey + when /^(#{__val2ruby_optkeys().keys.join('|')})$/ + method = _symbolkey2str(__val2ruby_optkeys())[optkey] + if ( __configinfo_struct[:default_value] \ + && conf[__configinfo_struct[:default_value]] ) + optval = conf[__configinfo_struct[:default_value]] + begin + val = method.call(optval) + rescue => e + warn("Warning:: #{e.message} (when #{method}.call(#{optval.inspect})") if $DEBUG + val = optval + end + conf[__configinfo_struct[:default_value]] = val + end + if ( conf[__configinfo_struct[:current_value]] ) + optval = conf[__configinfo_struct[:current_value]] + begin + val = method.call(optval) + rescue => e + warn("Warning:: #{e.message} (when #{method}.call(#{optval.inspect})") if $DEBUG + val = optval + end + conf[__configinfo_struct[:current_value]] = val + end + when /^(#{__strval_optkeys.join('|')})$/ # do nothing @@ -3746,6 +3881,12 @@ class TkWindow<TkObject key = key.to_s methodkeys[key] = keys.delete(key) if keys.key?(key) } + + __ruby2val_optkeys.each{|key, method| + key = key.to_s + value = keys[key] + keys[key] = method.call(value) if value + } end if without_creating && keys #configure(keys) @@ -4298,7 +4439,7 @@ end #Tk.freeze module Tk - RELEASE_DATE = '2005-08-04'.freeze + RELEASE_DATE = '2005-08-09'.freeze autoload :AUTO_PATH, 'tk/variable' autoload :TCL_PACKAGE_PATH, 'tk/variable' diff --git a/ext/tk/lib/tk/composite.rb b/ext/tk/lib/tk/composite.rb index d85b815dd7..58cca736db 100644 --- a/ext/tk/lib/tk/composite.rb +++ b/ext/tk/lib/tk/composite.rb @@ -97,7 +97,7 @@ module TkComposite rescue end - super + super(slot) end def configure(slot, value=None) @@ -134,7 +134,7 @@ module TkComposite rescue end - super + super(slot, value) end def configinfo(slot = nil) @@ -171,10 +171,10 @@ module TkComposite rescue end - super + super(slot) else # slot == nil - info_list = super + info_list = super(slot) tbl = @delegates['DEFAULT'] if tbl @@ -250,10 +250,10 @@ module TkComposite rescue end - super + super(slot) else # slot == nil - info_list = super + info_list = super(slot) tbl = @delegates['DEFAULT'] if tbl diff --git a/ext/tk/lib/tk/itemconfig.rb b/ext/tk/lib/tk/itemconfig.rb index f6cfc0b524..d52f959d95 100644 --- a/ext/tk/lib/tk/itemconfig.rb +++ b/ext/tk/lib/tk/itemconfig.rb @@ -40,12 +40,30 @@ module TkItemConfigOptkeys end private :__item_numlistval_optkeys - def __item_tkvariable_optkeys - ['variable'] + def __item_tkvariable_optkeys(id) + ['variable', 'textvariable'] end private :__item_tkvariable_optkeys + def __item_val2ruby_optkeys(id) # { key=>method, ... } + # The method is used to convert a opt-value to a ruby's object. + # When get the value of the option "key", "method.call(id, val)" is called. + {} + end + private :__item_val2ruby_optkeys + + def __item_ruby2val_optkeys(id) # { key=>method, ... } + # The method is used to convert a ruby's object to a opt-value. + # When set the value of the option "key", "method.call(id, val)" is called. + # That is, "-#{key} #{method.call(id, value)}". + {} + end + private :__item_ruby2val_optkeys + def __item_methodcall_optkeys(id) # { key=>method, ... } + # Use the method for both of get and set. + # Usually, the 'key' will not be a widget option. + # # maybe need to override # {'coords'=>'coords'} {} @@ -133,6 +151,16 @@ module TkItemConfigMethod fail ArgumentError, "Invalid option `#{orig_opt.inspect}'" end + if ( method = _symbolkey2str(__item_val2ruby_optkeys(tagid(tagOrId)))[option] ) + optval = tk_call_without_enc(*(__item_cget_cmd(tagid(tagOrId)) << "-#{option}")) + begin + return method.call(tagOrId, optval) + rescue => e + warn("Warning:: #{e.message} (when #{method}.call(#{tagOrId.inspect}, #{optval.inspect})") if $DEBUG + return optval + end + end + if ( method = _symbolkey2str(__item_methodcall_optkeys(tagid(tagOrId)))[option] ) return self.__send__(method, tagOrId) end @@ -200,6 +228,12 @@ module TkItemConfigMethod self.__send__(method, tagOrId, value) if value } + __item_ruby2val_optkeys(tagid(tagOrId)).each{|key, method| + key = key.to_s + value = slot[key] + slot[key] = method.call(tagOrId, value) if value + } + __item_keyonly_optkeys(tagid(tagOrId)).each{|defkey, undefkey| conf = slot.find{|kk, vv| kk == defkey.to_s} if conf @@ -233,6 +267,8 @@ module TkItemConfigMethod elsif undefkey tk_call(*(__item_config_cmd(tagid(tagOrId)) << "-#{undefkey}")) end + elsif ( method = _symbolkey2str(__item_ruby2val_optkeys(tagid(tagOrId)))[slot] ) + method.call(tagOrId, value) elsif ( method = _symbolkey2str(__item_methodcall_optkeys(tagid(tagOrId)))[slot] ) self.__send__(method, tagOrId, value) elsif (slot =~ /^(|latin|ascii|kanji)(#{__item_font_optkeys(tagid(tagOrId)).join('|')})$/) @@ -270,6 +306,31 @@ module TkItemConfigMethod if slot slot = slot.to_s case slot + when /^(#{__item_val2ruby_optkeys(tagid(tagOrId)).keys.join('|')})$/ + method = _symbolkey2str(__item_val2ruby_optkeys(tagid(tagOrId)))[slot] + conf = tk_split_simplelist(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")), false, true) + if ( __item_configinfo_struct(tagid(tagOrId))[:default_value] \ + && conf[__item_configinfo_struct(tagid(tagOrId))[:default_value]] ) + optval = conf[__item_configinfo_struct(tagid(tagOrId))[:default_value]] + begin + val = method.call(tagOrId, optval) + rescue => e + warn("Warning:: #{e.message} (when #{method}.call(#{tagOrId.inspect}, #{optval.inspect})") if $DEBUG + val = optval + end + conf[__item_configinfo_struct(tagid(tagOrId))[:default_value]] = val + end + if ( conf[__item_configinfo_struct(tagid(tagOrId))[:current_value]] ) + optval = conf[__item_configinfo_struct(tagid(tagOrId))[:current_value]] + begin + val = method.call(tagOrId, optval) + rescue => e + warn("Warning:: #{e.message} (when #{method}lcall(#{tagOrId.inspect}, #{optval.inspect})") if $DEBUG + val = optval + end + conf[__item_configinfo_struct(tagid(tagOrId))[:current_value]] = val + end + when /^(#{__item_methodcall_optkeys(tagid(tagOrId)).keys.join('|')})$/ method = _symbolkey2str(__item_methodcall_optkeys(tagid(tagOrId)))[slot] return [slot, '', '', '', self.__send__(method, tagOrId)] @@ -411,7 +472,32 @@ module TkItemConfigMethod conf[__item_configinfo_struct(tagid(tagOrId))[:key]] = conf[__item_configinfo_struct(tagid(tagOrId))[:key]][1..-1] - case conf[__item_configinfo_struct(tagid(tagOrId))[:key]] + optkey = conf[__item_configinfo_struct(tagid(tagOrId))[:key]] + case optkey + when /^(#{__item_val2ruby_optkeys(tagid(tagOrId)).keys.join('|')})$/ + method = _symbolkey2str(__item_val2ruby_optkeys(tagid(tagOrId)))[optkey] + if ( __item_configinfo_struct(tagid(tagOrId))[:default_value] \ + && conf[__item_configinfo_struct(tagid(tagOrId))[:default_value]] ) + optval = conf[__item_configinfo_struct(tagid(tagOrId))[:default_value]] + begin + val = method(tagOrId, optval) + rescue => e + warn("Warning:: #{e.message} (when #{method}.call(#{tagOrId.inspect}, #{optval.inspect})") if $DEBUG + val = optval + end + conf[__item_configinfo_struct(tagid(tagOrId))[:default_value]] = val + end + if ( conf[__item_configinfo_struct(tagid(tagOrId))[:current_value]] ) + optval = conf[__item_configinfo_struct(tagid(tagOrId))[:current_value]] + begin + val = method.call(tagOrId, optval) + rescue => e + warn("Warning:: #{e.message} (when #{method}.call(#{tagOrId.inspect}, #{optval.inspect})") if $DEBUG + val = optval + end + conf[__item_configinfo_struct(tagid(tagOrId))[:current_value]] = val + end + when /^(#{__item_strval_optkeys(tagid(tagOrId)).join('|')})$/ # do nothing @@ -583,6 +669,31 @@ module TkItemConfigMethod if slot slot = slot.to_s case slot + when /^(#{__item_val2ruby_optkeys(tagid(tagOrId)).keys.join('|')})$/ + method = _symbolkey2str(__item_val2ruby_optkeys(tagid(tagOrId)))[slot] + conf = tk_split_simplelist(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")), false, true) + if ( __item_configinfo_struct(tagid(tagOrId))[:default_value] \ + && conf[__item_configinfo_struct(tagid(tagOrId))[:default_value]] ) + optval = conf[__item_configinfo_struct(tagid(tagOrId))[:default_value]] + begin + val = method.call(tagOrId, optval) + rescue => e + warn("Warning:: #{e.message} (when #{method}.call(#{tagOrId.inspect}, #{optval.inspect})") if $DEBUG + val = optval + end + conf[__item_configinfo_struct(tagid(tagOrId))[:default_value]] = val + end + if ( conf[__item_configinfo_struct(tagid(tagOrId))[:current_value]] ) + optval = conf[__item_configinfo_struct(tagid(tagOrId))[:current_value]] + begin + val = method.call(tagOrId, optval) + rescue => e + warn("Warning:: #{e.message} (when #{method}.call(#{tagOrId.inspect}, #{optval.inspect})") if $DEBUG + val = optval + end + conf[__item_configinfo_struct(tagid(tagOrId))[:current_value]] = val + end + when /^(#{__item_methodcall_optkeys(tagid(tagOrId)).keys.join('|')})$/ method = _symbolkey2str(__item_methodcall_optkeys(tagid(tagOrId)))[slot] return {slot => ['', '', '', self.__send__(method, tagOrId)]} @@ -727,7 +838,32 @@ module TkItemConfigMethod conf[__item_configinfo_struct(tagid(tagOrId))[:key]] = conf[__item_configinfo_struct(tagid(tagOrId))[:key]][1..-1] - case conf[__item_configinfo_struct(tagid(tagOrId))[:key]] + optkey = conf[__item_configinfo_struct(tagid(tagOrId))[:key]] + case optkey + when /^(#{__item_val2ruby_optkeys(tagid(tagOrId)).keys.join('|')})$/ + method = _symbolkey2str(__item_val2ruby_optkeys(tagid(tagOrId)))[optkey] + if ( __item_configinfo_struct(tagid(tagOrId))[:default_value] \ + && conf[__item_configinfo_struct(tagid(tagOrId))[:default_value]] ) + optval = conf[__item_configinfo_struct(tagid(tagOrId))[:default_value]] + begin + val = method.call(tagOrId, optval) + rescue => e + warn("Warning:: #{e.message} (when #{method}.call(#{tagOrId.inspect}, #{optval.inspect})") if $DEBUG + val = optval + end + conf[__item_configinfo_struct(tagid(tagOrId))[:default_value]] = val + end + if ( conf[__item_configinfo_struct(tagid(tagOrId))[:current_value]] ) + optval = conf[__item_configinfo_struct(tagid(tagOrId))[:current_value]] + begin + val = method.call(tagOrId, optval) + rescue => e + warn("Warning:: #{e.message} (when #{method}.call(#{tagOrId.inspect}, #{optval.inspect})") if $DEBUG + val = optval + end + conf[__item_configinfo_struct(tagid(tagOrId))[:current_value]] = val + end + when /^(#{__item_strval_optkeys(tagid(tagOrId)).join('|')})$/ # do nothing diff --git a/ext/tk/lib/tk/radiobutton.rb b/ext/tk/lib/tk/radiobutton.rb index 6f7a5f60a0..d82aa5d07d 100644 --- a/ext/tk/lib/tk/radiobutton.rb +++ b/ext/tk/lib/tk/radiobutton.rb @@ -17,6 +17,14 @@ class TkRadioButton<TkButton #end #private :create_self + def __ruby2val_optkeys # { key=>proc, ... } + { + 'variable'=>proc{|v| tk_trace_variable(v)} # for backward compatibility + } + end + private :__ruby2val_optkeys + + def deselect tk_send_without_enc('deselect') self diff --git a/ext/tk/lib/tk/spinbox.rb b/ext/tk/lib/tk/spinbox.rb index ac84e06cb3..8941510fed 100644 --- a/ext/tk/lib/tk/spinbox.rb +++ b/ext/tk/lib/tk/spinbox.rb @@ -51,7 +51,7 @@ class TkSpinbox<TkEntry end def __validation_class_list - super << SpinCommand + super() << SpinCommand end Tk::ValidateConfigure.__def_validcmd(binding, SpinCommand) diff --git a/ext/tk/lib/tk/text.rb b/ext/tk/lib/tk/text.rb index 39f5622886..f2bad37b01 100644 --- a/ext/tk/lib/tk/text.rb +++ b/ext/tk/lib/tk/text.rb @@ -460,13 +460,13 @@ class TkText<TkTextWin args << tags.shift.collect{|x|_get_eval_string(x)}.join(' ') # taglist args << tags.shift if tags.size > 0 # chars end - super index, *args + super(index, *args) else # single chars-taglist argument :: str, tag, tag, ... if tags.size == 0 - super index, chars + super(index, chars) else - super index, chars, tags.collect{|x|_get_eval_string(x)}.join(' ') + super(index, chars, tags.collect{|x|_get_eval_string(x)}.join(' ')) end end end @@ -476,7 +476,7 @@ class TkText<TkTextWin @tags.each_value do |t| t.destroy end - super + super() end def backspace diff --git a/ext/tk/lib/tk/validation.rb b/ext/tk/lib/tk/validation.rb index 6755eef05f..0c5b5c61b9 100644 --- a/ext/tk/lib/tk/validation.rb +++ b/ext/tk/lib/tk/validation.rb @@ -337,7 +337,7 @@ module TkValidation ##################################### def __validation_class_list - super << ValidateCmd + super() << ValidateCmd end Tk::ValidateConfigure.__def_validcmd(binding, ValidateCmd) diff --git a/ext/tk/lib/tkextlib/SUPPORT_STATUS b/ext/tk/lib/tkextlib/SUPPORT_STATUS index 2d49676a29..349a6cd6e1 100644 --- a/ext/tk/lib/tkextlib/SUPPORT_STATUS +++ b/ext/tk/lib/tkextlib/SUPPORT_STATUS @@ -1,7 +1,7 @@ [ current support status of Tcl/Tk extensions ] - *******<<< RELEASE_DATE of the libraries : 2005/08/04 >>>******* + *******<<< RELEASE_DATE of the libraries : 2005/08/09 >>>******* The following list shows *CURRENT* status when this file was modifyed at last. If you want to add other Tcl/Tk extensions to the planed list diff --git a/ext/tk/lib/tkextlib/blt/barchart.rb b/ext/tk/lib/tkextlib/blt/barchart.rb index c253194582..241ce11632 100644 --- a/ext/tk/lib/tkextlib/blt/barchart.rb +++ b/ext/tk/lib/tkextlib/blt/barchart.rb @@ -26,6 +26,11 @@ module Tk::BLT end private :__strval_optkeys + def __tkvariable_optkeys + super() << 'colormap' << 'fontmap' + end + private :__tkvariable_optkeys + =begin BarElement_ID = ['blt_barchart_bar'.freeze, '00000'.taint].freeze diff --git a/ext/tk/lib/tkextlib/blt/component.rb b/ext/tk/lib/tkextlib/blt/component.rb index eee4f6ab4d..87ed838da6 100644 --- a/ext/tk/lib/tkextlib/blt/component.rb +++ b/ext/tk/lib/tkextlib/blt/component.rb @@ -43,7 +43,13 @@ module Tk::BLT ['dashes'] end private :__item_numlistval_optkeys + + def __item_tkvariable_optkeys(id) + ['variable', 'textvariable', 'colormap', 'fontmap'] + end + private :__item_tkvariable_optkeys end + include OptKeys def __item_cget_cmd(id) diff --git a/ext/tk/lib/tkextlib/blt/dragdrop.rb b/ext/tk/lib/tkextlib/blt/dragdrop.rb index 7636c9999e..3d7d652dde 100644 --- a/ext/tk/lib/tkextlib/blt/dragdrop.rb +++ b/ext/tk/lib/tkextlib/blt/dragdrop.rb @@ -105,7 +105,7 @@ module Tk::BLT end def self.__validation_class_list - super << PackageCommand << SiteCommand + super() << PackageCommand << SiteCommand end class << self diff --git a/ext/tk/lib/tkextlib/blt/treeview.rb b/ext/tk/lib/tkextlib/blt/treeview.rb index 75ce51110e..4687d41b55 100644 --- a/ext/tk/lib/tkextlib/blt/treeview.rb +++ b/ext/tk/lib/tkextlib/blt/treeview.rb @@ -234,7 +234,7 @@ class Tk::BLT::Treeview end def __validation_class_list - super << OpenCloseCommand + super() << OpenCloseCommand end Tk::ValidateConfigure.__def_validcmd(binding, OpenCloseCommand) diff --git a/ext/tk/lib/tkextlib/bwidget/button.rb b/ext/tk/lib/tkextlib/bwidget/button.rb index 246afebe29..1432458cc7 100644 --- a/ext/tk/lib/tkextlib/bwidget/button.rb +++ b/ext/tk/lib/tkextlib/bwidget/button.rb @@ -18,4 +18,9 @@ class Tk::BWidget::Button TkCommandNames = ['Button'.freeze].freeze WidgetClassName = 'Button'.freeze WidgetClassNames[WidgetClassName] = self + + def __tkvariable_optkeys + super() << 'helpvar' + end + private :__tkvariable_optkeys end diff --git a/ext/tk/lib/tkextlib/bwidget/entry.rb b/ext/tk/lib/tkextlib/bwidget/entry.rb index 9867a1ac36..855d2194f2 100644 --- a/ext/tk/lib/tkextlib/bwidget/entry.rb +++ b/ext/tk/lib/tkextlib/bwidget/entry.rb @@ -21,6 +21,11 @@ class Tk::BWidget::Entry WidgetClassName = 'Entry'.freeze WidgetClassNames[WidgetClassName] = self + def __tkvariable_optkeys + super() << 'helpvar' + end + private :__tkvariable_optkeys + def invoke tk_send_without_enc('invoke') self diff --git a/ext/tk/lib/tkextlib/bwidget/label.rb b/ext/tk/lib/tkextlib/bwidget/label.rb index 1d4c638705..68bf8cdac4 100644 --- a/ext/tk/lib/tkextlib/bwidget/label.rb +++ b/ext/tk/lib/tkextlib/bwidget/label.rb @@ -19,6 +19,11 @@ class Tk::BWidget::Label WidgetClassName = 'Label'.freeze WidgetClassNames[WidgetClassName] = self + def __tkvariable_optkeys + super() << 'helpvar' + end + private :__tkvariable_optkeys + def set_focus tk_send_without_enc('setfocus') self diff --git a/ext/tk/lib/tkextlib/bwidget/labelentry.rb b/ext/tk/lib/tkextlib/bwidget/labelentry.rb index dc1db06828..b516a7d206 100644 --- a/ext/tk/lib/tkextlib/bwidget/labelentry.rb +++ b/ext/tk/lib/tkextlib/bwidget/labelentry.rb @@ -23,6 +23,11 @@ class Tk::BWidget::LabelEntry WidgetClassName = 'LabelEntry'.freeze WidgetClassNames[WidgetClassName] = self + def __tkvariable_optkeys + super() << 'helpvar' + end + private :__tkvariable_optkeys + #def entrybind(*args) # _bind([path, 'bind'], *args) # self diff --git a/ext/tk/lib/tkextlib/bwidget/labelframe.rb b/ext/tk/lib/tkextlib/bwidget/labelframe.rb index 453756a163..3450be6e70 100644 --- a/ext/tk/lib/tkextlib/bwidget/labelframe.rb +++ b/ext/tk/lib/tkextlib/bwidget/labelframe.rb @@ -19,6 +19,11 @@ class Tk::BWidget::LabelFrame WidgetClassName = 'LabelFrame'.freeze WidgetClassNames[WidgetClassName] = self + def __tkvariable_optkeys + super() << 'helpvar' + end + private :__tkvariable_optkeys + def self.align(*args) tk_call('LabelFrame::align', *args) end diff --git a/ext/tk/lib/tkextlib/bwidget/mainframe.rb b/ext/tk/lib/tkextlib/bwidget/mainframe.rb index e52f4b2f4c..7f87894586 100644 --- a/ext/tk/lib/tkextlib/bwidget/mainframe.rb +++ b/ext/tk/lib/tkextlib/bwidget/mainframe.rb @@ -20,6 +20,11 @@ class Tk::BWidget::MainFrame WidgetClassName = 'MainFrame'.freeze WidgetClassNames[WidgetClassName] = self + def __tkvariable_optkeys + super() << 'progressvar' + end + private :__tkvariable_optkeys + def add_indicator(keys={}, &b) win = window(tk_send('addindicator', *hash_kv(keys))) win.instance_eval(&b) if b diff --git a/ext/tk/lib/tkextlib/bwidget/passwddlg.rb b/ext/tk/lib/tkextlib/bwidget/passwddlg.rb index 7136ae8d72..bfab7a078f 100644 --- a/ext/tk/lib/tkextlib/bwidget/passwddlg.rb +++ b/ext/tk/lib/tkextlib/bwidget/passwddlg.rb @@ -19,6 +19,12 @@ class Tk::BWidget::PasswdDlg WidgetClassName = 'PasswdDlg'.freeze WidgetClassNames[WidgetClassName] = self + def __tkvariable_optkeys + super() << 'loginhelpvar' << 'logintextvariable' << + 'passwdhelpvar' << 'passwdtextvariable' + end + private :__tkvariable_optkeys + def create login, passwd = simplelist(tk_call(self.class::TkCommandNames[0], @path, *hash_kv(@keys))) diff --git a/ext/tk/lib/tkextlib/bwidget/spinbox.rb b/ext/tk/lib/tkextlib/bwidget/spinbox.rb index a5ddfafbf4..9560abb663 100644 --- a/ext/tk/lib/tkextlib/bwidget/spinbox.rb +++ b/ext/tk/lib/tkextlib/bwidget/spinbox.rb @@ -22,6 +22,11 @@ class Tk::BWidget::SpinBox WidgetClassName = 'SpinBox'.freeze WidgetClassNames[WidgetClassName] = self + def __tkvariable_optkeys + super() << 'helpvar' + end + private :__tkvariable_optkeys + #def entrybind(*args) # _bind([path, 'bind'], *args) # self diff --git a/ext/tk/lib/tkextlib/bwidget/tree.rb b/ext/tk/lib/tkextlib/bwidget/tree.rb index 5af9f0dc11..c405736653 100644 --- a/ext/tk/lib/tkextlib/bwidget/tree.rb +++ b/ext/tk/lib/tkextlib/bwidget/tree.rb @@ -32,6 +32,11 @@ class Tk::BWidget::Tree end end + def __tkvariable_optkeys + super() << 'helpvar' + end + private :__tkvariable_optkeys + def tagid(tag) if tag.kind_of?(Tk::BWidget::Tree::Node) tag.id diff --git a/ext/tk/lib/tkextlib/iwidgets/calendar.rb b/ext/tk/lib/tkextlib/iwidgets/calendar.rb index f382cfd143..97688bb7d0 100644 --- a/ext/tk/lib/tkextlib/iwidgets/calendar.rb +++ b/ext/tk/lib/tkextlib/iwidgets/calendar.rb @@ -45,7 +45,7 @@ class Tk::Iwidgets::Calendar end def __validation_class_list - super << CalendarCommand + super() << CalendarCommand end Tk::ValidateConfigure.__def_validcmd(binding, CalendarCommand) diff --git a/ext/tk/lib/tkextlib/iwidgets/entryfield.rb b/ext/tk/lib/tkextlib/iwidgets/entryfield.rb index ae7d63f3f3..7a54b7c803 100644 --- a/ext/tk/lib/tkextlib/iwidgets/entryfield.rb +++ b/ext/tk/lib/tkextlib/iwidgets/entryfield.rb @@ -46,7 +46,7 @@ class Tk::Iwidgets::Entryfield end def __validation_class_list - super << EntryfieldValidate + super() << EntryfieldValidate end Tk::ValidateConfigure.__def_validcmd(binding, EntryfieldValidate) diff --git a/ext/tk/lib/tkextlib/iwidgets/hierarchy.rb b/ext/tk/lib/tkextlib/iwidgets/hierarchy.rb index 077d84c7a4..862876ee9f 100644 --- a/ext/tk/lib/tkextlib/iwidgets/hierarchy.rb +++ b/ext/tk/lib/tkextlib/iwidgets/hierarchy.rb @@ -92,7 +92,7 @@ class Tk::Iwidgets::Hierarchy end def __validation_class_list - super << QueryCommand << IndicatorCommand << IconCommand + super() << QueryCommand << IndicatorCommand << IconCommand end Tk::ValidateConfigure.__def_validcmd(binding, QueryCommand) @@ -237,13 +237,13 @@ class Tk::Iwidgets::Hierarchy args << tags.shift.collect{|x|_get_eval_string(x)}.join(' ') # taglist args << tags.shift if tags.size > 0 # chars end - super index, *args + super(index, *args) else # single chars-taglist argument :: str, tag, tag, ... if tags.size == 0 - super index, chars + super(index, chars) else - super index, chars, tags.collect{|x|_get_eval_string(x)}.join(' ') + super(index, chars, tags.collect{|x|_get_eval_string(x)}.join(' ')) end end end diff --git a/ext/tk/lib/tkextlib/iwidgets/labeledframe.rb b/ext/tk/lib/tkextlib/iwidgets/labeledframe.rb index 89669ea815..363047018f 100644 --- a/ext/tk/lib/tkextlib/iwidgets/labeledframe.rb +++ b/ext/tk/lib/tkextlib/iwidgets/labeledframe.rb @@ -18,6 +18,11 @@ class Tk::Iwidgets::Labeledframe WidgetClassName = 'Labeledframe'.freeze WidgetClassNames[WidgetClassName] = self + def __tkvariable_optkeys + super() << 'labelvariable' + end + private :__tkvariable_optkeys + def child_site window(tk_call(@path, 'childsite')) end diff --git a/ext/tk/lib/tkextlib/iwidgets/labeledwidget.rb b/ext/tk/lib/tkextlib/iwidgets/labeledwidget.rb index f847922386..cbd5fa0957 100644 --- a/ext/tk/lib/tkextlib/iwidgets/labeledwidget.rb +++ b/ext/tk/lib/tkextlib/iwidgets/labeledwidget.rb @@ -20,6 +20,11 @@ class Tk::Iwidgets::Labeledwidget WidgetClassName = 'Labeledwidget'.freeze WidgetClassNames[WidgetClassName] = self + def __tkvariable_optkeys + super() << 'labelvariable' + end + private :__tkvariable_optkeys + def self.alignlabels(*wins) tk_call('::iwidgets::Labeledwidget::alignlabels', *wins) end diff --git a/ext/tk/lib/tkextlib/iwidgets/menubar.rb b/ext/tk/lib/tkextlib/iwidgets/menubar.rb index b60349be17..ba4bb5f40d 100644 --- a/ext/tk/lib/tkextlib/iwidgets/menubar.rb +++ b/ext/tk/lib/tkextlib/iwidgets/menubar.rb @@ -18,6 +18,11 @@ class Tk::Iwidgets::Menubar WidgetClassName = 'Menubar'.freeze WidgetClassNames[WidgetClassName] = self + def __tkvariable_optkeys + super() << 'helpvariable' + end + private :__tkvariable_optkeys + #################################### include TkItemConfigMethod diff --git a/ext/tk/lib/tkextlib/iwidgets/scrolledlistbox.rb b/ext/tk/lib/tkextlib/iwidgets/scrolledlistbox.rb index a60059f744..c933bf2985 100644 --- a/ext/tk/lib/tkextlib/iwidgets/scrolledlistbox.rb +++ b/ext/tk/lib/tkextlib/iwidgets/scrolledlistbox.rb @@ -19,6 +19,11 @@ class Tk::Iwidgets::Scrolledlistbox WidgetClassName = 'Scrolledlistbox'.freeze WidgetClassNames[WidgetClassName] = self + def __tkvariable_optkeys + super() << 'listvariable' + end + private :__tkvariable_optkeys + ################################ def initialize(*args) diff --git a/ext/tk/lib/tkextlib/iwidgets/spinner.rb b/ext/tk/lib/tkextlib/iwidgets/spinner.rb index 4dac4ed582..174b9bd506 100644 --- a/ext/tk/lib/tkextlib/iwidgets/spinner.rb +++ b/ext/tk/lib/tkextlib/iwidgets/spinner.rb @@ -46,7 +46,7 @@ class Tk::Iwidgets::Spinner end def __validation_class_list - super << EntryfieldValidate + super() << EntryfieldValidate end Tk::ValidateConfigure.__def_validcmd(binding, EntryfieldValidate) diff --git a/ext/tk/lib/tkextlib/iwidgets/toolbar.rb b/ext/tk/lib/tkextlib/iwidgets/toolbar.rb index a2a7f31627..74bb0cc96c 100644 --- a/ext/tk/lib/tkextlib/iwidgets/toolbar.rb +++ b/ext/tk/lib/tkextlib/iwidgets/toolbar.rb @@ -18,6 +18,11 @@ class Tk::Iwidgets::Toolbar WidgetClassName = 'Toolbar'.freeze WidgetClassNames[WidgetClassName] = self + def __tkvariable_optkeys + super() << 'helpvariable' + end + private :__tkvariable_optkeys + #################################### include TkItemConfigMethod diff --git a/ext/tk/lib/tkextlib/tkimg/pixmap.rb b/ext/tk/lib/tkextlib/tkimg/pixmap.rb index 707dcf9c74..bd1b870af7 100644 --- a/ext/tk/lib/tkextlib/tkimg/pixmap.rb +++ b/ext/tk/lib/tkextlib/tkimg/pixmap.rb @@ -39,6 +39,6 @@ class TkPixmapImage<TkImage def initialize(*args) @type = 'pixmap' - super + super(*args) end end diff --git a/ext/tk/lib/tkextlib/tktable/tktable.rb b/ext/tk/lib/tkextlib/tktable/tktable.rb index 8e9ba8b8c5..161f4e4543 100644 --- a/ext/tk/lib/tkextlib/tktable/tktable.rb +++ b/ext/tk/lib/tkextlib/tktable/tktable.rb @@ -340,7 +340,7 @@ class Tk::TkTable ################################# def __validation_class_list - super << + super() << BrowseCommand << CellCommand << SelectionCommand << ValidateCommand end |