# HG changeset patch # User Goffi # Date 1508131716 -7200 # Node ID 42a54cbc1872022f4e145473821cf7c12e6dbd93 # Parent 3704cb959ae8080b90545da3d693249c573f986f template (xmlui): new properties + inheritance fix: - "values" property in OptionsWidget return selected values. - "labels" property in OptionsWidget return list of labels - "for_name" property in LabelWidget return name of associated widget if set, else None - fixed inheritance for StringWidget and TextBoxWidget diff -r 3704cb959ae8 -r 42a54cbc1872 src/tools/common/template_xmlui.py --- a/src/tools/common/template_xmlui.py Mon Oct 16 07:23:09 2017 +0200 +++ b/src/tools/common/template_xmlui.py Mon Oct 16 07:28:36 2017 +0200 @@ -69,6 +69,18 @@ self.selected = selected self.style = style + @property + def values(self): + return self.selected + + @property + def labels(self): + ret = [] + for value,label in self.options: + if value in self.selected: + ret.append(label) + return ret + class EmptyWidget(xmlui.EmptyWidget, Widget): @@ -83,12 +95,19 @@ class LabelWidget(xmlui.LabelWidget, ValueWidget): type = u"label" + @property + def for_name(self): + try: + return self._xmlui_for_name + except AttributeError: + return None -class StringWidget(xmlui.LabelWidget, InputWidget): + +class StringWidget(xmlui.StringWidget, InputWidget): type = u"string" -class TextBoxWidget(xmlui.LabelWidget, InputWidget): +class TextBoxWidget(xmlui.TextWidget, InputWidget): type = u"textbox"