mirror of
https://github.com/ruby/ruby.git
synced 2025-08-24 13:34:17 +02:00
* ext/tk/lib/tk.rb: use epath for embedded windows of TkPanedWindow.
* ext/tk/lib/tktext.rb: use epath for embedded windows. * ext/tk/lib/tkcanvas.rb: use epath for window items. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
cd97e6e333
commit
c24349e32d
4 changed files with 86 additions and 14 deletions
|
@ -499,8 +499,41 @@ class TkText<TkTextWin
|
|||
index.configure(slot, value)
|
||||
else
|
||||
if slot.kind_of? Hash
|
||||
slot = _symbolkey2str(slot)
|
||||
win = slot['window']
|
||||
slot['window'] = win.epath if win.kind_of?(TkWindow)
|
||||
if slot['create']
|
||||
p_create = slot['create']
|
||||
if p_create.kind_of? Proc
|
||||
slot['create'] = install_cmd(proc{
|
||||
id = p_create.call
|
||||
if id.kind_of?(TkWindow)
|
||||
id.epath
|
||||
else
|
||||
id
|
||||
end
|
||||
})
|
||||
end
|
||||
end
|
||||
tk_send('window', 'configure', index, *hash_kv(slot))
|
||||
else
|
||||
if slot == 'window' || slot == :window
|
||||
id = value
|
||||
value = id.epath if id.kind_of?(TkWindow)
|
||||
end
|
||||
if slot == 'create' || slot == :create
|
||||
p_create = value
|
||||
if p_create.kind_of? Proc
|
||||
value = install_cmd(proc{
|
||||
id = p_create.call
|
||||
if id.kind_of?(TkWindow)
|
||||
id.epath
|
||||
else
|
||||
id
|
||||
end
|
||||
})
|
||||
end
|
||||
end
|
||||
tk_send('window', 'configure', index, "-#{slot}", value)
|
||||
end
|
||||
end
|
||||
|
@ -1177,10 +1210,18 @@ class TkTextWindow<TkObject
|
|||
@index = @path.path
|
||||
keys = _symbolkey2str(keys)
|
||||
@id = keys['window']
|
||||
keys['window'] = @id.epath if @id.kind_of?(TkWindow)
|
||||
if keys['create']
|
||||
@p_create = keys['create']
|
||||
if @p_create.kind_of? Proc
|
||||
keys['create'] = install_cmd(proc{@id = @p_create.call; @id.path})
|
||||
keys['create'] = install_cmd(proc{
|
||||
@id = @p_create.call
|
||||
if @id.kind_of?(TkWindow)
|
||||
@id.epath
|
||||
else
|
||||
@id
|
||||
end
|
||||
})
|
||||
end
|
||||
end
|
||||
tk_call @t.path, 'window', 'create', @index, *hash_kv(keys)
|
||||
|
@ -1200,16 +1241,21 @@ class TkTextWindow<TkObject
|
|||
def configure(slot, value=None)
|
||||
if slot.kind_of? Hash
|
||||
slot = _symbolkey2str(slot)
|
||||
@id = slot['window'] if slot['window']
|
||||
if slot['window']
|
||||
@id = slot['window']
|
||||
slot['window'] = @id.epath if @id.kind_of?(TkWindow)
|
||||
end
|
||||
if slot['create']
|
||||
self.create=value
|
||||
slot['create']=nil
|
||||
self.create=slot.delete('create')
|
||||
end
|
||||
if slot.size > 0
|
||||
tk_call(@t.path, 'window', 'configure', @index, *hash_kv(slot))
|
||||
end
|
||||
else
|
||||
@id = value if slot == 'window' || slot == :window
|
||||
if slot == 'window' || slot == :window
|
||||
@id = value
|
||||
value = @id.epath if @id.kind_of?(TkWindow)
|
||||
end
|
||||
if slot == 'create' || slot == :create
|
||||
self.create=value
|
||||
else
|
||||
|
@ -1228,8 +1274,9 @@ class TkTextWindow<TkObject
|
|||
end
|
||||
|
||||
def window=(value)
|
||||
tk_call @t.path, 'window', 'configure', @index, '-window', value
|
||||
@id = value
|
||||
value = @id.epath if @id.kind_of?(TkWindow)
|
||||
tk_call @t.path, 'window', 'configure', @index, '-window', value
|
||||
end
|
||||
|
||||
def create
|
||||
|
@ -1239,7 +1286,14 @@ class TkTextWindow<TkObject
|
|||
def create=(value)
|
||||
@p_create = value
|
||||
if @p_create.kind_of? Proc
|
||||
value = install_cmd(proc{@id = @p_create.call})
|
||||
value = install_cmd(proc{
|
||||
@id = @p_create.call
|
||||
if @id.kind_of?(TkWindow)
|
||||
@id.epath
|
||||
else
|
||||
@id
|
||||
end
|
||||
})
|
||||
end
|
||||
tk_call @t.path, 'window', 'configure', @index, '-create', value
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue