Extended maintenance of Ruby 1.9.3 ended on February 23, 2015. Read more

In Files

  • tk/lib/tkextlib/winico/winico.rb

Class/Module Index [+]

Quicksearch

Tk::Winico

Public Class Methods

icon_info(id) click to toggle source
 
               # 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
            
id2obj(id) click to toggle source
 
               # 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
            
info() click to toggle source
 
               # 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
            
new(file_name, resource_name=nil, winico_id=nil) click to toggle source
 
               # 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
            
new_from_file(file_name) click to toggle source
 
               # File 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) click to toggle source
 
               # 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
            
package_name() click to toggle source
 
               # File tk/lib/tkextlib/winico/winico.rb, line 21
def self.package_name
  PACKAGE_NAME
end
            
package_version() click to toggle source
 
               # File tk/lib/tkextlib/winico/winico.rb, line 25
def self.package_version
  begin
    TkPackage.require('winico')
  rescue
    ''
  end
end
            

Public Instance Methods

add_to_taskbar(keys = {}) click to toggle source
 
               # 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
            
Also aliased as: taskbar_add
delete() click to toggle source
 
               # 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
            
Also aliased as: destroy
delete_from_taskbar() click to toggle source
 
               # File tk/lib/tkextlib/winico/winico.rb, line 219
def delete_from_taskbar
  tk_call('winico', 'taskbar', 'delete', @id)
  self
end
            
Also aliased as: taskbar_delete
destroy() click to toggle source
Alias for: delete
id() click to toggle source
 
               # File tk/lib/tkextlib/winico/winico.rb, line 94
def id
  @id
end
            
info() click to toggle source
 
               # File tk/lib/tkextlib/winico/winico.rb, line 113
def info
  Tk::Winico.icon_info(@id)
end
            
modify_taskbar(keys = {}) click to toggle source
 
               # 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
            
Also aliased as: taskbar_modify
set_window(win_id, *opts) click to toggle source
 
               # 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
            
taskbar_add(keys = {}) click to toggle source
Alias for: add_to_taskbar
taskbar_delete() click to toggle source
Alias for: delete_from_taskbar
taskbar_modify(keys = {}) click to toggle source
Alias for: modify_taskbar