diff options
author | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-11-26 09:07:25 +0000 |
---|---|---|
committer | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-11-26 09:07:25 +0000 |
commit | 27c24b0f3bdd63459ea2d1de4366d0b38a4aef5d (patch) | |
tree | be31dc73639d42c1ef4814bf730f1e4675f3cb57 /ext/tk/lib | |
parent | 6d0f22ebc6cf0c3ad5d542bf5bfd140a0f7c98cf (diff) | |
download | ruby-27c24b0f3bdd63459ea2d1de4366d0b38a4aef5d.tar.gz |
* 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/trunk@7386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/lib')
-rw-r--r-- | ext/tk/lib/tk.rb | 9 | ||||
-rw-r--r-- | ext/tk/lib/tk/image.rb | 4 | ||||
-rw-r--r-- | ext/tk/lib/tk/menu.rb | 2 | ||||
-rw-r--r-- | ext/tk/lib/tk/wm.rb | 12 | ||||
-rw-r--r-- | ext/tk/lib/tkextlib/bwidget/notebook.rb | 3 | ||||
-rw-r--r-- | ext/tk/lib/tkextlib/bwidget/widget.rb | 2 | ||||
-rw-r--r-- | ext/tk/lib/tkextlib/tcllib/cursor.rb | 12 | ||||
-rw-r--r-- | ext/tk/lib/tkextlib/tktable/tktable.rb | 8 |
8 files changed, 42 insertions, 10 deletions
diff --git a/ext/tk/lib/tk.rb b/ext/tk/lib/tk.rb index 6fb139f015..0abab4b3ec 100644 --- a/ext/tk/lib/tk.rb +++ b/ext/tk/lib/tk.rb @@ -1677,7 +1677,14 @@ module Tk end def Tk.destroy(*wins) - tk_call_without_enc('destroy', *wins) + #tk_call_without_enc('destroy', *wins) + tk_call_without_enc('destroy', *(wins.collect{|win| + if win.kind_of?(TkWindow) + win.epath + else + win + end + })) end def Tk.exit diff --git a/ext/tk/lib/tk/image.rb b/ext/tk/lib/tk/image.rb index 7fd61eff5d..6eb7b98d6c 100644 --- a/ext/tk/lib/tk/image.rb +++ b/ext/tk/lib/tk/image.rb @@ -70,7 +70,9 @@ class TkPhotoImage<TkImage keys.delete(opt) end } - hash_kv(keys).flatten + keys.collect{|k,v| + ['-' << k, v] + }.flatten end private :_photo_hash_kv diff --git a/ext/tk/lib/tk/menu.rb b/ext/tk/lib/tk/menu.rb index 2ac6a0efe7..1972193e51 100644 --- a/ext/tk/lib/tk/menu.rb +++ b/ext/tk/lib/tk/menu.rb @@ -439,7 +439,7 @@ class TkOptionMenubutton<TkMenubutton install_win(if parent then parent.path end) @menu = OptionMenu.new(tk_call('tk_optionMenu', - @path, @variable.id, *args)) + @path, @variable.id, *args)) configure(keys) if keys end diff --git a/ext/tk/lib/tk/wm.rb b/ext/tk/lib/tk/wm.rb index a1002f7b96..a2be51248d 100644 --- a/ext/tk/lib/tk/wm.rb +++ b/ext/tk/lib/tk/wm.rb @@ -120,6 +120,18 @@ module Tk end end + def iconphoto(*imgs) + # Windows only + tk_call_without_enc('wm', 'iconphoto', path, *imgs) + self + end + + def iconphoto_default(*imgs) + # Windows only + tk_call_without_enc('wm', 'iconphoto', path, '-default', *imgs) + self + end + def iconify(ex = true) tk_call_without_enc('wm', 'iconify', path) if ex self 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) |