Profiles - Added profile adaption based on configurable hints

Layers - Added hints UI accesible from profile tree
Surface - Added device categories used by profile adaption
This commit is contained in:
Robert Beekman authored and Robert committed 2021-05-13 19:57:38 +02:00
1 parent 4865254ab6
commit 57193e739e
34 files changed
+1295 -58

No files matched your search

@@ -0,0 +1,13 @@
namespace Artemis.Storage.Entities.Profile.AdaptionHints
{
public class CategoryAdaptionHintEntity : IAdaptionHintEntity
{
public int Category { get; set; }
public bool LimitAmount { get; set; }
public int Skip { get; set; }
public int Amount { get; set; }
}
}
@@ -0,0 +1,11 @@
namespace Artemis.Storage.Entities.Profile.AdaptionHints
{
public class DeviceAdaptionHintEntity : IAdaptionHintEntity
{
public int DeviceType { get; set; }
public bool LimitAmount { get; set; }
public int Skip { get; set; }
public int Amount { get; set; }
}
}
@@ -0,0 +1,6 @@
namespace Artemis.Storage.Entities.Profile.AdaptionHints
{
public interface IAdaptionHintEntity
{
}
}
@@ -0,0 +1,7 @@
namespace Artemis.Storage.Entities.Profile.AdaptionHints
{
public class KeyboardSectionAdaptionHintEntity : IAdaptionHintEntity
{
public int Section { get; set; }
}
}
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using Artemis.Storage.Entities.Profile.Abstract;
using Artemis.Storage.Entities.Profile.AdaptionHints;
using LiteDB;
namespace Artemis.Storage.Entities.Profile
@@ -10,6 +11,7 @@ namespace Artemis.Storage.Entities.Profile
public LayerEntity()
{
Leds = new List<LedEntity>();
AdaptionHints = new List<IAdaptionHintEntity>();
PropertyEntities = new List<PropertyEntity>();
LayerEffects = new List<LayerEffectEntity>();
ExpandedPropertyGroups = new List<string>();
@@ -20,6 +22,7 @@ namespace Artemis.Storage.Entities.Profile
public bool Suspended { get; set; }
public List<LedEntity> Leds { get; set; }
public List<IAdaptionHintEntity> AdaptionHints { get; set; }
[BsonRef("ProfileEntity")]
public ProfileEntity Profile { get; set; }
@@ -4,5 +4,7 @@
{
public string LedName { get; set; }
public string DeviceIdentifier { get; set; }
public int? PhysicalLayout { get; set; }
}
}
@@ -8,8 +8,9 @@ namespace Artemis.Storage.Entities.Surface
{
InputIdentifiers = new List<DeviceInputIdentifierEntity>();
InputMappings = new List<InputMappingEntity>();
Categories = new List<int>();
}
public string Id { get; set; }
public float X { get; set; }
public float Y { get; set; }
@@ -27,7 +28,7 @@ namespace Artemis.Storage.Entities.Surface
public List<DeviceInputIdentifierEntity> InputIdentifiers { get; set; }
public List<InputMappingEntity> InputMappings { get; set; }
public List<int> Categories { get; set; }
}
public class InputMappingEntity