In Files

  • tk/lib/tk/validation.rb

Class/Module Index [+]

Quicksearch

Tk::ItemValidateConfigure

Public Class Methods

__def_validcmd(scope, klass, keys=nil) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # 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) click to toggle source
 
               # 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
            

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.