From f7987213342edf6dd58d221a08f2f80074e92eee Mon Sep 17 00:00:00 2001 From: nagai Date: Fri, 26 Nov 2004 09:07:25 +0000 Subject: * ext/tk/lib/tk.rb: Tk.destroy uses TkWindow#epath * ext/tk/lib/tk/image.rb: bug fix * ext/tk/lib/tk/wm.rb: add 'iconphoto' method(Windows only) * ext/tk/lib/tkextlib/*: some methods uses TkWindow#epath git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/tk/lib/tkextlib/bwidget/notebook.rb | 3 ++- ext/tk/lib/tkextlib/bwidget/widget.rb | 2 +- ext/tk/lib/tkextlib/tcllib/cursor.rb | 12 +++++++----- ext/tk/lib/tkextlib/tktable/tktable.rb | 8 ++++++++ 4 files changed, 18 insertions(+), 7 deletions(-) (limited to 'ext/tk/lib/tkextlib') diff --git a/ext/tk/lib/tkextlib/bwidget/notebook.rb b/ext/tk/lib/tkextlib/bwidget/notebook.rb index e0cc04d30e..aba222ff8a 100644 --- a/ext/tk/lib/tkextlib/bwidget/notebook.rb +++ b/ext/tk/lib/tkextlib/bwidget/notebook.rb @@ -31,7 +31,8 @@ class Tk::BWidget::NoteBook def tagid(id) if id.kind_of?(TkWindow) - id.path + #id.path + id.epath elsif id.kind_of?(TkObject) id.to_eval else diff --git a/ext/tk/lib/tkextlib/bwidget/widget.rb b/ext/tk/lib/tkextlib/bwidget/widget.rb index eadf59c11c..568e503a8b 100644 --- a/ext/tk/lib/tkextlib/bwidget/widget.rb +++ b/ext/tk/lib/tkextlib/bwidget/widget.rb @@ -56,7 +56,7 @@ module Tk::BWidget::Widget end def self.destroy(win) - tk_call('Widget::destroy', win) + tk_call('Widget::destroy', _epath(win)) end def self.focus_next(win) diff --git a/ext/tk/lib/tkextlib/tcllib/cursor.rb b/ext/tk/lib/tkextlib/tcllib/cursor.rb index 92fd7a62b5..86a68497b4 100644 --- a/ext/tk/lib/tkextlib/tcllib/cursor.rb +++ b/ext/tk/lib/tkextlib/tcllib/cursor.rb @@ -51,7 +51,7 @@ class TkWindow def cursor_propagate(cursor) # Sets the cursor for self and all its descendants to cursor. #tk_call_without_enc('::cursor::propagate', @path, cursor) - Tk::Tcllib::Cursor.cursor_propagate(cursor) + Tk::Tcllib::Cursor.cursor_propagate(self, cursor) end def cursor_restore(cursor = None) # Restore the original or previously set cursor for self and all its @@ -59,7 +59,7 @@ class TkWindow # widget that did not have a preset cursor (set by a previous call # to TkWindow#cursor_propagate). #tk_call_without_enc('::cursor::restore', @path, cursor) - Tk::Tcllib::Cursor.cursor_restore(cursor) + Tk::Tcllib::Cursor.cursor_restore(self, cursor) end end @@ -75,15 +75,17 @@ module Tk module Cursor extend TkCore def self.cursor_display(win=None) - tk_call_without_enc('::cursor::display', win) + tk_call_without_enc('::cursor::display', _epath(win)) end def self.cursor_propagate(win, cursor) - tk_call_without_enc('::cursor::propagate', win.path, cursor) + #tk_call_without_enc('::cursor::propagate', win.path, cursor) + tk_call_without_enc('::cursor::propagate', _epath(win), cursor) end def self.cursor_restore(win, cursor = None) - tk_call_without_enc('::cursor::restore', win.path, cursor) + #tk_call_without_enc('::cursor::restore', win.path, cursor) + tk_call_without_enc('::cursor::restore', _epath(win), cursor) end end end diff --git a/ext/tk/lib/tkextlib/tktable/tktable.rb b/ext/tk/lib/tkextlib/tktable/tktable.rb index 7182983c04..da78ca3fbb 100644 --- a/ext/tk/lib/tkextlib/tktable/tktable.rb +++ b/ext/tk/lib/tkextlib/tktable/tktable.rb @@ -71,6 +71,14 @@ module Tk::TkTable::ConfigMethod itemcget(['window', tagid(tagOrId)], option) end def window_configure(tagOrId, slot, value=None) + if slot == :window || slot == 'window' + value = _epath(value) + elsif slot.kind_of?(Hash) + if slot.key?(:window) || slot.key?('window') + slot = _symbolkey2str(slot) + slot['window'] = _epath(slot['window']) + end + end itemconfigure(['window', tagid(tagOrId)], slot, value) end def window_configinfo(tagOrId, slot=nil) -- cgit v1.2.3