[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/Formulator - formulator-meta.zcml:1.1.2.1 formulator.zcml:1.1.2.1
Stephan Richter
srichter@cbu.edu
Fri, 1 Mar 2002 02:04:36 -0500
Update of /cvs-repository/Zope3/lib/python/Zope/App/Formulator
In directory cvs.zope.org:/tmp/cvs-serv22190
Added Files:
Tag: srichter-OFS_Formulator-branch
formulator-meta.zcml formulator.zcml
Log Message:
Checkin for new Formualtor layout. Much has changed since the initial
checkin:
- Both classes and instances of fields can be used as factory when creating
views.
- Field: This object is simply a meta-data container for a piece of
information; for content objects these are usually its properties.
Note: It is planned to have a CompositeField for more complex inputs,
such as dates.
- FieldViews are virtual objects; they are basically realized Widgets (or
Widgets in context)
- Validator: An object that validates data. Note that this object is
totally input/protocol-agnostic. Therefore the old concept of some of the
Zope 2 Formulator validators is not applicable anymore.
- Widget: This is a generic component that is concerned about the
presentation of a field in a particular protocol. A difference to the
Zope 2 Formulator version is that the widget is also responsible of
converting possible input-specific representation to a standard one. This
is not yet fully implemented though.
- Form: A protocol-specific object that is concerned with the overall
representation of a form and its action.
- There is a Validator and Field Registry, since Fields and Validators can
also be used independent of Formulator's goals. Fields should really
become the standard way to provide meta-data for properties.
Todo: (too much)
- I need to write a proper metaConfigure.py.
- Make a CompositeField.
- Create XUL Widgets.
- Clean up files.
- Finishing the conversion to the Zope 3 Formulator model.
=== Added File Zope3/lib/python/Zope/App/Formulator/formulator-meta.zcml ===
<zopeConfigure xmlns='http://namespaces.zope.org/zope'>
<directives namespace="http://namespaces.zope.org/formulator">
<directive name="registerField" attributes="name, field"
handler="Zope.App.Formulator.FieldRegistry.registerField" />
<directive name="registerValidator" attributes="name, validator"
handler="Zope.App.Formulator.ValidatorRegistry.registerValidator" />
</directives>
</zopeConfigure>
=== Added File Zope3/lib/python/Zope/App/Formulator/formulator.zcml ===
<zopeConfigure
xmlns='http://namespaces.zope.org/zope'
>
<include package="Zope.App.Formulator" file="formulator-meta.zcml" />
<include package="Zope.App.Formulator.Fields" file="fields.zcml" />
<include package="Zope.App.Formulator.Validators" file="validators.zcml" />
<include package="Zope.App.Formulator.Widgets" file="widgets.zcml" />
<adapter factory="Zope.App.Formulator.PropertyFieldAdapter."
provides="Zope.App.Formulator.IPropertyFieldAdapter."
for="Zope.App.Formulator.IField." />
</zopeConfigure>