Difference between revisions of "User-defined properties"

From Silhouette Wiki
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.