[z3-checkins] r9459 - z3/Five/branch/regebro-custom_widgets

regebro at codespeak.net regebro at codespeak.net
Wed Feb 23 17:44:13 MET 2005


Author: regebro
Date: Wed Feb 23 17:44:13 2005
New Revision: 9459

Modified:
   z3/Five/branch/regebro-custom_widgets/browserconfigure.py
Log:
Override the BaseFormDirective to use ExtensionClass based mixin for CustomWidgets.

Also remove an __init__ override that shouldn't really be there.


Modified: z3/Five/branch/regebro-custom_widgets/browserconfigure.py
==============================================================================
--- z3/Five/branch/regebro-custom_widgets/browserconfigure.py	(original)
+++ z3/Five/branch/regebro-custom_widgets/browserconfigure.py	Wed Feb 23 17:44:13 2005
@@ -334,8 +334,6 @@
 
     class_.generated_form = ZopeTwoPageTemplateFile(default_template)
 
-    # Not the prettiest solution, but it works...
-    class_.__init__ = EditView.__init__
 #     XXX: replace with proper checks
 #     defineChecker(class_,
 #                   NamesChecker(("__call__", "__getitem__",
@@ -345,7 +343,14 @@
     s.provideView(for_, name, IBrowserRequest, class_, layer)
 
 
-class EditFormDirective(BaseFormDirective):
+class FiveFormDirective(BaseFormDirective):
+
+    def _processWidgets(self):
+        if self._widgets:
+            customWidgetsObject = makeClass('CustomWidgetsMixin', (ExtensionClass.Base,), self._widgets)
+            self.bases = self.bases + (customWidgetsObject,)
+
+class EditFormDirective(FiveFormDirective):
 
     view = EditView
     default_template = 'edit.pt'


More information about the z3-checkins mailing list