[Checkins] SVN: zope.app.form/trunk/src/zope/app/form/browser/itemswidgets.py Refactoring: reduce duplication.

Marius Gedminas marius at pov.lt
Mon Jul 2 05:34:50 EDT 2007


Log message for revision 77291:
  Refactoring: reduce duplication.
  
  

Changed:
  U   zope.app.form/trunk/src/zope/app/form/browser/itemswidgets.py

-=-
Modified: zope.app.form/trunk/src/zope/app/form/browser/itemswidgets.py
===================================================================
--- zope.app.form/trunk/src/zope/app/form/browser/itemswidgets.py	2007-07-02 07:48:49 UTC (rev 77290)
+++ zope.app.form/trunk/src/zope/app/form/browser/itemswidgets.py	2007-07-02 09:34:48 UTC (rev 77291)
@@ -449,27 +449,28 @@
 
     def renderItem(self, index, text, value, name, cssClass):
         """Render an item of the list."""
-        id = '%s.%s' % (name, index)
-        elem = renderElement(u'input',
-                             value=value,
-                             name=name,
-                             id=id,
-                             cssClass=cssClass,
-                             type='radio')
-        return self._joinButtonToMessageTemplate % (elem, text)
+        return self._renderItem(index, text, value, name, cssClass)
 
     def renderSelectedItem(self, index, text, value, name, cssClass):
         """Render a selected item of the list."""
+        return self._renderItem(index, text, value, name, cssClass,
+                                checked=True)
+
+    def _renderItem(self, index, text, value, name, cssClass, checked=False):
+        kw = {}
+        if checked:
+            kw['checked'] = 'checked'
         id = '%s.%s' % (name, index)
         elem = renderElement(u'input',
                              value=value,
                              name=name,
                              id=id,
                              cssClass=cssClass,
-                             checked="checked",
-                             type='radio')
-        return self._joinButtonToMessageTemplate %(elem, text)
+                             type='radio',
+                             **kw)
+        return self._joinButtonToMessageTemplate % (elem, text)
 
+
     def renderValue(self, value):
         rendered_items = self.renderItems(value)
         if self.orientation == 'horizontal':



More information about the Checkins mailing list