# File tk/lib/tk/wm.rb, line 16
def Wm.aspect(win, *args)
if args.length == 0
list(tk_call_without_enc('wm', 'aspect', win.epath))
else
args = args[0] if args.length == 1 && args[0].kind_of?(Array)
tk_call('wm', 'aspect', win.epath, *args)
win
end
end
# File tk/lib/tk/wm.rb, line 31
def Wm.attributes(win, slot=nil,value=TkComm::None)
if slot == nil
lst = tk_split_list(tk_call('wm', 'attributes', win.epath))
info = {}
while key = lst.shift
info[key[1..-1]] = lst.shift
end
info
elsif slot.kind_of? Hash
tk_call('wm', 'attributes', win.epath, *hash_kv(slot))
win
elsif value == TkComm::None
tk_call('wm', 'attributes', win.epath, "-#{slot}")
else
tk_call('wm', 'attributes', win.epath, "-#{slot}", value)
win
end
end
# File tk/lib/tk/wm.rb, line 55
def Wm.client(win, name=TkComm::None)
if name == TkComm::None
tk_call('wm', 'client', win.epath)
else
name = '' if name == nil
tk_call('wm', 'client', win.epath, name)
win
end
end
# File tk/lib/tk/wm.rb, line 70
def Wm.colormapwindows(win, *args)
if args.size == 0
list(tk_call_without_enc('wm', 'colormapwindows', win.epath))
else
args = args[0] if args.length == 1 && args[0].kind_of?(Array)
tk_call_without_enc('wm', 'colormapwindows', win.epath, *args)
win
end
end
# File tk/lib/tk/wm.rb, line 85
def Wm.command(win, value=nil)
if value
tk_call('wm', 'command', win.epath, value)
win
else
#procedure(tk_call('wm', 'command', win.epath))
tk_call('wm', 'command', win.epath)
end
end
# File tk/lib/tk/wm.rb, line 99
def Wm.deiconify(win, ex = true)
if ex
tk_call_without_enc('wm', 'deiconify', win.epath)
else
Wm.iconify(win)
end
win
end
# File tk/lib/tk/wm.rb, line 112
def Wm.focusmodel(win, mode = nil)
if mode
tk_call_without_enc('wm', 'focusmodel', win.epath, mode)
win
else
tk_call_without_enc('wm', 'focusmodel', win.epath)
end
end
# File tk/lib/tk/wm.rb, line 126
def Wm.forget(win)
# Tcl/Tk 8.5+
# work with dockable frames
tk_call_without_enc('wm', 'forget', win.epath)
win
end
# File tk/lib/tk/wm.rb, line 136
def Wm.frame(win)
tk_call_without_enc('wm', 'frame', win.epath)
end
# File tk/lib/tk/wm.rb, line 144
def Wm.geometry(win, geom=nil)
if geom
tk_call_without_enc('wm', 'geometry', win.epath, geom)
win
else
tk_call_without_enc('wm', 'geometry', win.epath)
end
end
# File tk/lib/tk/wm.rb, line 158
def Wm.grid(win, *args)
if args.size == 0
list(tk_call_without_enc('wm', 'grid', win.epath))
else
args = args[0] if args.length == 1 && args[0].kind_of?(Array)
tk_call_without_enc('wm', 'grid', win.epath, *args)
win
end
end
# File tk/lib/tk/wm.rb, line 172
def Wm.group(win, leader = nil)
if leader
tk_call('wm', 'group', win.epath, leader)
win
else
window(tk_call('wm', 'group', win.epath))
end
end
# File tk/lib/tk/wm.rb, line 186
def Wm.iconbitmap(win, bmp=nil)
if bmp
tk_call_without_enc('wm', 'iconbitmap', win.epath, bmp)
win
else
image_obj(tk_call_without_enc('wm', 'iconbitmap', win.epath))
end
end
# File tk/lib/tk/wm.rb, line 229
def Wm.iconify(win, ex = true)
if ex
tk_call_without_enc('wm', 'iconify', win.epath)
else
Wm.deiconify(win)
end
win
end
# File tk/lib/tk/wm.rb, line 242
def Wm.iconmask(win, bmp=nil)
if bmp
tk_call_without_enc('wm', 'iconmask', win.epath, bmp)
win
else
image_obj(tk_call_without_enc('wm', 'iconmask', win.epath))
end
end
# File tk/lib/tk/wm.rb, line 256
def Wm.iconname(win, name=nil)
if name
tk_call('wm', 'iconname', win.epath, name)
win
else
tk_call('wm', 'iconname', win.epath)
end
end
# File tk/lib/tk/wm.rb, line 200
def Wm.iconphoto(win, *imgs)
if imgs.empty?
win.instance_eval{
@wm_iconphoto = nil unless defined? @wm_iconphoto
return @wm_iconphoto
}
end
imgs = imgs[0] if imgs.length == 1 && imgs[0].kind_of?(Array)
tk_call_without_enc('wm', 'iconphoto', win.epath, *imgs)
win.instance_eval{ @wm_iconphoto = imgs }
win
end
# File tk/lib/tk/wm.rb, line 219
def Wm.iconphoto_default(win, *imgs)
imgs = imgs[0] if imgs.length == 1 && imgs[0].kind_of?(Array)
tk_call_without_enc('wm', 'iconphoto', win.epath, '-default', *imgs)
win
end
# File tk/lib/tk/wm.rb, line 270
def Wm.iconposition(win, *args)
if args.size == 0
list(tk_call_without_enc('wm', 'iconposition', win.epath))
else
args = args[0] if args.length == 1 && args[0].kind_of?(Array)
tk_call_without_enc('wm', 'iconposition', win.epath, *args)
win
end
end
# File tk/lib/tk/wm.rb, line 285
def Wm.iconwindow(win, iconwin = nil)
if iconwin
tk_call_without_enc('wm', 'iconwindow', win.epath, iconwin)
win
else
w = tk_call_without_enc('wm', 'iconwindow', win.epath)
(w == '')? nil: window(w)
end
end
# File tk/lib/tk/wm.rb, line 300
def Wm.manage(win)
# Tcl/Tk 8.5+ feature
tk_call_without_enc('wm', 'manage', win.epath)
win
end
def ::manage(win, use_id = nil)
# Tcl/Tk 8.5+ feature # -------------------------------------------------------------- # In the future release, I want to support to embed the 'win' # into the container which has window-id 'use-id'. # It may give users frexibility on controlling their GUI. # However, it may be difficult for current Tcl/Tk (Tcl/Tk8.5.1), # because it seems to require to modify Tcl/Tk's source code. # -------------------------------------------------------------- if use_id tk_call_without_enc('wm', 'manage', win.epath, '-use', use_id) else tk_call_without_enc('wm', 'manage', win.epath) end win
end
# File tk/lib/tk/wm.rb, line 327
def Wm.maxsize(win, *args)
if args.size == 0
list(tk_call_without_enc('wm', 'maxsize', win.epath))
else
args = args[0] if args.length == 1 && args[0].kind_of?(Array)
tk_call_without_enc('wm', 'maxsize', win.epath, *args)
win
end
end
# File tk/lib/tk/wm.rb, line 342
def Wm.minsize(win, *args)
if args.size == 0
list(tk_call_without_enc('wm', 'minsize', win.epath))
else
args = args[0] if args.length == 1 && args[0].kind_of?(Array)
tk_call_without_enc('wm', 'minsize', win.path, *args)
win
end
end
# File tk/lib/tk/wm.rb, line 357
def Wm.overrideredirect(win, mode=TkComm::None)
if mode == TkComm::None
bool(tk_call_without_enc('wm', 'overrideredirect', win.epath))
else
tk_call_without_enc('wm', 'overrideredirect', win.epath, mode)
win
end
end
# File tk/lib/tk/wm.rb, line 371
def Wm.positionfrom(win, who=TkComm::None)
if who == TkComm::None
r = tk_call_without_enc('wm', 'positionfrom', win.epath)
(r == "")? nil: r
else
tk_call_without_enc('wm', 'positionfrom', win.epath, who)
win
end
end
# File tk/lib/tk/wm.rb, line 386
def Wm.protocol(win, name=nil, cmd=nil, &b)
if cmd
tk_call_without_enc('wm', 'protocol', win.epath, name, cmd)
win
elsif b
tk_call_without_enc('wm', 'protocol', win.epath, name, proc(&b))
win
elsif name
result = tk_call_without_enc('wm', 'protocol', win.epath, name)
(result == "")? nil : tk_tcl2ruby(result)
else
tk_split_simplelist(tk_call_without_enc('wm', 'protocol', win.epath))
end
end
# File tk/lib/tk/wm.rb, line 405
def Wm.protocols(win, kv=nil)
unless kv
ret = {}
Wm.protocol(win).each{|name|
ret[name] = Wm.protocol(win, name)
}
return ret
end
unless kv.kind_of?(Hash)
fail ArgumentError, 'expect a hash of protocol=>command'
end
kv.each{|k, v| Wm.protocol(win, k, v)}
win
end
# File tk/lib/tk/wm.rb, line 426
def Wm.resizable(win, *args)
if args.length == 0
list(tk_call_without_enc('wm', 'resizable', win.epath)).map!{|e| bool(e)}
else
args = args[0] if args.length == 1 && args[0].kind_of?(Array)
tk_call_without_enc('wm', 'resizable', win.epath, *args)
win
end
end
# File tk/lib/tk/wm.rb, line 441
def Wm.sizefrom(win, who=TkComm::None)
if who == TkComm::None
r = tk_call_without_enc('wm', 'sizefrom', win.epath)
(r == "")? nil: r
else
tk_call_without_enc('wm', 'sizefrom', win.epath, who)
win
end
end
# File tk/lib/tk/wm.rb, line 456
def Wm.stackorder(win)
list(tk_call('wm', 'stackorder', win.epath))
end
# File tk/lib/tk/wm.rb, line 467
def Wm.stackorder_is_above(win, target)
Wm.stackorder_isabove(win, target)
end
# File tk/lib/tk/wm.rb, line 480
def Wm.stackorder_is_below(win, target)
Wm.stackorder_isbelow(win, target)
end
# File tk/lib/tk/wm.rb, line 464
def Wm.stackorder_isabove(win, target)
bool(tk_call('wm', 'stackorder', win.epath, 'isabove', target))
end
# File tk/lib/tk/wm.rb, line 477
def Wm.stackorder_isbelow(win, target)
bool(tk_call('wm', 'stackorder', win.epath, 'isbelow', target))
end
# File tk/lib/tk/wm.rb, line 490
def Wm.state(win, st=nil)
if st
tk_call_without_enc('wm', 'state', win.epath, st)
win
else
tk_call_without_enc('wm', 'state', win.epath)
end
end
# File tk/lib/tk/wm.rb, line 504
def Wm.title(win, str=nil)
if str
tk_call('wm', 'title', win.epath, str)
win
else
tk_call('wm', 'title', win.epath)
end
end
# File tk/lib/tk/wm.rb, line 25
def aspect(*args)
Wm.aspect(self, *args)
end
# File tk/lib/tk/wm.rb, line 49
def attributes(slot=nil,value=TkComm::None)
Wm.attributes(self, slot, value)
end
# File tk/lib/tk/wm.rb, line 64
def client(name=TkComm::None)
Wm.client(self, name)
end
# File tk/lib/tk/wm.rb, line 79
def colormapwindows(*args)
Wm.colormapwindows(self, *args)
end
# File tk/lib/tk/wm.rb, line 107
def deiconify(ex = true)
Wm.deiconify(self, ex)
end
# File tk/lib/tk/wm.rb, line 120
def focusmodel(mode = nil)
Wm.focusmodel(self, mode)
end
# File tk/lib/tk/wm.rb, line 139
def frame
Wm.frame(self)
end
# File tk/lib/tk/wm.rb, line 152
def geometry(geom=nil)
Wm.geometry(self, geom)
end
# File tk/lib/tk/wm.rb, line 180
def group(leader = nil)
Wm.group(self, leader)
end
# File tk/lib/tk/wm.rb, line 194
def iconbitmap(bmp=nil)
Wm.iconbitmap(self, bmp)
end
# File tk/lib/tk/wm.rb, line 237
def iconify(ex = true)
Wm.iconify(self, ex)
end
# File tk/lib/tk/wm.rb, line 250
def iconmask(bmp=nil)
Wm.iconmask(self, bmp)
end
# File tk/lib/tk/wm.rb, line 264
def iconname(name=nil)
Wm.iconname(self, name)
end
# File tk/lib/tk/wm.rb, line 213
def iconphoto(*imgs)
Wm.iconphoto(self, *imgs)
end
# File tk/lib/tk/wm.rb, line 224
def iconphoto_default(*imgs)
Wm.iconphoto_default(self, *imgs)
end
# File tk/lib/tk/wm.rb, line 279
def iconposition(*args)
Wm.iconposition(self, *args)
end
# File tk/lib/tk/wm.rb, line 294
def iconwindow(iconwin = nil)
Wm.iconwindow(self, iconwin)
end
# File tk/lib/tk/wm.rb, line 336
def maxsize(*args)
Wm.maxsize(self, *args)
end
# File tk/lib/tk/wm.rb, line 351
def minsize(*args)
Wm.minsize(self, *args)
end
# File tk/lib/tk/wm.rb, line 365
def overrideredirect(mode=TkComm::None)
Wm.overrideredirect(self, mode)
end
# File tk/lib/tk/wm.rb, line 380
def positionfrom(who=TkComm::None)
Wm.positionfrom(self, who)
end
# File tk/lib/tk/wm.rb, line 400
def protocol(name=nil, cmd=nil, &b)
Wm.protocol(self, name, cmd, &b)
end
# File tk/lib/tk/wm.rb, line 420
def protocols(kv=nil)
Wm.protocols(self, kv)
end
# File tk/lib/tk/wm.rb, line 435
def resizable(*args)
Wm.resizable(self, *args)
end
# File tk/lib/tk/wm.rb, line 450
def sizefrom(who=TkComm::None)
Wm.sizefrom(self, who)
end
# File tk/lib/tk/wm.rb, line 459
def stackorder
Wm.stackorder(self)
end
# File tk/lib/tk/wm.rb, line 470
def stackorder_isabove(target)
Wm.stackorder_isabove(self, target)
end
# File tk/lib/tk/wm.rb, line 483
def stackorder_isbelow(target)
Wm.stackorder_isbelow(self, target)
end
# File tk/lib/tk/wm.rb, line 498
def state(st=nil)
Wm.state(self, st)
end
# File tk/lib/tk/wm.rb, line 512
def title(str=nil)
Wm.title(self, str)
end
# File tk/lib/tk/wm.rb, line 526
def transient(master=nil)
Wm.transient(self, master)
end
# File tk/lib/tk/wm.rb, line 540
def withdraw(ex = true)
Wm.withdraw(self, ex)
end
# File tk/lib/tk/wm.rb, line 94
def wm_command(value=nil)
Wm.command(self, value)
end
# File tk/lib/tk/wm.rb, line 132
def wm_forget
Wm.forget(self)
end
# File tk/lib/tk/wm.rb, line 167
def wm_grid(*args)
Wm.grid(self, *args)
end