Module: Tk::ItemValidateConfigure (Ruby 2.3.4)

In Files

  • tk/lib/tk/validation.rb

Class/Module Index [+]

Quicksearch

Tk::ItemValidateConfigure

Public Class Methods

__def_validcmd(scope, klass, keys=nil)
 
               # File tk/lib/tk/validation.rb, line 112
def self.__def_validcmd(scope, klass, keys=nil)
  keys = klass._config_keys unless keys
  keys.each{|key|
    eval("def item_#{key}(id, *args, &b)
             __item_validcmd_call(#{klass.name}, '#{key}', id, *args, &b)
          end", scope)
  }
end
            

Public Instance Methods

__conv_item_vcmd_on_hash_kv(keys)
 
               # File tk/lib/tk/validation.rb, line 149
def __conv_item_vcmd_on_hash_kv(keys)
  key2class = __get_item_validate_key2class(tagid(tagOrId))

  keys = _symbolkey2str(keys)
  key2class.each{|key, klass|
    if keys[key].kind_of?(Array)
      cmd, *args = keys[key]
      #keys[key] = klass.new(cmd, args.join(' '))
      keys[key] = klass.new(cmd, *args)
    # elsif keys[key].kind_of?(Proc) || keys[key].kind_of?(Method)
    elsif TkComm._callback_entry?(keys[key])
      keys[key] = klass.new(keys[key])
    end
  }
  keys
end
            
__get_item_validate_key2class(id)
 
               # File tk/lib/tk/validation.rb, line 140
def __get_item_validate_key2class(id)
  k2c = {}
  __item_validation_class_list(id).each{|klass|
    klass._config_keys.each{|key|
      k2c[key.to_s] = klass
    }
  }
end
            
__item_validation_class_list(id)
 
               # File tk/lib/tk/validation.rb, line 135
def __item_validation_class_list(id)
  # maybe need to override
  []
end
            
__item_validcmd_call(tagOrId, klass, key, *args, &b)
 
               # File tk/lib/tk/validation.rb, line 121
def __item_validcmd_call(tagOrId, klass, key, *args, &b)
  return itemcget(tagid(tagOrId), key) if args.empty? && !b

  cmd = (b)? proc(&b) : args.shift

  if cmd.kind_of?(klass)
    itemconfigure(tagid(tagOrId), key, cmd)
  elsif !args.empty?
    itemconfigure(tagid(tagOrId), key, [cmd, args])
  else
    itemconfigure(tagid(tagOrId), key, cmd)
  end
end
            
itemconfigure(tagOrId, slot, value=TkComm::None)
 
               # File tk/lib/tk/validation.rb, line 166
def itemconfigure(tagOrId, slot, value=TkComm::None)
  if slot.kind_of?(Hash)
    super(__conv_item_vcmd_on_hash_kv(slot))
  else
    super(__conv_item_vcmd_on_hash_kv(slot=>value))
  end
  self
end