mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-11 19:36:28 +00:00
Added folder/layer renaming
Implemented profile saving
This commit is contained in:
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>
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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}";
|
||||
|
||||
@@ -140,7 +140,7 @@ namespace Artemis.Core.Models.Profile
|
||||
{
|
||||
Deactivated?.Invoke(this, EventArgs.Empty);
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user