src/pyams_gis/zmi/widget/area.py
changeset 68 b0a03a00c83e
parent 55 829abfdd6d27
child 74 31687784fa16
equal deleted inserted replaced
67:42cb3f558fc8 68:b0a03a00c83e
     8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
     9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
    10 # FOR A PARTICULAR PURPOSE.
    10 # FOR A PARTICULAR PURPOSE.
    11 #
    11 #
    12 
    12 
    13 __docformat__ = 'restructuredtext'
       
    14 
       
    15 
       
    16 # import standard library
       
    17 import json
    13 import json
    18 
    14 
    19 # import interfaces
    15 from z3c.form.browser.object import ObjectWidget
    20 from pyams_form.interfaces.form import IFormLayer, IForm
    16 from z3c.form.interfaces import IFieldWidget, IObjectFactory
       
    17 from z3c.form.object import getIfName
       
    18 from z3c.form.widget import FieldWidget
       
    19 from zope.interface import Interface, alsoProvides, implementer_only
       
    20 
       
    21 from pyams_form.interfaces.form import IForm, IFormLayer
       
    22 from pyams_form.widget import widgettemplate_config
       
    23 from pyams_gis.area import GeoArea
    21 from pyams_gis.interfaces import IGeoArea
    24 from pyams_gis.interfaces import IGeoArea
    22 from pyams_gis.interfaces.widget import IGeoAreaWidget
    25 from pyams_gis.interfaces.widget import IGeoAreaWidget
    23 from pyams_gis.schema import IGeoAreaField
    26 from pyams_gis.schema import IGeoAreaField
       
    27 from pyams_utils.adapter import adapter_config
    24 from pyams_utils.interfaces.data import IObjectData
    28 from pyams_utils.interfaces.data import IObjectData
    25 from z3c.form.interfaces import IFieldWidget, IObjectFactory
       
    26 
    29 
    27 # import packages
    30 
    28 from pyams_form.widget import widgettemplate_config
    31 __docformat__ = 'restructuredtext'
    29 from pyams_gis.area import GeoArea
       
    30 from pyams_utils.adapter import adapter_config
       
    31 from z3c.form.browser.object import ObjectWidget
       
    32 from z3c.form.object import getIfName
       
    33 from z3c.form.widget import FieldWidget
       
    34 from zope.interface import implementer_only, alsoProvides, Interface
       
    35 
    32 
    36 
    33 
    37 @adapter_config(name=getIfName(IGeoArea),
    34 @adapter_config(name=getIfName(IGeoArea),
    38                 context=(Interface, IFormLayer, IForm, IGeoAreaWidget), provides=IObjectFactory)
    35                 context=(Interface, IFormLayer, IForm, IGeoAreaWidget), provides=IObjectFactory)
    39 class GeoAreaObjectFactory(object):
    36 class GeoAreaObjectFactory(object):
    54 class GeoAreaWidget(ObjectWidget):
    51 class GeoAreaWidget(ObjectWidget):
    55     """GeoArea widget"""
    52     """GeoArea widget"""
    56 
    53 
    57     def updateWidgets(self, setErrors=True):
    54     def updateWidgets(self, setErrors=True):
    58         super(GeoAreaWidget, self).updateWidgets()
    55         super(GeoAreaWidget, self).updateWidgets()
    59         widgets = self.subform.widgets
    56         widgets = self.widgets
    60         x1 = widgets['x1']
    57         x1 = widgets['x1']
    61         x1.input_css_class = 'col-md-2'
    58         x1.input_css_class = 'col-md-2'
    62         x1.object_data = {'ams-change-handler': 'PyAMS_GIS.area.changedCoordinate'}
    59         x1.object_data = {'ams-change-handler': 'PyAMS_GIS.area.changedCoordinate'}
    63         alsoProvides(x1, IObjectData)
    60         alsoProvides(x1, IObjectData)
    64         x2 = widgets['x2']
    61         x2 = widgets['x2']