Skip to content

Property Base

PropertyBase

PropertyBase(
    enabled: bool,
    match_name: str,
    name: str,
    property_depth: int,
)

Bases: ABC

Abstract base class for both Property and PropertyGroup.

Info

PropertyBase is the base class for both Property and PropertyGroup, so PropertyBase attributes and methods are available when working with properties and property groups.

See: https://ae-scripting.docsforadobe.dev/property/propertybase/

Attributes

active

active: bool

Same as enabled.

can_set_enabled

can_set_enabled: bool

True if the enabled attribute value can be set.

This is True for all layers, effect property groups, shape vector groups, and text path options.

elided

elided: bool = field(init=False, default=False)

When True, the property is not shown in the UI. An elided property is still present in the timeline but hidden from view.

enabled

enabled: bool

Corresponds to the setting of the eyeball icon.

is_effect

is_effect: bool = field(init=False, default=False)

When True, this property is an effect PropertyGroup.

is_mask

is_mask: bool = field(init=False, default=False)

When True, this property is a mask PropertyGroup.

is_modified

is_modified: bool

True if this property has been changed since its creation.

A property is considered modified if its value differs from the default, if it has keyframes, or if an expression is enabled. A property group is modified if any of its children are modified, or if it is an indexed group with children (adding items to an indexed group like Effects or Masks is itself a modification).

match_name

match_name: str

A special name for the property used to build unique naming paths. The match name is not displayed, but you can refer to it in scripts. Every property has a unique match-name identifier.

name

name: str

Display name of the property.

parent_property

parent_property: PropertyGroup | None = field(
    init=False, default=None, repr=False
)

The parent PropertyGroup of this property, or None for top-level layer property groups.

property_depth

property_depth: int

The number of levels of parent groups between this property and the containing layer. The value is 0 for a layer.

property_index

property_index: int | None

The 0-based position of this property within its parent group.

Returns None for layers (property depth 0).

Warning

Unlike ExtendScript (1-based), this uses Python's 0-based convention so that group.properties[prop.property_index] works directly.

property_type

property_type: PropertyType = field(
    init=False, default=NAMED_GROUP
)

The type of this property. One of PropertyType.PROPERTY, PropertyType.NAMED_GROUP, or PropertyType.INDEXED_GROUP.

selected

selected: bool = field(init=False, default=False)

When True, the property is selected.