begin¶ ↑
ROOT = []
def TkRoot.new(keys=nil)
if ROOT[0]
Tk_WINDOWS["."] = ROOT[0]
return ROOT[0]
end
new = super(:without_creating=>true, :widgetname=>'.')
if keys
keys.each{|k,v|
if v.kind_of? Array
new.send(k,*v)
else
new.send(k,v)
end
}
end
ROOT[0] = new
Tk_WINDOWS["."] = new
end
def TkRoot.new(keys=nil, &b)
unless TkCore::INTERP.tk_windows['.']
TkCore::INTERP.tk_windows['.'] =
super(:without_creating=>true, :widgetname=>'.'){}
end
root = TkCore::INTERP.tk_windows['.']
keys = _symbolkey2str(keys)
root.instance_eval{
__methodcall_optkeys.each{|key, method|
value = keys.delete(key.to_s)
self.__send__(method, value) if value
}
}
if keys
keys.each{|k,v|
if v.kind_of? Array
root.__send__(k,*v)
else
root.__send__(k,v)
end
}
end
root.instance_eval(&b) if block_given?
root
end