Scripting - Core implementation (#629)

Scripting - Added plugin classes
Layers - Fix certain blend modes not working as intended
UI - Add customizable header per page
Profile editor - Hide the regular header
Profile editor - Added a new toolbar
This commit is contained in:
Robert Beekman authored and GitHub committed 2021-06-19 09:48:16 +02:00
1 parent d749ab5bbd
commit 048864fe78
47 files changed
+1599 -237

No files matched your search

@@ -70,7 +70,7 @@
<Separator />
<MenuItem Header="Delete" Command="{s:Action Delete}" InputGestureText="Del">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="TrashCan" />
<materialDesign:PackIcon Kind="Trash" />
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
@@ -1,16 +1,15 @@
using MaterialDesignThemes.Wpf;
using Ninject;
using Stylet;
namespace Artemis.UI.Screens.Sidebar
{
public class SidebarScreenViewModel<T> : SidebarScreenViewModel where T : Screen
public class SidebarScreenViewModel<T> : SidebarScreenViewModel where T : MainScreenViewModel
{
public SidebarScreenViewModel(PackIconKind icon, string displayName) : base(icon, displayName)
{
}
public override Screen CreateInstance(IKernel kernel)
public override MainScreenViewModel CreateInstance(IKernel kernel)
{
return kernel.Get<T>();
}
@@ -24,8 +23,9 @@ namespace Artemis.UI.Screens.Sidebar
DisplayName = displayName;
}
public abstract Screen CreateInstance(IKernel kernel);
public PackIconKind Icon { get; }
public string DisplayName { get; }
public abstract MainScreenViewModel CreateInstance(IKernel kernel);
}
}
@@ -30,9 +30,9 @@ namespace Artemis.UI.Screens.Sidebar
private readonly IProfileService _profileService;
private readonly IProfileEditorService _profileEditorService;
private readonly IDialogService _dialogService;
private SidebarScreenViewModel _selectedSidebarScreen;
private ArtemisDevice _headerDevice;
private Screen _selectedScreen;
private SidebarScreenViewModel _selectedSidebarScreen;
private MainScreenViewModel _selectedScreen;
private readonly SidebarScreenViewModel<ProfileEditorViewModel> _profileEditor;
private readonly DefaultDropHandler _defaultDropHandler;
@@ -80,7 +80,7 @@ namespace Artemis.UI.Screens.Sidebar
public BindableCollection<SidebarScreenViewModel> SidebarScreens { get; }
public Screen SelectedScreen
public MainScreenViewModel SelectedScreen
{
get => _selectedScreen;
private set => SetAndNotify(ref _selectedScreen, value);