Class | Tk::ICONS |
In: |
tk/lib/tkextlib/ICONS/icons.rb
|
Parent: | TkImage |
PACKAGE_NAME | = | 'icons'.freeze |
# File tk/lib/tkextlib/ICONS/icons.rb, line 34 def self.create(*args) # icon, icon, ..., ?option=>value, ...? if args[-1].kind_of?(Hash) keys = args.pop icons = simplelist(tk_call('::icons::icons', 'create', *(hash_kv(keys) << (args.flatten)))) else icons = simplelist(tk_call('::icons::icons', 'create', args.flatten)) end icons.collect{|icon| self.new(icon, :without_creating=>true)} end
# File tk/lib/tkextlib/ICONS/icons.rb, line 47 def self.delete(*icons) # icon, icon, ... icons = icons.flatten return if icons.empty? icons.map!{|icon| if icon.kind_of?(Tk::ICONS) Tk_IMGTBL.delete(icon.path) icon.name elsif icon.to_s =~ /^::icon::(.*)/ name = $1 Tk_IMGTBL.delete(icon) name else Tk_IMGTBL.delete("::icon::#{icon}") icon end } tk_call('::icons::icons', 'delete', icons) end
# File tk/lib/tkextlib/ICONS/icons.rb, line 78 def self.new(name, keys=nil) unless obj = Tk_IMGTBL["::icon::#{name}"] obj = allocate() obj.instance_eval{initialize(name, keys)} end obj end
# File tk/lib/tkextlib/ICONS/icons.rb, line 86 def initialize(name, keys=nil) if name.kind_of?(String) && name =~ /^::icon::(.+)$/ @name = $1 @path = name else @name = name.to_s @path = "::icon::#{@name}" end keys = _symbolkey2str(keys) unless keys.delete('without_creating') tk_call('::icons::icons', 'create', *(hash_kv(keys) << @name)) end Tk_IMGTBL[@path] = self end
# File tk/lib/tkextlib/ICONS/icons.rb, line 26 def self.package_version begin TkPackage.require('icons') rescue '' end end
# File tk/lib/tkextlib/ICONS/icons.rb, line 66 def self.query(*args) # icon, icon, ..., ?option=>value, ...? if args[-1].kind_of?(Hash) keys = args.pop simplelist(tk_call('::icons::icons', 'query', *(hash_kv(keys) << (args.flatten)))) else simplelist(tk_call('::icons::icons', 'query', args.flatten)) end . map{|inf| list(inf) } end
# File tk/lib/tkextlib/ICONS/icons.rb, line 105 def delete Tk_IMGTBL.delete(@path) tk_call('::icons::icons', 'delete', @name) self end