In Files

  • tk/lib/tk.rb

Class/Module Index [+]

Quicksearch

TkConfigMethod

Public Class Methods

__IGNORE_UNKNOWN_CONFIGURE_OPTION__() click to toggle source
 
               # File tk/lib/tk.rb, line 3745
def TkConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__
  @mode || false
end
            
__set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!(mode) click to toggle source
 
               # File tk/lib/tk.rb, line 3748
def TkConfigMethod.__set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!(mode)
  fail SecurityError, "can't change the mode" if $SAFE>=4
  @mode = (mode)? true: false
end
            

Public Instance Methods

[](id) click to toggle source
 
               # File tk/lib/tk.rb, line 3876
def [](id)
  cget(id)
end
            
[]=(id, val) click to toggle source
 
               # File tk/lib/tk.rb, line 3880
def []=(id, val)
  configure(id, val)
  val
end
            
__check_available_configure_options(keys) click to toggle source
 
               # File tk/lib/tk.rb, line 4073
def __check_available_configure_options(keys)
  availables = self.current_configinfo.keys

  # add non-standard keys
  availables |= __font_optkeys.map{|k|
    [k.to_s, "latin#{k}", "ascii#{k}", "kanji#{k}"]
  }.flatten
  availables |= __methodcall_optkeys.keys.map{|k| k.to_s}
  availables |= __keyonly_optkeys.keys.map{|k| k.to_s}

  keys = _symbolkey2str(keys)
  keys.delete_if{|k, v| !(availables.include?(k))}
end
            
cget(slot) click to toggle source
 
               # File tk/lib/tk.rb, line 3974
def cget(slot)
  unless TkConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__
    __cget_core(slot)
  else
    begin
      __cget_core(slot)
    rescue => e
      if current_configinfo.has_key?(slot.to_s)
        # error on known option
        fail e
      else
        # unknown option
        nil
      end
    end
  end
end
            
cget_strict(slot) click to toggle source
 
               # File tk/lib/tk.rb, line 3991
def cget_strict(slot)
  # never use TkConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__
  __cget_core(slot)
end
            
cget_tkstring(option) click to toggle source
 
               # File tk/lib/tk.rb, line 3885
def cget_tkstring(option)
  opt = option.to_s
  fail ArgumentError, "Invalid option `#{option.inspect}'" if opt.length == 0
  tk_call_without_enc(*(__cget_cmd << "-#{opt}"))
end
            
config_hash_kv(keys, enc_mode = nil, conf = nil) click to toggle source
 
               # File tk/lib/tk.rb, line 3870
def config_hash_kv(keys, enc_mode = nil, conf = nil)
  hash_kv(__conv_keyonly_opts(keys), enc_mode, conf)
end
            
configinfo(slot = nil) click to toggle source
 
               # File tk/lib/tk.rb, line 4884
def configinfo(slot = nil)
  if slot && TkConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__
    begin
      __configinfo_core(slot)
    rescue
      Array.new(__configinfo_struct.values.max).unshift(slot.to_s)
    end
  else
    __configinfo_core(slot)
  end
end
            
configure(slot, value=None) click to toggle source
 
               # File tk/lib/tk.rb, line 4087
def configure(slot, value=None)
  unless TkConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__
    __configure_core(slot, value)
  else
    if slot.kind_of?(Hash)
      begin
        __configure_core(slot)
      rescue
        slot = __check_available_configure_options(slot)
        __configure_core(slot) unless slot.empty?
      end
    else
      begin
        __configure_core(slot, value)
      rescue => e
        if current_configinfo.has_key?(slot.to_s)
          # error on known option
          fail e
        else
          # unknown option
          nil
        end
      end
    end
  end
  self
end
            
configure_cmd(slot, value) click to toggle source
 
               # File tk/lib/tk.rb, line 4115
def configure_cmd(slot, value)
  configure(slot, install_cmd(value))
end
            
current_configinfo(slot = nil) click to toggle source
 
               # File tk/lib/tk.rb, line 4896
def current_configinfo(slot = nil)
  if TkComm::GET_CONFIGINFO_AS_ARRAY
    if slot
      org_slot = slot
      begin
        conf = configinfo(slot)
        if ( ! __configinfo_struct[:alias] \
            || conf.size > __configinfo_struct[:alias] + 1 )
          return {conf[0] => conf[-1]}
        end
        slot = conf[__configinfo_struct[:alias]]
      end while(org_slot != slot)
      fail RuntimeError,
        "there is a configure alias loop about '#{org_slot}'"
    else
      ret = {}
      configinfo().each{|cnf|
        if ( ! __configinfo_struct[:alias] \
            || cnf.size > __configinfo_struct[:alias] + 1 )
          ret[cnf[0]] = cnf[-1]
        end
      }
      ret
    end
  else # ! TkComm::GET_CONFIGINFO_AS_ARRAY
    ret = {}
    configinfo(slot).each{|key, cnf|
      ret[key] = cnf[-1] if cnf.kind_of?(Array)
    }
    ret
  end
end