From bfab52caff4e490113779554667e20757a20467c Mon Sep 17 00:00:00 2001 From: nagai Date: Fri, 18 Nov 2005 22:37:53 +0000 Subject: * ext/tk/lib/tk/font.rb: remove dependency on Ruby's version (1.8 or 1.9). * ext/tk/lib/tkextlib/ICONS/icons.rb: ditto. * ext/tk/sample/tkextlib/treectrl/demo.rb: ditto. * ext/tk/lib/tk.rb: update RELEASE_DATE git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/tk/ChangeLog.tkextlib | 69 ++++++++++++++++++--------------- ext/tk/lib/tk.rb | 2 +- ext/tk/lib/tk/font.rb | 27 ++++++------- ext/tk/lib/tkextlib/ICONS/icons.rb | 22 ++++++++--- ext/tk/sample/tkextlib/treectrl/demo.rb | 5 ++- 5 files changed, 73 insertions(+), 52 deletions(-) (limited to 'ext') diff --git a/ext/tk/ChangeLog.tkextlib b/ext/tk/ChangeLog.tkextlib index a4e8d87398..56a5cd70fa 100644 --- a/ext/tk/ChangeLog.tkextlib +++ b/ext/tk/ChangeLog.tkextlib @@ -1,77 +1,82 @@ +2005-11-19 Hidetoshi NAGAI + + * sample/tkextlib/treectrl/demo.rb: remove dependency on Ruby's + version (1.8 or 1.9). + 2005-10-23 Hidetoshi NAGAI - * ext/tk/lib/tkextlib/*: update to support ActiveTcl8.4.11.2 + * lib/tkextlib/*: update to support ActiveTcl8.4.11.2 - * ext/tk/lib/tkextlib/trofs/*: support Trofs 0.4.3 + * lib/tkextlib/trofs/*: support Trofs 0.4.3 - * ext/tk/lib/tkextlib/tile/*: support Tile 0.7.2 + * lib/tkextlib/tile/*: support Tile 0.7.2 - * ext/tk/lib/tkextlib/vu/*: support vu 2.3.0 + * lib/tkextlib/vu/*: support vu 2.3.0 - * ext/tk/lib/tkextlib/tcllib/*: support Tcllib 1.8 (Tklib 0.3) + * lib/tkextlib/tcllib/*: support Tcllib 1.8 (Tklib 0.3 part only) - * ext/tk/lib/tkextlib/*: improve conversion of option values + * lib/tkextlib/*: improve conversion of option values 2005-10-04 Hidetoshi NAGAI - * ext/tk/lib/tkextlib/tktable/tktable.rb: border_* instance methods + * lib/tkextlib/tktable/tktable.rb: border_* instance methods don't call 'border' subcommands. 2005-08-10 Hidetoshi NAGAI - * ext/tk/lib/tkextlib/blt/component.rb: didn't check + * lib/tkextlib/blt/component.rb: didn't check __item_ruby2val_optkeys(). 2005-08-09 Hidetoshi NAGAI - * ext/tk/lib/tkextlib/blt/barchart.rb: support to treat tkvariable-type + * lib/tkextlib/blt/barchart.rb: support to treat tkvariable-type configure options. - * ext/tk/lib/tkextlib/blt/component.rb: ditto. + * lib/tkextlib/blt/component.rb: ditto. - * ext/tk/lib/tkextlib/blt/dragdrop.rb: ditto. + * lib/tkextlib/blt/dragdrop.rb: ditto. - * ext/tk/lib/tkextlib/blt/treeview.rb: ditto. + * lib/tkextlib/blt/treeview.rb: ditto. - * ext/tk/lib/tkextlib/bwidget/button.rb: ditto. + * lib/tkextlib/bwidget/button.rb: ditto. - * ext/tk/lib/tkextlib/bwidget/entry.rb: ditto. + * lib/tkextlib/bwidget/entry.rb: ditto. - * ext/tk/lib/tkextlib/bwidget/label.rb: ditto. + * lib/tkextlib/bwidget/label.rb: ditto. - * ext/tk/lib/tkextlib/bwidget/labelentry.rb: ditto. + * lib/tkextlib/bwidget/labelentry.rb: ditto. - * ext/tk/lib/tkextlib/bwidget/labelframe.rb: ditto. + * lib/tkextlib/bwidget/labelframe.rb: ditto. - * ext/tk/lib/tkextlib/bwidget/mainframe.rb: ditto. + * lib/tkextlib/bwidget/mainframe.rb: ditto. - * ext/tk/lib/tkextlib/bwidget/passwddlg.rb: ditto. + * lib/tkextlib/bwidget/passwddlg.rb: ditto. - * ext/tk/lib/tkextlib/bwidget/spinbox.rb: ditto. + * lib/tkextlib/bwidget/spinbox.rb: ditto. - * ext/tk/lib/tkextlib/bwidget/tree.rb: ditto. + * lib/tkextlib/bwidget/tree.rb: ditto. - * ext/tk/lib/tkextlib/iwidgets/calendar.rb: ditto. + * lib/tkextlib/iwidgets/calendar.rb: ditto. - * ext/tk/lib/tkextlib/iwidgets/entryfield.rb: ditto. + * lib/tkextlib/iwidgets/entryfield.rb: ditto. - * ext/tk/lib/tkextlib/iwidgets/hierarchy.rb: ditto. + * lib/tkextlib/iwidgets/hierarchy.rb: ditto. - * ext/tk/lib/tkextlib/iwidgets/labeledframe.rb: ditto. + * lib/tkextlib/iwidgets/labeledframe.rb: ditto. - * ext/tk/lib/tkextlib/iwidgets/labeledwidget.rb: ditto. + * lib/tkextlib/iwidgets/labeledwidget.rb: ditto. - * ext/tk/lib/tkextlib/iwidgets/menubar.rb: ditto. + * lib/tkextlib/iwidgets/menubar.rb: ditto. - * ext/tk/lib/tkextlib/iwidgets/scrolledlistbox.rb: ditto. + * lib/tkextlib/iwidgets/scrolledlistbox.rb: ditto. - * ext/tk/lib/tkextlib/iwidgets/spinner.rb: ditto. + * lib/tkextlib/iwidgets/spinner.rb: ditto. - * ext/tk/lib/tkextlib/iwidgets/toolbar.rb: ditto. + * lib/tkextlib/iwidgets/toolbar.rb: ditto. - * ext/tk/lib/tkextlib/tkimg/pixmap.rb: ditto. + * lib/tkextlib/tkimg/pixmap.rb: ditto. - * ext/tk/lib/tkextlib/tktable/tktable.rb: ditto. + * lib/tkextlib/tktable/tktable.rb: ditto. 2005-08-06 ocean diff --git a/ext/tk/lib/tk.rb b/ext/tk/lib/tk.rb index 3e6c0c0a04..0d18882d8c 100644 --- a/ext/tk/lib/tk.rb +++ b/ext/tk/lib/tk.rb @@ -4499,7 +4499,7 @@ end #Tk.freeze module Tk - RELEASE_DATE = '2005-11-18'.freeze + RELEASE_DATE = '2005-11-19'.freeze autoload :AUTO_PATH, 'tk/variable' autoload :TCL_PACKAGE_PATH, 'tk/variable' diff --git a/ext/tk/lib/tk/font.rb b/ext/tk/lib/tk/font.rb index 6fd2406f5a..f7ea973a71 100644 --- a/ext/tk/lib/tk/font.rb +++ b/ext/tk/lib/tk/font.rb @@ -488,6 +488,19 @@ class TkFont create_compoundfont(ltn, knj, keys) end + def initialize_copy(font) + unless font.kind_of?(TkFont) + fail TypeError, '"initialize_copy should take same class object' + end + if TkComm::GET_CONFIGINFOwoRES_AS_ARRAY + keys = {} + font.configinfo.each{|key,value| keys[key] = value } + initialize(font.latin_font_id, font.kanji_font_id, keys) + else # ! TkComm::GET_CONFIGINFOwoRES_AS_ARRAY + initialize(font.latin_font_id, font.kanji_font_id, font.configinfo) + end + end + def _get_font_info_from_hash(font) font = _symbolkey2str(font) foundry = (info = font['foundry'] .to_s)? info: '*' @@ -1183,25 +1196,13 @@ class TkFont ################################### =begin - def dup - src = self - obj = super() - obj.funcall(:initialize, src) - obj - end - def clone - src = self - obj = super() - obj.funcall(:initialize, src) - obj - end -=end def dup TkFont.new(self) end def clone TkFont.new(self) end +=end end module TkFont::CoreMethods diff --git a/ext/tk/lib/tkextlib/ICONS/icons.rb b/ext/tk/lib/tkextlib/ICONS/icons.rb index f1b009cd58..b430bae55d 100644 --- a/ext/tk/lib/tkextlib/ICONS/icons.rb +++ b/ext/tk/lib/tkextlib/ICONS/icons.rb @@ -75,14 +75,26 @@ module Tk ########################################## - def self.new(name, keys=nil) - unless obj = Tk_IMGTBL["::icon::#{name}"] - obj = allocate() - obj.funcall(:initialize, name, keys) + class << self + alias _new new + + def new(name, keys=nil) + if obj = Tk_IMGTBL["::icon::#{name}"] + if keys + keys = _symbolkey2str(keys) + unless keys.delete('without_creating') + tk_call('::icons::icons', 'create', *(hash_kv(keys) << obj.name)) + end + end + else + obj = _new(name, keys) + end + obj end - obj end + ########################################## + def initialize(name, keys=nil) if name.kind_of?(String) && name =~ /^::icon::(.+)$/ @name = $1 diff --git a/ext/tk/sample/tkextlib/treectrl/demo.rb b/ext/tk/sample/tkextlib/treectrl/demo.rb index f0ccf2dc5f..50ecde91f0 100644 --- a/ext/tk/sample/tkextlib/treectrl/demo.rb +++ b/ext/tk/sample/tkextlib/treectrl/demo.rb @@ -709,8 +709,11 @@ class TkTreeCtrl_demo systemHighlight = @SystemHighlight systemHighlightText = @SystemHighlightText + def master._pub_display_styles_in_item(item) + display_styles_in_item(item) + end proc_disp_styles_in_item = proc{|item| - master.funcall(:display_styles_in_item, item) + master._pub_display_styles_in_item(item) } @demo_scripts.instance_eval{ -- cgit v1.2.3