diff options
Diffstat (limited to 'doc/python_api/epy/IDProp.py')
-rw-r--r-- | doc/python_api/epy/IDProp.py | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/doc/python_api/epy/IDProp.py b/doc/python_api/epy/IDProp.py new file mode 100644 index 00000000000..1fc26d7f65b --- /dev/null +++ b/doc/python_api/epy/IDProp.py @@ -0,0 +1,132 @@ +class IDGroup: + """ + The IDGroup Type + ================ + This type supports both iteration and the [] + operator to get child ID properties. + + You can also add new properties using the [] operator. + For example:: + + group['a float!'] = 0.0 + group['an int!'] = 0 + group['a string!'] = "hi!" + group['an array!'] = [0, 0, 1.0, 0] + + group['a subgroup!] = {"float": 0.0, "an int": 1.0, "an array": [1, 2], + "another subgroup": {"a": 0.0, "str": "bleh"}} + + Note that for arrays, the array type defaults to int unless a float is found + while scanning the template list; if any floats are found, then the whole + array is float. Note that double-precision floating point numbers are used for + python-created float ID properties and arrays (though the internal C api does + support single-precision floats, and the python code will read them). + + You can also delete properties with the del operator. For example: + + del group['property'] + + To get the type of a property, use the type() operator, for example:: + + if type(group['bleh']) == str: pass + + To tell if the property is a group or array type, import the Blender.Types module and test + against IDGroupType and IDArrayType, like so:: + + from Blender.Types import IDGroupType, IDArrayType. + + if type(group['bleghr']) == IDGroupType: + (do something) + + @ivar name: The name of the property + @type name: string + """ + + def pop(item): + """ + Pop an item from the group property. + @type item: string + @param item: The item name. + @rtype: can be dict, list, int, float or string. + @return: The removed property. + """ + + def update(updatedict): + """ + Updates items in the dict, similar to normal python + dictionary method .update(). + @type updatedict: dict + @param updatedict: A dict of simple types to derive updated/new IDProperties from. + @rtype: None + @return: None + """ + + def keys(): + """ + Returns a list of the keys in this property group. + @rtype: list of strings. + @return: a list of the keys in this property group. + """ + + def values(): + """ + Returns a list of the values in this property group. + + Note that unless a value is itself a property group or an array, you + cannot change it by changing the values in this list, you must change them + in the parent property group. + + For example, + + group['some_property'] = new_value + + . . .is correct, while, + + values = group.values() + values[0] = new_value + + . . .is wrong. + + @rtype: list of strings. + @return: a list of the values in this property group. + """ + + def iteritems(): + """ + Implements the python dictionary iteritmes method. + + For example:: + + for k, v in group.iteritems(): + print "Property name: " + k + print "Property value: " + str(v) + + @rtype: an iterator that spits out items of the form [key, value] + @return: an iterator. + """ + + def convert_to_pyobject(): + """ + Converts the entire property group to a purely python form. + + @rtype: dict + @return: A python dictionary representing the property group + """ + +class IDArray: + """ + The IDArray Type + ================ + + @ivar type: returns the type of the array, can be either IDP_Int or IDP_Float + """ + + def __getitem__(index): + pass + + def __setitem__(index, value): + pass + + def __len__(): + pass + |