# HG changeset patch # User souliane # Date 1396528728 -7200 # Node ID b37b1d183ac3719314236af62a5175da2ae3b734 # Parent 54cd05f68c7c680dc6af812ace15422025ca3e11 reverted changeset 5c7707c958d8 (revision 969) diff -r 54cd05f68c7c -r b37b1d183ac3 frontends/src/primitivus/xmlui.py --- a/frontends/src/primitivus/xmlui.py Wed Apr 02 12:37:32 2014 +0200 +++ b/frontends/src/primitivus/xmlui.py Thu Apr 03 14:38:48 2014 +0200 @@ -19,7 +19,6 @@ from sat.core.i18n import _ import urwid -import copy from urwid_satext import sat_widgets from logging import debug, info, warning, error from xml.dom import minidom @@ -79,15 +78,11 @@ urwid.Divider.__init__(self, div_char) - class PrimitivusStringWidget(xmlui.StringWidget, sat_widgets.AdvancedEdit, PrimitivusEvents): def __init__(self, parent, value): sat_widgets.AdvancedEdit.__init__(self, edit_text=value) - def _xmluiSetValue(self, value): - self.set_edit_text(value) - def _xmluiGetValue(self): return self.get_edit_text() @@ -97,9 +92,6 @@ def __init__(self, parent, value): sat_widgets.Password.__init__(self, edit_text=value) - def _xmluiSetValue(self, value): - self.set_edit_text(value) - def _xmluiGetValue(self): return self.get_edit_text() @@ -109,9 +101,6 @@ def __init__(self, parent, value): sat_widgets.AdvancedEdit.__init__(self, edit_text=value, multiline=True) - def _xmluiSetValue(self, value): - self.set_edit_text(value) - def _xmluiGetValue(self): return self.get_edit_text() @@ -121,9 +110,6 @@ def __init__(self, parent, state): urwid.CheckBox.__init__(self, '', state=state) - def _xmluiSetValue(self, value): - self.set_state(value == "true") - def _xmluiGetValue(self): return "true" if self.get_state() else "false" @@ -149,21 +135,6 @@ def _xmluiGetSelectedValues(self): return [option.value for option in self.getSelectedValues()] - def _xmluiAddValues(self, values, select=True): - current_values = self.getAllValues() - new_values = copy.deepcopy(current_values) - for value in values: - if value not in current_values: - new_values.append(value) - if select: - selected = self._xmluiGetSelectedValues() - self.changeValues(new_values) - if select: - for value in values: - if value not in selected: - selected.append(value) - self._xmluiSelectValues(selected) - class PrimitivusAdvancedListContainer(xmlui.AdvancedListContainer, sat_widgets.TableContainer, PrimitivusEvents): diff -r 54cd05f68c7c -r b37b1d183ac3 frontends/src/tools/xmlui.py --- a/frontends/src/tools/xmlui.py Wed Apr 02 12:37:32 2014 +0200 +++ b/frontends/src/tools/xmlui.py Thu Apr 03 14:38:48 2014 +0200 @@ -311,10 +311,6 @@ callback_id = node.getAttribute("callback") ctrl = self.widget_factory.createButtonWidget(parent, value, self.onButtonPress) ctrl._xmlui_param_id = (callback_id, [field.getAttribute('name') for field in node.getElementsByTagName("field_back")]) - elif type_ == "internal_button": - action = node.getAttribute("action") - ctrl = self.widget_factory.createButtonWidget(parent, value, self.onInternalButtonPress) - ctrl._xmlui_param_id = (action, [field.getAttribute('name') for field in node.getElementsByTagName("internal_field")]) else: print(_("FIXME FIXME FIXME: widget type [%s] is not implemented") % type_) raise NotImplementedError(_("FIXME FIXME FIXME: type [%s] is not implemented") % type_) @@ -417,39 +413,6 @@ data[escaped] = ctrl['control']._xmluiGetValue() self._xmluiLaunchAction(callback_id, data) - def onInternalButtonPress(self, button): - """ Called when an internal XMLUI button is clicked - Do the processing associated to the button - @param button: the button clicked - - """ - action, fields = button._xmlui_param_id - if action not in ('copy', 'move'): - raise NotImplementedError(_("FIXME: XMLUI internal action [%s] is not implemented") % action) - source = None - for field in fields: - widget = self.ctrl_list[field]['control'] - if not source: - source = widget - continue - if isinstance(widget, ListWidget): - if isinstance(source, ListWidget): - values = source._xmluiGetSelectedValues() - else: - values = [source._xmluiGetValue()] - if action == 'move': - source._xmluiSetValue('') - widget._xmluiAddValues(values, select=True) - else: - if isinstance(source, ListWidget): - value = u', '.join(source._xmluiGetSelectedValues()) - else: - value = source._xmluiGetValue() - if action == 'move': - source._xmluiSetValue('') - widget._xmluiSetValue(value) - source = None - def onFormSubmitted(self, ignore=None): """ An XMLUI form has been submited call the submit action associated with this form diff -r 54cd05f68c7c -r b37b1d183ac3 frontends/src/wix/xmlui.py --- a/frontends/src/wix/xmlui.py Wed Apr 02 12:37:32 2014 +0200 +++ b/frontends/src/wix/xmlui.py Thu Apr 03 14:38:48 2014 +0200 @@ -42,10 +42,6 @@ class ValueWidget(WixWidget): - - def _xmluiSetValue(self, value): - self.SetValue(value) - def _xmluiGetValue(self): return self.GetValue() @@ -110,9 +106,6 @@ self.SetValue(state) self._xmlui_proportion = 1 - def _xmluiSetValue(self, value): - self.SetValue(value == 'true') - def _xmluiGetValue(self): return "true" if self.GetValue() else "false" @@ -160,11 +153,6 @@ ret.append(self._xmlui_attr_map[label]) return ret - def _xmluiAddValues(self, values, select=True): - wx.ListBox.AppendItems(values) - if select: - self._xmluiSelectValues(values) - class WixContainer(object): _xmlui_proportion = 1 diff -r 54cd05f68c7c -r b37b1d183ac3 src/tools/xml_tools.py --- a/src/tools/xml_tools.py Wed Apr 02 12:37:32 2014 +0200 +++ b/src/tools/xml_tools.py Thu Apr 03 14:38:48 2014 +0200 @@ -299,16 +299,6 @@ self.elem.setAttribute('name', name) -class InternalFieldElement(Element): - """ Used by InternalButtonWidget to indicate which field are manipulated by internal action """ - type = 'internal_field' - - def __init__(self, parent, name): - assert(isinstance(parent, InternalButtonWidget)) - super(InternalFieldElement, self).__init__(parent.xmlui, parent) - self.elem.setAttribute('name', name) - - class OptionElement(Element): """" Used by ListWidget to specify options """ type = 'option' @@ -631,37 +621,6 @@ FieldBackElement(self, field) -class InternalButtonWidget(Widget): - type = 'internal_button' - - def __init__(self, xmlui, action='copy', value=None, fields=None, name=None, parent=None): - """Add an button to process internal UI operations. - - The internal button is not associated to any callback id because it is - not using the bridge (no communication with the backend). - - @param action (string): a value from: - - 'copy': process the widgets given in 'fields' - two by two, by copying the values of one widget - to the other. - - 'move': same than copy but moves the values - if the source widget is not a List. - - more operation to be added when necessary... - @param value (string): label of the button - @param fields (list): a list of widget name (string) - @param name: name - @param parent: parent container - """ - if fields is None: - fields = [] - super(InternalButtonWidget, self).__init__(xmlui, name, parent) - self.elem.setAttribute('action', action) - if value: - self.elem.setAttribute('value', value) - for field in fields: - InternalFieldElement(self, field) - - class ListWidget(InputWidget): type = 'list'