This commit is contained in:
yumoqing 2021-01-17 09:51:04 +08:00
parent 02619b154b
commit d90131c193

View File

@ -397,6 +397,7 @@ class Blocks(EventDispatcher):
opts = desc.get('options').copy() opts = desc.get('options').copy()
d = self.getActionData(widget,desc) d = self.getActionData(widget,desc)
p = opts.get('options',{}).copy() p = opts.get('options',{}).copy()
if d:
p.update(d) p.update(d)
opts['options'] = p opts['options'] = p
def doit(target,add_mode,o,w): def doit(target,add_mode,o,w):
@ -483,6 +484,7 @@ class Blocks(EventDispatcher):
params = desc.get('params',{}).copy() params = desc.get('params',{}).copy()
d = self.getActionData(widget,desc) d = self.getActionData(widget,desc)
if d:
params.update(d) params.update(d)
func(target, *args, **params) func(target, *args, **params)
@ -502,6 +504,7 @@ class Blocks(EventDispatcher):
"self":target, "self":target,
"args":args "args":args
} }
if d:
ns.update(d) ns.update(d)
try: try:
self.eval(script, ns) self.eval(script, ns)
@ -520,6 +523,7 @@ class Blocks(EventDispatcher):
f = getattr(target, method) f = getattr(target, method)
kwargs = desc.get('options',{}).copy() kwargs = desc.get('options',{}).copy()
d = self.getActionData(widget,desc) d = self.getActionData(widget,desc)
if d:
kwargs.update(d) kwargs.update(d)
f(*args, **kwargs) f(*args, **kwargs)
else: else: