Difference between revisions of "User-defined properties"
Jump to navigation
Jump to search
Line 16: | Line 16: | ||
User-defined properties can be removed using <tt>object.removeProperty</tt>. | User-defined properties can be removed using <tt>object.removeProperty</tt>. | ||
+ | |||
+ | The <tt>Property()</tt> constructor has the following signature: | ||
+ | <source lang="python" enclose> | ||
+ | Property(id, label, value, info=None, tooltip=None) | ||
+ | </source> | ||
+ | |||
+ | The property type will be inferred from <tt>value</tt>. Currently supported types are boolean, number, list, and string. Depending on the type, <tt>info</tt> should also point to a dictionary containing additional information. |
Revision as of 20:29, 22 November 2016
User-defined Properties
Properties can be created and added to objects dynamically at runtime, either from within a custom Action or in response to a hook. For instance, a custom text field could be added to all Shapes when they are created in response to the object_created hook:
def add_character_name_prop(shape):
if shape.isType("Shape"):
if not shape.property("character_name"):
prop = Property("character_name", "Character Name", "", {})
shape.addProperty(prop)
import hook
hook.add("object_created", add_character_name_prop)
User-defined properties can be removed using object.removeProperty.
The Property() constructor has the following signature:
Property(id, label, value, info=None, tooltip=None)
The property type will be inferred from value. Currently supported types are boolean, number, list, and string. Depending on the type, info should also point to a dictionary containing additional information.