- for param, data in xxx.params.items():
- value = panel.FindWindowByName(prefix + 'data_' + param).GetValue()
- if param == 'content':
- # If number if items is not the same, recreate children
- if len(value) != len(data):
- elem = xxx.element.getElementsByTagName('content')[0]
- for n in elem.childNodes:
- elem.removeChild(n)
- data = []
- for str in value:
- itemElem = tree.dom.createElement('item')
- itemText = tree.dom.createTextNode(str)
- itemElem.appendChild(itemText)
- elem.appendChild(itemElem)
- data.append(itemText)
- xxx.params[param] = data
- else:
- for i in range(len(value)):
- data[i].data = value[i]
- elif param == 'font':
- data.updateXML(value)
+ for param, paramObj in xxx.params.items():
+ paramWin = panel.FindWindowByName(prefix + 'data_' + param)
+ if not paramWin.modified: continue
+ value = paramWin.GetValue()
+ if param in xxx.specials:
+ xxx.setSpecial(param, value)