mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-12 11:56:30 +00:00
Data model visualization - Moved services and VMs to UI.Shared
Data model visualization - Added support for custom display VMs Data model visualization - Added framework for custom input VMs Shared UI - Made internal converters public
This commit is contained in:
1 parent
addb06c348
commit
448d94915c
30 files changed
+537
-129
No files matched your search
@@ -1,43 +0,0 @@
|
||||
using Artemis.Core.Plugins.Abstract;
|
||||
using Artemis.Core.Services.Interfaces;
|
||||
using Artemis.UI.DataModelVisualization;
|
||||
using Artemis.UI.Services.Interfaces;
|
||||
|
||||
namespace Artemis.UI.Services
|
||||
{
|
||||
public class DataModelVisualizationService : IDataModelVisualizationService
|
||||
{
|
||||
private readonly IDataModelService _dataModelService;
|
||||
|
||||
public DataModelVisualizationService(IDataModelService dataModelService)
|
||||
{
|
||||
_dataModelService = dataModelService;
|
||||
}
|
||||
|
||||
public DataModelViewModel GetMainDataModelVisualization()
|
||||
{
|
||||
var viewModel = new DataModelViewModel();
|
||||
foreach (var dataModelExpansion in _dataModelService.DataModelExpansions)
|
||||
viewModel.Children.Add(new DataModelViewModel(null, dataModelExpansion, dataModelExpansion.DataModelDescription, viewModel));
|
||||
|
||||
return viewModel;
|
||||
}
|
||||
|
||||
public DataModelViewModel GetPluginDataModelVisualization(Plugin plugin)
|
||||
{
|
||||
var dataModel = _dataModelService.GetPluginDataModel(plugin);
|
||||
if (dataModel == null)
|
||||
return null;
|
||||
|
||||
var viewModel = new DataModelViewModel();
|
||||
viewModel.Children.Add(new DataModelViewModel(null, dataModel, dataModel.DataModelDescription, viewModel));
|
||||
return viewModel;
|
||||
}
|
||||
}
|
||||
|
||||
public interface IDataModelVisualizationService : IArtemisUIService
|
||||
{
|
||||
DataModelViewModel GetMainDataModelVisualization();
|
||||
DataModelViewModel GetPluginDataModelVisualization(Plugin plugin);
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,10 @@
|
||||
using System.Windows;
|
||||
using System;
|
||||
using System.Windows;
|
||||
using Artemis.Core;
|
||||
using Artemis.UI.DataModelVisualization;
|
||||
using Artemis.UI.Screens.Settings.Debug;
|
||||
using Artemis.UI.Services.Interfaces;
|
||||
using Artemis.UI.Shared.Services;
|
||||
using MaterialDesignExtensions.Controls;
|
||||
using Ninject;
|
||||
using Stylet;
|
||||
@@ -11,12 +15,21 @@ namespace Artemis.UI.Services
|
||||
{
|
||||
private readonly IKernel _kernel;
|
||||
private readonly IWindowManager _windowManager;
|
||||
private readonly IDataModelVisualizationService _dataModelVisualizationService;
|
||||
private DebugViewModel _debugViewModel;
|
||||
|
||||
public DebugService(IKernel kernel, IWindowManager windowManager)
|
||||
public DebugService(IKernel kernel, IWindowManager windowManager, IDataModelVisualizationService dataModelVisualizationService)
|
||||
{
|
||||
_kernel = kernel;
|
||||
_windowManager = windowManager;
|
||||
_dataModelVisualizationService = dataModelVisualizationService;
|
||||
|
||||
RegisterBuiltInDataModelDisplays();
|
||||
}
|
||||
|
||||
private void RegisterBuiltInDataModelDisplays()
|
||||
{
|
||||
_dataModelVisualizationService.RegisterDataModelDisplay<SKColorDataModelDisplayViewModel>(Constants.CorePluginInfo);
|
||||
}
|
||||
|
||||
public void ShowDebugger()
|
||||
|
||||
@@ -141,13 +141,13 @@ namespace Artemis.UI.Services
|
||||
|
||||
private void RegisterBuiltInPropertyEditors()
|
||||
{
|
||||
_profileEditorService.RegisterPropertyInput(Constants.CorePluginInfo, typeof(BrushPropertyInputViewModel));
|
||||
_profileEditorService.RegisterPropertyInput(Constants.CorePluginInfo, typeof(ColorGradientPropertyInputViewModel));
|
||||
_profileEditorService.RegisterPropertyInput(Constants.CorePluginInfo, typeof(FloatPropertyInputViewModel));
|
||||
_profileEditorService.RegisterPropertyInput(Constants.CorePluginInfo, typeof(IntPropertyInputViewModel));
|
||||
_profileEditorService.RegisterPropertyInput(Constants.CorePluginInfo, typeof(SKColorPropertyInputViewModel));
|
||||
_profileEditorService.RegisterPropertyInput(Constants.CorePluginInfo, typeof(SKPointPropertyInputViewModel));
|
||||
_profileEditorService.RegisterPropertyInput(Constants.CorePluginInfo, typeof(SKSizePropertyInputViewModel));
|
||||
_profileEditorService.RegisterPropertyInput<BrushPropertyInputViewModel>(Constants.CorePluginInfo);
|
||||
_profileEditorService.RegisterPropertyInput<ColorGradientPropertyInputViewModel>(Constants.CorePluginInfo);
|
||||
_profileEditorService.RegisterPropertyInput<FloatPropertyInputViewModel>(Constants.CorePluginInfo);
|
||||
_profileEditorService.RegisterPropertyInput<IntPropertyInputViewModel>(Constants.CorePluginInfo);
|
||||
_profileEditorService.RegisterPropertyInput<SKColorPropertyInputViewModel>(Constants.CorePluginInfo);
|
||||
_profileEditorService.RegisterPropertyInput<SKPointPropertyInputViewModel>(Constants.CorePluginInfo);
|
||||
_profileEditorService.RegisterPropertyInput<SKSizePropertyInputViewModel>(Constants.CorePluginInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user