# 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