[Checkins] SVN: z3ext.layoutform/tags/1.2.0/ release tag

Nikolay Kim fafhrd at datacom.kz
Sun Oct 5 15:38:16 EDT 2008


Log message for revision 91786:
  release tag

Changed:
  A   z3ext.layoutform/tags/1.2.0/
  D   z3ext.layoutform/tags/1.2.0/CHANGES.txt
  A   z3ext.layoutform/tags/1.2.0/CHANGES.txt
  D   z3ext.layoutform/tags/1.2.0/setup.py
  A   z3ext.layoutform/tags/1.2.0/setup.py
  D   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/add.py
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/add.py
  D   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/configure.zcml
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/configure.zcml
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/form.css
  D   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/form.pt
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/form.pt
  D   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formadd.pt
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formadd.pt
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formaddbuttons.pt
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formbuttons.pt
  D   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formedit.pt
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formedit.pt
  D   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formgroup.pt
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formgroup.pt
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formview.pt
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formviewspace.pt
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/interfaces.py
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/linkOpaque.gif
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/linkTransparent.gif
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/required.gif
  D   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/subform.pt
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/subform.pt
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/widget.pt
  D   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/edit.py
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/edit.py
  D   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/form.py
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/form.py
  D   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/interfaces.py
  A   z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/interfaces.py

-=-
Copied: z3ext.layoutform/tags/1.2.0 (from rev 91713, z3ext.layoutform/trunk)

Deleted: z3ext.layoutform/tags/1.2.0/CHANGES.txt
===================================================================
--- z3ext.layoutform/trunk/CHANGES.txt	2008-10-03 16:36:33 UTC (rev 91713)
+++ z3ext.layoutform/tags/1.2.0/CHANGES.txt	2008-10-05 19:38:16 UTC (rev 91786)
@@ -1,52 +0,0 @@
-=======
-CHANGES
-=======
-
-1.1.2 (2008-09-26)
-------------------
-
-- Added group support
-
-- Return added object in createAndAdd method
-
-
-1.1.1 (2008-08-05)
-------------------
-
-- Fixed wrong `for` in label tag
-
-
-1.1.0 (2008-07-22)
-------------------
-
-- Remove cancel button from edit form
-
-
-1.0.1 (2008-06-02)
-------------------
-
-- Redirect to nextURL after success 'apply'
-
-
-1.0.0 (2008-05-13)
-------------------
-
-- Use `includeDependencies` instead `autoinclude`
-
-
-0.2.0 (2008-??-??)
-------------------
-
-- Use z3c.autoinclude
-
-
-0.1.1 (2008-01-22)
-------------------
-
-- Fixed missing import in add.py
-
-
-0.1 (2008-01-19)
-----------------
-
-- Initial release

Copied: z3ext.layoutform/tags/1.2.0/CHANGES.txt (from rev 91785, z3ext.layoutform/trunk/CHANGES.txt)
===================================================================
--- z3ext.layoutform/tags/1.2.0/CHANGES.txt	                        (rev 0)
+++ z3ext.layoutform/tags/1.2.0/CHANGES.txt	2008-10-05 19:38:16 UTC (rev 91786)
@@ -0,0 +1,62 @@
+=======
+CHANGES
+=======
+
+1.2.0 (2008-10-06)
+------------------
+
+- Added default css styles
+
+- Removed z3c packages dependencies
+
+- Use pagelets instead of macros
+
+
+1.1.2 (2008-09-26)
+------------------
+
+- Added group support
+
+- Return added object in createAndAdd method
+
+
+1.1.1 (2008-08-05)
+------------------
+
+- Fixed wrong `for` in label tag
+
+
+1.1.0 (2008-07-22)
+------------------
+
+- Remove cancel button from edit form
+
+
+1.0.1 (2008-06-02)
+------------------
+
+- Redirect to nextURL after success 'apply'
+
+
+1.0.0 (2008-05-13)
+------------------
+
+- Use `includeDependencies` instead `autoinclude`
+
+
+0.2.0 (2008-??-??)
+------------------
+
+- Use z3c.autoinclude
+
+
+0.1.1 (2008-01-22)
+------------------
+
+- Fixed missing import in add.py
+
+
+0.1 (2008-01-19)
+----------------
+
+- Initial release

Deleted: z3ext.layoutform/tags/1.2.0/setup.py
===================================================================
--- z3ext.layoutform/trunk/setup.py	2008-10-03 16:36:33 UTC (rev 91713)
+++ z3ext.layoutform/tags/1.2.0/setup.py	2008-10-05 19:38:16 UTC (rev 91786)
@@ -1,71 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2007 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Setup for z3ext.layoutform package
-
-$Id$
-"""
-import sys, os
-from setuptools import setup, find_packages
-
-def read(*rnames):
-    return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
-
-version='1.1.3dev'
-
-
-setup(name='z3ext.layoutform',
-      version=version,
-      description="UI Skin for z3c.form based on z3ext.layout",
-      long_description=(
-          'Detailed Documentation\n' +
-          '======================\n'
-          + '\n\n' +
-          read('CHANGES.txt')
-          ),
-      classifiers=[
-        'Development Status :: 5 - Production/Stable',
-        'Environment :: Web Environment',
-        'Intended Audience :: Developers',
-        'License :: OSI Approved :: Zope Public License',
-        'Programming Language :: Python',
-        'Natural Language :: English',
-        'Operating System :: OS Independent',
-        'Topic :: Internet :: WWW/HTTP',
-        'Framework :: Zope3'],
-      author='Nikolay Kim',
-      author_email='fafhrd91 at gmail.com',
-      url='http://z3ext.net/',
-      license='ZPL 2.1',
-      packages=find_packages('src'),
-      package_dir = {'':'src'},
-      namespace_packages=['z3ext'],
-      install_requires = ['setuptools',
-			  'zope.publisher',
-			  'zope.component',
-			  'zope.pagetemplate',
-			  'zope.app.pagetemplate',
-			  'zope.i18nmessageid',
-			  'zope.lifecycleevent',
-
-			  'z3c.form',
-                          'z3c.macro',
-                          'z3c.template',
-			  'z3c.autoinclude',
-
-                          'z3ext.layout',
-			  'z3ext.statusmessage',
-                          ],
-      include_package_data = True,
-      zip_safe = False
-      )

Copied: z3ext.layoutform/tags/1.2.0/setup.py (from rev 91785, z3ext.layoutform/trunk/setup.py)
===================================================================
--- z3ext.layoutform/tags/1.2.0/setup.py	                        (rev 0)
+++ z3ext.layoutform/tags/1.2.0/setup.py	2008-10-05 19:38:16 UTC (rev 91786)
@@ -0,0 +1,68 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Setup for z3ext.layoutform package
+
+$Id$
+"""
+import sys, os
+from setuptools import setup, find_packages
+
+def read(*rnames):
+    return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
+
+version='1.2.0'
+
+
+setup(name='z3ext.layoutform',
+      version=version,
+      description="UI Skin for z3c.form based on z3ext.layout",
+      long_description=(
+          'Detailed Documentation\n' +
+          '======================\n'
+          + '\n\n' +
+          read('CHANGES.txt')
+          ),
+      classifiers=[
+        'Development Status :: 5 - Production/Stable',
+        'Environment :: Web Environment',
+        'Intended Audience :: Developers',
+        'License :: OSI Approved :: Zope Public License',
+        'Programming Language :: Python',
+        'Natural Language :: English',
+        'Operating System :: OS Independent',
+        'Topic :: Internet :: WWW/HTTP',
+        'Framework :: Zope3'],
+      author='Nikolay Kim',
+      author_email='fafhrd91 at gmail.com',
+      url='http://z3ext.net/',
+      license='ZPL 2.1',
+      packages=find_packages('src'),
+      package_dir = {'':'src'},
+      namespace_packages=['z3ext'],
+      install_requires = ['setuptools',
+			  'zope.publisher',
+			  'zope.component',
+			  'zope.pagetemplate',
+			  'zope.app.pagetemplate',
+			  'zope.i18nmessageid',
+			  'z3c.autoinclude',
+
+                          'z3ext.layout>=1.5.0',
+                          'z3ext.resource>=1.2.0',
+			  'z3ext.resourcepackage>=1.2.0',
+			  'z3ext.statusmessage',
+                          ],
+      include_package_data = True,
+      zip_safe = False
+      )

