Added folder/layer renaming

Implemented profile saving
This commit is contained in:
SpoinkyNL committed 2019-11-24 23:01:11 +01:00
1 parent 1bb2d4a4f2
commit 602a0e6fee
20 files changed
+253 -62

No files matched your search

@@ -3,10 +3,11 @@ using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Drawing;
using System.Linq;
using Stylet;
namespace Artemis.Core.Models.Profile.Abstract
{
public abstract class ProfileElement
public abstract class ProfileElement : PropertyChangedBase
{
protected List<ProfileElement> _children;
@@ -55,7 +56,9 @@ namespace Artemis.Core.Models.Profile.Abstract
var folders = new List<Folder>();
foreach (var childFolder in Children.Where(c => c is Folder).Cast<Folder>())
{
// Add all folders in this element
folders.Add(childFolder);
// Add all folders in folders inside this element
folders.AddRange(childFolder.GetAllFolders());
}
@@ -64,14 +67,16 @@ namespace Artemis.Core.Models.Profile.Abstract
public List<Layer> GetAllLayers()
{
var folders = new List<Layer>();
foreach (var childLayer in Children.Where(c => c is Layer).Cast<Layer>())
{
folders.Add(childLayer);
folders.AddRange(childLayer.GetAllLayers());
}
var layers = new List<Layer>();
return folders;
// Add all layers in this element
layers.AddRange(Children.Where(c => c is Layer).Cast<Layer>());
// Add all layers in folders inside this element
foreach (var childFolder in Children.Where(c => c is Folder).Cast<Folder>())
layers.AddRange(childFolder.GetAllLayers());
return layers;
}
/// <summary>
+4 -1
View File
@@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using Artemis.Core.Models.Profile.Abstract;
@@ -27,6 +26,10 @@ namespace Artemis.Core.Models.Profile
Profile = profile;
Parent = parent;
Name = folderEntity.Name;
Order = folderEntity.Order;
// TODO: Load conditions
// Load child folders
foreach (var childFolder in Profile.ProfileEntity.Folders.Where(f => f.ParentId == EntityId))
+4 -3
View File
@@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Linq;
using System.Reflection.Metadata.Ecma335;
using Artemis.Core.Extensions;
using Artemis.Core.Models.Profile.Abstract;
using Artemis.Core.Models.Surface;
@@ -11,7 +10,6 @@ using Artemis.Core.Plugins.Abstract;
using Artemis.Core.Plugins.Interfaces;
using Artemis.Core.Services.Interfaces;
using Artemis.Storage.Entities.Profile;
using Device = Artemis.Core.Models.Surface.Device;
namespace Artemis.Core.Models.Profile
{
@@ -35,6 +33,9 @@ namespace Artemis.Core.Models.Profile
Profile = profile;
Parent = parent;
Name = layerEntity.Name;
Order = layerEntity.Order;
LayerType = pluginService.GetLayerTypeByGuid(layerEntity.LayerTypeGuid);
Leds = new List<DeviceLed>();
}
@@ -129,7 +130,7 @@ namespace Artemis.Core.Models.Profile
path.AddRectangles(Leds.Select(l => l.AbsoluteRenderRectangle).ToArray());
RenderPath = path;
}
public override string ToString()
{
return $"Layer - {nameof(Name)}: {Name}, {nameof(Order)}: {Order}";
+1 -1
View File
@@ -140,7 +140,7 @@ namespace Artemis.Core.Models.Profile
{
Deactivated?.Invoke(this, EventArgs.Empty);
}
#endregion
}
}
@@ -96,9 +96,11 @@ namespace Artemis.Core.Services.Storage
profile.ApplyToEntity();
if (includeChildren)
{
foreach (var profileElement in profile.Children)
profileElement.ApplyToEntity();
foreach (var folder in profile.GetAllFolders())
folder.ApplyToEntity();
foreach (var layer in profile.GetAllLayers())
layer.ApplyToEntity();
if (_surfaceService.ActiveSurface != null)
profile.ApplySurface(_surfaceService.ActiveSurface);
}