In Files

  • tk/lib/tkextlib/ICONS/icons.rb

Class/Module Index [+]

Quicksearch

Tk::ICONS

Constants

PACKAGE_NAME

Public Class Methods

_new(name, keys=nil) click to toggle source
Alias for: new
create(*args) click to toggle source
 
               # 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
            
delete(*icons) click to toggle source
 
               # 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
            
new(name, keys=nil) click to toggle source
 
               # File tk/lib/tkextlib/ICONS/icons.rb, line 81
def new(name, keys=nil)
  if obj = Tk_IMGTBL["::icon::#{name}"]
    if keys
      keys = _symbolkey2str(keys)
      unless keys.delete('without_creating')
        tk_call('::icons::icons', 'create', *(hash_kv(keys) << obj.name))
      end
    end
  else
    obj = _new(name, keys)
  end
  obj
end
            
Also aliased as: _new
new(name, keys=nil) click to toggle source
 
               # File tk/lib/tkextlib/ICONS/icons.rb, line 98
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
            
package_name() click to toggle source
 
               # File tk/lib/tkextlib/ICONS/icons.rb, line 22
def self.package_name
  PACKAGE_NAME
end
            
package_version() click to toggle source
 
               # File tk/lib/tkextlib/ICONS/icons.rb, line 26
def self.package_version
  begin
    TkPackage.require('icons')
  rescue
    ''
  end
end
            
query(*args) click to toggle source
 
               # 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
            

Public Instance Methods

delete() click to toggle source
 
               # File tk/lib/tkextlib/ICONS/icons.rb, line 117
def delete
  Tk_IMGTBL.delete(@path)
  tk_call('::icons::icons', 'delete', @name)
  self
end
            
name() click to toggle source
 
               # File tk/lib/tkextlib/ICONS/icons.rb, line 113
def name
  @name
end
            
query(keys={}) click to toggle source
 
               # File tk/lib/tkextlib/ICONS/icons.rb, line 123
def query(keys={})
  list(simplelist(tk_call('::icons::icons', 'query',
                           *(hash_kv(keys) << @name))
                  )[0])
end