Deleted: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/add.py
===================================================================
--- z3ext.layoutform/trunk/src/z3ext/layoutform/add.py	2008-10-03 16:36:33 UTC (rev 91713)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/add.py	2008-10-05 19:38:16 UTC (rev 91786)
@@ -1,93 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2007 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Support for Layout Templates
-
-$Id$
-"""
-from zope import interface
-from zope.traversing.browser import absoluteURL
-from zope.app.container.interfaces import IAdding
-from zope.app.container.interfaces import IWriteContainer
-from zope.app.container.interfaces import IContainerNamesContainer
-
-from z3c.form import form, button
-from z3ext.layout.pagelet import BrowserPagelet
-from z3ext.statusmessage.interfaces import IStatusMessage
-
-from interfaces import _, IPageletAddForm, IAddButton, ICancelButton
-
-
-class PageletAddForm(form.AddForm, BrowserPagelet):
-    interface.implements(IPageletAddForm)
-
-    render = BrowserPagelet.render
-    __call__ = BrowserPagelet.__call__
-
-    _addedObject = None
-
-    formCancelMessage = _(u'Action has been canceled.')
-
-    @button.buttonAndHandler(_(u'Add'), name='add', provides=IAddButton)
-    def handleAdd(self, action):
-        data, errors = self.extractData()
-
-        if errors:
-            IStatusMessage(self.request).add(self.formErrorsMessage, 'warning')
-        else:
-            obj = self.createAndAdd(data)
-
-            if obj is not None:
-                self._addedObject = obj
-                self._finishedAdd = True
-                self.redirect(self.nextURL())
-
-    @button.buttonAndHandler(_(u'Cancel'), name='cancel', provides=ICancelButton)
-    def handleCancel(self, action):
-        self._finishedAdd = True
-        self.redirect(self.cancelURL())
-        IStatusMessage(self.request).add(self.formCancelMessage)
-
-    def createAndAdd(self, data):
-        obj = self.create(data)
-        addedObj = self.add(obj)
-        if addedObj is not None:
-            return addedObj
-        return obj
-
-    def nextURL(self):
-        if self._addedObject is None:
-            return '%s/@@SelectedManagementView.html'%\
-                   absoluteURL(self.context, self.request)
-        else:
-            return absoluteURL(self._addedObject, self.request) + '/'
-
-    def cancelURL(self):
-        context = self.context
-
-        if IAdding.providedBy(context):
-            return '%s/'%absoluteURL(context.context, self.request)
-        else:
-            return '%s/'%absoluteURL(context, self.request)
-
-    def nameAllowed(self):
-        """Return whether names can be input by the user."""
-        context = self.context
-
-        if IAdding.providedBy(context):
-            context = context.context
-
-        if IWriteContainer.providedBy(context):
-            return not IContainerNamesContainer.providedBy(context)
-        else:
-            return False

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/add.py (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/add.py)
===================================================================
--- z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/add.py	                        (rev 0)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/add.py	2008-10-05 19:38:16 UTC (rev 91786)
@@ -0,0 +1,93 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Support for Layout Templates
+
+$Id$
+"""
+from zope import interface
+from zope.traversing.browser import absoluteURL
+from zope.app.container.interfaces import IAdding
+from zope.app.container.interfaces import IWriteContainer
+from zope.app.container.interfaces import IContainerNamesContainer
+
+from z3c.form import form, button
+from z3ext.statusmessage.interfaces import IStatusMessage
+
+from form import PageletForm
+from interfaces import _, IPageletAddForm, IAddButton, ICancelButton
+
+
+class PageletAddForm(form.AddForm, PageletForm):
+    interface.implements(IPageletAddForm)
+
+    render = PageletForm.render
+    __call__ = PageletForm.__call__
+
+    _addedObject = None
+
+    formCancelMessage = _(u'Action has been canceled.')
+
+    @button.buttonAndHandler(_(u'Add'), name='add', provides=IAddButton)
+    def handleAdd(self, action):
+        data, errors = self.extractData()
+
+        if errors:
+            IStatusMessage(self.request).add(self.formErrorsMessage, 'warning')
+        else:
+            obj = self.createAndAdd(data)
+
+            if obj is not None:
+                self._addedObject = obj
+                self._finishedAdd = True
+                self.redirect(self.nextURL())
+
+    @button.buttonAndHandler(_(u'Cancel'), name='cancel', provides=ICancelButton)
+    def handleCancel(self, action):
+        self._finishedAdd = True
+        self.redirect(self.cancelURL())
+        IStatusMessage(self.request).add(self.formCancelMessage)
+
+    def createAndAdd(self, data):
+        obj = self.create(data)
+        addedObj = self.add(obj)
+        if addedObj is not None:
+            return addedObj
+        return obj
+
+    def nextURL(self):
+        if self._addedObject is None:
+            return '%s/@@SelectedManagementView.html'%\
+                   absoluteURL(self.context, self.request)
+        else:
+            return absoluteURL(self._addedObject, self.request) + '/'
+
+    def cancelURL(self):
+        context = self.context
+
+        if IAdding.providedBy(context):
+            return '%s/'%absoluteURL(context.context, self.request)
+        else:
+            return '%s/'%absoluteURL(context, self.request)
+
+    def nameAllowed(self):
+        """Return whether names can be input by the user."""
+        context = self.context
+
+        if IAdding.providedBy(context):
+            context = context.context
+
+        if IWriteContainer.providedBy(context):
+            return not IContainerNamesContainer.providedBy(context)
+        else:
+            return False

