Updated bpy.props getter/setter example

- The common name in computer science are 'getters' and 'setters', so by
  adding these names to the documentation (while 'get' and 'set are still
  also mentioned) we improve findability. Having 'Getters/Setters' as a
  title also makes it clearer that this example is not just about
  getting or setting the property value.
- Added a little prefix to each printed value, so that print statement,
  expected output, and real output can be matched easier.
This commit is contained in:
Sybren A. Stüvel 2018-03-14 11:42:36 +01:00
parent b76471c1f9
commit c22c2ff060

View File

@ -1,13 +1,12 @@
""" """
Get/Set Example Getter/Setter Example
+++++++++++++++ +++++++++++++++++++++
Get/Set functions can be used for boolean, int, float, string and enum properties. Getter/setter functions can be used for boolean, int, float, string and enum properties.
If these callbacks are defined the property will not be stored in the ID properties If these callbacks are defined the property will not be stored in the ID properties
automatically, instead the get/set functions will be called when the property is automatically. Instead, the `get` and `set` functions will be called when the property
read or written from the API. is respectively read or written from the API.
""" """
import bpy import bpy
@ -65,25 +64,24 @@ def set_enum(self, value):
bpy.types.Scene.test_enum = bpy.props.EnumProperty(items=test_items, get=get_enum, set=set_enum) bpy.types.Scene.test_enum = bpy.props.EnumProperty(items=test_items, get=get_enum, set=set_enum)
# Testing # Testing the properties:
scene = bpy.context.scene scene = bpy.context.scene
scene.test_float = 12.34 scene.test_float = 12.34
print(scene.test_float) print('test_float:', scene.test_float)
scene.test_array = (True, False) scene.test_array = (True, False)
print([x for x in scene.test_array]) print('test_array:', tuple(scene.test_array))
# scene.test_date = "blah" # this would fail, property is read-only # scene.test_date = "blah" # this would fail, property is read-only
print(scene.test_date) print('test_date:', scene.test_date)
scene.test_enum = 'BLUE' scene.test_enum = 'BLUE'
print(scene.test_enum) print('test_enum:', scene.test_enum)
# The above outputs:
# >>> 12.34000015258789 # test_float: 12.34000015258789
# >>> [True, False] # test_array: (True, False)
# >>> 2013-01-05 16:33:52.135340 # test_date: 2018-03-14 11:36:53.158653
# >>> setting value 3 # setting value 3
# >>> GREEN # test_enum: GREEN