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'] |