core, primitivus: better support for parameter of type list
This commit is contained in:
parent
e0ecb6158b
commit
010e305d53
1 changed files with 30 additions and 7 deletions
|
|
@ -148,16 +148,30 @@ def paramsXml2xmlUI(xml):
|
|||
assert(False)
|
||||
type_ = param.getAttribute('type')
|
||||
value = param.getAttribute('value') or None
|
||||
options = getOptions(param)
|
||||
callback_id = param.getAttribute('callback_id') or None
|
||||
if type_ == "button":
|
||||
param_ui.addEmpty()
|
||||
else:
|
||||
param_ui.addLabel(label or name)
|
||||
param_ui.addElement(name=name, type_=type_, value=value, callback_id=callback_id)
|
||||
param_ui.addElement(name=name, type_=type_, value=value, options=options, callback_id=callback_id)
|
||||
|
||||
return param_ui.toXml()
|
||||
|
||||
|
||||
def getOptions(param):
|
||||
"""Retrieve the options for list element. Allow listing the <option/>
|
||||
tags directly in <param/> or in an intermediate <options/> tag."""
|
||||
elems = param.getElementsByTagName("options")
|
||||
if len(elems) == 0:
|
||||
elems = param.getElementsByTagName("option")
|
||||
else:
|
||||
elems = elems.item(0).getElementsByTagName("option")
|
||||
if len(elems) == 0:
|
||||
return []
|
||||
return [elem.getAttribute("value") for elem in elems]
|
||||
|
||||
|
||||
class Header(object):
|
||||
"""AdvandeList's header"""
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue