mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Fixed remaining compile errors
This commit is contained in:
parent
d171b947b7
commit
5b5acf2f76
@ -1,6 +1,6 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
<PreserveCompilationContext>false</PreserveCompilationContext>
|
<PreserveCompilationContext>false</PreserveCompilationContext>
|
||||||
<ShouldIncludeNativeSkiaSharp>false</ShouldIncludeNativeSkiaSharp>
|
<ShouldIncludeNativeSkiaSharp>false</ShouldIncludeNativeSkiaSharp>
|
||||||
<AssemblyTitle>Artemis.Core</AssemblyTitle>
|
<AssemblyTitle>Artemis.Core</AssemblyTitle>
|
||||||
|
|||||||
@ -6,7 +6,6 @@ using System.Linq;
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using Artemis.Core.JsonConverters;
|
using Artemis.Core.JsonConverters;
|
||||||
using Artemis.Core.Services;
|
using Artemis.Core.Services;
|
||||||
using Artemis.Core.Services.Core;
|
|
||||||
using Artemis.Core.SkiaSharp;
|
using Artemis.Core.SkiaSharp;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace Artemis.Core;
|
namespace Artemis.Core;
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using EmbedIO;
|
using EmbedIO;
|
||||||
using DryIoc;
|
|
||||||
|
|
||||||
namespace Artemis.Core.Services;
|
namespace Artemis.Core.Services;
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
<PreserveCompilationContext>false</PreserveCompilationContext>
|
<PreserveCompilationContext>false</PreserveCompilationContext>
|
||||||
<Platforms>x64</Platforms>
|
<Platforms>x64</Platforms>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|||||||
@ -5,7 +5,7 @@ using Avalonia;
|
|||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
using Avalonia.Controls.ApplicationLifetimes;
|
using Avalonia.Controls.ApplicationLifetimes;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.Threading;
|
using Avalonia.ReactiveUI;
|
||||||
using DryIoc;
|
using DryIoc;
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>WinExe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<PlatformTarget>x64</PlatformTarget>
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
<Platforms>x64</Platforms>
|
<Platforms>x64</Platforms>
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.Threading;
|
using Avalonia.ReactiveUI;
|
||||||
using DryIoc;
|
using DryIoc;
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>WinExe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<PlatformTarget>x64</PlatformTarget>
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
<Platforms>x64</Platforms>
|
<Platforms>x64</Platforms>
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<OutputPath>bin\</OutputPath>
|
<OutputPath>bin\</OutputPath>
|
||||||
<Platforms>x64</Platforms>
|
<Platforms>x64</Platforms>
|
||||||
@ -17,7 +17,7 @@
|
|||||||
<PackageReference Include="Avalonia.Xaml.Behaviors" Version="11.0.0-preview6" />
|
<PackageReference Include="Avalonia.Xaml.Behaviors" Version="11.0.0-preview6" />
|
||||||
<PackageReference Include="DynamicData" Version="7.13.1" />
|
<PackageReference Include="DynamicData" Version="7.13.1" />
|
||||||
<PackageReference Include="FluentAvaloniaUI" Version="2.0.0-preview6" />
|
<PackageReference Include="FluentAvaloniaUI" Version="2.0.0-preview6" />
|
||||||
<PackageReference Include="Material.Icons.Avalonia" Version="1.1.10" />
|
<PackageReference Include="Material.Icons.Avalonia" Version="2.0.0-preview3" />
|
||||||
<PackageReference Include="ReactiveUI" Version="18.4.26" />
|
<PackageReference Include="ReactiveUI" Version="18.4.26" />
|
||||||
<PackageReference Include="ReactiveUI.Validation" Version="3.1.7" />
|
<PackageReference Include="ReactiveUI.Validation" Version="3.1.7" />
|
||||||
<PackageReference Include="RGB.NET.Core" Version="2.0.0-prerelease.17" />
|
<PackageReference Include="RGB.NET.Core" Version="2.0.0-prerelease.17" />
|
||||||
|
|||||||
@ -12,8 +12,6 @@ using Avalonia.Input;
|
|||||||
using Avalonia.LogicalTree;
|
using Avalonia.LogicalTree;
|
||||||
using Avalonia.Media;
|
using Avalonia.Media;
|
||||||
using Avalonia.Media.Imaging;
|
using Avalonia.Media.Imaging;
|
||||||
using Avalonia.Platform;
|
|
||||||
using Avalonia.Rendering;
|
|
||||||
using Avalonia.Threading;
|
using Avalonia.Threading;
|
||||||
|
|
||||||
namespace Artemis.UI.Shared;
|
namespace Artemis.UI.Shared;
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||||
x:Class="Artemis.UI.Shared.EnumComboBox">
|
x:Class="Artemis.UI.Shared.EnumComboBox">
|
||||||
<ComboBox x:Name="EnumComboBox" HorizontalAlignment="Stretch">
|
<ComboBox x:Name="ChildEnumComboBox" HorizontalAlignment="Stretch">
|
||||||
<ComboBox.ItemTemplate>
|
<ComboBox.ItemTemplate>
|
||||||
<DataTemplate>
|
<DataTemplate>
|
||||||
<TextBlock Text="{Binding [1]}" />
|
<TextBlock Text="{Binding [1]}" />
|
||||||
|
|||||||
@ -90,7 +90,7 @@ public partial class EnumComboBox : UserControl
|
|||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
protected override void OnAttachedToLogicalTree(LogicalTreeAttachmentEventArgs e)
|
protected override void OnAttachedToLogicalTree(LogicalTreeAttachmentEventArgs e)
|
||||||
{
|
{
|
||||||
_enumComboBox = this.Get<ComboBox>("EnumComboBox");
|
_enumComboBox = this.Get<ComboBox>("ChildEnumComboBox");
|
||||||
_enumComboBox.Items = _currentValues;
|
_enumComboBox.Items = _currentValues;
|
||||||
|
|
||||||
UpdateValues();
|
UpdateValues();
|
||||||
|
|||||||
@ -4,6 +4,7 @@ using Avalonia;
|
|||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
using Avalonia.Media;
|
using Avalonia.Media;
|
||||||
using Avalonia.Media.Immutable;
|
using Avalonia.Media.Immutable;
|
||||||
|
using Avalonia.Styling;
|
||||||
using FluentAvalonia.UI.Media;
|
using FluentAvalonia.UI.Media;
|
||||||
using FluentAvalonia.UI.Windowing;
|
using FluentAvalonia.UI.Windowing;
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
@ -46,13 +47,9 @@ public class ReactiveAppWindow<TViewModel> : AppWindow, IViewFor<TViewModel> whe
|
|||||||
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows) || !IsWindows11)
|
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows) || !IsWindows11)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Enable Mica on Windows 11, based on the FluentAvalonia sample application
|
|
||||||
TransparencyBackgroundFallback = Brushes.Transparent;
|
TransparencyBackgroundFallback = Brushes.Transparent;
|
||||||
TransparencyLevelHint = WindowTransparencyLevel.Mica;
|
TransparencyLevelHint = WindowTransparencyLevel.Mica;
|
||||||
|
TryEnableMicaEffect();
|
||||||
Color2 color = this.TryFindResource("SolidBackgroundFillColorBase", out object? value) ? (Color) value! : new Color2(32, 32, 32);
|
|
||||||
color = color.LightenPercent(-0.5f);
|
|
||||||
Background = new ImmutableSolidColorBrush(color, 0.82);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnDataContextChanged(object? value)
|
private void OnDataContextChanged(object? value)
|
||||||
@ -70,6 +67,31 @@ public class ReactiveAppWindow<TViewModel> : AppWindow, IViewFor<TViewModel> whe
|
|||||||
else if (DataContext != value) DataContext = value;
|
else if (DataContext != value) DataContext = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void TryEnableMicaEffect()
|
||||||
|
{
|
||||||
|
// The background colors for the Mica brush are still based around SolidBackgroundFillColorBase resource
|
||||||
|
// BUT since we can't control the actual Mica brush color, we have to use the window background to create
|
||||||
|
// the same effect. However, we can't use SolidBackgroundFillColorBase directly since its opaque, and if
|
||||||
|
// we set the opacity the color become lighter than we want. So we take the normal color, darken it and
|
||||||
|
// apply the opacity until we get the roughly the correct color
|
||||||
|
// NOTE that the effect still doesn't look right, but it suffices. Ideally we need access to the Mica
|
||||||
|
// CompositionBrush to properly change the color but I don't know if we can do that or not
|
||||||
|
if (ActualThemeVariant == ThemeVariant.Dark)
|
||||||
|
{
|
||||||
|
Color2 color = this.TryFindResource("SolidBackgroundFillColorBase", ThemeVariant.Dark, out object? value) ? (Color) value : new Color2(32, 32, 32);
|
||||||
|
color = color.LightenPercent(-0.5f);
|
||||||
|
|
||||||
|
Background = new ImmutableSolidColorBrush(color, 0.78);
|
||||||
|
}
|
||||||
|
else if (ActualThemeVariant == ThemeVariant.Light)
|
||||||
|
{
|
||||||
|
// Similar effect here
|
||||||
|
Color2 color = this.TryFindResource("SolidBackgroundFillColorBase", ThemeVariant.Light, out object? value) ? (Color) value : new Color2(243, 243, 243);
|
||||||
|
color = color.LightenPercent(0.5f);
|
||||||
|
|
||||||
|
Background = new ImmutableSolidColorBrush(color, 0.9);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The ViewModel.
|
/// The ViewModel.
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
|
|||||||
@ -13,7 +13,7 @@ using Avalonia;
|
|||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
using Avalonia.Controls.ApplicationLifetimes;
|
using Avalonia.Controls.ApplicationLifetimes;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.Threading;
|
using Avalonia.ReactiveUI;
|
||||||
using DryIoc;
|
using DryIoc;
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>WinExe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<TargetFramework>net6.0-windows10.0.17763.0</TargetFramework>
|
<TargetFramework>net7.0-windows10.0.17763.0</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<Platforms>x64</Platforms>
|
<Platforms>x64</Platforms>
|
||||||
<OutputPath>bin</OutputPath>
|
<OutputPath>bin</OutputPath>
|
||||||
|
|||||||
@ -20,7 +20,7 @@ public static class UIContainerExtensions
|
|||||||
public static void RegisterProviders(this IContainer container)
|
public static void RegisterProviders(this IContainer container)
|
||||||
{
|
{
|
||||||
container.Register<ICursorProvider, CursorProvider>(Reuse.Singleton);
|
container.Register<ICursorProvider, CursorProvider>(Reuse.Singleton);
|
||||||
container.Register<IGraphicsContextProvider, GraphicsContextProvider>(Reuse.Singleton);
|
// container.Register<IGraphicsContextProvider, GraphicsContextProvider>(Reuse.Singleton);
|
||||||
container.Register<IAutoRunProvider, AutoRunProvider>();
|
container.Register<IAutoRunProvider, AutoRunProvider>();
|
||||||
container.Register<InputProvider, WindowsInputProvider>(serviceKey: WindowsInputProvider.Id);
|
container.Register<InputProvider, WindowsInputProvider>(serviceKey: WindowsInputProvider.Id);
|
||||||
container.Register<IUpdateNotificationProvider, WindowsUpdateNotificationProvider>();
|
container.Register<IUpdateNotificationProvider, WindowsUpdateNotificationProvider>();
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"profiles": {
|
"profiles": {
|
||||||
"Artemis.UI.Windows": {
|
"Artemis.UI.Windows": {
|
||||||
"commandName": "Project",
|
"commandName": "Project",
|
||||||
"commandLineArgs": "--force-elevation --disable-forced-shutdown --pcmr"
|
"commandLineArgs": "--disable-forced-shutdown --pcmr"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,25 +0,0 @@
|
|||||||
using System;
|
|
||||||
using Avalonia.Win32;
|
|
||||||
|
|
||||||
namespace Artemis.UI.Windows.Providers.Input;
|
|
||||||
|
|
||||||
public class SpongeWindow : WindowImpl
|
|
||||||
{
|
|
||||||
public event EventHandler<SpongeWindowEventArgs>? WndProcCalled;
|
|
||||||
|
|
||||||
#region Overrides of WindowImpl
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
|
||||||
protected override IntPtr WndProc(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam)
|
|
||||||
{
|
|
||||||
OnWndProcCalled(new SpongeWindowEventArgs(hWnd, msg, wParam, lParam));
|
|
||||||
return base.WndProc(hWnd, msg, wParam, lParam);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
protected virtual void OnWndProcCalled(SpongeWindowEventArgs e)
|
|
||||||
{
|
|
||||||
WndProcCalled?.Invoke(this, e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,19 +0,0 @@
|
|||||||
using System;
|
|
||||||
|
|
||||||
namespace Artemis.UI.Windows.Providers.Input;
|
|
||||||
|
|
||||||
public class SpongeWindowEventArgs : EventArgs
|
|
||||||
{
|
|
||||||
public SpongeWindowEventArgs(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam)
|
|
||||||
{
|
|
||||||
HWnd = hWnd;
|
|
||||||
Msg = msg;
|
|
||||||
WParam = wParam;
|
|
||||||
LParam = lParam;
|
|
||||||
}
|
|
||||||
|
|
||||||
public IntPtr HWnd { get; }
|
|
||||||
public uint Msg { get; }
|
|
||||||
public IntPtr WParam { get; }
|
|
||||||
public IntPtr LParam { get; }
|
|
||||||
}
|
|
||||||
@ -5,6 +5,8 @@ using System.Timers;
|
|||||||
using Artemis.Core;
|
using Artemis.Core;
|
||||||
using Artemis.Core.Services;
|
using Artemis.Core.Services;
|
||||||
using Artemis.UI.Windows.Utilities;
|
using Artemis.UI.Windows.Utilities;
|
||||||
|
using Avalonia.Controls.ApplicationLifetimes;
|
||||||
|
using Avalonia.Platform;
|
||||||
using Linearstar.Windows.RawInput;
|
using Linearstar.Windows.RawInput;
|
||||||
using Linearstar.Windows.RawInput.Native;
|
using Linearstar.Windows.RawInput.Native;
|
||||||
using Serilog;
|
using Serilog;
|
||||||
@ -17,7 +19,6 @@ public class WindowsInputProvider : InputProvider
|
|||||||
|
|
||||||
private readonly IInputService _inputService;
|
private readonly IInputService _inputService;
|
||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
private readonly SpongeWindow _sponge;
|
|
||||||
private readonly Timer _taskManagerTimer;
|
private readonly Timer _taskManagerTimer;
|
||||||
private int _lastProcessId;
|
private int _lastProcessId;
|
||||||
|
|
||||||
@ -25,16 +26,24 @@ public class WindowsInputProvider : InputProvider
|
|||||||
{
|
{
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_inputService = inputService;
|
_inputService = inputService;
|
||||||
|
|
||||||
_sponge = new SpongeWindow();
|
|
||||||
_sponge.WndProcCalled += SpongeOnWndProcCalled;
|
|
||||||
|
|
||||||
_taskManagerTimer = new Timer(500);
|
_taskManagerTimer = new Timer(500);
|
||||||
_taskManagerTimer.Elapsed += TaskManagerTimerOnElapsed;
|
_taskManagerTimer.Elapsed += TaskManagerTimerOnElapsed;
|
||||||
_taskManagerTimer.Start();
|
_taskManagerTimer.Start();
|
||||||
|
|
||||||
RawInputDevice.RegisterDevice(HidUsageAndPage.Keyboard, RawInputDeviceFlags.InputSink, _sponge.Handle.Handle);
|
// if (Avalonia.Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
||||||
RawInputDevice.RegisterDevice(HidUsageAndPage.Mouse, RawInputDeviceFlags.InputSink, _sponge.Handle.Handle);
|
// {
|
||||||
|
// IWindowImpl window = desktop.MainWindow!.PlatformImpl!;
|
||||||
|
//
|
||||||
|
// // https://github.com/sanjay900/guitar-configurator/blob/master/Notify/WindowsDeviceNotifierAvalonia.cs
|
||||||
|
// // _hWndProcHook = GetWindowLongPtr(window.Handle.Handle, GwlWndproc);
|
||||||
|
// // _fnWndProcHook = CustomWndProc;
|
||||||
|
// // var newLong = Marshal.GetFunctionPointerForDelegate(_fnWndProcHook);
|
||||||
|
// // SetWindowLongPtr(window.Handle.Handle, GwlWndproc, newLong);
|
||||||
|
//
|
||||||
|
// RawInputDevice.RegisterDevice(HidUsageAndPage.Keyboard, RawInputDeviceFlags.InputSink, window.Handle.Handle);
|
||||||
|
// RawInputDevice.RegisterDevice(HidUsageAndPage.Mouse, RawInputDeviceFlags.InputSink, window.Handle.Handle);
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Guid Id { get; } = new("6737b204-ffb1-4cd9-8776-9fb851db303a");
|
public static Guid Id { get; } = new("6737b204-ffb1-4cd9-8776-9fb851db303a");
|
||||||
@ -55,19 +64,18 @@ public class WindowsInputProvider : InputProvider
|
|||||||
{
|
{
|
||||||
if (disposing)
|
if (disposing)
|
||||||
{
|
{
|
||||||
_sponge.Dispose();
|
|
||||||
_taskManagerTimer.Dispose();
|
_taskManagerTimer.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
base.Dispose(disposing);
|
base.Dispose(disposing);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SpongeOnWndProcCalled(object? sender, SpongeWindowEventArgs message)
|
private void OnWndProcCalled(nint hWnd, uint msg, nint wParam, nint lParam)
|
||||||
{
|
{
|
||||||
if (message.Msg != WM_INPUT)
|
if (msg != WM_INPUT)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
RawInputData data = RawInputData.FromHandle(message.LParam);
|
RawInputData data = RawInputData.FromHandle(lParam);
|
||||||
switch (data)
|
switch (data)
|
||||||
{
|
{
|
||||||
case RawInputMouseData mouse:
|
case RawInputMouseData mouse:
|
||||||
|
|||||||
@ -9,7 +9,6 @@ using Artemis.UI.Screens.Settings;
|
|||||||
using Artemis.UI.Services.Updating;
|
using Artemis.UI.Services.Updating;
|
||||||
using Artemis.UI.Shared.Services.MainWindow;
|
using Artemis.UI.Shared.Services.MainWindow;
|
||||||
using Avalonia.Threading;
|
using Avalonia.Threading;
|
||||||
using DryIoc.ImTools;
|
|
||||||
using Microsoft.Toolkit.Uwp.Notifications;
|
using Microsoft.Toolkit.Uwp.Notifications;
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using Avalonia.Controls;
|
||||||
using Avalonia.Win32;
|
using Avalonia.Win32;
|
||||||
using SharpVk;
|
using SharpVk;
|
||||||
using SharpVk.Khronos;
|
using SharpVk.Khronos;
|
||||||
@ -10,10 +11,10 @@ internal sealed class Win32VkContext : VkContext
|
|||||||
{
|
{
|
||||||
public Win32VkContext()
|
public Win32VkContext()
|
||||||
{
|
{
|
||||||
Window = new WindowImpl();
|
Window = new Window();
|
||||||
Instance = Instance.Create(null, new[] {"VK_KHR_surface", "VK_KHR_win32_surface"});
|
Instance = Instance.Create(null, new[] {"VK_KHR_surface", "VK_KHR_win32_surface"});
|
||||||
PhysicalDevice = Instance.EnumeratePhysicalDevices().First();
|
PhysicalDevice = Instance.EnumeratePhysicalDevices().First();
|
||||||
Surface = Instance.CreateWin32Surface(Kernel32.CurrentModuleHandle, Window.Handle.Handle);
|
Surface = Instance.CreateWin32Surface(Kernel32.CurrentModuleHandle, Window.PlatformImpl!.Handle.Handle);
|
||||||
|
|
||||||
(GraphicsFamily, PresentFamily) = FindQueueFamilies();
|
(GraphicsFamily, PresentFamily) = FindQueueFamilies();
|
||||||
|
|
||||||
@ -43,12 +44,12 @@ internal sealed class Win32VkContext : VkContext
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public WindowImpl Window { get; }
|
public Window Window { get; }
|
||||||
|
|
||||||
public override void Dispose()
|
public override void Dispose()
|
||||||
{
|
{
|
||||||
base.Dispose();
|
base.Dispose();
|
||||||
Window.Dispose();
|
Window.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
private IntPtr Proc(string name, IntPtr instanceHandle, IntPtr deviceHandle)
|
private IntPtr Proc(string name, IntPtr instanceHandle, IntPtr deviceHandle)
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<OutputPath>bin/</OutputPath>
|
<OutputPath>bin/</OutputPath>
|
||||||
<Platforms>x64</Platforms>
|
<Platforms>x64</Platforms>
|
||||||
@ -29,8 +29,8 @@
|
|||||||
<PackageReference Include="FluentAvaloniaUI" Version="2.0.0-preview6" />
|
<PackageReference Include="FluentAvaloniaUI" Version="2.0.0-preview6" />
|
||||||
<PackageReference Include="Flurl.Http" Version="3.2.4" />
|
<PackageReference Include="Flurl.Http" Version="3.2.4" />
|
||||||
<PackageReference Include="Live.Avalonia" Version="1.3.1" />
|
<PackageReference Include="Live.Avalonia" Version="1.3.1" />
|
||||||
<PackageReference Include="Markdown.Avalonia.Tight" Version="0.10.13" />
|
<PackageReference Include="Markdown.Avalonia.Tight" Version="11.0.0-b1" />
|
||||||
<PackageReference Include="Material.Icons.Avalonia" Version="1.1.10" />
|
<PackageReference Include="Material.Icons.Avalonia" Version="2.0.0-preview3" />
|
||||||
<PackageReference Include="Octopus.Octodiff" Version="2.0.100" />
|
<PackageReference Include="Octopus.Octodiff" Version="2.0.100" />
|
||||||
<PackageReference Include="ReactiveUI" Version="18.4.26" />
|
<PackageReference Include="ReactiveUI" Version="18.4.26" />
|
||||||
<PackageReference Include="ReactiveUI.Validation" Version="3.1.7" />
|
<PackageReference Include="ReactiveUI.Validation" Version="3.1.7" />
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
<controls:CoreWindow xmlns="https://github.com/avaloniaui"
|
<windowing:AppWindow xmlns="https://github.com/avaloniaui"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||||
|
xmlns:windowing="clr-namespace:FluentAvalonia.UI.Windowing;assembly=FluentAvalonia"
|
||||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||||
x:Class="Artemis.UI.MainWindow"
|
x:Class="Artemis.UI.MainWindow"
|
||||||
Icon="/Assets/Images/Logo/application.ico"
|
Icon="/Assets/Images/Logo/application.ico"
|
||||||
@ -26,4 +27,4 @@
|
|||||||
</DockPanel>
|
</DockPanel>
|
||||||
<StackPanel Classes="notification-container" Name="NotificationContainer" VerticalAlignment="Bottom" HorizontalAlignment="Right"/>
|
<StackPanel Classes="notification-container" Name="NotificationContainer" VerticalAlignment="Bottom" HorizontalAlignment="Right"/>
|
||||||
</Panel>
|
</Panel>
|
||||||
</controls:CoreWindow>
|
</windowing:AppWindow>
|
||||||
@ -7,13 +7,12 @@ using Artemis.UI.Shared;
|
|||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.Threading;
|
using Avalonia.ReactiveUI;
|
||||||
using FluentAvalonia.Core.ApplicationModel;
|
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
namespace Artemis.UI;
|
namespace Artemis.UI;
|
||||||
|
|
||||||
public class MainWindow : ReactiveAppWindow<RootViewModel>
|
public partial class MainWindow : ReactiveAppWindow<RootViewModel>
|
||||||
{
|
{
|
||||||
private readonly Panel _rootPanel;
|
private readonly Panel _rootPanel;
|
||||||
private readonly ContentControl _sidebarContentControl;
|
private readonly ContentControl _sidebarContentControl;
|
||||||
@ -25,7 +24,7 @@ public class MainWindow : ReactiveAppWindow<RootViewModel>
|
|||||||
Activated += OnActivated;
|
Activated += OnActivated;
|
||||||
Deactivated += OnDeactivated;
|
Deactivated += OnDeactivated;
|
||||||
|
|
||||||
ApplyWindowSize();
|
// ApplyWindowSize();
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
_rootPanel = this.Get<Panel>("RootPanel");
|
_rootPanel = this.Get<Panel>("RootPanel");
|
||||||
@ -67,12 +66,12 @@ public class MainWindow : ReactiveAppWindow<RootViewModel>
|
|||||||
private void OnOpened(object? sender, EventArgs e)
|
private void OnOpened(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Opened -= OnOpened;
|
Opened -= OnOpened;
|
||||||
ICoreApplicationView coreAppTitleBar = this;
|
// ICoreApplicationView coreAppTitleBar = this;
|
||||||
if (coreAppTitleBar.TitleBar != null)
|
// if (coreAppTitleBar.TitleBar != null)
|
||||||
{
|
// {
|
||||||
coreAppTitleBar.TitleBar.ExtendViewIntoTitleBar = true;
|
// coreAppTitleBar.TitleBar.ExtendViewIntoTitleBar = true;
|
||||||
SetTitleBar(this.Get<Border>("DragHandle"));
|
// SetTitleBar(this.Get<Border>("DragHandle"));
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnActivated(object? sender, EventArgs e)
|
private void OnActivated(object? sender, EventArgs e)
|
||||||
|
|||||||
@ -9,7 +9,6 @@
|
|||||||
<TextBlock Classes="subtitle" Text="{Binding Profiler.Name}" Margin="10 10 0 0" />
|
<TextBlock Classes="subtitle" Text="{Binding Profiler.Name}" Margin="10 10 0 0" />
|
||||||
|
|
||||||
<DataGrid Items="{Binding Measurements}"
|
<DataGrid Items="{Binding Measurements}"
|
||||||
d:DataContext="{d:DesignInstance Type={x:Type local:PerformanceDebugMeasurementViewModel}}"
|
|
||||||
CanUserSortColumns="True"
|
CanUserSortColumns="True"
|
||||||
IsReadOnly="True"
|
IsReadOnly="True"
|
||||||
AutoGenerateColumns="False"
|
AutoGenerateColumns="False"
|
||||||
|
|||||||
@ -117,7 +117,7 @@
|
|||||||
</controls:HyperlinkButton>
|
</controls:HyperlinkButton>
|
||||||
<TextBlock Grid.Row="1"
|
<TextBlock Grid.Row="1"
|
||||||
Grid.Column="1"
|
Grid.Column="1"
|
||||||
Foreground="{DynamicResource MaterialDesignBodyLight}"
|
Classes="subtitle"
|
||||||
TextWrapping="Wrap"
|
TextWrapping="Wrap"
|
||||||
VerticalAlignment="Center">
|
VerticalAlignment="Center">
|
||||||
Feel like making a donation? It would be gratefully received. Click the button to donate via PayPal.
|
Feel like making a donation? It would be gratefully received. Click the button to donate via PayPal.
|
||||||
|
|||||||
@ -18,7 +18,7 @@
|
|||||||
<TextBlock Text=" - " />
|
<TextBlock Text=" - " />
|
||||||
<TextBlock Text="{CompiledBinding ActiveAction.Action.Name, Mode=OneWay, FallbackValue=''}" />
|
<TextBlock Text="{CompiledBinding ActiveAction.Action.Name, Mode=OneWay, FallbackValue=''}" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<TextBlock Foreground="{DynamicResource MaterialDesignBodyLight}" TextWrapping="Wrap" IsVisible="{CompiledBinding Actions.Count}">
|
<TextBlock Classes="subtitle" TextWrapping="Wrap" IsVisible="{CompiledBinding Actions.Count}">
|
||||||
|
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<TextBlock Classes="h4" TextWrapping="Wrap" Text="{CompiledBinding ActiveAction.Action.Name, Mode=OneWay}" IsVisible="{CompiledBinding !Actions.Count}" />
|
<TextBlock Classes="h4" TextWrapping="Wrap" Text="{CompiledBinding ActiveAction.Action.Name, Mode=OneWay}" IsVisible="{CompiledBinding !Actions.Count}" />
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using Avalonia.Controls;
|
|
||||||
using Avalonia.Interactivity;
|
using Avalonia.Interactivity;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.ReactiveUI;
|
using Avalonia.ReactiveUI;
|
||||||
|
|||||||
@ -13,7 +13,6 @@ using Artemis.UI.Shared.Services;
|
|||||||
using Artemis.UI.Shared.Services.Builders;
|
using Artemis.UI.Shared.Services.Builders;
|
||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
using Avalonia.Threading;
|
using Avalonia.Threading;
|
||||||
using DryIoc;
|
|
||||||
using Material.Icons;
|
using Material.Icons;
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,6 @@ using System.Collections.ObjectModel;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
using Avalonia.Controls.Generators;
|
|
||||||
using Avalonia.Input;
|
using Avalonia.Input;
|
||||||
using Avalonia.Interactivity;
|
using Avalonia.Interactivity;
|
||||||
using Avalonia.VisualTree;
|
using Avalonia.VisualTree;
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Reactive.Disposables;
|
using System.Reactive.Disposables;
|
||||||
using Avalonia.Controls;
|
|
||||||
using Avalonia.Input;
|
using Avalonia.Input;
|
||||||
using Avalonia.Interactivity;
|
using Avalonia.Interactivity;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Reactive.Disposables;
|
using System.Reactive.Disposables;
|
||||||
using Avalonia.Controls;
|
|
||||||
using Avalonia.Input;
|
using Avalonia.Input;
|
||||||
using Avalonia.Interactivity;
|
using Avalonia.Interactivity;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
|
|||||||
@ -23,8 +23,8 @@
|
|||||||
<converters:ColorOpacityConverter x:Key="ColorOpacityConverter" />
|
<converters:ColorOpacityConverter x:Key="ColorOpacityConverter" />
|
||||||
</UserControl.Resources>
|
</UserControl.Resources>
|
||||||
<UserControl.Styles>
|
<UserControl.Styles>
|
||||||
<StyleInclude Source="avares://Avalonia.Xaml.Interactions/Draggable/Styles.axaml" />
|
<StyleInclude Source="avares://Avalonia.Xaml.Interactions.Draggable/Styles.axaml" />
|
||||||
<Style Selector="TreeView#ProfileTreeView">
|
<Style Selector="TreeView#Profile">
|
||||||
<Style.Resources>
|
<Style.Resources>
|
||||||
<profileBehaviors:ProfileTreeViewDropHandler x:Key="ProfileTreeViewDropHandler" />
|
<profileBehaviors:ProfileTreeViewDropHandler x:Key="ProfileTreeViewDropHandler" />
|
||||||
</Style.Resources>
|
</Style.Resources>
|
||||||
@ -37,7 +37,7 @@
|
|||||||
</Setter>
|
</Setter>
|
||||||
</Style>
|
</Style>
|
||||||
|
|
||||||
<Style Selector="TreeView#ProfileTreeView TreeViewItem">
|
<Style Selector="TreeView#Profile TreeViewItem">
|
||||||
<Setter Property="IsExpanded" Value="True" />
|
<Setter Property="IsExpanded" Value="True" />
|
||||||
<Setter Property="(Interaction.Behaviors)">
|
<Setter Property="(Interaction.Behaviors)">
|
||||||
<BehaviorCollectionTemplate>
|
<BehaviorCollectionTemplate>
|
||||||
@ -48,7 +48,7 @@
|
|||||||
</Setter>
|
</Setter>
|
||||||
</Style>
|
</Style>
|
||||||
|
|
||||||
<Style Selector="TreeView#ProfileTreeView TreeViewItem:dragging-before">
|
<Style Selector="TreeView#Profile TreeViewItem:dragging-before">
|
||||||
<Setter Property="Background">
|
<Setter Property="Background">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<LinearGradientBrush StartPoint="0,0" EndPoint="0,28">
|
<LinearGradientBrush StartPoint="0,0" EndPoint="0,28">
|
||||||
@ -60,7 +60,7 @@
|
|||||||
</Setter.Value>
|
</Setter.Value>
|
||||||
</Setter>
|
</Setter>
|
||||||
</Style>
|
</Style>
|
||||||
<Style Selector="TreeView#ProfileTreeView TreeViewItem:dragging-into">
|
<Style Selector="TreeView#Profile TreeViewItem:dragging-into">
|
||||||
<Setter Property="Background">
|
<Setter Property="Background">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<LinearGradientBrush StartPoint="0,0" EndPoint="0,28">
|
<LinearGradientBrush StartPoint="0,0" EndPoint="0,28">
|
||||||
@ -76,7 +76,7 @@
|
|||||||
</Setter.Value>
|
</Setter.Value>
|
||||||
</Setter>
|
</Setter>
|
||||||
</Style>
|
</Style>
|
||||||
<Style Selector="TreeView#ProfileTreeView TreeViewItem:dragging-after">
|
<Style Selector="TreeView#Profile TreeViewItem:dragging-after">
|
||||||
<Setter Property="Background">
|
<Setter Property="Background">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<LinearGradientBrush StartPoint="0,0" EndPoint="0,28">
|
<LinearGradientBrush StartPoint="0,0" EndPoint="0,28">
|
||||||
@ -90,7 +90,7 @@
|
|||||||
</Style>
|
</Style>
|
||||||
</UserControl.Styles>
|
</UserControl.Styles>
|
||||||
<Grid RowDefinitions="*,Auto">
|
<Grid RowDefinitions="*,Auto">
|
||||||
<TreeView Name="ProfileTreeView" Classes="no-right-margin draggable"
|
<TreeView Name="Profile" Classes="no-right-margin draggable"
|
||||||
Items="{CompiledBinding Children}"
|
Items="{CompiledBinding Children}"
|
||||||
SelectedItem="{CompiledBinding SelectedChild}"
|
SelectedItem="{CompiledBinding SelectedChild}"
|
||||||
SelectionChanged="ProfileTreeView_OnSelectionChanged">
|
SelectionChanged="ProfileTreeView_OnSelectionChanged">
|
||||||
|
|||||||
@ -120,6 +120,6 @@ public partial class ProfileTreeView : ReactiveUserControl<ProfileTreeViewModel>
|
|||||||
|
|
||||||
private void ProfileTreeView_OnSelectionChanged(object? sender, SelectionChangedEventArgs e)
|
private void ProfileTreeView_OnSelectionChanged(object? sender, SelectionChangedEventArgs e)
|
||||||
{
|
{
|
||||||
ProfileTreeView.Focus();
|
Profile.Focus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,5 +1,3 @@
|
|||||||
using Avalonia.Controls;
|
|
||||||
using Avalonia.Controls.Shapes;
|
|
||||||
using Avalonia.Input;
|
using Avalonia.Input;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.ReactiveUI;
|
using Avalonia.ReactiveUI;
|
||||||
|
|||||||
@ -1,5 +1,3 @@
|
|||||||
using Avalonia.Controls;
|
|
||||||
using Avalonia.Controls.Shapes;
|
|
||||||
using Avalonia.Input;
|
using Avalonia.Input;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.ReactiveUI;
|
using Avalonia.ReactiveUI;
|
||||||
|
|||||||
@ -1,5 +1,3 @@
|
|||||||
using Avalonia.Controls;
|
|
||||||
using Avalonia.Controls.Shapes;
|
|
||||||
using Avalonia.Input;
|
using Avalonia.Input;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.ReactiveUI;
|
using Avalonia.ReactiveUI;
|
||||||
|
|||||||
@ -5,7 +5,6 @@ using Artemis.Core;
|
|||||||
using Artemis.UI.Shared.Services;
|
using Artemis.UI.Shared.Services;
|
||||||
using Artemis.UI.Shared.Services.ProfileEditor;
|
using Artemis.UI.Shared.Services.ProfileEditor;
|
||||||
using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
||||||
using Avalonia.Controls.Mixins;
|
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Segments;
|
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Segments;
|
||||||
|
|||||||
@ -12,7 +12,6 @@ using Artemis.UI.Shared.Services;
|
|||||||
using Artemis.UI.Shared.Services.Builders;
|
using Artemis.UI.Shared.Services.Builders;
|
||||||
using Artemis.UI.Shared.Services.ProfileEditor;
|
using Artemis.UI.Shared.Services.ProfileEditor;
|
||||||
using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
using Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
||||||
using Avalonia.Controls.Mixins;
|
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Segments;
|
namespace Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Segments;
|
||||||
|
|||||||
@ -1,11 +1,9 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes;
|
using Artemis.UI.Screens.ProfileEditor.Properties.Timeline.Keyframes;
|
||||||
using Artemis.UI.Shared;
|
|
||||||
using Artemis.UI.Shared.Events;
|
using Artemis.UI.Shared.Events;
|
||||||
using Artemis.UI.Shared.Extensions;
|
using Artemis.UI.Shared.Extensions;
|
||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Controls;
|
|
||||||
using Avalonia.Input;
|
using Avalonia.Input;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.ReactiveUI;
|
using Avalonia.ReactiveUI;
|
||||||
|
|||||||
@ -6,7 +6,6 @@ using Artemis.Core;
|
|||||||
using Artemis.UI.Shared.Extensions;
|
using Artemis.UI.Shared.Extensions;
|
||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
using Avalonia.Controls.Mixins;
|
|
||||||
using Avalonia.Controls.PanAndZoom;
|
using Avalonia.Controls.PanAndZoom;
|
||||||
using Avalonia.Controls.Shapes;
|
using Avalonia.Controls.Shapes;
|
||||||
using Avalonia.Input;
|
using Avalonia.Input;
|
||||||
|
|||||||
@ -2,9 +2,7 @@ using System;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reactive.Disposables;
|
using System.Reactive.Disposables;
|
||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Controls;
|
|
||||||
using Avalonia.Controls.PanAndZoom;
|
using Avalonia.Controls.PanAndZoom;
|
||||||
using Avalonia.Controls.Shapes;
|
|
||||||
using Avalonia.LogicalTree;
|
using Avalonia.LogicalTree;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.ReactiveUI;
|
using Avalonia.ReactiveUI;
|
||||||
|
|||||||
@ -1,9 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Controls;
|
|
||||||
using Avalonia.Controls.PanAndZoom;
|
using Avalonia.Controls.PanAndZoom;
|
||||||
using Avalonia.Controls.Shapes;
|
|
||||||
using Avalonia.LogicalTree;
|
using Avalonia.LogicalTree;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.ReactiveUI;
|
using Avalonia.ReactiveUI;
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
using Avalonia.Interactivity;
|
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
|
|
||||||
namespace Artemis.UI.Screens.ProfileEditor;
|
namespace Artemis.UI.Screens.ProfileEditor;
|
||||||
|
|||||||
@ -8,8 +8,7 @@
|
|||||||
xmlns:shared="clr-namespace:Artemis.UI.Shared.Services.ProfileEditor;assembly=Artemis.UI.Shared"
|
xmlns:shared="clr-namespace:Artemis.UI.Shared.Services.ProfileEditor;assembly=Artemis.UI.Shared"
|
||||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileEditorView"
|
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileEditorView"
|
||||||
x:DataType="profileEditor:ProfileEditorViewModel"
|
x:DataType="profileEditor:ProfileEditorViewModel">
|
||||||
Name="ProfileEditorView">
|
|
||||||
<UserControl.Resources>
|
<UserControl.Resources>
|
||||||
<converters:DoubleToGridLengthConverter x:Key="DoubleToGridLengthConverter" />
|
<converters:DoubleToGridLengthConverter x:Key="DoubleToGridLengthConverter" />
|
||||||
</UserControl.Resources>
|
</UserControl.Resources>
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Interactivity;
|
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.ReactiveUI;
|
using Avalonia.ReactiveUI;
|
||||||
|
|
||||||
|
|||||||
@ -29,7 +29,7 @@
|
|||||||
<TextBlock Grid.Row="1"
|
<TextBlock Grid.Row="1"
|
||||||
Grid.Column="1"
|
Grid.Column="1"
|
||||||
VerticalAlignment="Top"
|
VerticalAlignment="Top"
|
||||||
Foreground="{DynamicResource MaterialDesignBodyLight}"
|
Classes="subtitle"
|
||||||
Text="{Binding Version}" />
|
Text="{Binding Version}" />
|
||||||
|
|
||||||
<controls:HyperlinkButton Grid.Row="1"
|
<controls:HyperlinkButton Grid.Row="1"
|
||||||
|
|||||||
@ -14,7 +14,7 @@
|
|||||||
<ColumnDefinition MinWidth="165" MaxWidth="400" />
|
<ColumnDefinition MinWidth="165" MaxWidth="400" />
|
||||||
<ColumnDefinition Width="*" />
|
<ColumnDefinition Width="*" />
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<TextBox Classes="clearButton" Text="{CompiledBinding SearchPluginInput}" Watermark="Search plugins" Margin="0 0 10 0" />
|
<TextBox Classes="clearButton" Text="{CompiledBinding SearchPluginInput}" Watermark="Search plugins" Margin="0 0 10 0" />
|
||||||
|
|
||||||
<StackPanel Spacing="5" Grid.Row="0" Grid.Column="1" HorizontalAlignment="Right" Orientation="Horizontal">
|
<StackPanel Spacing="5" Grid.Row="0" Grid.Column="1" HorizontalAlignment="Right" Orientation="Horizontal">
|
||||||
<controls:HyperlinkButton VerticalAlignment="Top" NavigateUri="https://wiki.artemis-rgb.com/en/guides/user/plugins">
|
<controls:HyperlinkButton VerticalAlignment="Top" NavigateUri="https://wiki.artemis-rgb.com/en/guides/user/plugins">
|
||||||
|
|||||||
@ -157,166 +157,7 @@
|
|||||||
<Separator Grid.Row="1" Classes="card-separator" />
|
<Separator Grid.Row="1" Classes="card-separator" />
|
||||||
|
|
||||||
<avalonia:MarkdownScrollViewer Grid.Row="2" Markdown="{CompiledBinding Changelog}">
|
<avalonia:MarkdownScrollViewer Grid.Row="2" Markdown="{CompiledBinding Changelog}">
|
||||||
<avalonia:MarkdownScrollViewer.Styles>
|
|
||||||
<Style Selector="ctxt|CTextBlock">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="FontSize" Value="{mde:Multiply ControlContentThemeFontSize, 1}" />
|
|
||||||
<Setter Property="Margin" Value="0,5" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
<Style Selector="TextBlock">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="FontSize" Value="{mde:Multiply ControlContentThemeFontSize, 1}" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="ctxt|CTextBlock.Heading1">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="FontSize" Value="{mde:Multiply ControlContentThemeFontSize, 3.2}" />
|
|
||||||
<Setter Property="Foreground" Value="{mde:Alpha TextFillColorPrimaryBrush}" />
|
|
||||||
<Setter Property="FontWeight" Value="Light" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="ctxt|CTextBlock.Heading2">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="FontSize" Value="{mde:Multiply ControlContentThemeFontSize, 1.6}" />
|
|
||||||
<Setter Property="Foreground" Value="{mde:Alpha TextFillColorPrimaryBrush}" />
|
|
||||||
<Setter Property="FontWeight" Value="Light" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="ctxt|CTextBlock.Heading3">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="FontSize" Value="{mde:Multiply ControlContentThemeFontSize, 1.6}" />
|
|
||||||
<Setter Property="Foreground" Value="{mde:Alpha TextFillColorPrimaryBrush, 0.7}" />
|
|
||||||
<Setter Property="FontWeight" Value="Light" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="ctxt|CTextBlock.Heading4">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="FontSize" Value="{mde:Multiply ControlContentThemeFontSize, 1.2}" />
|
|
||||||
<Setter Property="Foreground" Value="{mde:Alpha TextFillColorPrimaryBrush, 0.7}" />
|
|
||||||
<Setter Property="FontWeight" Value="Light" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="ctxt|CHyperlink">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="IsUnderline" Value="true" />
|
|
||||||
<Setter Property="Foreground" Value="{StaticResource SystemAccentColor}" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
<Style Selector="ctxt|CHyperlink:pointerover">
|
|
||||||
<Setter Property="Foreground" Value="{mde:Complementary SystemAccentColor}" />
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="Border.Table">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Margin" Value="5" />
|
|
||||||
<Setter Property="BorderThickness" Value="0,0,1,1" />
|
|
||||||
<Setter Property="BorderBrush" Value="{mde:Alpha TextFillColorPrimaryBrush, 0.7}" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="Grid.Table > Border">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Margin" Value="0" />
|
|
||||||
<Setter Property="BorderThickness" Value="1,1,0,0" />
|
|
||||||
<Setter Property="BorderBrush" Value="{mde:Alpha TextFillColorPrimaryBrush, 0.7}" />
|
|
||||||
<Setter Property="Padding" Value="2" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="Border.TableHeader">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Background" Value="{mde:Alpha TextFillColorPrimaryBrush, 0.3}" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
<Style Selector="Border.TableHeader ctxt|CTextBlock">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="FontWeight" Value="DemiBold" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="Border.EvenTableRow">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Background" Value="{mde:Alpha ControlFillColorDefaultBrush, 0.9}" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="Border.CodeBlock">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="BorderBrush" Value="{mde:Alpha TextFillColorPrimaryBrush, 0.2}" />
|
|
||||||
<Setter Property="BorderThickness" Value="0,5,0,5" />
|
|
||||||
<Setter Property="Margin" Value="5,0,5,0" />
|
|
||||||
<Setter Property="Background" Value="{mde:Alpha ControlFillColorDefaultBrush, 0.9}" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
<Style Selector="TextBlock.CodeBlock">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="FontFamily" Value="menlo,monaco,consolas,droid sans mono,inconsolata,courier new,monospace,dejavu sans mono" />
|
|
||||||
<Setter Property="Foreground" Value="{mde:DivideColor Blue, TextFillColorPrimary, 0.4}" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
<Style Selector="Border.NoContainer">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="BorderBrush" Value="Red" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="ctxt|CCode">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Foreground" Value="{mde:DivideColor Blue, TextFillColorPrimary, 0.4}" />
|
|
||||||
<Setter Property="Background" Value="{mde:Alpha ControlFillColorDefaultBrush, 0.9}" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="Border.Note">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Margin" Value="5,0,5,0" />
|
|
||||||
<Setter Property="BorderBrush" Value="{mde:Alpha TextFillColorPrimaryBrush, 0.2}" />
|
|
||||||
<Setter Property="BorderThickness" Value="3,3,3,3" />
|
|
||||||
<Setter Property="Background" Value="{mde:Alpha ControlFillColorDefaultBrush, 0.9}" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
<Style Selector="ctxt|CTextBlock.Note">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Margin" Value="10, 5" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="Grid.List">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Margin" Value="15,0,0,0" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
<Style Selector="ctxt|CTextBlock.ListMarker">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Margin" Value="0,5,5,5" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="Border.Blockquote">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="BorderBrush" Value="{mde:Alpha TextFillColorPrimaryBrush, 0.2}" />
|
|
||||||
<Setter Property="BorderThickness" Value="5,0,0,0" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="StackPanel.Blockquote">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Margin" Value="10, 5" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="mdc|Rule">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Margin" Value="0,3" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
</avalonia:MarkdownScrollViewer.Styles>
|
|
||||||
</avalonia:MarkdownScrollViewer>
|
</avalonia:MarkdownScrollViewer>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Border>
|
</Border>
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
using Avalonia.Controls.Generators;
|
|
||||||
using Avalonia.Input;
|
using Avalonia.Input;
|
||||||
using Avalonia.VisualTree;
|
using Avalonia.VisualTree;
|
||||||
using Avalonia.Xaml.Interactions.DragAndDrop;
|
using Avalonia.Xaml.Interactions.DragAndDrop;
|
||||||
|
|||||||
@ -2,7 +2,6 @@ using System;
|
|||||||
using System.Reactive.Disposables;
|
using System.Reactive.Disposables;
|
||||||
using Artemis.UI.Shared;
|
using Artemis.UI.Shared;
|
||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Controls;
|
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
|
|||||||
@ -9,15 +9,12 @@
|
|||||||
x:Class="Artemis.UI.Screens.Sidebar.SidebarView"
|
x:Class="Artemis.UI.Screens.Sidebar.SidebarView"
|
||||||
x:DataType="sidebar:SidebarViewModel">
|
x:DataType="sidebar:SidebarViewModel">
|
||||||
<UserControl.Styles>
|
<UserControl.Styles>
|
||||||
<StyleInclude Source="avares://Avalonia.Xaml.Interactions/Draggable/Styles.axaml" />
|
<StyleInclude Source="avares://Avalonia.Xaml.Interactions.Draggable/Styles.axaml" />
|
||||||
</UserControl.Styles>
|
</UserControl.Styles>
|
||||||
<Grid RowDefinitions="60,Auto,Auto,*,Auto,Auto">
|
<Grid RowDefinitions="60,Auto,Auto,*,Auto,Auto">
|
||||||
<Grid Grid.Row="0" IsHitTestVisible="False" ColumnDefinitions="Auto,*">
|
<Grid Grid.Row="0" IsHitTestVisible="False" ColumnDefinitions="Auto,*">
|
||||||
<Image Grid.Column="0" Margin="12" Source="/Assets/Images/Logo/bow.png" RenderOptions.BitmapInterpolationMode="HighQuality" />
|
<Image Grid.Column="0" Margin="12" Source="/Assets/Images/Logo/bow.png" RenderOptions.BitmapInterpolationMode="HighQuality" />
|
||||||
<TextBlock Grid.Column="1"
|
<TextBlock Grid.Column="1" FontSize="24" VerticalAlignment="Center">
|
||||||
FontSize="24"
|
|
||||||
VerticalAlignment="Center"
|
|
||||||
Foreground="{DynamicResource MaterialDesignDarkForeground}">
|
|
||||||
Artemis 2
|
Artemis 2
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|||||||
@ -3,9 +3,7 @@ using System.Reactive.Disposables;
|
|||||||
using Artemis.UI.Screens.StartupWizard.Steps;
|
using Artemis.UI.Screens.StartupWizard.Steps;
|
||||||
using Artemis.UI.Shared;
|
using Artemis.UI.Shared;
|
||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Controls;
|
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using FluentAvalonia.UI.Controls;
|
|
||||||
using FluentAvalonia.UI.Navigation;
|
using FluentAvalonia.UI.Navigation;
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
|
|||||||
@ -3,15 +3,12 @@ using System.Collections.ObjectModel;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reactive;
|
using System.Reactive;
|
||||||
using System.Reactive.Disposables;
|
using System.Reactive.Disposables;
|
||||||
using System.Reflection;
|
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Artemis.Core;
|
using Artemis.Core;
|
||||||
using Artemis.Core.DeviceProviders;
|
using Artemis.Core.DeviceProviders;
|
||||||
using Artemis.Core.Services;
|
using Artemis.Core.Services;
|
||||||
using Artemis.UI.DryIoc.Factories;
|
using Artemis.UI.DryIoc.Factories;
|
||||||
using Artemis.UI.Screens.Plugins;
|
using Artemis.UI.Screens.Plugins;
|
||||||
using Artemis.UI.Services.Interfaces;
|
|
||||||
using Artemis.UI.Services.Updating;
|
|
||||||
using Artemis.UI.Shared;
|
using Artemis.UI.Shared;
|
||||||
using Artemis.UI.Shared.Providers;
|
using Artemis.UI.Shared.Providers;
|
||||||
using Artemis.UI.Shared.Services;
|
using Artemis.UI.Shared.Services;
|
||||||
|
|||||||
@ -30,7 +30,7 @@
|
|||||||
<TextBlock Grid.Row="1"
|
<TextBlock Grid.Row="1"
|
||||||
Grid.Column="1"
|
Grid.Column="1"
|
||||||
VerticalAlignment="Top"
|
VerticalAlignment="Top"
|
||||||
Foreground="{DynamicResource MaterialDesignBodyLight}"
|
Classes="subtitle"
|
||||||
Text="{Binding Version}" />
|
Text="{Binding Version}" />
|
||||||
|
|
||||||
<controls:HyperlinkButton Grid.Row="1"
|
<controls:HyperlinkButton Grid.Row="1"
|
||||||
|
|||||||
@ -64,7 +64,7 @@
|
|||||||
</UserControl.Resources>
|
</UserControl.Resources>
|
||||||
<Grid Margin="0 0 15 15" ColumnDefinitions="*,400">
|
<Grid Margin="0 0 15 15" ColumnDefinitions="*,400">
|
||||||
<Border Grid.Column="0" Classes="card-condensed">
|
<Border Grid.Column="0" Classes="card-condensed">
|
||||||
<paz:ZoomBorder Name="ZoomBorder"
|
<paz:ZoomBorder Name="ContainerZoomBorder"
|
||||||
Stretch="None"
|
Stretch="None"
|
||||||
ClipToBounds="True"
|
ClipToBounds="True"
|
||||||
Focusable="True"
|
Focusable="True"
|
||||||
|
|||||||
@ -1,10 +1,8 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Artemis.UI.Shared;
|
|
||||||
using Artemis.UI.Shared.Events;
|
using Artemis.UI.Shared.Events;
|
||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
using Avalonia.Controls.Generators;
|
|
||||||
using Avalonia.Controls.PanAndZoom;
|
using Avalonia.Controls.PanAndZoom;
|
||||||
using Avalonia.Input;
|
using Avalonia.Input;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
@ -18,7 +16,7 @@ public partial class SurfaceEditorView : ReactiveUserControl<SurfaceEditorViewMo
|
|||||||
public SurfaceEditorView()
|
public SurfaceEditorView()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
ZoomBorder.PropertyChanged += ZoomBorderOnPropertyChanged;
|
ContainerZoomBorder.PropertyChanged += ZoomBorderOnPropertyChanged;
|
||||||
UpdateZoomBorderBackground();
|
UpdateZoomBorderBackground();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -36,7 +34,7 @@ public partial class SurfaceEditorView : ReactiveUserControl<SurfaceEditorViewMo
|
|||||||
private void ZoomBorder_OnZoomChanged(object sender, ZoomChangedEventArgs e)
|
private void ZoomBorder_OnZoomChanged(object sender, ZoomChangedEventArgs e)
|
||||||
{
|
{
|
||||||
UpdateZoomBorderBackground();
|
UpdateZoomBorderBackground();
|
||||||
SurfaceBounds.BorderThickness = new Thickness(2 / ZoomBorder.ZoomX);
|
SurfaceBounds.BorderThickness = new Thickness(2 / ContainerZoomBorder.ZoomX);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SelectionRectangle_OnSelectionUpdated(object? sender, SelectionRectangleEventArgs e)
|
private void SelectionRectangle_OnSelectionUpdated(object? sender, SelectionRectangleEventArgs e)
|
||||||
@ -54,7 +52,7 @@ public partial class SurfaceEditorView : ReactiveUserControl<SurfaceEditorViewMo
|
|||||||
|
|
||||||
private void UpdateZoomBorderBackground()
|
private void UpdateZoomBorderBackground()
|
||||||
{
|
{
|
||||||
if (ZoomBorder.Background is VisualBrush visualBrush)
|
if (ContainerZoomBorder.Background is VisualBrush visualBrush)
|
||||||
visualBrush.DestinationRect = new RelativeRect(ZoomBorder.OffsetX * -1, ZoomBorder.OffsetY * -1, 20, 20, RelativeUnit.Absolute);
|
visualBrush.DestinationRect = new RelativeRect(ContainerZoomBorder.OffsetX * -1, ContainerZoomBorder.OffsetY * -1, 20, 20, RelativeUnit.Absolute);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3,8 +3,6 @@ using System.Linq;
|
|||||||
using System.Reactive.Disposables;
|
using System.Reactive.Disposables;
|
||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
using Avalonia.Controls.Mixins;
|
|
||||||
using Avalonia.Controls.Shapes;
|
|
||||||
using Avalonia.Input;
|
using Avalonia.Input;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.Media;
|
using Avalonia.Media;
|
||||||
|
|||||||
@ -2,9 +2,6 @@ using System;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reactive.Disposables;
|
using System.Reactive.Disposables;
|
||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Controls;
|
|
||||||
using Avalonia.Controls.Mixins;
|
|
||||||
using Avalonia.Controls.Shapes;
|
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.Media;
|
using Avalonia.Media;
|
||||||
using Avalonia.ReactiveUI;
|
using Avalonia.ReactiveUI;
|
||||||
|
|||||||
@ -3,8 +3,6 @@ using System.Reactive.Disposables;
|
|||||||
using System.Reactive.Linq;
|
using System.Reactive.Linq;
|
||||||
using Artemis.Core;
|
using Artemis.Core;
|
||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Controls;
|
|
||||||
using Avalonia.Controls.Mixins;
|
|
||||||
using Avalonia.Controls.PanAndZoom;
|
using Avalonia.Controls.PanAndZoom;
|
||||||
using Avalonia.Input;
|
using Avalonia.Input;
|
||||||
using Avalonia.LogicalTree;
|
using Avalonia.LogicalTree;
|
||||||
|
|||||||
@ -35,7 +35,7 @@
|
|||||||
<KeyBinding Command="{CompiledBinding History.Undo}" Gesture="Ctrl+Z" />
|
<KeyBinding Command="{CompiledBinding History.Undo}" Gesture="Ctrl+Z" />
|
||||||
<KeyBinding Command="{CompiledBinding History.Redo}" Gesture="Ctrl+Y" />
|
<KeyBinding Command="{CompiledBinding History.Redo}" Gesture="Ctrl+Y" />
|
||||||
</UserControl.KeyBindings>
|
</UserControl.KeyBindings>
|
||||||
<paz:ZoomBorder Name="ZoomBorder"
|
<paz:ZoomBorder Name="NodeScriptZoomBorder"
|
||||||
Stretch="None"
|
Stretch="None"
|
||||||
Focusable="True"
|
Focusable="True"
|
||||||
VerticalAlignment="Stretch"
|
VerticalAlignment="Stretch"
|
||||||
@ -86,7 +86,7 @@
|
|||||||
</ItemsControl>
|
</ItemsControl>
|
||||||
|
|
||||||
<shared:SelectionRectangle Name="SelectionRectangle"
|
<shared:SelectionRectangle Name="SelectionRectangle"
|
||||||
InputElement="{Binding #ZoomBorder}"
|
InputElement="{Binding #NodeScriptZoomBorder}"
|
||||||
SelectionUpdated="SelectionRectangle_OnSelectionUpdated"
|
SelectionUpdated="SelectionRectangle_OnSelectionUpdated"
|
||||||
SelectionFinished="SelectionRectangle_OnSelectionFinished"
|
SelectionFinished="SelectionRectangle_OnSelectionFinished"
|
||||||
BorderBrush="{DynamicResource SystemAccentColor}"
|
BorderBrush="{DynamicResource SystemAccentColor}"
|
||||||
|
|||||||
@ -2,11 +2,9 @@ using System;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reactive.Disposables;
|
using System.Reactive.Disposables;
|
||||||
using Artemis.UI.Shared;
|
|
||||||
using Artemis.UI.Shared.Events;
|
using Artemis.UI.Shared.Events;
|
||||||
using Avalonia;
|
using Avalonia;
|
||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
using Avalonia.Controls.Generators;
|
|
||||||
using Avalonia.Controls.PanAndZoom;
|
using Avalonia.Controls.PanAndZoom;
|
||||||
using Avalonia.Input;
|
using Avalonia.Input;
|
||||||
using Avalonia.Interactivity;
|
using Avalonia.Interactivity;
|
||||||
@ -25,26 +23,26 @@ public partial class NodeScriptView : ReactiveUserControl<NodeScriptViewModel>
|
|||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
ZoomBorder.PropertyChanged += ZoomBorderOnPropertyChanged;
|
// NodeScriptZoomBorder.PropertyChanged += ZoomBorderOnPropertyChanged;
|
||||||
UpdateZoomBorderBackground();
|
// UpdateZoomBorderBackground();
|
||||||
|
//
|
||||||
ZoomBorder.AddHandler(PointerReleasedEvent, CanvasOnPointerReleased, RoutingStrategies.Direct | RoutingStrategies.Tunnel | RoutingStrategies.Bubble, true);
|
// NodeScriptZoomBorder.AddHandler(PointerReleasedEvent, CanvasOnPointerReleased, RoutingStrategies.Direct | RoutingStrategies.Tunnel | RoutingStrategies.Bubble, true);
|
||||||
ZoomBorder.AddHandler(PointerWheelChangedEvent, ZoomOnPointerWheelChanged, RoutingStrategies.Direct | RoutingStrategies.Tunnel | RoutingStrategies.Bubble, true);
|
// NodeScriptZoomBorder.AddHandler(PointerWheelChangedEvent, ZoomOnPointerWheelChanged, RoutingStrategies.Direct | RoutingStrategies.Tunnel | RoutingStrategies.Bubble, true);
|
||||||
ZoomBorder.AddHandler(PointerMovedEvent, ZoomOnPointerMoved, RoutingStrategies.Direct | RoutingStrategies.Tunnel | RoutingStrategies.Bubble, true);
|
// NodeScriptZoomBorder.AddHandler(PointerMovedEvent, ZoomOnPointerMoved, RoutingStrategies.Direct | RoutingStrategies.Tunnel | RoutingStrategies.Bubble, true);
|
||||||
|
//
|
||||||
this.WhenActivated(d =>
|
// this.WhenActivated(d =>
|
||||||
{
|
// {
|
||||||
ViewModel!.AutoFitRequested += ViewModelOnAutoFitRequested;
|
// ViewModel!.AutoFitRequested += ViewModelOnAutoFitRequested;
|
||||||
ViewModel.PickerPositionSubject.Subscribe(ShowPickerAt).DisposeWith(d);
|
// ViewModel.PickerPositionSubject.Subscribe(ShowPickerAt).DisposeWith(d);
|
||||||
if (ViewModel.IsPreview)
|
// if (ViewModel.IsPreview)
|
||||||
{
|
// {
|
||||||
BoundsProperty.Changed.Subscribe(BoundsPropertyChanged).DisposeWith(d);
|
// BoundsProperty.Changed.Subscribe(BoundsPropertyChanged).DisposeWith(d);
|
||||||
ViewModel.NodeViewModels.ToObservableChangeSet().Subscribe(_ => AutoFitIfPreview()).DisposeWith(d);
|
// ViewModel.NodeViewModels.ToObservableChangeSet().Subscribe(_ => AutoFitIfPreview()).DisposeWith(d);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
Dispatcher.UIThread.InvokeAsync(() => AutoFit(true), DispatcherPriority.ContextIdle);
|
// Dispatcher.UIThread.InvokeAsync(() => AutoFit(true), DispatcherPriority.ContextIdle);
|
||||||
Disposable.Create(() => ViewModel.AutoFitRequested -= ViewModelOnAutoFitRequested).DisposeWith(d);
|
// Disposable.Create(() => ViewModel.AutoFitRequested -= ViewModelOnAutoFitRequested).DisposeWith(d);
|
||||||
});
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override Size MeasureOverride(Size availableSize)
|
protected override Size MeasureOverride(Size availableSize)
|
||||||
@ -56,7 +54,7 @@ public partial class NodeScriptView : ReactiveUserControl<NodeScriptViewModel>
|
|||||||
private void ZoomOnPointerWheelChanged(object? sender, PointerWheelEventArgs e)
|
private void ZoomOnPointerWheelChanged(object? sender, PointerWheelEventArgs e)
|
||||||
{
|
{
|
||||||
// If scroll events aren't handled here the ZoomBorder does some random panning when at the zoom limit
|
// If scroll events aren't handled here the ZoomBorder does some random panning when at the zoom limit
|
||||||
if (e.Delta.Y > 0 && ZoomBorder.ZoomX >= 1)
|
if (e.Delta.Y > 0 && NodeScriptZoomBorder.ZoomX >= 1)
|
||||||
e.Handled = true;
|
e.Handled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,7 +69,7 @@ public partial class NodeScriptView : ReactiveUserControl<NodeScriptViewModel>
|
|||||||
if (ViewModel == null)
|
if (ViewModel == null)
|
||||||
return;
|
return;
|
||||||
ViewModel.NodePickerViewModel.Position = point;
|
ViewModel.NodePickerViewModel.Position = point;
|
||||||
ZoomBorder?.ContextFlyout?.ShowAt(ZoomBorder);
|
NodeScriptZoomBorder?.ContextFlyout?.ShowAt(NodeScriptZoomBorder);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AutoFitIfPreview()
|
private void AutoFitIfPreview()
|
||||||
@ -111,8 +109,8 @@ public partial class NodeScriptView : ReactiveUserControl<NodeScriptViewModel>
|
|||||||
double scale = Math.Min(1, Math.Min(Bounds.Width / scriptRect.Width, Bounds.Height / scriptRect.Height));
|
double scale = Math.Min(1, Math.Min(Bounds.Width / scriptRect.Width, Bounds.Height / scriptRect.Height));
|
||||||
|
|
||||||
// Pan and zoom to make the script fit
|
// Pan and zoom to make the script fit
|
||||||
ZoomBorder.Zoom(scale, 0, 0, skipTransitions);
|
NodeScriptZoomBorder.Zoom(scale, 0, 0, skipTransitions);
|
||||||
ZoomBorder.Pan(Bounds.Center.X - scriptRect.Center.X * scale, Bounds.Center.Y - scriptRect.Center.Y * scale, skipTransitions);
|
NodeScriptZoomBorder.Pan(Bounds.Center.X - scriptRect.Center.X * scale, Bounds.Center.Y - scriptRect.Center.Y * scale, skipTransitions);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ViewModelOnAutoFitRequested(object? sender, EventArgs e)
|
private void ViewModelOnAutoFitRequested(object? sender, EventArgs e)
|
||||||
@ -122,14 +120,14 @@ public partial class NodeScriptView : ReactiveUserControl<NodeScriptViewModel>
|
|||||||
|
|
||||||
private void ZoomBorderOnPropertyChanged(object? sender, AvaloniaPropertyChangedEventArgs e)
|
private void ZoomBorderOnPropertyChanged(object? sender, AvaloniaPropertyChangedEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.Property.Name == nameof(ZoomBorder.Background))
|
if (e.Property.Name == nameof(NodeScriptZoomBorder.Background))
|
||||||
UpdateZoomBorderBackground();
|
UpdateZoomBorderBackground();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateZoomBorderBackground()
|
private void UpdateZoomBorderBackground()
|
||||||
{
|
{
|
||||||
if (ZoomBorder.Background is VisualBrush visualBrush)
|
if (NodeScriptZoomBorder.Background is VisualBrush visualBrush)
|
||||||
visualBrush.DestinationRect = new RelativeRect(ZoomBorder.OffsetX * -1, ZoomBorder.OffsetY * -1, 20, 20, RelativeUnit.Absolute);
|
visualBrush.DestinationRect = new RelativeRect(NodeScriptZoomBorder.OffsetX * -1, NodeScriptZoomBorder.OffsetY * -1, 20, 20, RelativeUnit.Absolute);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
@ -140,7 +138,7 @@ public partial class NodeScriptView : ReactiveUserControl<NodeScriptViewModel>
|
|||||||
private void ZoomBorder_OnZoomChanged(object sender, ZoomChangedEventArgs e)
|
private void ZoomBorder_OnZoomChanged(object sender, ZoomChangedEventArgs e)
|
||||||
{
|
{
|
||||||
if (ViewModel != null)
|
if (ViewModel != null)
|
||||||
ViewModel.PanMatrix = ZoomBorder.Matrix;
|
ViewModel.PanMatrix = NodeScriptZoomBorder.Matrix;
|
||||||
UpdateZoomBorderBackground();
|
UpdateZoomBorderBackground();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,6 @@ using System.Threading;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Artemis.Core;
|
using Artemis.Core;
|
||||||
using Artemis.Core.Services;
|
using Artemis.Core.Services;
|
||||||
using Artemis.Storage.Entities.General;
|
|
||||||
using Artemis.Storage.Repositories;
|
using Artemis.Storage.Repositories;
|
||||||
using Artemis.UI.Exceptions;
|
using Artemis.UI.Exceptions;
|
||||||
using Artemis.UI.Shared.Services.MainWindow;
|
using Artemis.UI.Shared.Services.MainWindow;
|
||||||
@ -110,6 +109,9 @@ public class UpdateService : IUpdateService
|
|||||||
|
|
||||||
private async void HandleAutoUpdateEvent(object? sender, EventArgs e)
|
private async void HandleAutoUpdateEvent(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
if (Constants.CurrentVersion == "local")
|
||||||
|
return;
|
||||||
|
|
||||||
// The event can trigger from multiple sources with a timer acting as a fallback, only actual perform an action once per max 59 minutes
|
// The event can trigger from multiple sources with a timer acting as a fallback, only actual perform an action once per max 59 minutes
|
||||||
if (DateTime.UtcNow - _lastAutoUpdateCheck < TimeSpan.FromMinutes(59))
|
if (DateTime.UtcNow - _lastAutoUpdateCheck < TimeSpan.FromMinutes(59))
|
||||||
return;
|
return;
|
||||||
@ -204,6 +206,9 @@ public class UpdateService : IUpdateService
|
|||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool Initialize()
|
public bool Initialize()
|
||||||
{
|
{
|
||||||
|
if (Constants.CurrentVersion == "local")
|
||||||
|
return false;
|
||||||
|
|
||||||
string? channelArgument = Constants.StartupArguments.FirstOrDefault(a => a.StartsWith("--channel="));
|
string? channelArgument = Constants.StartupArguments.FirstOrDefault(a => a.StartsWith("--channel="));
|
||||||
if (channelArgument != null)
|
if (channelArgument != null)
|
||||||
Channel = channelArgument.Split("=")[1];
|
Channel = channelArgument.Split("=")[1];
|
||||||
|
|||||||
@ -1,10 +1,11 @@
|
|||||||
<Styles xmlns="https://github.com/avaloniaui"
|
<Styles xmlns="https://github.com/avaloniaui"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:styling="clr-namespace:FluentAvalonia.Styling;assembly=FluentAvalonia">
|
xmlns:styling="clr-namespace:FluentAvalonia.Styling;assembly=FluentAvalonia"
|
||||||
|
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia">
|
||||||
<!-- Third party styles -->
|
<!-- Third party styles -->
|
||||||
<styling:FluentAvaloniaTheme PreferSystemTheme="False" RequestedTheme="Dark"/>
|
<styling:FluentAvaloniaTheme PreferSystemTheme="False" RequestedTheme="Dark"/>
|
||||||
|
<avalonia:MaterialIconStyles />
|
||||||
|
|
||||||
<!-- <FluentTheme Mode="Dark"></FluentTheme> -->
|
<!-- <FluentTheme Mode="Dark"></FluentTheme> -->
|
||||||
<StyleInclude Source="avares://Material.Icons.Avalonia/App.xaml" />
|
|
||||||
<StyleInclude Source="avares://Artemis.UI.Shared/Styles/Artemis.axaml" />
|
<StyleInclude Source="avares://Artemis.UI.Shared/Styles/Artemis.axaml" />
|
||||||
<StyleInclude Source="avares://Artemis.UI/Styles/Markdown.axaml" />
|
|
||||||
</Styles>
|
</Styles>
|
||||||
@ -1,191 +0,0 @@
|
|||||||
<Styles xmlns="https://github.com/avaloniaui"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
||||||
xmlns:avalonia="clr-namespace:Markdown.Avalonia;assembly=Markdown.Avalonia"
|
|
||||||
xmlns:mdc="clr-namespace:Markdown.Avalonia.Controls;assembly=Markdown.Avalonia"
|
|
||||||
xmlns:mde="clr-namespace:Markdown.Avalonia.Extensions;assembly=Markdown.Avalonia"
|
|
||||||
xmlns:ctxt="clr-namespace:ColorTextBlock.Avalonia;assembly=ColorTextBlock.Avalonia">
|
|
||||||
<Design.PreviewWith>
|
|
||||||
<Border Padding="20">
|
|
||||||
<avalonia:MarkdownScrollViewer Classes="Test">
|
|
||||||
<avalonia:MarkdownScrollViewer.Styles>
|
|
||||||
<Style Selector="ctxt|CTextBlock">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="FontSize" Value="{mde:Multiply ControlContentThemeFontSize, 1}" />
|
|
||||||
<Setter Property="Margin" Value="0,5" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
<Style Selector="TextBlock">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="FontSize" Value="{mde:Multiply ControlContentThemeFontSize, 1}" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="ctxt|CTextBlock.Heading1">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="FontSize" Value="{mde:Multiply ControlContentThemeFontSize, 3.2}" />
|
|
||||||
<Setter Property="Foreground" Value="{mde:Alpha TextFillColorPrimaryBrush}" />
|
|
||||||
<Setter Property="FontWeight" Value="Light" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="ctxt|CTextBlock.Heading2">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="FontSize" Value="{mde:Multiply ControlContentThemeFontSize, 1.6}" />
|
|
||||||
<Setter Property="Foreground" Value="{mde:Alpha TextFillColorPrimaryBrush}" />
|
|
||||||
<Setter Property="FontWeight" Value="Light" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="ctxt|CTextBlock.Heading3">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="FontSize" Value="{mde:Multiply ControlContentThemeFontSize, 1.6}" />
|
|
||||||
<Setter Property="Foreground" Value="{mde:Alpha TextFillColorPrimaryBrush, 0.7}" />
|
|
||||||
<Setter Property="FontWeight" Value="Light" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="ctxt|CTextBlock.Heading4">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="FontSize" Value="{mde:Multiply ControlContentThemeFontSize, 1.2}" />
|
|
||||||
<Setter Property="Foreground" Value="{mde:Alpha TextFillColorPrimaryBrush, 0.7}" />
|
|
||||||
<Setter Property="FontWeight" Value="Light" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="ctxt|CHyperlink">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="IsUnderline" Value="true" />
|
|
||||||
<Setter Property="Foreground" Value="{StaticResource SystemAccentColor}" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
<Style Selector="ctxt|CHyperlink:pointerover">
|
|
||||||
<Setter Property="Foreground" Value="{mde:Complementary SystemAccentColor}" />
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="Border.Table">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Margin" Value="5" />
|
|
||||||
<Setter Property="BorderThickness" Value="0,0,1,1" />
|
|
||||||
<Setter Property="BorderBrush" Value="{mde:Alpha TextFillColorPrimaryBrush, 0.7}" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="Grid.Table > Border">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Margin" Value="0" />
|
|
||||||
<Setter Property="BorderThickness" Value="1,1,0,0" />
|
|
||||||
<Setter Property="BorderBrush" Value="{mde:Alpha TextFillColorPrimaryBrush, 0.7}" />
|
|
||||||
<Setter Property="Padding" Value="2" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="Border.TableHeader">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Background" Value="{mde:Alpha TextFillColorPrimaryBrush, 0.3}" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
<Style Selector="Border.TableHeader ctxt|CTextBlock">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="FontWeight" Value="DemiBold" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="Border.EvenTableRow">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Background" Value="{mde:Alpha ControlFillColorDefaultBrush, 0.9}" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="Border.CodeBlock">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="BorderBrush" Value="{mde:Alpha TextFillColorPrimaryBrush, 0.2}" />
|
|
||||||
<Setter Property="BorderThickness" Value="0,5,0,5" />
|
|
||||||
<Setter Property="Margin" Value="5,0,5,0" />
|
|
||||||
<Setter Property="Background" Value="{mde:Alpha ControlFillColorDefaultBrush, 0.9}" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
<Style Selector="TextBlock.CodeBlock">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="FontFamily" Value="menlo,monaco,consolas,droid sans mono,inconsolata,courier new,monospace,dejavu sans mono" />
|
|
||||||
<Setter Property="Foreground" Value="{mde:DivideColor Blue, TextFillColorPrimary, 0.4}" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
<Style Selector="Border.NoContainer">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="BorderBrush" Value="Red" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="ctxt|CCode">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Foreground" Value="{mde:DivideColor Blue, TextFillColorPrimary, 0.4}" />
|
|
||||||
<Setter Property="Background" Value="{mde:Alpha ControlFillColorDefaultBrush, 0.9}" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="Border.Note">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Margin" Value="5,0,5,0" />
|
|
||||||
<Setter Property="BorderBrush" Value="{mde:Alpha TextFillColorPrimaryBrush, 0.2}" />
|
|
||||||
<Setter Property="BorderThickness" Value="3,3,3,3" />
|
|
||||||
<Setter Property="Background" Value="{mde:Alpha ControlFillColorDefaultBrush, 0.9}" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
<Style Selector="ctxt|CTextBlock.Note">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Margin" Value="10, 5" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="Grid.List">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Margin" Value="15,0,0,0" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
<Style Selector="ctxt|CTextBlock.ListMarker">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Margin" Value="0,5,5,5" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="Border.Blockquote">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="BorderBrush" Value="{mde:Alpha TextFillColorPrimaryBrush, 0.2}" />
|
|
||||||
<Setter Property="BorderThickness" Value="5,0,0,0" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="StackPanel.Blockquote">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Margin" Value="10, 5" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<Style Selector="mdc|Rule">
|
|
||||||
<Style.Setters>
|
|
||||||
<Setter Property="Margin" Value="0,3" />
|
|
||||||
</Style.Setters>
|
|
||||||
</Style>
|
|
||||||
</avalonia:MarkdownScrollViewer.Styles>
|
|
||||||
## Core
|
|
||||||
* Cleaned up ProfileService render condition
|
|
||||||
* Core - Added fading in and out of profiles
|
|
||||||
* Core - Apply opacity layer only when fading
|
|
||||||
* Core - Fixed when condition stops being true mid-fade
|
|
||||||
* Core - Removed FadingStatus enum
|
|
||||||
|
|
||||||
# General
|
|
||||||
- Meta - Fixed warnings
|
|
||||||
- Meta - Update RGB.NET
|
|
||||||
|
|
||||||
# Plugins
|
|
||||||
- Plugins - Ignore version when loading shared assemblies
|
|
||||||
|
|
||||||
# UI
|
|
||||||
- Sidebar - Improved category reordering code
|
|
||||||
</avalonia:MarkdownScrollViewer>
|
|
||||||
</Border>
|
|
||||||
</Design.PreviewWith>
|
|
||||||
|
|
||||||
|
|
||||||
</Styles>
|
|
||||||
@ -11,7 +11,7 @@ namespace Artemis.UI;
|
|||||||
|
|
||||||
public class ViewLocator : IDataTemplate
|
public class ViewLocator : IDataTemplate
|
||||||
{
|
{
|
||||||
public IControl Build(object data)
|
public Control Build(object data)
|
||||||
{
|
{
|
||||||
Type dataType = data.GetType();
|
Type dataType = data.GetType();
|
||||||
string name = dataType.FullName!.Split('`')[0].Replace("ViewModel", "View");
|
string name = dataType.FullName!.Split('`')[0].Replace("ViewModel", "View");
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<Platforms>x64</Platforms>
|
<Platforms>x64</Platforms>
|
||||||
|
|||||||
@ -4,7 +4,7 @@ using Avalonia.ReactiveUI;
|
|||||||
|
|
||||||
namespace Artemis.VisualScripting.Nodes.Color.Screens;
|
namespace Artemis.VisualScripting.Nodes.Color.Screens;
|
||||||
|
|
||||||
public class ColorGradientNodeCustomView : ReactiveUserControl<ColorGradientNodeCustomViewModel>
|
public partial class ColorGradientNodeCustomView : ReactiveUserControl<ColorGradientNodeCustomViewModel>
|
||||||
{
|
{
|
||||||
public ColorGradientNodeCustomView()
|
public ColorGradientNodeCustomView()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -4,7 +4,7 @@ using Avalonia.ReactiveUI;
|
|||||||
|
|
||||||
namespace Artemis.VisualScripting.Nodes.Color.Screens;
|
namespace Artemis.VisualScripting.Nodes.Color.Screens;
|
||||||
|
|
||||||
public class RampSKColorNodeCustomView : ReactiveUserControl<RampSKColorNodeCustomViewModel>
|
public partial class RampSKColorNodeCustomView : ReactiveUserControl<RampSKColorNodeCustomViewModel>
|
||||||
{
|
{
|
||||||
public RampSKColorNodeCustomView()
|
public RampSKColorNodeCustomView()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,7 +3,7 @@ using Avalonia.ReactiveUI;
|
|||||||
|
|
||||||
namespace Artemis.VisualScripting.Nodes.DataModel.Screens;
|
namespace Artemis.VisualScripting.Nodes.DataModel.Screens;
|
||||||
|
|
||||||
public class DataModelEventCycleNodeCustomView : ReactiveUserControl<DataModelEventCycleNodeCustomViewModel>
|
public partial class DataModelEventCycleNodeCustomView : ReactiveUserControl<DataModelEventCycleNodeCustomViewModel>
|
||||||
{
|
{
|
||||||
public DataModelEventCycleNodeCustomView()
|
public DataModelEventCycleNodeCustomView()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,7 +3,7 @@ using Avalonia.ReactiveUI;
|
|||||||
|
|
||||||
namespace Artemis.VisualScripting.Nodes.DataModel.Screens;
|
namespace Artemis.VisualScripting.Nodes.DataModel.Screens;
|
||||||
|
|
||||||
public class DataModelEventNodeCustomView : ReactiveUserControl<DataModelEventNodeCustomViewModel>
|
public partial class DataModelEventNodeCustomView : ReactiveUserControl<DataModelEventNodeCustomViewModel>
|
||||||
{
|
{
|
||||||
public DataModelEventNodeCustomView()
|
public DataModelEventNodeCustomView()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,7 +3,7 @@ using Avalonia.ReactiveUI;
|
|||||||
|
|
||||||
namespace Artemis.VisualScripting.Nodes.DataModel.Screens;
|
namespace Artemis.VisualScripting.Nodes.DataModel.Screens;
|
||||||
|
|
||||||
public class DataModelNodeCustomView : ReactiveUserControl<DataModelNodeCustomViewModel>
|
public partial class DataModelNodeCustomView : ReactiveUserControl<DataModelNodeCustomViewModel>
|
||||||
{
|
{
|
||||||
public DataModelNodeCustomView()
|
public DataModelNodeCustomView()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,7 +3,7 @@ using Avalonia.ReactiveUI;
|
|||||||
|
|
||||||
namespace Artemis.VisualScripting.Nodes.External.Screens;
|
namespace Artemis.VisualScripting.Nodes.External.Screens;
|
||||||
|
|
||||||
public class LayerPropertyNodeCustomView : ReactiveUserControl<LayerPropertyNodeCustomViewModel>
|
public partial class LayerPropertyNodeCustomView : ReactiveUserControl<LayerPropertyNodeCustomViewModel>
|
||||||
{
|
{
|
||||||
public LayerPropertyNodeCustomView()
|
public LayerPropertyNodeCustomView()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
|
using System.Reactive.Disposables;
|
||||||
using System.Reactive.Linq;
|
using System.Reactive.Linq;
|
||||||
using Artemis.Core;
|
using Artemis.Core;
|
||||||
using Artemis.UI.Shared.Services.NodeEditor;
|
using Artemis.UI.Shared.Services.NodeEditor;
|
||||||
using Artemis.UI.Shared.VisualScripting;
|
using Artemis.UI.Shared.VisualScripting;
|
||||||
using Artemis.VisualScripting.Nodes.External.Commands;
|
using Artemis.VisualScripting.Nodes.External.Commands;
|
||||||
using Avalonia.Controls.Mixins;
|
|
||||||
using DynamicData;
|
using DynamicData;
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,4 @@
|
|||||||
using Artemis.UI.Shared;
|
using Artemis.UI.Shared;
|
||||||
using Avalonia;
|
|
||||||
using Avalonia.Controls;
|
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.ReactiveUI;
|
using Avalonia.ReactiveUI;
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
|
using System.Reactive.Disposables;
|
||||||
using System.Reactive.Linq;
|
using System.Reactive.Linq;
|
||||||
using Artemis.Core;
|
using Artemis.Core;
|
||||||
using Artemis.UI.Shared.Services.NodeEditor;
|
using Artemis.UI.Shared.Services.NodeEditor;
|
||||||
using Artemis.UI.Shared.Services.NodeEditor.Commands;
|
using Artemis.UI.Shared.Services.NodeEditor.Commands;
|
||||||
using Artemis.UI.Shared.VisualScripting;
|
using Artemis.UI.Shared.VisualScripting;
|
||||||
using Avalonia.Controls.Mixins;
|
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
namespace Artemis.VisualScripting.Nodes.Input.Screens;
|
namespace Artemis.VisualScripting.Nodes.Input.Screens;
|
||||||
|
|||||||
@ -1,6 +1,4 @@
|
|||||||
using Artemis.UI.Shared;
|
using Artemis.UI.Shared;
|
||||||
using Avalonia;
|
|
||||||
using Avalonia.Controls;
|
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.ReactiveUI;
|
using Avalonia.ReactiveUI;
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
|
using System.Reactive.Disposables;
|
||||||
using System.Reactive.Linq;
|
using System.Reactive.Linq;
|
||||||
using Artemis.Core;
|
using Artemis.Core;
|
||||||
using Artemis.UI.Shared.Services.NodeEditor;
|
using Artemis.UI.Shared.Services.NodeEditor;
|
||||||
using Artemis.UI.Shared.Services.NodeEditor.Commands;
|
using Artemis.UI.Shared.Services.NodeEditor.Commands;
|
||||||
using Artemis.UI.Shared.VisualScripting;
|
using Artemis.UI.Shared.VisualScripting;
|
||||||
using Avalonia.Controls.Mixins;
|
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
namespace Artemis.VisualScripting.Nodes.Input.Screens;
|
namespace Artemis.VisualScripting.Nodes.Input.Screens;
|
||||||
|
|||||||
@ -1,6 +1,4 @@
|
|||||||
using Artemis.UI.Shared;
|
using Artemis.UI.Shared;
|
||||||
using Avalonia;
|
|
||||||
using Avalonia.Controls;
|
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
using Avalonia.ReactiveUI;
|
using Avalonia.ReactiveUI;
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
|
using System.Reactive.Disposables;
|
||||||
using System.Reactive.Linq;
|
using System.Reactive.Linq;
|
||||||
using Artemis.Core;
|
using Artemis.Core;
|
||||||
using Artemis.UI.Shared.Services.NodeEditor;
|
using Artemis.UI.Shared.Services.NodeEditor;
|
||||||
using Artemis.UI.Shared.Services.NodeEditor.Commands;
|
using Artemis.UI.Shared.Services.NodeEditor.Commands;
|
||||||
using Artemis.UI.Shared.VisualScripting;
|
using Artemis.UI.Shared.VisualScripting;
|
||||||
using Avalonia.Controls.Mixins;
|
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
namespace Artemis.VisualScripting.Nodes.Input.Screens;
|
namespace Artemis.VisualScripting.Nodes.Input.Screens;
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
|
using System.Reactive.Disposables;
|
||||||
using System.Reactive.Linq;
|
using System.Reactive.Linq;
|
||||||
using Artemis.Core;
|
using Artemis.Core;
|
||||||
using Artemis.UI.Shared.Services.NodeEditor;
|
using Artemis.UI.Shared.Services.NodeEditor;
|
||||||
using Artemis.UI.Shared.Services.NodeEditor.Commands;
|
using Artemis.UI.Shared.Services.NodeEditor.Commands;
|
||||||
using Artemis.UI.Shared.VisualScripting;
|
using Artemis.UI.Shared.VisualScripting;
|
||||||
using Avalonia.Controls.Mixins;
|
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
using static Artemis.VisualScripting.Nodes.Input.PressedKeyPositionNodeEntity;
|
using static Artemis.VisualScripting.Nodes.Input.PressedKeyPositionNodeEntity;
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@ using Avalonia.ReactiveUI;
|
|||||||
|
|
||||||
namespace Artemis.VisualScripting.Nodes.Mathematics.Screens;
|
namespace Artemis.VisualScripting.Nodes.Mathematics.Screens;
|
||||||
|
|
||||||
public class MathExpressionNodeCustomView : ReactiveUserControl<MathExpressionNodeCustomViewModel>
|
public partial class MathExpressionNodeCustomView : ReactiveUserControl<MathExpressionNodeCustomViewModel>
|
||||||
{
|
{
|
||||||
public MathExpressionNodeCustomView()
|
public MathExpressionNodeCustomView()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
using System.Reactive.Linq;
|
using System.Reactive.Disposables;
|
||||||
|
using System.Reactive.Linq;
|
||||||
using Artemis.Core;
|
using Artemis.Core;
|
||||||
using Artemis.Core.Events;
|
using Artemis.Core.Events;
|
||||||
using Artemis.UI.Shared.Services.NodeEditor;
|
using Artemis.UI.Shared.Services.NodeEditor;
|
||||||
using Artemis.UI.Shared.Services.NodeEditor.Commands;
|
using Artemis.UI.Shared.Services.NodeEditor.Commands;
|
||||||
using Artemis.UI.Shared.VisualScripting;
|
using Artemis.UI.Shared.VisualScripting;
|
||||||
using Avalonia.Controls.Mixins;
|
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
using ReactiveUI.Validation.Extensions;
|
using ReactiveUI.Validation.Extensions;
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,6 @@
|
|||||||
<ComboBox IsEnabled="{Binding EnumValues.Count}"
|
<ComboBox IsEnabled="{Binding EnumValues.Count}"
|
||||||
Items="{Binding EnumValues}"
|
Items="{Binding EnumValues}"
|
||||||
SelectedItem="{Binding CurrentValue}"
|
SelectedItem="{Binding CurrentValue}"
|
||||||
VirtualizationMode="Simple"
|
|
||||||
PlaceholderText="Select a value"
|
PlaceholderText="Select a value"
|
||||||
Classes="condensed"
|
Classes="condensed"
|
||||||
VerticalAlignment="Center">
|
VerticalAlignment="Center">
|
||||||
|
|||||||
@ -3,7 +3,7 @@ using Avalonia.ReactiveUI;
|
|||||||
|
|
||||||
namespace Artemis.VisualScripting.Nodes.Operators.Screens;
|
namespace Artemis.VisualScripting.Nodes.Operators.Screens;
|
||||||
|
|
||||||
public class EnumEqualsNodeCustomView : ReactiveUserControl<EnumEqualsNodeCustomViewModel>
|
public partial class EnumEqualsNodeCustomView : ReactiveUserControl<EnumEqualsNodeCustomViewModel>
|
||||||
{
|
{
|
||||||
public EnumEqualsNodeCustomView()
|
public EnumEqualsNodeCustomView()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
|
using System.Reactive.Disposables;
|
||||||
using System.Reactive.Linq;
|
using System.Reactive.Linq;
|
||||||
using Artemis.Core;
|
using Artemis.Core;
|
||||||
using Artemis.Core.Events;
|
using Artemis.Core.Events;
|
||||||
using Artemis.UI.Shared.Services.NodeEditor;
|
using Artemis.UI.Shared.Services.NodeEditor;
|
||||||
using Artemis.UI.Shared.Services.NodeEditor.Commands;
|
using Artemis.UI.Shared.Services.NodeEditor.Commands;
|
||||||
using Artemis.UI.Shared.VisualScripting;
|
using Artemis.UI.Shared.VisualScripting;
|
||||||
using Avalonia.Controls.Mixins;
|
|
||||||
using Avalonia.Threading;
|
using Avalonia.Threading;
|
||||||
using DynamicData;
|
using DynamicData;
|
||||||
using Humanizer;
|
using Humanizer;
|
||||||
|
|||||||
@ -3,7 +3,7 @@ using Avalonia.ReactiveUI;
|
|||||||
|
|
||||||
namespace Artemis.VisualScripting.Nodes.Static.Screens;
|
namespace Artemis.VisualScripting.Nodes.Static.Screens;
|
||||||
|
|
||||||
public class DisplayValueNodeCustomView : ReactiveUserControl<DisplayValueNodeCustomViewModel>
|
public partial class DisplayValueNodeCustomView : ReactiveUserControl<DisplayValueNodeCustomViewModel>
|
||||||
{
|
{
|
||||||
public DisplayValueNodeCustomView()
|
public DisplayValueNodeCustomView()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,7 +3,7 @@ using Avalonia.ReactiveUI;
|
|||||||
|
|
||||||
namespace Artemis.VisualScripting.Nodes.Static.Screens;
|
namespace Artemis.VisualScripting.Nodes.Static.Screens;
|
||||||
|
|
||||||
public class StaticNumericValueNodeCustomView : ReactiveUserControl<StaticNumericValueNodeCustomViewModel>
|
public partial class StaticNumericValueNodeCustomView : ReactiveUserControl<StaticNumericValueNodeCustomViewModel>
|
||||||
{
|
{
|
||||||
public StaticNumericValueNodeCustomView()
|
public StaticNumericValueNodeCustomView()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -4,7 +4,7 @@ using FluentAvalonia.UI.Controls;
|
|||||||
|
|
||||||
namespace Artemis.VisualScripting.Nodes.Static.Screens;
|
namespace Artemis.VisualScripting.Nodes.Static.Screens;
|
||||||
|
|
||||||
public class StaticSKColorValueNodeCustomView : ReactiveUserControl<StaticSKColorValueNodeCustomViewModel>
|
public partial class StaticSKColorValueNodeCustomView : ReactiveUserControl<StaticSKColorValueNodeCustomViewModel>
|
||||||
{
|
{
|
||||||
public StaticSKColorValueNodeCustomView()
|
public StaticSKColorValueNodeCustomView()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,7 +3,7 @@ using Avalonia.ReactiveUI;
|
|||||||
|
|
||||||
namespace Artemis.VisualScripting.Nodes.Static.Screens;
|
namespace Artemis.VisualScripting.Nodes.Static.Screens;
|
||||||
|
|
||||||
public class StaticStringValueNodeCustomView : ReactiveUserControl<StaticStringValueNodeCustomViewModel>
|
public partial class StaticStringValueNodeCustomView : ReactiveUserControl<StaticStringValueNodeCustomViewModel>
|
||||||
{
|
{
|
||||||
public StaticStringValueNodeCustomView()
|
public StaticStringValueNodeCustomView()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,7 +3,7 @@ using Avalonia.ReactiveUI;
|
|||||||
|
|
||||||
namespace Artemis.VisualScripting.Nodes.Transition.Screens;
|
namespace Artemis.VisualScripting.Nodes.Transition.Screens;
|
||||||
|
|
||||||
public class EasingFunctionNodeCustomView : ReactiveUserControl<EasingFunctionNodeCustomViewModel>
|
public partial class EasingFunctionNodeCustomView : ReactiveUserControl<EasingFunctionNodeCustomViewModel>
|
||||||
{
|
{
|
||||||
public EasingFunctionNodeCustomView()
|
public EasingFunctionNodeCustomView()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,7 +3,7 @@ using Avalonia.Markup.Xaml;
|
|||||||
|
|
||||||
namespace Artemis.VisualScripting.Nodes.Transition.Screens;
|
namespace Artemis.VisualScripting.Nodes.Transition.Screens;
|
||||||
|
|
||||||
public class EasingFunctionView : UserControl
|
public partial class EasingFunctionView : UserControl
|
||||||
{
|
{
|
||||||
public EasingFunctionView()
|
public EasingFunctionView()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user