Coverage for gws-app/gws/plugin/model_field/bool/__init__.py: 78%

18 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2025-10-16 23:09 +0200

1"""Boolean field.""" 

2 

3import gws 

4import gws.base.model.scalar_field 

5 

6gws.ext.new.modelField('bool') 

7 

8 

9class Config(gws.base.model.scalar_field.Config): 

10 """Configuration for boolean field.""" 

11 

12 pass 

13 

14 

15class Props(gws.base.model.scalar_field.Props): 

16 pass 

17 

18 

19class Object(gws.base.model.scalar_field.Object): 

20 attributeType = gws.AttributeType.bool 

21 

22 def configure_widget(self): 

23 if not super().configure_widget(): 

24 self.widget = self.root.create_shared(gws.ext.object.modelWidget, type='toggle') 

25 return True 

26 

27 ## 

28 

29 def prop_to_python(self, feature, value, mc): 

30 try: 

31 return bool(value) 

32 except ValueError: 

33 return gws.ErrorValue