[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/Formulator/Widgets - IWidget.py:NONE Widget.py:NONE

Stephan Richter srichter@cbu.edu
Fri, 1 Mar 2002 01:56:45 -0500


Update of /cvs-repository/Zope3/lib/python/Zope/App/Formulator/Widgets
In directory cvs.zope.org:/tmp/cvs-serv13304/Widgets

Removed Files:
      Tag: Zope-3x-branch
	IWidget.py Widget.py 
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.

=== Removed File Zope3/lib/python/Zope/App/Formulator/Widgets/IWidget.py ===

=== Removed File Zope3/lib/python/Zope/App/Formulator/Widgets/Widget.py ===