Краткое описание пакета
=======================

Пакет разработан для того, что бы содержать всякие мелкие модули для Zope,
которые поодиночке поставлять неактуально.
            
Описание модулей
----------------

ng.lib.interface
................

Модуль предоставляет мелкие приблуды для работы с интерфейсами в Zope.
Модуль предоставляет функции:

    implements
        При инициализации получает список интерфейсо, которые должен
        предоставлять класс, в контексте которого она вызвана. В отличие от
        оригинальной функции, дополнительно, для каждого имени интерфейса,
        создает в классе аргумент типа FieldProperty.


ng.lib.editannotationnotify
...........................

Модуль предоставляет mix-in для формы edit, который отправляет сообщение о
модификации объекта, даже если модификация проводилась через адаптер. Пример
использования::

   <editform
      schema="..interfaces.IDictAnnotation"
      for="..interfaces.IDictAnnotationAble"
      label="Dictionary"
      class="ng.lib.editannotationnotify.EditAnnotationNotify"
      name="dictannotation.html"
      permission="zope.ManageContent"
      menu="zmi_views" title="Dictionary"
      />

В этом случае форма используется для отсылки сообщения о модификации, если
модифицирована аннотация, которая модифицируется через адаптер.

ng.lib.objectwidget
...................

Модуль предоставляет класс ObjectWidget производный от zope.app.form.browser.ObjectWidget и
исправляющий ошибку в нем, делающую невозможной заливку картинки при помощи следующего кода::

    from zope.app.form import CustomWidgetFactory
    from zope.app.form import ObjectWidget
    from zope.app.file.image import Image

    LogoWidget = CustomWidgetFactory(
        ObjectWidget,
        Image
        )

С исправленным модулем ошибки не возникает.            

ng.lib.dynamicdefault
.....................

Модуль предоставляет фабрику полей DynamicDefault, которая позволяет
для полей, порожденных от Field, использовать значение по умолчанию,
вычисляемое в период выполнения. Пример использования:

    from zope.interface import Interface
    from zope.schema import Datetime
    from ng.lib.dynamicdefault.DynamicDefault

    class IA(Interface) :
        """ Stupid Interface """

        created = DynamicDefault(DateTime,title = u'Date/Time',
            description = u'Date/Time',
            default = datetime.datetime.today,
            required = True)
    
ng.lib.simplevocabulary
.......................
Модуль предоставляет пару классов, SimpleVocabulary и SimpleTerm, которые
аналогичны одноименным классам из zope.schema.vocabulary, но содержат пару
исправлений, допускающих нормальную работу со строками unicode на
национальном языке.

    
[name:недописано]            