Class LayerPropertyGroup
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, IPluginFeatureDependent
- Inheritance
-
objectLayerPropertyGroup
- 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
IsHidden
Gets or sets whether the property is hidden in the UI
public bool IsHidden { get; set; }
Property Value
LayerProperties
A list of all layer properties in this group
public ReadOnlyCollection<ILayerProperty> LayerProperties { get; }
Property Value
LayerPropertyGroups
A list of al child groups in this group
public ReadOnlyCollection<LayerPropertyGroup> LayerPropertyGroups { get; }
Property Value
Parent
The parent group of this group
public LayerPropertyGroup? Parent { get; }
Property Value
Path
Gets the unique path of the property on the render element
public string Path { get; }
Property Value
ProfileElement
Gets the profile element (such as layer or folder) this group is associated with
public RenderProfileElement ProfileElement { get; }
Property Value
PropertiesInitialized
Gets whether this property groups properties are all initialized
public bool PropertiesInitialized { get; }
Property Value
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
disposingbooltrue 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
GetFeatureDependencies()
Gets the plugin features this class depends on, may contain the same plugin feature twice if depending on it in multiple ways.
public IEnumerable<PluginFeature> GetFeatureDependencies()
Returns
- IEnumerable<PluginFeature>
A List<T> of PluginFeature this class depends on.
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
PropertyGroupInitialized
Occurs when the property group has initialized all its children
public event EventHandler? PropertyGroupInitialized
Event Type
VisibilityChanged
Occurs when the IsHidden value of the layer property was updated
public event EventHandler? VisibilityChanged