Index: main/waeup.sirp/branches/ulif-fasttables/src/waeup/sirp/jambtables/resultsentrywidget.pt
===================================================================
--- main/waeup.sirp/branches/ulif-fasttables/src/waeup/sirp/jambtables/resultsentrywidget.pt	(revision 5275)
+++ main/waeup.sirp/branches/ulif-fasttables/src/waeup/sirp/jambtables/resultsentrywidget.pt	(revision 5275)
@@ -0,0 +1,5 @@
+  <td class="row" tal:repeat="widget context/subwidgets">
+    <span tal:define="error widget/error"
+	  tal:replace="structure error" tal:condition="error" />
+    <span tal:replace="structure widget" />
+  </td>
Index: main/waeup.sirp/branches/ulif-fasttables/src/waeup/sirp/jambtables/resultsentrywidget.py
===================================================================
--- main/waeup.sirp/branches/ulif-fasttables/src/waeup/sirp/jambtables/resultsentrywidget.py	(revision 5275)
+++ main/waeup.sirp/branches/ulif-fasttables/src/waeup/sirp/jambtables/resultsentrywidget.py	(revision 5275)
@@ -0,0 +1,83 @@
+##
+## resultswidget.py
+## Login : <uli@pu.smp.net>
+## Started on  Tue Jul 20 02:04:30 2010 Uli Fouquet
+## $Id$
+## 
+## Copyright (C) 2010 Uli Fouquet
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+## 
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+## 
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##
+"""A widget to display ResultEntry instances in forms.
+"""
+from zope.browserpage import ViewPageTemplateFile
+from zope.formlib.interfaces import IDisplayWidget
+from zope.formlib.objectwidget import ObjectWidget, ObjectWidgetView
+from zope.formlib.utility import setUpWidgets
+from zope.schema import getFieldNamesInOrder
+
+class ResultsEntryWidgetView(ObjectWidgetView):
+    template = ViewPageTemplateFile('resultsentrywidget.pt')
+
+class ResultsEntryDisplayWidgetView(ObjectWidgetView):
+    template = ViewPageTemplateFile('resultsentrydisplaywidget.pt')
+
+    
+class ResultsEntryWidget(ObjectWidget):
+
+    def __init__(self, context, request, factory, **kw):
+        #super(ResultsEntryWidget, self).__init__(context, request)
+        super(ObjectWidget, self).__init__(context, request)
+
+        # define view that renders the widget
+        self.view = self._getView(request)
+
+        # factory used to create content that this widget (field)
+        # represents
+        self.factory = factory
+
+        # handle foo_widget specs being passed in
+        self.names = getFieldNamesInOrder(self.context.schema)
+        for k, v in kw.items():
+            if k.endswith('_widget'):
+                setattr(self, k, v)
+
+        # set up my subwidgets
+        self._setUpWidgets()
+
+    def subwidgets(self):
+        result = [self.getSubWidget(name) for name in self.names]
+        #import pdb; pdb.set_trace()
+        return result
+
+    def _setUpWidgets(self):
+        return self._setUpEditWidgets()
+
+    def _getView(self, request):
+        return ResultsEntryWidgetView(self, request)
+
+class ResultsEntryDisplayWidget(ResultsEntryWidget):
+
+    def _setUpDisplayWidgets(self):
+        # subwidgets need a new name
+        setUpWidgets(self, self.context.schema, IDisplayWidget,
+                         prefix=self.name, names=self.names,
+                         context=self.context)
+
+    def _setUpWidgets(self):
+        return self._setUpDisplayWidgets()
+
+    def _getView(self, request):
+        return ResultsEntryWidgetView(self, request)
+        return ResultsEntryDisplayWidgetView(self, request)