Deleted: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/configure.zcml
===================================================================
--- z3ext.layoutform/trunk/src/z3ext/layoutform/browser/configure.zcml	2008-10-03 16:36:33 UTC (rev 91713)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/configure.zcml	2008-10-05 19:38:16 UTC (rev 91786)
@@ -1,108 +0,0 @@
-<configure 
-   xmlns="http://namespaces.zope.org/zope"
-   xmlns:z3c="http://namespaces.zope.org/z3c">
-
-  <!-- buttons -->
-  <adapter 
-     provides="z3c.form.interfaces.IButtonAction"
-     factory=".buttons.ButtonAction" />
-
-  <adapter 
-     provides="z3c.form.interfaces.IButtonAction"
-     factory=".buttons.AddButtonAction" />
-
-  <adapter 
-     provides="z3c.form.interfaces.IButtonAction"
-     factory=".buttons.SaveButtonAction" />
-
-  <adapter 
-     provides="z3c.form.interfaces.IButtonAction"
-     factory=".buttons.CancelButtonAction" />
-
-  <!-- TextArea widget -->
-  <class class=".textarea.TextAreaWidget">
-    <require
-       permission="zope.Public"
-       interface="z3c.form.interfaces.ITextAreaWidget" />
-  </class>
-  
-  <adapter 
-     for="zope.schema.interfaces.IText
-          ..interfaces.ILayoutFormLayer"
-     factory=".textarea.TextAreaFieldWidget" />
-
-  <!-- templates -->
-  <z3c:template
-     template="form.pt"
-     for="..interfaces.IPageletForm"
-     layer="..interfaces.ILayoutFormLayer" />
-
-  <z3c:template
-     template="formadd.pt"
-     for="..interfaces.IPageletAddForm"
-     layer="..interfaces.ILayoutFormLayer" />
-
-  <z3c:template
-     template="formedit.pt"
-     for="..interfaces.IPageletEditForm"
-     layer="..interfaces.ILayoutFormLayer" />
-
-  <z3c:template
-     template="subform.pt"
-     for="z3c.form.interfaces.ISubForm"
-     layer="..interfaces.ILayoutFormLayer" />
-
-  <z3c:template
-     template="formgroup.pt"
-     for="z3c.form.group.Group"
-     layer="..interfaces.ILayoutFormLayer" />
-
-  <!-- Error View -->
-  <z3c:template
-     for="z3c.form.interfaces.IErrorViewSnippet"
-     template="error.pt"
-     layer="..interfaces.ILayoutFormLayer" />
-
-  <!-- form macros -->
-  <z3c:macro
-     view="..interfaces.IPageletForm"
-     name="form"
-     template="form.pt"
-     layer="..interfaces.ILayoutFormLayer" />
-
-  <z3c:macro
-     view="z3c.form.interfaces.IForm"
-     name="form-header"
-     macro="header"
-     template="form.pt"
-     layer="..interfaces.ILayoutFormLayer" />
-
-  <z3c:macro
-     view="z3c.form.interfaces.IForm"
-     name="widget-rows"
-     macro="widget-rows"
-     template="form.pt"
-     layer="..interfaces.ILayoutFormLayer" />
-
-  <z3c:macro
-     view="z3c.form.interfaces.IForm"
-     name="widget-row"
-     macro="widget-row"
-     template="form.pt"
-     layer="..interfaces.ILayoutFormLayer" />
-
-  <z3c:macro
-     view="..interfaces.IPageletForm"
-     name="form-buttons"
-     macro="buttons"
-     template="form.pt"
-     layer="..interfaces.ILayoutFormLayer" />
-
-  <z3c:macro
-     view="..interfaces.IPageletAddForm"
-     name="form-buttons"
-     macro="buttons"
-     template="formadd.pt"
-     layer="..interfaces.ILayoutFormLayer" />
-
-</configure>

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/configure.zcml (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/browser/configure.zcml)
===================================================================
--- z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/configure.zcml	                        (rev 0)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/configure.zcml	2008-10-05 19:38:16 UTC (rev 91786)
@@ -0,0 +1,136 @@
+<configure 
+   xmlns="http://namespaces.zope.org/zope"
+   xmlns:z3ext="http://namespaces.zope.org/z3ext">
+
+  <!-- buttons -->
+  <adapter 
+     provides="z3c.form.interfaces.IButtonAction"
+     factory=".buttons.ButtonAction" />
+
+  <adapter 
+     provides="z3c.form.interfaces.IButtonAction"
+     factory=".buttons.AddButtonAction" />
+
+  <adapter 
+     provides="z3c.form.interfaces.IButtonAction"
+     factory=".buttons.SaveButtonAction" />
+
+  <adapter 
+     provides="z3c.form.interfaces.IButtonAction"
+     factory=".buttons.CancelButtonAction" />
+
+  <!-- TextArea widget -->
+  <class class=".textarea.TextAreaWidget">
+    <require
+       permission="zope.Public"
+       interface="z3c.form.interfaces.ITextAreaWidget" />
+  </class>
+  
+  <adapter 
+     for="zope.schema.interfaces.IText
+          ..interfaces.ILayoutFormLayer"
+     factory=".textarea.TextAreaFieldWidget" />
+
+  <!-- templates -->
+  <z3ext:pagelet
+     template="form.pt"
+     for="..interfaces.IPageletForm"
+     layer="..interfaces.ILayoutFormLayer"
+     provides="..interfaces.IPageletFormView"
+     permission="zope.Public" />
+
+  <z3ext:pagelet
+     template="formadd.pt"
+     for="..interfaces.IPageletAddForm"
+     layer="..interfaces.ILayoutFormLayer"
+     provides="..interfaces.IPageletFormView"
+     permission="zope.Public" />
+
+  <z3ext:pagelet
+     template="formedit.pt"
+     for="..interfaces.IPageletEditForm"
+     layer="..interfaces.ILayoutFormLayer"
+     provides="..interfaces.IPageletFormView"
+     permission="zope.Public" />
+
+  <z3ext:pagelet
+     template="subform.pt"
+     for="z3c.form.interfaces.ISubForm"
+     layer="..interfaces.ILayoutFormLayer"
+     provides="..interfaces.IPageletFormView"
+     permission="zope.Public" />
+
+  <z3ext:pagelet
+     template="formgroup.pt"
+     for="z3c.form.group.Group"
+     layer="..interfaces.ILayoutFormLayer"
+     provides="..interfaces.IPageletFormView"
+     permission="zope.Public" />
+
+  <!-- Error View -->
+  <z3ext:pagelet
+     for="z3c.form.interfaces.IErrorViewSnippet"
+     template="error.pt"
+     layer="..interfaces.ILayoutFormLayer"
+     permission="zope.Public" />
+
+  <!-- form view -->
+  <z3ext:pagelet
+     for="z3c.form.interfaces.IForm"
+     template="formview.pt"
+     provides="z3ext.layoutform.browser.interfaces.IForm"
+     layer="..interfaces.ILayoutFormLayer"
+     permission="zope.Public" />
+
+  <!-- viewspace view -->
+  <z3ext:pagelet
+     for="..interfaces.IPageletForm"
+     template="formviewspace.pt"
+     provides="z3ext.layoutform.browser.interfaces.IViewspace"
+     layer="..interfaces.ILayoutFormLayer"
+     permission="zope.Public" />
+
+  <!-- form buttons -->
+  <z3ext:pagelet
+     for="..interfaces.IPageletForm"
+     template="formbuttons.pt"
+     provides="z3ext.layoutform.browser.interfaces.IFormButtons"
+     layer="..interfaces.ILayoutFormLayer"
+     permission="zope.Public" />
+
+  <!-- widget view -->
+  <z3ext:pagelet
+     for="z3c.form.interfaces.IWidget"
+     template="widget.pt"
+     provides="z3ext.layoutform.browser.interfaces.IWidget"
+     layer="..interfaces.ILayoutFormLayer"
+     permission="zope.Public" />
+
+  <!-- add form buttons -->
+  <z3ext:pagelet
+     for="..interfaces.IPageletAddForm"
+     template="formaddbuttons.pt"
+     provides="z3ext.layoutform.browser.interfaces.IFormButtons"
+     layer="..interfaces.ILayoutFormLayer"
+     permission="zope.Public" />
+
+  <!-- styles -->
+  <z3ext:resourceinclude
+     name="z3ext-layoutform.css"
+     library="z3ext"
+     type="stylesheet"
+     file="form.css" filetype="zrt" />
+
+  <z3ext:resource
+     file="required.gif"
+     name="z3ext-layoutform-required.gif" />
+
+  <z3ext:resource
+     file="linkOpaque.gif"
+     name="z3ext-layoutform-linkOpaque.gif" />
+
+  <z3ext:resource
+     file="linkTransparent.gif"
+     name="z3ext-layoutform-linkTransparent.gif" />
+
+</configure>

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/form.css (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/browser/form.css)
===================================================================
--- z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/form.css	                        (rev 0)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/form.css	2008-10-05 19:38:16 UTC (rev 91786)
@@ -0,0 +1,182 @@
+/* zrt-cssregistry: */
+
+ at media all {
+
+  .z-form {
+  }
+
+  .z-page .z-form-add,
+  .z-page .z-form-edit {
+    border: borderWidth borderStyle globalExtraBorderColor;
+    margin-top: 0em;
+    padding: 1em;
+    background: contentBackgroundColor;
+  }
+  
+  .z-frame .z-form-edit,
+  .z-frame .z-form-standard,
+  #z-context-view .z-form-edit,
+  #z-context-view .z-form-standard,
+  .z-topframe .z-form-standard {
+    border: none;
+    padding: 0em;
+  }
+
+  .z-add-form {
+    padding: 1em;
+  }
+
+  .z-form-description { 
+    color: discreetColor;
+    margin-bottom: 1.5em;
+    font-size: 90%;
+  }
+  
+  .z-form-field .z-form-description {
+    color: discreetColor;
+    font-size: fontSmallSize;
+    font-weight: normal;
+    margin-bottom: 1.5em;
+  }
+  
+  .z-form-fieldset {
+    margin-bottom: 1em;
+    color: fontColor !important;
+    background-color: backgroundColor;
+    padding: 0.5em 1em 0.5em 1em;
+  }
+  
+  .z-form-fieldset.last {
+    margin-bottom: 0em;
+  }
+  
+  .z-form form:first-child > .z-form-fieldset {
+    margin-top: 0em;
+  }
+  
+  .z-form-fieldset ul a {
+    text-decoration: none;
+    border-bottom: borderWidth dotted discreetColor;
+  }
+  
+  .z-form-fieldset label {
+    font-weight: normal;
+  }
+  
+  .z-form-fieldset h2 { 
+    font-weight: bold;
+  }
+  
+  .z-form-fieldset .header {
+    border-bottom: borderWidth borderStyle globalBorderColor;
+  }
+  
+  /* The edit form elements */
+  .z-form-field {
+    margin: 0 1em 1em 0;
+  }
+  
+  .z-form-field .z-form-field {
+    margin: 1em 0 0 0;
+  }
+  
+  .z-form-field label {
+    font-size: 100%;
+  }
+  
+  .z-form-fieldRequired {
+    background: url(z3ext-layoutform-required.gif) center left no-repeat;
+    padding: 0 0 0 8px;
+    color: backgroundColor;
+  }
+  
+  .z-form-fieldUploadFile {
+    text-align: right; 
+    margin-right: 0.75em;
+    display: none;
+  }
+  
+  .z-form-fieldTextFormat {
+    text-align: right;
+    margin-right: 0.75em
+  }
+  
+  .z-form-help {
+    font-size: fontSmallSize;
+    color: discreetColor;
+    margin: 0 0 0.2em 0;
+  }
+  
+  .z-form-help:hover {
+    color: fontColor;
+    cursor: default;
+  }
+  
+  .z-form-field.error {
+    /* Class for error indication in forms */
+    background-color: notifyBackgroundColor;
+    border: borderWidth borderStyle notifyBorderColor;
+    padding: 1em;
+    margin: 0 0 1em 0;
+    width: 95%;
+  }
+  
+  .z-form-field.error .x-form-fieldRequired {
+    color: notifyBackgroundColor;
+  }
+  
+  .z-form-controls {
+    clear: both;
+    margin-top: 1em;
+  }
+  
+  
+  .z-form-button {
+    background: transparent url(z3ext-layoutform-linkTransparent.gif) no-repeat;
+    background-position: 5px center;
+    cursor: pointer;
+    font-size: fontSmallSize;
+    padding: 1px 1px 1px 14px;
+  }
+  
+  .z-form-standalonebtn {
+    background: globalBackgroundColor url(z3ext-layoutform-linkOpaque.gif) no-repeat;
+    background-position: 5px center;
+    cursor: pointer;
+    font-size: fontSmallSize;
+    padding: 1px 1px 1px 14px;
+  }
+  
+  .z-form-addbutton {
+    background: transparent url(z3ext-layoutform-linkTransparent.gif) no-repeat;
+    background-position: 5px center;
+    cursor: pointer;
+    font-size: fontSmallSize;
+    padding: 1px 1px 1px 14px;
+  }
+  
+  .z-form-savebutton {
+    background: transparent url(z3ext-layoutform-linkTransparent.gif) no-repeat;
+    background-position: 5px center;
+    cursor: pointer;
+    font-size: fontSmallSize;
+    padding: 1px 1px 1px 14px;
+  }
+  
+  .z-form-cancelbutton {
+    background: globalBackgroundColor url(z3ext-layoutform-linkOpaque.gif) no-repeat;
+    background-position: 5px center;
+    cursor: pointer;
+    font-size: fontSmallSize;
+    padding: 1px 1px 1px 14px;
+  }
+  
+  .z-form-removebutton {
+    background: globalBackgroundColor url(z3ext-layoutform-linkOpaque.gif) no-repeat;
+    background-position: 5px center;
+    cursor: pointer;
+    font-size: fontSmallSize;
+    padding: 1px 1px 1px 14px;
+  }
+
+}
\ No newline at end of file

