Coverage for gws-app/gws/plugin/model_widget/float/__init__.py: 93%
14 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 input widget.
3Input for decimal numbers, with up/down buttons and an optional placeholder
4text. This is the default widget of ``float`` fields.
6Example::
8 fields+ {
9 name "area"
10 type "float"
11 widget { type "float" step 10 placeholder "Area in m2" }
12 }
13"""
15import gws
16import gws.base.model.widget
19@gws.ext.config.modelWidget('float')
20class Config(gws.base.model.widget.Config):
21 """Input for decimal numbers."""
23 step: int = 1
24 """Increment of the up/down buttons."""
25 placeholder: str = ''
26 """Hint text shown in the empty input."""
29@gws.ext.props.modelWidget('float')
30class Props(gws.base.model.widget.Props):
31 step: int
32 placeholder: str
35@gws.ext.object.modelWidget('float')
36class Object(gws.base.model.widget.Object):
37 """Float input widget object."""
39 def props(self, user):
40 return gws.u.merge(
41 super().props(user),
42 placeholder=self.cfg('placeholder'),
43 step=self.cfg('step'),
44 )