mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-12 11:56:30 +00:00
UI VM factories - Shortened names for readibility
Layer properties - Ensure only LayerBrushes can add properties and make sure that method instantiates a keyframe engine Layer properties UI - Respond to properties being added/removed
This commit is contained in:
1 parent
b3e1ba6d1c
commit
f4c1c9de3d
29 files changed
+417
-303
No files matched your search
@@ -11,18 +11,18 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.ProfileTree
|
||||
{
|
||||
public class ProfileTreeViewModel : ProfileEditorPanelViewModel, IDropTarget
|
||||
{
|
||||
private readonly IFolderViewModelFactory _folderViewModelFactory;
|
||||
private readonly IFolderVmFactory _folderVmFactory;
|
||||
private readonly IProfileEditorService _profileEditorService;
|
||||
private TreeItemViewModel _selectedTreeItem;
|
||||
private bool _updatingTree;
|
||||
|
||||
|
||||
public ProfileTreeViewModel(IProfileEditorService profileEditorService,
|
||||
IFolderViewModelFactory folderViewModelFactory,
|
||||
ILayerViewModelFactory layerViewModelFactory)
|
||||
IFolderVmFactory folderVmFactory,
|
||||
ILayerVmFactory layerVmFactory)
|
||||
{
|
||||
_profileEditorService = profileEditorService;
|
||||
_folderViewModelFactory = folderViewModelFactory;
|
||||
_folderVmFactory = folderVmFactory;
|
||||
|
||||
CreateRootFolderViewModel();
|
||||
_profileEditorService.SelectedProfileChanged += OnSelectedProfileChanged;
|
||||
@@ -105,7 +105,7 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.ProfileTree
|
||||
return;
|
||||
}
|
||||
|
||||
RootFolder = _folderViewModelFactory.Create(folder);
|
||||
RootFolder = _folderVmFactory.Create(folder);
|
||||
_updatingTree = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -12,9 +12,9 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.ProfileTree.TreeItem
|
||||
IProfileEditorService profileEditorService,
|
||||
IDialogService dialogService,
|
||||
ILayerService layerService,
|
||||
IFolderViewModelFactory folderViewModelFactory,
|
||||
ILayerViewModelFactory layerViewModelFactory) :
|
||||
base(null, folder, profileEditorService, dialogService, layerService, folderViewModelFactory, layerViewModelFactory)
|
||||
IFolderVmFactory folderVmFactory,
|
||||
ILayerVmFactory layerVmFactory) :
|
||||
base(null, folder, profileEditorService, dialogService, layerService, folderVmFactory, layerVmFactory)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -23,9 +23,9 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.ProfileTree.TreeItem
|
||||
IProfileEditorService profileEditorService,
|
||||
IDialogService dialogService,
|
||||
ILayerService layerService,
|
||||
IFolderViewModelFactory folderViewModelFactory,
|
||||
ILayerViewModelFactory layerViewModelFactory) :
|
||||
base(parent, folder, profileEditorService, dialogService, layerService, folderViewModelFactory, layerViewModelFactory)
|
||||
IFolderVmFactory folderVmFactory,
|
||||
ILayerVmFactory layerVmFactory) :
|
||||
base(parent, folder, profileEditorService, dialogService, layerService, folderVmFactory, layerVmFactory)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -12,9 +12,9 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.ProfileTree.TreeItem
|
||||
IProfileEditorService profileEditorService,
|
||||
IDialogService dialogService,
|
||||
ILayerService layerService,
|
||||
IFolderViewModelFactory folderViewModelFactory,
|
||||
ILayerViewModelFactory layerViewModelFactory) :
|
||||
base(parent, folder, profileEditorService, dialogService, layerService, folderViewModelFactory, layerViewModelFactory)
|
||||
IFolderVmFactory folderVmFactory,
|
||||
ILayerVmFactory layerVmFactory) :
|
||||
base(parent, folder, profileEditorService, dialogService, layerService, folderVmFactory, layerVmFactory)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
+8
-8
@@ -14,9 +14,9 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.ProfileTree.TreeItem
|
||||
public abstract class TreeItemViewModel : PropertyChangedBase
|
||||
{
|
||||
private readonly IDialogService _dialogService;
|
||||
private readonly IFolderViewModelFactory _folderViewModelFactory;
|
||||
private readonly IFolderVmFactory _folderVmFactory;
|
||||
private readonly ILayerService _layerService;
|
||||
private readonly ILayerViewModelFactory _layerViewModelFactory;
|
||||
private readonly ILayerVmFactory _layerVmFactory;
|
||||
private readonly IProfileEditorService _profileEditorService;
|
||||
|
||||
protected TreeItemViewModel(TreeItemViewModel parent,
|
||||
@@ -24,14 +24,14 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.ProfileTree.TreeItem
|
||||
IProfileEditorService profileEditorService,
|
||||
IDialogService dialogService,
|
||||
ILayerService layerService,
|
||||
IFolderViewModelFactory folderViewModelFactory,
|
||||
ILayerViewModelFactory layerViewModelFactory)
|
||||
IFolderVmFactory folderVmFactory,
|
||||
ILayerVmFactory layerVmFactory)
|
||||
{
|
||||
_profileEditorService = profileEditorService;
|
||||
_dialogService = dialogService;
|
||||
_layerService = layerService;
|
||||
_folderViewModelFactory = folderViewModelFactory;
|
||||
_layerViewModelFactory = layerViewModelFactory;
|
||||
_folderVmFactory = folderVmFactory;
|
||||
_layerVmFactory = layerVmFactory;
|
||||
|
||||
Parent = parent;
|
||||
ProfileElement = profileElement;
|
||||
@@ -182,13 +182,13 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.ProfileTree.TreeItem
|
||||
{
|
||||
existing = Children.FirstOrDefault(p => p is FolderViewModel vm && vm.ProfileElement == folder);
|
||||
if (existing == null)
|
||||
Children.Add(_folderViewModelFactory.Create((FolderViewModel) this, folder));
|
||||
Children.Add(_folderVmFactory.Create((FolderViewModel) this, folder));
|
||||
}
|
||||
else if (profileElement is Layer layer)
|
||||
{
|
||||
existing = Children.FirstOrDefault(p => p is LayerViewModel vm && vm.ProfileElement == layer);
|
||||
if (existing == null)
|
||||
Children.Add(_layerViewModelFactory.Create((FolderViewModel) this, layer));
|
||||
Children.Add(_layerVmFactory.Create((FolderViewModel) this, layer));
|
||||
}
|
||||
|
||||
existing?.UpdateProfileElements();
|
||||
|
||||
Reference in new issue
Block a user