;ς -Cc@sgdkZdkZdklZdklZdfd„ƒYZeƒZd„Zd„Zd„ZdS(N(s ImageFile(sFieldHelpTopics FieldRegistrycBsGtZdZd„Zd„Zd„Zed„Zd„Zd„Z RS(s°A registry of fields, maintaining a dictionary with the meta_type of the field classes as key and the field class as values. Updates the Form as necessary as well. cCs h|_dS(s&Initializer of FieldRegistry. N(sselfs_fields(sself((sG/mnt/gmirror/ports/www/zope-formulator/work/Formulator/FieldRegistry.pys__init__ scCs|i|SdS(s~Get a certain field class by its name (meta_type) fieldname -- the name of the field to get from the registry N(sselfs_fieldss fieldname(sselfs fieldname((sG/mnt/gmirror/ports/www/zope-formulator/work/Formulator/FieldRegistry.pysget_field_classscCs |iSdS(sReturn all fields. N(sselfs_fields(sself((sG/mnt/gmirror/ports/www/zope-formulator/work/Formulator/FieldRegistry.pysget_field_classesscCs9||i|i|iiƒD]-}|iiƒ|iiƒ|iiƒqWdS(sInitialize all field classes in field forms to use actual field objects so we can finally eat our own dogfood. N(sselfs_fieldssvaluess field_classsforms_realize_fieldss override_forms tales_form(sselfs field_class((sG/mnt/gmirror/ports/www/zope-formulator/work/Formulator/FieldRegistry.pysinitializeFields@s   ( s__name__s __module__s__doc__s__init__sget_field_classsget_field_classessNones registerFieldsregisterFieldHelpsinitializeFields(((sG/mnt/gmirror/ports/www/zope-formulator/work/Formulator/FieldRegistry.pys FieldRegistrys     c Csμdkl}dkl} |ƒ}|ƒ}|ƒ}xΙt|i ƒD]Έ}|i dƒpd}|i ||ƒ| i|id|i dƒddddd d d d ƒ}|i ||ƒ| i|id|i dƒddddd d ƒ}|i ||ƒqEWxΙt|iƒD]Έ}|i dƒpd }|i ||ƒ| i|id|i dƒdddddd d d ƒ}|i ||ƒ| i|id|i dƒddddd d ƒ}|i ||ƒqW||_||_||_dS(s|Initialize the properties (fields and values) on a particular field class. Also add the tales and override methods. (s BasicForm(sfieldssgroupswidgetstitles descriptionssdefaults display_widthi(srequiredis validators display_withN(sForms BasicForms DummyFieldsfieldssforms override_forms tales_formsgetPropertyFieldss field_classswidgetsfields get_valuesgroups add_fields TALESFieldsids tales_fields MethodFields method_fields validator( s field_classsgroupsforms override_forms BasicForms tales_forms tales_fieldsfields method_fieldsfields((sG/mnt/gmirror/ports/www/zope-formulator/work/Formulator/FieldRegistry.pysinitializeFieldFormOsV               cCs8g}x'|iD]}|it||ƒƒqW|SdS(s<Get property fields from a particular widget/validator. N(sfieldssobjsproperty_namess property_namesappendsgetattr(sobjsfieldss property_name((sG/mnt/gmirror/ports/www/zope-formulator/work/Formulator/FieldRegistry.pysgetPropertyFieldss  cCs¨ttii|ƒ o)ttii|tii|hƒƒntii|ƒd}t |t ƒƒ}t|_|ttii|ƒ|