Coverage for gws-app/gws/plugin/model_field/float/__init__.py: 80%
20 statements
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-05 13:35 +0200
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-05 13:35 +0200
1"""Float field.
3A scalar field for floating-point numbers. Values from the client are
4converted with ``float()``. Without a configured widget, the field uses a
5``float`` widget.
7Example::
9 fields+ { name "area" type "float" title "Area" }
10"""
12import gws
13import gws.base.model.scalar_field
16@gws.ext.config.modelField('float')
17class Config(gws.base.model.scalar_field.Config):
18 """Field for floating-point numbers."""
20 pass
23@gws.ext.props.modelField('float')
24class Props(gws.base.model.scalar_field.Props):
25 pass
28@gws.ext.object.modelField('float')
29class Object(gws.base.model.scalar_field.Object):
30 """Float field object."""
32 attributeType = gws.AttributeType.float
34 def configure_widget(self):
35 if not super().configure_widget():
36 self.widget = self.root.create_shared(gws.ext.object.modelWidget, type='float')
37 return True
39 def prop_to_python(self, feature, value, mc):
40 try:
41 return float(value)
42 except ValueError:
43 return gws.ErrorValue