mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-12 03:48:56 +00:00
Profile editor - Added basic layer copy/paste
This commit is contained in:
1 parent
253c2f069b
commit
f694f39219
9 files changed
+87
-12
No files matched your search
@@ -52,7 +52,10 @@ namespace Artemis.Core
|
||||
/// </summary>
|
||||
public bool IsRootFolder => Parent == Profile;
|
||||
|
||||
internal FolderEntity FolderEntity { get; set; }
|
||||
/// <summary>
|
||||
/// Gets the folder entity this folder uses for persistent storage
|
||||
/// </summary>
|
||||
public FolderEntity FolderEntity { get; internal set; }
|
||||
|
||||
internal override RenderElementEntity RenderElementEntity => FolderEntity;
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ using Artemis.Core.LayerBrushes;
|
||||
using Artemis.Core.LayerEffects;
|
||||
using Artemis.Storage.Entities.Profile;
|
||||
using Artemis.Storage.Entities.Profile.Abstract;
|
||||
using Newtonsoft.Json;
|
||||
using SkiaSharp;
|
||||
|
||||
namespace Artemis.Core
|
||||
@@ -18,9 +17,9 @@ namespace Artemis.Core
|
||||
{
|
||||
private LayerGeneralProperties _general;
|
||||
private BaseLayerBrush? _layerBrush;
|
||||
private LayerTransformProperties _transform;
|
||||
private LayerShape? _layerShape;
|
||||
private List<ArtemisLed> _leds;
|
||||
private LayerTransformProperties _transform;
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new instance of the <see cref="Layer" /> class and adds itself to the child collection of the provided
|
||||
@@ -46,7 +45,13 @@ namespace Artemis.Core
|
||||
Parent.AddChild(this);
|
||||
}
|
||||
|
||||
internal Layer(Profile profile, ProfileElement parent, LayerEntity layerEntity) : base(parent.Profile)
|
||||
/// <summary>
|
||||
/// Creates a new instance of the <see cref="Layer" /> class based on the provided layer entity
|
||||
/// </summary>
|
||||
/// <param name="profile">The profile the layer belongs to</param>
|
||||
/// <param name="parent">The parent of the layer</param>
|
||||
/// <param name="layerEntity">The entity of the layer</param>
|
||||
public Layer(Profile profile, ProfileElement parent, LayerEntity layerEntity) : base(parent.Profile)
|
||||
{
|
||||
LayerEntity = layerEntity;
|
||||
EntityId = layerEntity.Id;
|
||||
@@ -82,7 +87,7 @@ namespace Artemis.Core
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the general properties of the layer
|
||||
/// Gets the general properties of the layer
|
||||
/// </summary>
|
||||
[PropertyGroupDescription(Name = "General", Description = "A collection of general properties")]
|
||||
public LayerGeneralProperties General
|
||||
@@ -92,7 +97,7 @@ namespace Artemis.Core
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the transform properties of the layer
|
||||
/// Gets the transform properties of the layer
|
||||
/// </summary>
|
||||
[PropertyGroupDescription(Name = "Transform", Description = "A collection of transformation properties")]
|
||||
public LayerTransformProperties Transform
|
||||
@@ -110,7 +115,10 @@ namespace Artemis.Core
|
||||
internal set => SetAndNotify(ref _layerBrush, value);
|
||||
}
|
||||
|
||||
internal LayerEntity LayerEntity { get; set; }
|
||||
/// <summary>
|
||||
/// Gets the layer entity this layer uses for persistent storage
|
||||
/// </summary>
|
||||
public LayerEntity LayerEntity { get; internal set; }
|
||||
|
||||
internal override RenderElementEntity RenderElementEntity => LayerEntity;
|
||||
|
||||
|
||||
@@ -143,6 +143,8 @@ namespace Artemis.Core
|
||||
// Shift everything after the given order
|
||||
else
|
||||
{
|
||||
if (order < 0)
|
||||
order = 0;
|
||||
foreach (ProfileElement profileElement in ChildrenList.Where(c => c.Order >= order).ToList())
|
||||
profileElement.Order++;
|
||||
|
||||
|
||||
@@ -114,7 +114,6 @@ namespace Artemis.Core
|
||||
|
||||
#region Properties
|
||||
|
||||
private ProfileElement? _parent;
|
||||
private SKPath? _path;
|
||||
internal abstract RenderElementEntity RenderElementEntity { get; }
|
||||
|
||||
@@ -123,10 +122,11 @@ namespace Artemis.Core
|
||||
/// </summary>
|
||||
public new ProfileElement? Parent
|
||||
{
|
||||
get => _parent;
|
||||
get => base.Parent;
|
||||
internal set
|
||||
{
|
||||
SetAndNotify(ref _parent, value);
|
||||
base.Parent = value;
|
||||
OnPropertyChanged(nameof(Parent));
|
||||
Renderer.Invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user