Deleted: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/form.pt
===================================================================
--- z3ext.layoutform/trunk/src/z3ext/layoutform/browser/form.pt	2008-10-03 16:36:33 UTC (rev 91713)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/form.pt	2008-10-05 19:38:16 UTC (rev 91786)
@@ -1,75 +0,0 @@
-<div class="z-form z-form-standard" i18n:domain="z3ext">
-  <form action="." method="post" enctype="multipart/form-data" 
-	tal:attributes="method view/method;
-			enctype view/enctype;
-			acceptCharset view/acceptCharset;
-			accept view/accept;
-			action view/action;
-			name view/name;
-			id view/id"
-	metal:define-macro="form">
-
-    <div metal:define-slot="viewspace">
-      <metal:block define-macro="header">
-	<metal:block define-slot="header">
-	  <h1 i18n:translate=""
-	      tal:condition="view/label|nothing"
-	      tal:content="view/label|nothing"
-	      metal:define-slot="heading">Do something</h1>
-	  <div class="z-form-description" 
-	       tal:condition="view/description|nothing"
-	       tal:content="view/description|nothing"></div>
-	</metal:block>
-      </metal:block>
-
-      <div metal:define-slot="extra-info" tal:replace="nothing"></div>
-
-      <div metal:define-slot="main">
-	<div class="z-form-fieldset">
-	  <metal:block define-macro="widget-rows">
-	    <metal:block metal:define-slot="extra-top" />
-
-	    <tal:block tal:repeat="widget view/widgets/values">
-	      <div class="z-form-field" metal:define-macro="widget-row"
-		   tal:define="error widget/error|nothing"
-		   tal:attributes="class python:error and 'z-form-field error' or 'z-form-field'">
-		<label tal:attributes="for widget/id;
-				       title widget/field/description"
-		       tal:content="widget/label">The Label</label>
-
-		<span class="z-form-fieldRequired" tal:condition="widget/required">&nbsp;</span>
-
-		<div tal:condition="error" tal:replace="structure error/render">
-		  The Error
-		</div>
-		<div class="z-form-help" tal:content="structure widget/field/description"></div>
-		<div tal:content="structure widget/render">
-		  <input type="text" style="width:100%"/>
-		</div>
-	      </div>
-	    </tal:block>
-	    
-	    <tal:block tal:repeat="group view/groups|python:[]">
-	      <tal:block tal:content="structure python:group.render()" />
-	    </tal:block>
-
-	    <metal:block metal:define-slot="extra-bottom" />
-	  </metal:block>
-	</div>
-      </div>
-      <metal:block define-slot="above-buttons"></metal:block>
-    </div>
-
-    <metal:block define-slot="buttons">
-      <div class="z-form-controls" metal:define-macro="buttons">
-	<span tal:condition="view/actions/values"
-	      metal:define-slot="bottom_buttons">
-	  <hr />
-	  <input tal:repeat="action view/actions/values"
-		 tal:replace="structure action/render" />
-	</span>
-	<metal:block define-slot="bottom-buttons"/>
-      </div>
-    </metal:block>
-  </form>
-</div>

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/form.pt (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/browser/form.pt)
===================================================================
--- z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/form.pt	                        (rev 0)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/form.pt	2008-10-05 19:38:16 UTC (rev 91786)
@@ -0,0 +1,4 @@
+<div class="z-form z-form-standard"
+     tal:content="structure
+		  context/@@pagelet/z3ext.layoutform.browser.interfaces.IForm">
+</div>

