In Files

  • tk/lib/tk/validation.rb

Class/Module Index [+]

Quicksearch

Tk::ValidateConfigure

Public Class Methods

__def_validcmd(scope, klass, keys=nil) click to toggle source
 
               # File tk/lib/tk/validation.rb, line 9
def self.__def_validcmd(scope, klass, keys=nil)
  keys = klass._config_keys unless keys
  keys.each{|key|
    eval("def #{key}(*args, &b)
             __validcmd_call(#{klass.name}, '#{key}', *args, &b)
          end", scope)
  }
end
            

Public Instance Methods

__conv_vcmd_on_hash_kv(keys) click to toggle source
 
               # File tk/lib/tk/validation.rb, line 47
def __conv_vcmd_on_hash_kv(keys)
  key2class = __get_validate_key2class

  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_validate_key2class() click to toggle source
 
               # File tk/lib/tk/validation.rb, line 37
def __get_validate_key2class
  k2c = {}
  __validation_class_list.each{|klass|
    klass._config_keys.each{|key|
      k2c[key.to_s] = klass
    }
  }
  k2c
end
            
__validation_class_list() click to toggle source
 
               # File tk/lib/tk/validation.rb, line 32
def __validation_class_list
  # maybe need to override
  []
end
            
__validcmd_call(klass, key, *args, &b) click to toggle source
 
               # File tk/lib/tk/validation.rb, line 18
def __validcmd_call(klass, key, *args, &b)
  return cget(key) if args.empty? && !b

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

  if cmd.kind_of?(klass)
    configure(key, cmd)
  elsif !args.empty?
    configure(key, [cmd, args])
  else
    configure(key, cmd)
  end
end
            
configure(slot, value=TkComm::None) click to toggle source
 
               # File tk/lib/tk/validation.rb, line 69
def configure(slot, value=TkComm::None)
  if slot.kind_of?(Hash)
    super(__conv_vcmd_on_hash_kv(slot))
  else
    super(__conv_vcmd_on_hash_kv(slot=>value))
  end
  self
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.