added uniqueValues property to Multi fields

This commit is contained in:
fpeters 2004-09-20 08:05:26 +00:00
parent df337cd995
commit 305cb6581d
2 changed files with 16 additions and 1 deletions

View File

@ -279,6 +279,12 @@ class Multi(BaseWidget):
reorderingButtons_kindName = 'Boolean'
thingPublicName = N_('Multi-Line Field')
uniqueValues = 0
uniqueValues_kind_importExport = 'private'
uniqueValues_kind_stateInEditMode = 'hidden'
uniqueValues_kind_stateInViewMode = 'hidden'
uniqueValues_kindName = 'Boolean'
register(Multi)

View File

@ -920,7 +920,10 @@ class Multi(WidgetMixin, proxyWidgets.Multi):
fieldset += X.li(childWidget)
if kind.canAddItem(slot, fields):
addButtonName = slot.getFieldOptionName('addButton')
layout += X.buttonInForm('add', addButtonName)
if self.addButtonLabel:
layout += X.buttonInForm(self.addButtonLabel, addButtonName)
else:
layout += X.buttonInForm('add', addButtonName)
if self.apply:
layout += X.buttonInForm('apply', 'applyButton')
return layout
@ -978,6 +981,12 @@ class Multi(WidgetMixin, proxyWidgets.Multi):
continue
value.append(itemValue)
if self.uniqueValues:
uniq = {}
for v in value:
uniq[v] = 1
value = uniq.keys()
addButtonName = slot.getFieldOptionName('addButton')
if isButtonSelected(addButtonName, fields):
itemSlot = kind.getItemSlot(slot, count)