# File tk/lib/tkextlib/winico/winico.rb, line 55
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 43
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 49
def self.info
simplelist(Tk.tk_call('winico', 'info')).collect{|id|
Tk::Winico.id2obj(id)
}
end
# File tk/lib/tkextlib/winico/winico.rb, line 72
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 64
def self.new_from_file(file_name)
self.new(file_name)
end
# File tk/lib/tkextlib/winico/winico.rb, line 68
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 186
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 105
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 220
def delete_from_taskbar
tk_call('winico', 'taskbar', 'delete', @id)
self
end
# File tk/lib/tkextlib/winico/winico.rb, line 114
def info
Tk::Winico.icon_info(@id)
end
# File tk/lib/tkextlib/winico/winico.rb, line 203
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 99
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.