summaryrefslogtreecommitdiff
path: root/ext/tk/lib/tk/validation.rb
diff options
context:
space:
mode:
authornagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-07-28 08:29:53 +0000
committernagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-07-28 08:29:53 +0000
commit39c094c12fc28413d04fe20b7474cc4647ddb375 (patch)
tree50a05871650382a37439b2d130bb491aacd781b8 /ext/tk/lib/tk/validation.rb
parent2d464611a8a5aa23386986bb1532c322e22cd1af (diff)
* ext/tk/lib/validate.rb: accept a Method object for the validatecommand option
* ext/tk/lib/tkextlib/winico.rb: add winico extension support git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/lib/tk/validation.rb')
-rw-r--r--ext/tk/lib/tk/validation.rb36
1 files changed, 28 insertions, 8 deletions
diff --git a/ext/tk/lib/tk/validation.rb b/ext/tk/lib/tk/validation.rb
index 53147178a7..ac99f32bdd 100644
--- a/ext/tk/lib/tk/validation.rb
+++ b/ext/tk/lib/tk/validation.rb
@@ -51,7 +51,7 @@ module Tk
if keys[key].kind_of?(Array)
cmd, *args = keys[key]
keys[key] = klass.new(cmd, args.join(' '))
- elsif keys[key].kind_of? Proc
+ elsif keys[key].kind_of?(Proc) || keys[key].kind_of?(Method)
keys[key] = klass.new(keys[key])
end
}
@@ -64,6 +64,15 @@ module Tk
private :create_self
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
+=begin
+ def configure(slot, value=TkComm::None)
key2class = __get_validate_key2class
if slot.kind_of?(Hash)
@@ -72,7 +81,7 @@ module Tk
if slot[key].kind_of?(Array)
cmd, *args = slot[key]
slot[key] = klass.new(cmd, args.join(' '))
- elsif slot[key].kind_of? Proc
+ elsif slot[key].kind_of?(Proc) || slot[key].kind_of?(Method)
slot[key] = klass.new(slot[key])
end
}
@@ -81,10 +90,10 @@ module Tk
else
slot = slot.to_s
if (klass = key2class[slot])
- if value.kind_of? Array
+ if value.kind_of?(Array)
cmd, *args = value
value = klass.new(cmd, args.join(' '))
- elsif value.kind_of? Proc
+ elsif value.kind_of?(Proc) || value.kind_of?(Method)
value = klass.new(value)
end
end
@@ -93,6 +102,7 @@ module Tk
self
end
+=end
end
module ItemValidateConfigure
@@ -141,7 +151,7 @@ module Tk
if keys[key].kind_of?(Array)
cmd, *args = keys[key]
keys[key] = klass.new(cmd, args.join(' '))
- elsif keys[key].kind_of? Proc
+ elsif keys[key].kind_of?(Proc) || keys[key].kind_of?(Method)
keys[key] = klass.new(keys[key])
end
}
@@ -149,6 +159,15 @@ module Tk
end
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
+=begin
+ def itemconfigure(tagOrId, slot, value=TkComm::None)
key2class = __get_item_validate_key2class(tagid(tagOrId))
if slot.kind_of?(Hash)
@@ -157,7 +176,7 @@ module Tk
if slot[key].kind_of?(Array)
cmd, *args = slot[key]
slot[key] = klass.new(cmd, args.join(' '))
- elsif slot[key].kind_of? Proc
+ elsif slot[key].kind_of?(Proc) || slot[key].kind_of?(Method)
slot[key] = klass.new(slot[key])
end
}
@@ -166,10 +185,10 @@ module Tk
else
slot = slot.to_s
if (klass = key2class[slot])
- if value.kind_of? Array
+ if value.kind_of?(Array)
cmd, *args = value
value = klass.new(cmd, args.join(' '))
- elsif value.kind_of? Proc
+ elsif value.kind_of?(Proc) || value.kind_of?(Method)
value = klass.new(value)
end
end
@@ -178,6 +197,7 @@ module Tk
self
end
+=end
end
end