Deleted: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formadd.pt
===================================================================
--- z3ext.layoutform/trunk/src/z3ext/layoutform/browser/formadd.pt	2008-10-03 16:36:33 UTC (rev 91713)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formadd.pt	2008-10-05 19:38:16 UTC (rev 91786)
@@ -1,25 +0,0 @@
-<div class="z-form z-form-add" i18n:domain="z3ext">
-  <metal:block metal:use-macro="macro:form">
-    <metal:block metal:fill-slot="buttons">
-      <div class="z-form-controls" metal:define-macro="buttons">
-	<hr />
-	<div class="z-form-field" tal:condition="view/nameAllowed|nothing">
-	  <label i18n:translate="" for="add_input_name">Content short name</label>
-	  <div class="z-form-help" i18n:translate="">
-	    Should not contain spaces, underscores or mixed case. 
-	    Short Name is part of the item's web address.
-	  </div>
-	  <div>
-	    <input type="text" name="add_input_name" id="add_input_name"
-		   tal:attributes="value request/add_input_name | nothing" />
-	  </div>
-	</div>
-
-	<span tal:condition="view/actions/values">
-	  <input tal:repeat="action view/actions/values"
-		 tal:replace="structure action/render" />
-	</span>
-      </div>
-    </metal:block>
-  </metal:block>
-</div>

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formadd.pt (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/browser/formadd.pt)
===================================================================
--- z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formadd.pt	                        (rev 0)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formadd.pt	2008-10-05 19:38:16 UTC (rev 91786)
@@ -0,0 +1,4 @@
+<div class="z-form z-form-add"
+     tal:content="structure
+		  context/@@pagelet/z3ext.layoutform.browser.interfaces.IForm">
+</div>

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formaddbuttons.pt (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/browser/formaddbuttons.pt)
===================================================================
--- z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formaddbuttons.pt	                        (rev 0)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formaddbuttons.pt	2008-10-05 19:38:16 UTC (rev 91786)
@@ -0,0 +1,19 @@
+<div class="z-form-controls" i18n:domain="z3ext">
+  <hr />
+  <div class="z-form-field" tal:condition="context/nameAllowed|nothing">
+    <label i18n:translate="" for="add_input_name">Content short name</label>
+    <div class="z-form-help" i18n:translate="">
+      Should not contain spaces, underscores or mixed case. 
+      Short Name is part of the item's web address.
+    </div>
+    <div>
+      <input type="text" name="add_input_name" id="add_input_name"
+	     tal:attributes="value request/add_input_name | nothing" />
+    </div>
+  </div>
+  
+  <span tal:condition="context/actions/values">
+    <input tal:repeat="action context/actions/values"
+	   tal:replace="structure action/render" />
+  </span>
+</div>

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formbuttons.pt (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/browser/formbuttons.pt)
===================================================================
--- z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formbuttons.pt	                        (rev 0)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formbuttons.pt	2008-10-05 19:38:16 UTC (rev 91786)
@@ -0,0 +1,7 @@
+<div class="z-form-controls">
+  <span tal:condition="context/actions/values">
+    <hr />
+    <input tal:repeat="action context/actions/values"
+	   tal:replace="structure action/render" />
+  </span>
+</div>

