# File tk/lib/tk/xim.rb, line 34
def TkXIM.caret(win, keys=nil)
if keys
tk_call_without_enc('tk', 'caret', win, *hash_kv(keys))
self
else
lst = tk_split_list(tk_call_without_enc('tk', 'caret', win))
info = {}
while key = lst.shift
info[key[1..-1]] = lst.shift
end
info
end
end
# File tk/lib/tk/xim.rb, line 61
def TkXIM.configinfo(win, slot=nil)
if TkComm::GET_CONFIGINFOwoRES_AS_ARRAY
begin
if /^8\.*/ === Tk::TK_VERSION && JAPANIZED_TK
if slot
conf = tk_split_list(tk_call('imconfigure', win, "-#{slot}"))
conf[0] = conf[0][1..-1]
conf
else
tk_split_list(tk_call('imconfigure', win)).collect{|conf|
conf[0] = conf[0][1..-1]
conf
}
end
else
[]
end
rescue
[]
end
else # ! TkComm::GET_CONFIGINFOwoRES_AS_ARRAY
TkXIM.current_configinfo(win, slot)
end
end
# File tk/lib/tk/xim.rb, line 48
def TkXIM.configure(win, slot, value=None)
begin
if /^8\.*/ === Tk::TK_VERSION && JAPANIZED_TK
if slot.kind_of? Hash
tk_call('imconfigure', win, *hash_kv(slot))
else
tk_call('imconfigure', win, "-#{slot}", value)
end
end
rescue
end
end
# File tk/lib/tk/xim.rb, line 86
def TkXIM.current_configinfo(win, slot=nil)
begin
if /^8\.*/ === Tk::TK_VERSION && JAPANIZED_TK
if slot
conf = tk_split_list(tk_call('imconfigure', win, "-#{slot}"))
{ conf[0][1..-1] => conf[1] }
else
ret = {}
tk_split_list(tk_call('imconfigure', win)).each{|conf|
ret[conf[0][1..-1]] = conf[1]
}
ret
end
else
{}
end
rescue
{}
end
end
# File tk/lib/tk/xim.rb, line 12
def TkXIM.useinputmethods(value = None, win = nil)
if value == None
if win
bool(tk_call_without_enc('tk', 'useinputmethods',
'-displayof', win))
else
bool(tk_call_without_enc('tk', 'useinputmethods'))
end
else
if win
bool(tk_call_without_enc('tk', 'useinputmethods',
'-displayof', win, value))
else
bool(tk_call_without_enc('tk', 'useinputmethods', value))
end
end
end
# File tk/lib/tk/xim.rb, line 111
def caret(keys=nil)
TkXIM.caret(self, keys=nil)
end
# File tk/lib/tk/xim.rb, line 119
def imconfiginfo(slot=nil)
TkXIM.configinfo(self, slot)
end
Commenting is here to help enhance the documentation. For example, sample code, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.