Table of Contents

Class LayerPropertyGroup

Namespace
Artemis.Core
Assembly
Artemis.Core.dll

Represents a property group on a layer

Note: You cannot initialize property groups yourself. If properly placed and annotated, the Artemis core will initialize these for you.

public abstract class LayerPropertyGroup : IDisposable
Inheritance
LayerPropertyGroup
Implements
Derived

Constructors

LayerPropertyGroup()

A base constructor for a LayerPropertyGroup

protected LayerPropertyGroup()

Properties

GroupDescription

Gets the description of this group

public PropertyGroupDescriptionAttribute GroupDescription { get; }

Property Value

PropertyGroupDescriptionAttribute

IsHidden

Gets or sets whether the property is hidden in the UI

public bool IsHidden { get; set; }

Property Value

bool

LayerProperties

A list of all layer properties in this group

public ReadOnlyCollection<ILayerProperty> LayerProperties { get; }

Property Value

ReadOnlyCollection<ILayerProperty>

LayerPropertyGroups

A list of al child groups in this group

public ReadOnlyCollection<LayerPropertyGroup> LayerPropertyGroups { get; }

Property Value

ReadOnlyCollection<LayerPropertyGroup>

Parent

The parent group of this group

public LayerPropertyGroup? Parent { get; }

Property Value

LayerPropertyGroup

Path

Gets the unique path of the property on the render element

public string Path { get; }

Property Value

string

ProfileElement

Gets the profile element (such as layer or folder) this group is associated with

public RenderProfileElement ProfileElement { get; }

Property Value

RenderProfileElement

PropertiesInitialized

Gets whether this property groups properties are all initialized

public bool PropertiesInitialized { get; }

Property Value

bool

PropertyGroupEntity

Gets the entity this property group uses for persistent storage

public PropertyGroupEntity? PropertyGroupEntity { get; }

Property Value

PropertyGroupEntity

Methods

DisableProperties()

Called when the property group is deactivated (either the profile unloaded or the related brush/effect was removed)

protected abstract void DisableProperties()

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

public void Dispose()

Dispose(bool)

Releases the unmanaged resources used by the object and optionally releases the managed resources.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

true to release both managed and unmanaged resources; false to release only unmanaged resources.

EnableProperties()

Called when the property group is activated

protected abstract void EnableProperties()

GetAllLayerProperties()

Recursively gets all layer properties on this group and any subgroups

public IReadOnlyCollection<ILayerProperty> GetAllLayerProperties()

Returns

IReadOnlyCollection<ILayerProperty>

OnPropertyGroupInitialized()

Called when the property group and all its layer properties have been initialized

protected virtual void OnPropertyGroupInitialized()

PopulateDefaults()

Called before property group is activated to allow you to populate DefaultValue on the properties you want

protected abstract void PopulateDefaults()

ResetAllLayerProperties()

Applies the default value to all layer properties

public void ResetAllLayerProperties()

Events

LayerPropertyOnCurrentValueSet

Occurs when one of the current value of one of the layer properties in this group changes by some form of input

Note: Will not trigger on properties in child groups

public event EventHandler<LayerPropertyEventArgs>? LayerPropertyOnCurrentValueSet

Event Type

EventHandler<LayerPropertyEventArgs>

PropertyGroupInitialized

Occurs when the property group has initialized all its children

public event EventHandler? PropertyGroupInitialized

Event Type

EventHandler

VisibilityChanged

Occurs when the IsHidden value of the layer property was updated

public event EventHandler? VisibilityChanged

Event Type

EventHandler