mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-12 11:56:30 +00:00
Implemented layer element saving
Added a working setting to the brush element
This commit is contained in:
1 parent
be03167f7e
commit
8ba2e58c5d
24 files changed
+440
-85
No files matched your search
+3
-1
@@ -19,7 +19,9 @@
|
||||
</TextBlock>
|
||||
<Separator Style="{StaticResource MaterialDesignDarkSeparator}" Margin="8 0" />
|
||||
</StackPanel>
|
||||
<ContentControl Grid.Row="1" s:View.Model="{Binding LayerElementViewModel}" />
|
||||
<ScrollViewer Grid.Row="1">
|
||||
<ContentControl s:View.Model="{Binding LayerElementViewModel}" Margin="0 0 10 0"/>
|
||||
</ScrollViewer>
|
||||
</Grid>
|
||||
|
||||
</UserControl>
|
||||
+12
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using Artemis.Core.Plugins.LayerElement;
|
||||
using Artemis.UI.Services.Interfaces;
|
||||
|
||||
@@ -19,7 +20,18 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.ElementProperties
|
||||
|
||||
private void OnSelectedLayerElementChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (LayerElementViewModel?.LayerElement?.Settings != null)
|
||||
LayerElementViewModel.LayerElement.Settings.PropertyChanged -= SettingsOnPropertyChanged;
|
||||
|
||||
LayerElementViewModel = _profileEditorService.SelectedLayerElement?.GetViewModel();
|
||||
|
||||
if (LayerElementViewModel?.LayerElement?.Settings != null)
|
||||
LayerElementViewModel.LayerElement.Settings.PropertyChanged += SettingsOnPropertyChanged;
|
||||
}
|
||||
|
||||
private void SettingsOnPropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
_profileEditorService.UpdateSelectedProfileElement();
|
||||
}
|
||||
}
|
||||
}
|
||||
+4
@@ -31,12 +31,16 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.LayerElements.Dialogs
|
||||
|
||||
public void Accept()
|
||||
{
|
||||
if (Session.IsEnded)
|
||||
return;
|
||||
var layerElement = _layerService.InstantiateLayerElement(Layer, SelectedLayerElementDescriptor);
|
||||
Session.Close(layerElement);
|
||||
}
|
||||
|
||||
public void Cancel()
|
||||
{
|
||||
if (Session.IsEnded)
|
||||
return;
|
||||
Session.Close();
|
||||
}
|
||||
|
||||
|
||||
+19
-3
@@ -4,6 +4,7 @@ using System.Linq;
|
||||
using Artemis.Core.Models.Profile;
|
||||
using Artemis.Core.Models.Profile.Abstract;
|
||||
using Artemis.Core.Plugins.LayerElement;
|
||||
using Artemis.Core.Services.Interfaces;
|
||||
using Artemis.UI.Screens.Module.ProfileEditor.LayerElements.Dialogs;
|
||||
using Artemis.UI.Services.Interfaces;
|
||||
using Stylet;
|
||||
@@ -14,11 +15,13 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.LayerElements
|
||||
{
|
||||
private readonly IDialogService _dialogService;
|
||||
private readonly IProfileEditorService _profileEditorService;
|
||||
private readonly ILayerService _layerService;
|
||||
private LayerElementViewModel _selectedLayerElement;
|
||||
|
||||
public LayerElementsViewModel(IProfileEditorService profileEditorService, IDialogService dialogService)
|
||||
public LayerElementsViewModel(IProfileEditorService profileEditorService, ILayerService layerService, IDialogService dialogService)
|
||||
{
|
||||
_profileEditorService = profileEditorService;
|
||||
_layerService = layerService;
|
||||
_dialogService = dialogService;
|
||||
|
||||
LayerElements = new BindableCollection<LayerElementViewModel>();
|
||||
@@ -74,8 +77,11 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.LayerElements
|
||||
new Dictionary<string, object> {{"layer", (Layer) SelectedProfileElement}}
|
||||
);
|
||||
|
||||
if (result is LayerElement layerElement)
|
||||
LayerElements.Add(new LayerElementViewModel(layerElement));
|
||||
if (!(result is LayerElement layerElement))
|
||||
return;
|
||||
|
||||
LayerElements.Add(new LayerElementViewModel(layerElement));
|
||||
_profileEditorService.UpdateSelectedProfileElement();
|
||||
}
|
||||
|
||||
public async void DeleteSelectedLayerElement()
|
||||
@@ -88,8 +94,18 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.LayerElements
|
||||
"Delete layer element",
|
||||
"Are you sure you want to delete the selected layer element?"
|
||||
);
|
||||
|
||||
if (!result)
|
||||
return;
|
||||
|
||||
var layerElement = SelectedLayerElement.LayerElement;
|
||||
var layer = (Layer) SelectedProfileElement;
|
||||
|
||||
LayerElements.Remove(SelectedLayerElement);
|
||||
SelectedLayerElement = null;
|
||||
|
||||
_layerService.RemoveLayerElement(layer, layerElement);
|
||||
_profileEditorService.UpdateSelectedProfileElement();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user