summaryrefslogtreecommitdiff
path: root/ext/tk/lib/tk
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
commit3f1f17c8c5f3e30e33e904b3c77502bfa5718a5b (patch)
tree1742aeb6076d7931aaf72f5521ac9fc9ed09b532 /ext/tk/lib/tk
parent92e7fccf4111e98e8e9229c5eda086d85500b53d (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/trunk@6713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/lib/tk')
-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