# File tk/lib/tkextlib/winico/winico.rb, line 54
def self.icon_info(id)
simplelist(Tk.tk_call('winico', 'info', id)).collect{|inf|
h = Hash[*list(inf)]
h.keys.each{|k| h[k[1..-1]] = h.delete(k)}
}
end
# File tk/lib/tkextlib/winico/winico.rb, line 42
def self.id2obj(id)
WinicoID_TBL.mutex.synchronize{
(WinicoID_TBL.key?(id))? WinicoID_TBL[id] : id
}
end
# File tk/lib/tkextlib/winico/winico.rb, line 48
def self.info
simplelist(Tk.tk_call('winico', 'info')).collect{|id|
Tk::Winico.id2obj(id)
}
end
# File tk/lib/tkextlib/winico/winico.rb, line 71
def initialize(file_name, resource_name=nil, winico_id=nil)
if resource_name
# from resource
if file_name
@id = Tk.tk_call('winico', 'load', resource_name, file_name)
else
@id = Tk.tk_call('winico', 'load', resource_name)
end
elsif file_name
# from .ico file
@id = Tk.tk_call('winico', 'createfrom', file_name)
elsif winico_id
@id = winico_id
else
fail ArgumentError,
"must be given proper information from where loading icons"
end
@path = @id
WinicoID_TBL.mutex.synchronize{
WinicoID_TBL[@id] = self
}
end
# File tk/lib/tkextlib/winico/winico.rb, line 63
def self.new_from_file(file_name)
self.new(file_name)
end
# File tk/lib/tkextlib/winico/winico.rb, line 67
def self.new_from_resource(resource_name, file_name = nil)
self.new(file_name, resource_name)
end
# File tk/lib/tkextlib/winico/winico.rb, line 185
def add_to_taskbar(keys = {})
keys = _symbolkey2str(keys)
Winico_callback._config_keys.each{|k|
if keys[k].kind_of?(Array)
cmd, *args = keys[k]
#keys[k] = Winico_callback.new(cmd, args.join(' '))
keys[k] = Winico_callback.new(cmd, *args)
# elsif keys[k].kind_of?(Proc)
elsif TkComm._callback_entry?(keys[k])
keys[k] = Winico_callback.new(keys[k])
end
}
tk_call('winico', 'taskbar', 'add', @id, *(hash_kv(keys)))
self
end
# File tk/lib/tkextlib/winico/winico.rb, line 104
def delete
tk_call('winico', 'delete', @id)
WinicoID_TBL.mutex.synchronize{
WinicoID_TBL.delete(@id)
}
self
end
# File tk/lib/tkextlib/winico/winico.rb, line 219
def delete_from_taskbar
tk_call('winico', 'taskbar', 'delete', @id)
self
end
# File tk/lib/tkextlib/winico/winico.rb, line 113
def info
Tk::Winico.icon_info(@id)
end
# File tk/lib/tkextlib/winico/winico.rb, line 202
def modify_taskbar(keys = {})
keys = _symbolkey2str(keys)
Winico_callback._config_keys.each{|k|
if keys[k].kind_of?(Array)
cmd, *args = keys[k]
#keys[k] = Winico_callback.new(cmd, args.join(' '))
keys[k] = Winico_callback.new(cmd, *args)
# elsif keys[k].kind_of?(Proc)
elsif TkComm._callback_entry?(keys[k])
keys[k] = Winico_callback.new(keys[k])
end
}
tk_call('winico', 'taskbar', 'modify', @id, *(hash_kv(keys)))
self
end
# File tk/lib/tkextlib/winico/winico.rb, line 98
def set_window(win_id, *opts) # opts := ?'big'|'small'?, ?pos?
# NOTE:: the window, which is denoted by win_id, MUST BE MAPPED.
# If not, then this may fail or crash.
tk_call('winico', 'setwindow', win_id, @id, *opts)
end
Commenting is here to help enhance the documentation. For example, code samples, 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.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.