tools (common/template_xmlui: add multi and value propertied to OptionsWidget

This commit is contained in:
Goffi 2021-06-04 14:44:33 +02:00
commit 80ee158daa

View file

@ -89,6 +89,14 @@ class OptionsWidget(Widget):
for value, label in self.items:
yield value
@property
def value(self):
if self.multi or self.no_select or len(self.selected) != 1:
raise ValueError(
"Can't get value for list with multiple selections or nothing selected"
)
return self.selected[0]
@property
def labels(self):
"""return only labels from self.items"""
@ -111,6 +119,10 @@ class OptionsWidget(Widget):
def no_select(self):
return "noselect" in self.style
@property
def multi(self):
return "multi" in self.style
class EmptyWidget(xmlui.EmptyWidget, Widget):
def __init__(self, _xmlui_parent):