From 59c6ab9973380802654cc60401d69bc255899503 Mon Sep 17 00:00:00 2001 From: Goffi Date: Mon, 16 Oct 2017 07:28:36 +0200 Subject: [PATCH] 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 --- src/tools/common/template_xmlui.py | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/tools/common/template_xmlui.py b/src/tools/common/template_xmlui.py index 185e0532..9d7a42f7 100644 --- a/src/tools/common/template_xmlui.py +++ b/src/tools/common/template_xmlui.py @@ -69,6 +69,18 @@ class OptionsWidget(Widget): 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 TextWidget(xmlui.TextWidget, ValueWidget): 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"