Metadata-Version: 1.0
Name: plone.app.z3cform
Version: 0.3.1
Summary: A collection of widgets and templates, and other components for with z3c.form in Plone
Home-page: http://pypi.python.org/pypi/plone.app.z3cform
Author: Plone Foundation
Author-email: plone-developers@lists.sourceforge.net
License: GPL
Description: =================
        plone.app.z3cform
        =================
        
        Abstract
        ========
        
        A collection of widgets and templates, and other components for use
        with `z3c.form`_ in Plone_.  This is much related to `plone.z3cform`_,
        the library that enables Zope 2 applications to use z3c.form.
        
        .. _z3c.form: http://pypi.python.org/pypi/z3c.form
        .. _Plone: http://plone.org
        .. _plone.z3cform: http://pypi.python.org/pypi/plone.z3cform
        
        WYSIWYG widget
        ==============
        
        The ``wysiwyg`` package provides an implementation of the Plone
        WYSIWYG widget compatible with ``z3c.form``.  This will allow you to
        use Kupu, FCKeditor and other editors compatible with the Plone
        WYSIWYG interface in your ``z3c.form`` forms.
        
        To use, simply set the widget factory for the widget you'd like to be
        displayed with the WYSIWYG widget:
        
        >>> from zope import interface, schema
        >>> from z3c.form import form, field
        >>> from z3c.form.interfaces import INPUT_MODE
        >>> from plone.app.z3cform.wysiwyg.widget import WysiwygFieldWidget
        
        >>> class IProfile(interface.Interface):
        ...     name = schema.TextLine(title=u"Name")
        ...     age = schema.Int(title=u"Age")
        ...     bio = schema.Text(title=u"Bio")
        
        >>> class MyForm(form.Form):
        ...     fields = field.Fields(IProfile)
        ...     fields['bio'].widgetFactory[INPUT_MODE] = WysiwygFieldWidget
        
        
        Query select widget
        ===================
        
        The ``queryselect`` module provides a query source compatible with
        ``z3c.formwidget.query`` which combines to a selection field that can
        be queried.
        
        The native value type for the widget is Archetypes UID collections.
        The default implementation will simply search using the
        ``SearchableText`` index in the portal catalog.
        
        This is how your form schema could look like:
        
        >>> from zope import interface, schema
        >>> from plone.app.z3cform.queryselect import ArchetypesContentSourceBinder
        
        >>> class ISelection(interface.Interface):
        ...     items = schema.Set(
        ...         title=u"Selection",
        ...         description=u"Search for content",
        ...         value_type=schema.Choice(
        ...             source=ArchetypesContentSourceBinder()))
        
        Optionally, instead of storing Archetypes UIDs, you can choose to use
        ``persistent.wref``, i.e. weak references, instead of UIDs:
        
        >>> from plone.app.z3cform.queryselect import uid2wref
        >>> factory = uid2wref(ISelection['items'])
        
        To store weak references instead of UIDs you would register such a
        factory as a component adapting the context.  The factory
        automatically provides the interface which defines the field.
        (XXX: Please rewrite this paragraph.)
        
        
        Changelog
        =========
        
        0.3.1 - 2008-07-24
        ------------------
        
        * Fixed a bug where we would use the form macros defined in
        plone.z3cform instead of our own.
        
        0.3 - 2008-07-24
        ----------------
        
        * Create this package from Plone-specific bits that have been factored
        out of plone.z3cform.
        
        
Keywords: zope plone form widget template
Platform: UNKNOWN
Classifier: Framework :: Plone
Classifier: Framework :: Zope2
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
