using System; using System.Collections.Generic; using Artemis.Core; using Stylet; namespace Artemis.UI.Screens.ProfileEditor.LayerProperties.Abstract { public abstract class LayerPropertyBaseViewModel : PropertyChangedBase, IDisposable { private BindableCollection _children; private bool _isExpanded; protected LayerPropertyBaseViewModel() { Children = new BindableCollection(); } public abstract bool IsVisible { get; } public virtual bool IsExpanded { get => _isExpanded; set => SetAndNotify(ref _isExpanded, value); } public BindableCollection Children { get => _children; set => SetAndNotify(ref _children, value); } public abstract void Dispose(); public abstract List GetKeyframes(bool expandedOnly); } }