mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-12 11:56:30 +00:00
Data bindings - WIP commit
This commit is contained in:
1 parent
0f1f8cd79c
commit
e4fbc9ac55
42 files changed
+902
-356
No files matched your search
@@ -10,16 +10,18 @@ namespace Artemis.Core.Services
|
||||
internal class RenderElementService : IRenderElementService
|
||||
{
|
||||
private readonly IDataModelService _dataModelService;
|
||||
private readonly IDataBindingService _dataBindingService;
|
||||
private readonly IKernel _kernel;
|
||||
private readonly ILogger _logger;
|
||||
private readonly IPluginService _pluginService;
|
||||
|
||||
public RenderElementService(IKernel kernel, ILogger logger, IPluginService pluginService, IDataModelService dataModelService)
|
||||
public RenderElementService(IKernel kernel, ILogger logger, IPluginService pluginService, IDataModelService dataModelService, IDataBindingService dataBindingService)
|
||||
{
|
||||
_kernel = kernel;
|
||||
_logger = logger;
|
||||
_pluginService = pluginService;
|
||||
_dataModelService = dataModelService;
|
||||
_dataBindingService = dataBindingService;
|
||||
}
|
||||
|
||||
public Layer CreateLayer(Profile profile, ProfileElement parent, string name)
|
||||
@@ -35,6 +37,7 @@ namespace Artemis.Core.Services
|
||||
InstantiateLayerBrush(layer);
|
||||
InstantiateLayerEffects(layer);
|
||||
InstantiateDisplayConditions(layer);
|
||||
InstantiateDataBindings(layer);
|
||||
return layer;
|
||||
}
|
||||
|
||||
@@ -156,5 +159,11 @@ namespace Artemis.Core.Services
|
||||
_logger.Warning(e, $"Failed to init display conditions for {renderElement}");
|
||||
}
|
||||
}
|
||||
|
||||
public void InstantiateDataBindings(RenderProfileElement renderElement)
|
||||
{
|
||||
foreach (var baseLayerProperty in renderElement.GetAllLayerProperties())
|
||||
baseLayerProperty.InitializeDataBindings(_dataModelService, _dataBindingService);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user