Namespace
Methods
A
D
I
M
N
P
S
T
Constants
PACKAGE_NAME = 'winico'.freeze
 
WinicoID_TBL = TkCore::INTERP.create_table
 
Class Public methods
icon_info(id)
# File ext/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
id2obj(id)
# File ext/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
info()
# File ext/tk/lib/tkextlib/winico/winico.rb, line 48
def self.info
  simplelist(Tk.tk_call('winico', 'info')).collect{|id|
    Tk::Winico.id2obj(id)
  }
end
new(file_name, resource_name=nil, winico_id=nil)
# File ext/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
new_from_file(file_name)
# File ext/tk/lib/tkextlib/winico/winico.rb, line 63
def self.new_from_file(file_name)
  self.new(file_name)
end
new_from_resource(resource_name, file_name = nil)
# File ext/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
package_name()
# File ext/tk/lib/tkextlib/winico/winico.rb, line 21
def self.package_name
  PACKAGE_NAME
end
package_version()
# File ext/tk/lib/tkextlib/winico/winico.rb, line 25
def self.package_version
  begin
    TkPackage.require('winico')
  rescue
    ''
  end
end
Instance Public methods
add_to_taskbar(keys = {})
Also aliased as: taskbar_add
# File ext/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
delete()
Also aliased as: destroy
# File ext/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
delete_from_taskbar()
Also aliased as: taskbar_delete
# File ext/tk/lib/tkextlib/winico/winico.rb, line 219
def delete_from_taskbar
  tk_call('winico', 'taskbar', 'delete', @id)
  self
end
destroy()
Alias for: delete
id()
# File ext/tk/lib/tkextlib/winico/winico.rb, line 94
def id
  @id
end
info()
# File ext/tk/lib/tkextlib/winico/winico.rb, line 113
def info
  Tk::Winico.icon_info(@id)
end
modify_taskbar(keys = {})
Also aliased as: taskbar_modify
# File ext/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
set_window(win_id, *opts)
# File ext/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
taskbar_add(keys = {})
Alias for: add_to_taskbar
taskbar_delete()
Alias for: delete_from_taskbar
taskbar_modify(keys = {})
Alias for: modify_taskbar