Deleted: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formedit.pt
===================================================================
--- z3ext.layoutform/trunk/src/z3ext/layoutform/browser/formedit.pt	2008-10-03 16:36:33 UTC (rev 91713)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formedit.pt	2008-10-05 19:38:16 UTC (rev 91786)
@@ -1,3 +0,0 @@
-<div class="z-form z-form-edit">
-  <metal:block metal:use-macro="macro:form" />
-</div>

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formedit.pt (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/browser/formedit.pt)
===================================================================
--- z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formedit.pt	                        (rev 0)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formedit.pt	2008-10-05 19:38:16 UTC (rev 91786)
@@ -0,0 +1,4 @@
+<div class="z-form z-form-edit"
+     tal:content="structure
+		  context/@@pagelet/z3ext.layoutform.browser.interfaces.IForm">
+</div>

Deleted: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formgroup.pt
===================================================================
--- z3ext.layoutform/trunk/src/z3ext/layoutform/browser/formgroup.pt	2008-10-03 16:36:33 UTC (rev 91713)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formgroup.pt	2008-10-05 19:38:16 UTC (rev 91786)
@@ -1,8 +0,0 @@
-<fieldset>
-  <legend tal:content="view/label"></legend>
-  <div class="pageDescription" tal:content="view/description|nothing"></div>
-
-  <tal:block tal:repeat="widget view/widgets/values">
-    <metal:block use-macro="macro:widget-row" />
-  </tal:block>
-</fieldset>

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formgroup.pt (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/browser/formgroup.pt)
===================================================================
--- z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formgroup.pt	                        (rev 0)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formgroup.pt	2008-10-05 19:38:16 UTC (rev 91786)
@@ -0,0 +1,8 @@
+<fieldset>
+  <legend tal:content="context/label"></legend>
+  <div class="pageDescription" tal:content="context/description|nothing"></div>
+
+  <tal:block tal:repeat="widget context/widgets/values"
+       tal:content="structure 
+           widget/@@pagelet/z3ext.layoutform.browser.interfaces.IWidget" />
+</fieldset>

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formview.pt (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/browser/formview.pt)
===================================================================
--- z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formview.pt	                        (rev 0)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formview.pt	2008-10-05 19:38:16 UTC (rev 91786)
@@ -0,0 +1,15 @@
+<form action="." method="post" enctype="multipart/form-data" 
+      tal:attributes="method context/method;
+		      enctype context/enctype;
+		      acceptCharset context/acceptCharset;
+		      accept context/accept;
+		      action context/action;
+		      name context/name;
+		      id context/id">
+
+  <tal:block tal:content="structure
+	  context/@@pagelet/z3ext.layoutform.browser.interfaces.IViewspace" />
+
+  <tal:block tal:content="structure
+	  context/@@pagelet/z3ext.layoutform.browser.interfaces.IFormButtons" />
+</form>

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formviewspace.pt (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/browser/formviewspace.pt)
===================================================================
--- z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formviewspace.pt	                        (rev 0)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/formviewspace.pt	2008-10-05 19:38:16 UTC (rev 91786)
@@ -0,0 +1,11 @@
+<h1 tal:condition="context/label|nothing"
+    tal:content="context/label|nothing">Do something</h1>
+<div class="z-form-description" 
+     tal:condition="context/description|nothing"
+     tal:content="context/description|nothing"></div>
+
+<div class="z-form-fieldset">
+  <tal:block tal:repeat="widget context/widgets/values"
+       tal:content="structure 
+           widget/@@pagelet/z3ext.layoutform.browser.interfaces.IWidget" />
+</div>

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/interfaces.py (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/browser/interfaces.py)
===================================================================
--- z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/interfaces.py	                        (rev 0)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/interfaces.py	2008-10-05 19:38:16 UTC (rev 91786)
@@ -0,0 +1,34 @@
+##############################################################################
+#
+# Copyright (c) 2008 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" 
+
+$Id:  2007-12-12 12:27:02Z fafhrd $
+"""
+from zope import interface
+
+
+class IForm(interface.Interface):
+    """ form view """
+
+
+class IWidget(interface.Interface):
+    """ widget view """
+
+
+class IViewspace(interface.Interface):
+    """ form viewspace """
+
+
+class IFormButtons(interface.Interface):
+    """ form buttons """

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/linkOpaque.gif (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/browser/linkOpaque.gif)
===================================================================
(Binary files differ)

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/linkTransparent.gif (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/browser/linkTransparent.gif)
===================================================================
(Binary files differ)

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/required.gif (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/browser/required.gif)
===================================================================
(Binary files differ)

Deleted: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/subform.pt
===================================================================
--- z3ext.layoutform/trunk/src/z3ext/layoutform/browser/subform.pt	2008-10-03 16:36:33 UTC (rev 91713)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/subform.pt	2008-10-05 19:38:16 UTC (rev 91786)
@@ -1,24 +0,0 @@
-<div class="fieldset">
-  <h1 i18n:translate=""
-      tal:condition="view/label|nothing"
-      tal:content="view/label|nothing">Do something</h1>
-  <div class="formDescription" tal:content="view/description|nothing"></div>
-  
-  <metal:block define-macro="widget-rows">
-    <metal:block metal:define-slot="extra_top" />
-    
-    <tal:block tal:repeat="widget view/widgets/values">
-      <metal:block use-macro="context/@@form_macros/widget_row"/>
-    </tal:block>
-    
-    <metal:block metal:define-slot="extra-bottom" />
-  </metal:block>
-</div>
-
-<tal:block tal:condition="view/actions|nothing">
-  <hr />
-  <span class="buttons">
-    <input tal:repeat="action view/actions/values"
-	   tal:replace="structure action/render" />
-  </span>
-</tal:block>

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/subform.pt (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/browser/subform.pt)
===================================================================
--- z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/subform.pt	                        (rev 0)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/subform.pt	2008-10-05 19:38:16 UTC (rev 91786)
@@ -0,0 +1,13 @@
+<div class="z-form-fieldset">
+  <h1 tal:condition="context/label|nothing"
+      tal:content="context/label|nothing">Do something</h1>
+  <div class="z-form-description" 
+       tal:content="context/description|nothing"></div>
+
+  <tal:block tal:repeat="widget context/widgets/values"
+       tal:content="structure 
+           widget/@@pagelet/z3ext.layoutform.browser.interfaces.IWidget" />
+</div>
+
+<tal:block tal:content="structure
+	context/@@pagelet/z3ext.layoutform.browser.interfaces.IFormButtons" />

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/widget.pt (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/browser/widget.pt)
===================================================================
--- z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/widget.pt	                        (rev 0)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/browser/widget.pt	2008-10-05 19:38:16 UTC (rev 91786)
@@ -0,0 +1,17 @@
+<div class="z-form-field"
+     tal:define="error context/error|nothing"
+     tal:attributes="class python:error and'z-form-field error'or'z-form-field'">
+  <label tal:attributes="for context/id;
+			 title context/field/description"
+	 tal:content="context/label">The Label</label>
+  <span class="z-form-fieldRequired"
+	tal:condition="context/required">&nbsp;</span>
+  <div tal:condition="error" tal:replace="structure error/render">
+    The Error
+  </div>
+  <div class="z-form-help" 
+       tal:content="structure context/field/description"></div>
+  <div tal:content="structure context/render">
+    <input type="text" style="width:100%" />
+  </div>
+</div>

Deleted: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/edit.py
===================================================================
--- z3ext.layoutform/trunk/src/z3ext/layoutform/edit.py	2008-10-03 16:36:33 UTC (rev 91713)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/edit.py	2008-10-05 19:38:16 UTC (rev 91786)
@@ -1,56 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2008 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-""" 
-
-$Id$
-"""
-from zope import interface, event
-from zope.traversing.browser import absoluteURL
-from zope.lifecycleevent import ObjectCreatedEvent
-from zope.app.container.interfaces import IAdding
-from zope.app.container.interfaces import IWriteContainer
-from zope.app.container.interfaces import IContainerNamesContainer
-
-from z3c.form import form, button
-from z3ext.layout.pagelet import BrowserPagelet
-from z3ext.statusmessage.interfaces import IStatusMessage
-
-from interfaces import _, IPageletEditForm, ISaveButton
-
-
-class PageletEditForm(form.EditForm, BrowserPagelet):
-    interface.implements(IPageletEditForm)
-
-    render = BrowserPagelet.render
-    __call__ = BrowserPagelet.__call__
-
-    @button.buttonAndHandler(
-        _(u'Save'), name='save', provides=ISaveButton)
-    def handleApply(self, action):
-        data, errors = self.extractData()
-        if errors:
-            IStatusMessage(self.request).add(self.formErrorsMessage, 'warning')
-        else:
-            changes = self.applyChanges(data)
-            if changes:
-                IStatusMessage(self.request).add(self.successMessage)
-            else:
-                IStatusMessage(self.request).add(self.noChangesMessage)
-
-            nextURL = self.nextURL()
-            if nextURL:
-                self.redirect(nextURL)
-
-    def nextURL(self):
-        return ''

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/edit.py (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/edit.py)
===================================================================
--- z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/edit.py	                        (rev 0)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/edit.py	2008-10-05 19:38:16 UTC (rev 91786)
@@ -0,0 +1,55 @@
+##############################################################################
+#
+# Copyright (c) 2008 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" 
+
+$Id$
+"""
+from zope import interface, event
+from zope.traversing.browser import absoluteURL
+from zope.app.container.interfaces import IAdding
+from zope.app.container.interfaces import IWriteContainer
+from zope.app.container.interfaces import IContainerNamesContainer
+
+from z3c.form import form, button
+from z3ext.statusmessage.interfaces import IStatusMessage
+
+from form import PageletForm
+from interfaces import _, IPageletEditForm, ISaveButton
+
+
+class PageletEditForm(form.EditForm, PageletForm):
+    interface.implements(IPageletEditForm)
+
+    render = PageletForm.render
+    __call__ = PageletForm.__call__
+
+    @button.buttonAndHandler(
+        _(u'Save'), name='save', provides=ISaveButton)
+    def handleApply(self, action):
+        data, errors = self.extractData()
+        if errors:
+            IStatusMessage(self.request).add(self.formErrorsMessage, 'warning')
+        else:
+            changes = self.applyChanges(data)
+            if changes:
+                IStatusMessage(self.request).add(self.successMessage)
+            else:
+                IStatusMessage(self.request).add(self.noChangesMessage)
+
+            nextURL = self.nextURL()
+            if nextURL:
+                self.redirect(nextURL)
+
+    def nextURL(self):
+        return ''

