<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:z3c="http://namespaces.zope.org/z3c"
    i18n_domain="z3c.form">

  <class class=".multi.MultiWidget">
    <require
        permission="zope.Public"
        interface="z3c.form.interfaces.IMultiWidget"
        />
  </class>

    <adapter
        factory=".multi.multiFieldWidgetFactory"
        provides="z3c.form.interfaces.IFieldWidget"
        for="zope.schema.interfaces.IDict
             z3c.form.interfaces.IFormLayer"
        />
    <adapter
        factory=".multi.MultiFieldWidget"
        provides="z3c.form.interfaces.IFieldWidget"
        for="zope.schema.interfaces.IDict
             zope.schema.interfaces.IField
             z3c.form.interfaces.IFormLayer"
        />

  <adapter
      factory=".multi.MultiFieldWidget"
      provides="z3c.form.interfaces.IFieldWidget"
      for="zope.schema.interfaces.IList
           zope.schema.interfaces.IField
           z3c.form.interfaces.IFormLayer"
      />

  <adapter
      factory=".multi.MultiFieldWidget"
      provides="z3c.form.interfaces.IFieldWidget"
      for="zope.schema.interfaces.ITuple
           zope.schema.interfaces.IField
           z3c.form.interfaces.IFormLayer"
      />

  <z3c:widgetTemplate
      mode="display"
      widget="z3c.form.interfaces.IMultiWidget"
      layer="z3c.form.interfaces.IFormLayer"
      template="multi_display.pt"
      />

  <z3c:widgetTemplate
      mode="input"
      widget="z3c.form.interfaces.IMultiWidget"
      layer="z3c.form.interfaces.IFormLayer"
      template="multi_input.pt"
      />

  <z3c:widgetTemplate
      mode="hidden"
      widget="z3c.form.interfaces.IMultiWidget"
      layer="z3c.form.interfaces.IFormLayer"
      template="multi_hidden.pt"
      />

</configure>
