Package: zeam.form.composed
This package let you defines forms containing other forms inzeam.form.base.ContentsExampleAPIClassesDirectivesChangelog1.3.3 (2019/01/15)1.3.2 (2012/05/02)1.3.1 (2012/04/27)1.3 (2011/11/08)1.2 (2010/10/19)1.1 (2010/07/16)1.0 (2010/05/03)ExampleHere a simple example. Let’s define a setting form:from zeam.form import composed, base
from zope.interface import Interface


class Setting(composed.ComposedForm):
    composed.context(Interface)

    label = u"Settings"After, a module can add some mail settings on that screen:class MailSetting(composed.SubForm):
    composed.context(MyApplication)
    composed.view(Setting)
    composed.order(99)

    label = u"Mail delivery settings"
    ...And publications of that application could add some publication
settings:class PublicationSetting(composed.SubForm):
    composed.context(MyPublications)
    composed.view(Setting)
    composed.order(10)

    label = u"Publication settings"
    ...Some default templates are included as well, but you can replace like
you will do inzeam.form.base.APIClassesComposedFormThis class define a form which able to contain other forms. It
behave like azeam.form.baseForm, but does use its fields.
A usefull method can give you back a given subform :getSubForm(identifier).SubFormThis class represent a form which is contained inside aComposedForm. This form behave exactly like azeam.form.baseForm to which you add:a methodavailable()which is called before anything else to
know if the form shoud still be included in theComposedForm.a methodgetComposedForm()that gives you back the composed
form in which this form is rendered.SubFormGroupThis class let you groupSubFormtogether. They are rendered within
the group template, and prefixed by the group name. Like aSubFormthey have anavailable()and agetComposedForm()method. It as
well have agetSubForm(identifier)method.DirectivesAll those directives comes from Grokcore component. Please refer to
theGrok documentationfor more information.contextDefine for which object the form/sub form is available.layerDefine the skin for which the form/sub form is aviable.requireDefine a permission need to access the form.templateDefine a Grok-like template for the form. After you done that, the
Grok template will be look up and used. You can’t use anymore amegrok.pagetemplatetemplate, unless you settemplate=Noneagain on your form class.viewOn a sub form, define for which form the sub form is available.orderLet you specify a number to sort your sub form afterwards using
that setting.Changelog1.3.3 (2019/01/15)Updated versions of GTK packages.1.3.2 (2012/05/02)Update to use the latestgrokcore.component.1.3.1 (2012/04/27)Now usegrokcore.chameleoninstead ofmegrok.chameleon.1.3 (2011/11/08)Fix various stupid bugs.Fix available issue after executing actions.Properly support zeam.form.base 1.2 (actions return the sub form on
which the action have been executed).Updates tests.1.2 (2010/10/19)Add the concept of groups : subforms in a composed one can be grouped
with them : they act as a composed form to the subform, and a subform
to the composed form.Update default templates to reflect changes inzeam.form.base.1.1 (2010/07/16)Default templates now use Chameleon.Callupdatefor all subforms when theupdateof the composed
form is called.1.0 (2010/05/03)Initial release.