Deleted: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/form.py
===================================================================
--- z3ext.layoutform/trunk/src/z3ext/layoutform/form.py	2008-10-03 16:36:33 UTC (rev 91713)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/form.py	2008-10-05 19:38:16 UTC (rev 91786)
@@ -1,30 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2007 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Support for Layout Templates
-
-$Id$
-"""
-from zope import interface
-
-from z3c.form import form
-from z3ext.layout.pagelet import BrowserPagelet
-
-from interfaces import IPageletForm
-
-
-class PageletForm(form.Form, BrowserPagelet):
-    interface.implements(IPageletForm)
-
-    render = BrowserPagelet.render
-    __call__ = BrowserPagelet.__call__

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/form.py (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/form.py)
===================================================================
--- z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/form.py	                        (rev 0)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/form.py	2008-10-05 19:38:16 UTC (rev 91786)
@@ -0,0 +1,45 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Support for Layout Templates
+
+$Id$
+"""
+from zope import interface
+from zope.component import getMultiAdapter, queryMultiAdapter
+from zope.pagetemplate.interfaces import IPageTemplate
+
+from z3c.form import form
+from z3ext.layout.interfaces import IPagelet
+from z3ext.layout.pagelet import BrowserPagelet
+
+from interfaces import IPageletForm, IPageletFormView
+
+
+class PageletForm(form.Form, BrowserPagelet):
+    interface.implements(IPageletForm)
+
+    __call__ = BrowserPagelet.__call__
+
+    def render(self):
+        # render content template 
+        if self.template is None:
+            view = queryMultiAdapter((self, self.request), IPageletFormView)
+            if view is not None:
+                view.update()
+                return view.render()
+
+            template = getMultiAdapter((self, self.request), IPageTemplate)
+            return template(self)
+
+        return self.template()

