Module: Tk::ItemValidateConfigure

Module | Tk::ItemValidateConfigure
In: | tk/lib/tk/validation.rb

### Methods

__conv_item_vcmd_on_hash_kv __def_validcmd __get_item_validate_key2class __item_validation_class_list __item_validcmd_call itemconfigure

### Public Class methods

__def_validcmd(scope, klass, keys=nil)

[Source]

    # File tk/lib/tk/validation.rb, line 110
        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)

[Source]

    # File tk/lib/tk/validation.rb, line 147
        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(' '))
            # 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)

[Source]

    # File tk/lib/tk/validation.rb, line 138
        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)

[Source]

    # File tk/lib/tk/validation.rb, line 133
        def __item_validation_class_list(id)
          # maybe need to override
          []
        end

__item_validcmd_call(tagOrId, klass, key, *args, &b)

[Source]

    # File tk/lib/tk/validation.rb, line 119
        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)

[Source]

    # File tk/lib/tk/validation.rb, line 163
        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

[Validate]