Deleted: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/interfaces.py
===================================================================
--- z3ext.layoutform/trunk/src/z3ext/layoutform/interfaces.py	2008-10-03 16:36:33 UTC (rev 91713)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/interfaces.py	2008-10-05 19:38:16 UTC (rev 91786)
@@ -1,69 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2007 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-""" z3ext.layoutform interfaces
-
-$Id$
-"""
-from zope import interface
-from zope.i18nmessageid import MessageFactory
-from z3c.form.interfaces import IFormLayer
-from z3ext.layout.interfaces import IPagelet
-
-_ = MessageFactory('z3ext')
-
-
-class ILayoutFormLayer(IFormLayer):
-    """ browser layer """
-
-
-class IPageletForm(IPagelet):
-    """Form mixin for pagelet implementation."""
-
-    label = interface.Attribute('Form label')
-
-    description = interface.Attribute('Form label')
-
-
-class IPageletAddForm(IPageletForm):
-    """Add form mixin for pagelet implementation."""
-
-    formCancelMessage = interface.Attribute('Form cancel message')
-
-    def nextURL():
-        """ as next url use newly created content url """
-
-    def cancelURL():
-        """ cancel url """
-
-    def nameAllowed():
-        """Return whether names can be input by the user."""
-
-
-class IPageletEditForm(IPageletForm):
-    """Edit form mixin for pagelet implementation."""
-
-    def nextURL():
-        """ as next url use newly created content url """
-
-
-class IAddButton(interface.Interface):
-    """ add button """
-
-
-class ISaveButton(interface.Interface):
-    """ save button """
-
-
-class ICancelButton(interface.Interface):
-    """ cancel button """

Copied: z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/interfaces.py (from rev 91785, z3ext.layoutform/trunk/src/z3ext/layoutform/interfaces.py)
===================================================================
--- z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/interfaces.py	                        (rev 0)
+++ z3ext.layoutform/tags/1.2.0/src/z3ext/layoutform/interfaces.py	2008-10-05 19:38:16 UTC (rev 91786)
@@ -0,0 +1,73 @@
+##############################################################################
+#
+# Copyright (c) 2008 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" z3ext.layoutform interfaces
+
+$Id$
+"""
+from zope import interface
+from zope.i18nmessageid import MessageFactory
+from z3c.form.interfaces import IFormLayer
+from z3ext.layout.interfaces import IPagelet
+
+_ = MessageFactory('z3ext')
+
+
+class ILayoutFormLayer(IFormLayer):
+    """ browser layer """
+
+
+class IPageletFormView(IPagelet):
+    """ pagelet form view """
+
+
+class IPageletForm(IPagelet):
+    """Form mixin for pagelet implementation."""
+
+    label = interface.Attribute('Form label')
+
+    description = interface.Attribute('Form label')
+
+
+class IPageletAddForm(IPageletForm):
+    """Add form mixin for pagelet implementation."""
+
+    formCancelMessage = interface.Attribute('Form cancel message')
+
+    def nextURL():
+        """ as next url use newly created content url """
+
+    def cancelURL():
+        """ cancel url """
+
+    def nameAllowed():
+        """Return whether names can be input by the user."""
+
+
+class IPageletEditForm(IPageletForm):
+    """Edit form mixin for pagelet implementation."""
+
+    def nextURL():
+        """ as next url use newly created content url """
+
+
+class IAddButton(interface.Interface):
+    """ add button """
+
+
+class ISaveButton(interface.Interface):
+    """ save button """
+
+
+class ICancelButton(interface.Interface):
+    """ cancel button """



More information about the Checkins mailing list