mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Profile tree - Drag & drop WIP
This commit is contained in:
parent
fac7a618e7
commit
f5a902f5a5
@ -51,7 +51,7 @@
|
|||||||
<PackageReference Include="RGB.NET.Layout" Version="1.0.0-prerelease7" />
|
<PackageReference Include="RGB.NET.Layout" Version="1.0.0-prerelease7" />
|
||||||
<PackageReference Include="RGB.NET.Presets" Version="1.0.0-prerelease7" />
|
<PackageReference Include="RGB.NET.Presets" Version="1.0.0-prerelease7" />
|
||||||
<PackageReference Include="Serilog" Version="2.10.0" />
|
<PackageReference Include="Serilog" Version="2.10.0" />
|
||||||
<PackageReference Include="Serilog.Sinks.Console" Version="4.0.0" />
|
<PackageReference Include="Serilog.Sinks.Console" Version="4.0.1" />
|
||||||
<PackageReference Include="Serilog.Sinks.Debug" Version="2.0.0" />
|
<PackageReference Include="Serilog.Sinks.Debug" Version="2.0.0" />
|
||||||
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
|
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
|
||||||
<PackageReference Include="SkiaSharp" Version="2.88.0-preview.178" />
|
<PackageReference Include="SkiaSharp" Version="2.88.0-preview.178" />
|
||||||
|
|||||||
@ -105,9 +105,9 @@
|
|||||||
},
|
},
|
||||||
"Serilog.Sinks.Console": {
|
"Serilog.Sinks.Console": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[4.0.0, )",
|
"requested": "[4.0.1, )",
|
||||||
"resolved": "4.0.0",
|
"resolved": "4.0.1",
|
||||||
"contentHash": "yJQit9sTJ4xGLKgCujqDJsaGqBNJwGB/H898z+xYlMG06twy4//6LLnSrsmpduZxcHIG4im7cv+JmXLzXz2EkQ==",
|
"contentHash": "apLOvSJQLlIbKlbx+Y2UDHSP05kJsV7mou+fvJoRGs/iR+jC22r8cuFVMjjfVxz/AD4B2UCltFhE1naRLXwKNw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Serilog": "2.10.0"
|
"Serilog": "2.10.0"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -402,8 +402,8 @@
|
|||||||
},
|
},
|
||||||
"Serilog.Sinks.Console": {
|
"Serilog.Sinks.Console": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "4.0.0",
|
"resolved": "4.0.1",
|
||||||
"contentHash": "yJQit9sTJ4xGLKgCujqDJsaGqBNJwGB/H898z+xYlMG06twy4//6LLnSrsmpduZxcHIG4im7cv+JmXLzXz2EkQ==",
|
"contentHash": "apLOvSJQLlIbKlbx+Y2UDHSP05kJsV7mou+fvJoRGs/iR+jC22r8cuFVMjjfVxz/AD4B2UCltFhE1naRLXwKNw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Serilog": "2.10.0"
|
"Serilog": "2.10.0"
|
||||||
}
|
}
|
||||||
@ -1341,7 +1341,7 @@
|
|||||||
"RGB.NET.Layout": "1.0.0-prerelease7",
|
"RGB.NET.Layout": "1.0.0-prerelease7",
|
||||||
"RGB.NET.Presets": "1.0.0-prerelease7",
|
"RGB.NET.Presets": "1.0.0-prerelease7",
|
||||||
"Serilog": "2.10.0",
|
"Serilog": "2.10.0",
|
||||||
"Serilog.Sinks.Console": "4.0.0",
|
"Serilog.Sinks.Console": "4.0.1",
|
||||||
"Serilog.Sinks.Debug": "2.0.0",
|
"Serilog.Sinks.Debug": "2.0.0",
|
||||||
"Serilog.Sinks.File": "5.0.0",
|
"Serilog.Sinks.File": "5.0.0",
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
|
|||||||
@ -527,8 +527,8 @@
|
|||||||
},
|
},
|
||||||
"Serilog.Sinks.Console": {
|
"Serilog.Sinks.Console": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "4.0.0",
|
"resolved": "4.0.1",
|
||||||
"contentHash": "yJQit9sTJ4xGLKgCujqDJsaGqBNJwGB/H898z+xYlMG06twy4//6LLnSrsmpduZxcHIG4im7cv+JmXLzXz2EkQ==",
|
"contentHash": "apLOvSJQLlIbKlbx+Y2UDHSP05kJsV7mou+fvJoRGs/iR+jC22r8cuFVMjjfVxz/AD4B2UCltFhE1naRLXwKNw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Serilog": "2.10.0"
|
"Serilog": "2.10.0"
|
||||||
}
|
}
|
||||||
@ -1488,7 +1488,7 @@
|
|||||||
"RGB.NET.Layout": "1.0.0-prerelease7",
|
"RGB.NET.Layout": "1.0.0-prerelease7",
|
||||||
"RGB.NET.Presets": "1.0.0-prerelease7",
|
"RGB.NET.Presets": "1.0.0-prerelease7",
|
||||||
"Serilog": "2.10.0",
|
"Serilog": "2.10.0",
|
||||||
"Serilog.Sinks.Console": "4.0.0",
|
"Serilog.Sinks.Console": "4.0.1",
|
||||||
"Serilog.Sinks.Debug": "2.0.0",
|
"Serilog.Sinks.Debug": "2.0.0",
|
||||||
"Serilog.Sinks.File": "5.0.0",
|
"Serilog.Sinks.File": "5.0.0",
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
|
|||||||
@ -383,8 +383,8 @@
|
|||||||
},
|
},
|
||||||
"Serilog.Sinks.Console": {
|
"Serilog.Sinks.Console": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "4.0.0",
|
"resolved": "4.0.1",
|
||||||
"contentHash": "yJQit9sTJ4xGLKgCujqDJsaGqBNJwGB/H898z+xYlMG06twy4//6LLnSrsmpduZxcHIG4im7cv+JmXLzXz2EkQ==",
|
"contentHash": "apLOvSJQLlIbKlbx+Y2UDHSP05kJsV7mou+fvJoRGs/iR+jC22r8cuFVMjjfVxz/AD4B2UCltFhE1naRLXwKNw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Serilog": "2.10.0"
|
"Serilog": "2.10.0"
|
||||||
}
|
}
|
||||||
@ -1346,7 +1346,7 @@
|
|||||||
"RGB.NET.Layout": "1.0.0-prerelease7",
|
"RGB.NET.Layout": "1.0.0-prerelease7",
|
||||||
"RGB.NET.Presets": "1.0.0-prerelease7",
|
"RGB.NET.Presets": "1.0.0-prerelease7",
|
||||||
"Serilog": "2.10.0",
|
"Serilog": "2.10.0",
|
||||||
"Serilog.Sinks.Console": "4.0.0",
|
"Serilog.Sinks.Console": "4.0.1",
|
||||||
"Serilog.Sinks.Debug": "2.0.0",
|
"Serilog.Sinks.Debug": "2.0.0",
|
||||||
"Serilog.Sinks.File": "5.0.0",
|
"Serilog.Sinks.File": "5.0.0",
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
|
|||||||
@ -10,12 +10,12 @@
|
|||||||
<None Remove=".gitignore" />
|
<None Remove=".gitignore" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Avalonia" Version="0.10.12" />
|
<PackageReference Include="Avalonia" Version="0.10.13" />
|
||||||
<PackageReference Include="Avalonia.Desktop" Version="0.10.12" />
|
<PackageReference Include="Avalonia.Desktop" Version="0.10.13" />
|
||||||
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
||||||
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="0.10.12" />
|
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="0.10.13" />
|
||||||
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.12" />
|
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.13" />
|
||||||
<PackageReference Include="ReactiveUI" Version="17.1.17" />
|
<PackageReference Include="ReactiveUI" Version="17.1.50" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\Artemis.Core\Artemis.Core.csproj" />
|
<ProjectReference Include="..\..\Artemis.Core\Artemis.Core.csproj" />
|
||||||
|
|||||||
@ -4,11 +4,11 @@
|
|||||||
"net6.0": {
|
"net6.0": {
|
||||||
"Avalonia": {
|
"Avalonia": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.12, )",
|
"requested": "[0.10.13, )",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "ftI5uGBFvWJpizGc6PT6lOb6FiO8AWcSYS9N4FWvXgOvuqWuTgmjwURPUkvajpeaQLKOOea6AbgotSyhV8NNoQ==",
|
"contentHash": "7st8nMai1C1nqw1a2H+zXiVYTnnfFwZz7JGziEzJK4sF6+x/W77XkdcDgDHyihcK3clQZJexYr4f+PzK4BJhSQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia.Remote.Protocol": "0.10.12",
|
"Avalonia.Remote.Protocol": "0.10.13",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.ComponentModel.Annotations": "4.5.0",
|
"System.ComponentModel.Annotations": "4.5.0",
|
||||||
"System.Memory": "4.5.3",
|
"System.Memory": "4.5.3",
|
||||||
@ -19,48 +19,48 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Desktop": {
|
"Avalonia.Desktop": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.12, )",
|
"requested": "[0.10.13, )",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "wy4k1uarrmZJSJENCe1hjNpdCJWhup0gt6KA2TtZILfGG7imj+an5IuQZUSXtA7cl7A+6tF6lPQLo82gESUlXQ==",
|
"contentHash": "v+siRNQYvSZR9lt/bBgb81t6LGbSC7pUo+APgPmKYGLeYcMij1O6CWk7tCh9hihMxNHYw/PEB06r8ZBQIg9YPg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Native": "0.10.12",
|
"Avalonia.Native": "0.10.13",
|
||||||
"Avalonia.Skia": "0.10.12",
|
"Avalonia.Skia": "0.10.13",
|
||||||
"Avalonia.Win32": "0.10.12",
|
"Avalonia.Win32": "0.10.13",
|
||||||
"Avalonia.X11": "0.10.12"
|
"Avalonia.X11": "0.10.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Diagnostics": {
|
"Avalonia.Diagnostics": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.12, )",
|
"requested": "[0.10.13, )",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "Pf9DGiSwl3+gPrRSHKFzDG20I9QJ5P1g6BexLKfHQH9+Cmax+a/UEVYQq4hGn0xhrmpuLYOeGHb8wasjAT4EfQ==",
|
"contentHash": "stIGj0Rv/p/Re0GqlXCc061paifG6wT0YvrTUV/fQloNctW8Y4sf1xZNzr9dxdSz6+LG2AZjdZcSUhUGOCe6Zg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Controls.DataGrid": "0.10.12",
|
"Avalonia.Controls.DataGrid": "0.10.13",
|
||||||
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.ReactiveUI": {
|
"Avalonia.ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.12, )",
|
"requested": "[0.10.13, )",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "dOszpMtBKEACAFWtjwNibXMF2SBolJ3cV8ffDEOy2uuwjKBJqbSmHH+WSnui9KfbSF2igVpam4TqO6drJuEvjw==",
|
"contentHash": "s5UUJ/MG97Jv9i+kxlgNSKx8Q6uJkgYMJ/LdOR3VM+7T32IRyhuxrNNCYygqk6avuJ4QqvMLU02T6v3GhI7WWA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"ReactiveUI": "13.2.10",
|
"ReactiveUI": "13.2.10",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ReactiveUI": {
|
"ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[17.1.17, )",
|
"requested": "[17.1.50, )",
|
||||||
"resolved": "17.1.17",
|
"resolved": "17.1.50",
|
||||||
"contentHash": "0DLq44k4CVvfXcWHE4uigQa/wySOzxOTnWg50j2qZDpWzl9OP7QfIDJo39X3ffEjaVcCUFcbF9xAmm7fRX/q2g==",
|
"contentHash": "UofZH1WMwWNLvFkK2SH+gsYTkUmhFFJO0Pix9YG2RzdHQ92mRFCzHzPO1abeU8/cxzyc9hJHX7sBChzUj53Ulg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"DynamicData": "7.4.9",
|
"DynamicData": "7.5.2",
|
||||||
"Splat": "14.1.17"
|
"Splat": "14.1.45"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Angle.Windows.Natives": {
|
"Avalonia.Angle.Windows.Natives": {
|
||||||
@ -70,11 +70,11 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Controls.DataGrid": {
|
"Avalonia.Controls.DataGrid": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "i3zM3P8PUY4FNhATZoFWkto3H66FcIrnJNMyOsl1fN0FPS6meysAwCKQwuou/oapyzZEODeAmCVdqB0AgjNHVw==",
|
"contentHash": "51xcaYtJN41vX/4xUu8rNyoISTO4bdswpfZmTPjeBTdofrhZ6mzOqbxVk6tqT4gt88MPihbaPil4jsD4X4Aixw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Remote.Protocol": "0.10.12",
|
"Avalonia.Remote.Protocol": "0.10.13",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
@ -89,32 +89,32 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.FreeDesktop": {
|
"Avalonia.FreeDesktop": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "j42uWCWkAfZchYPrdRccr4mjB0kppSby3TEMCuNrp9GcQi+JhEPEbBAohU7FpR4bkv5FF2KAlDX5WiG2T+04kg==",
|
"contentHash": "/bKzscse/kY4RNMFk8r/jqLY/kS0fSkwp4TpqEF4UJeI8sHUvwe4yecnzNb1qDP9tCX4S6ML38LklAIqAk8gIQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Tmds.DBus": "0.9.0"
|
"Tmds.DBus": "0.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Native": {
|
"Avalonia.Native": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "JnZc0zF7DcLcSX+SdnKQGzFa9mcKxawhTN8S3aiN8Eh3MZAKxa45LRrHFVTcHcy2jU4kOw+yPfONUmHpRcC0gw==",
|
"contentHash": "pq3WiiOyFyhJHnYdxP/fOlcG9DfqhJ0W5CCfPX48QyOdODbPgMF5LY6BU+McDpeAJTwQ4LqVfznHZoCeHH12gg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12"
|
"Avalonia": "0.10.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Remote.Protocol": {
|
"Avalonia.Remote.Protocol": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "ArrxniR8iShzMvXCS3vt5FXg9Fv3qK1UKzJwsSsY9iCuC8wKo2eevRj42qOhMCS98POTH5v8aUZBeoLlENa0vA=="
|
"contentHash": "hnklCHyLCMrzWjMc3T0mYkRKdfUqpw2qCkf9HBRzyqnI6uG5tLw2QIlRF9zYC4BGOpx/B/647IcIjgq6H1ypzQ=="
|
||||||
},
|
},
|
||||||
"Avalonia.Skia": {
|
"Avalonia.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "3TGo8RLHaLqmU3chlyAqLkpw6vImfDMC30T18abpeYf1PIsNckRB+UFp12GDil9t/J9YB17zn4H6N+2plF4gZA==",
|
"contentHash": "aG0JlUhCpwGM/QsN/+rRak7XlPy0Jtd5HaiCdYKtuBOc+ISGs6hmCJDKjklNANp9gZR/TUUgXkqk5VFMQUJkTA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"HarfBuzzSharp": "2.8.2-preview.178",
|
"HarfBuzzSharp": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
||||||
@ -136,10 +136,10 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Win32": {
|
"Avalonia.Win32": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "CnC65T8ScMK23BB+qJuiMicWQ5QIEiinnRzPqvAGUGyQbjIGpA5uOCKwzsOjUmzkhGqt31iDR0/Y3ZFbi5Mjog==",
|
"contentHash": "CNUGWafAonBYYbHMliujDrs4JH2giH435GxU+O1q/nGyO5Mm+PXCG4NYsg+0zwp8yQBapFK7eYwzamU+re+cDw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
||||||
"System.Drawing.Common": "4.5.0",
|
"System.Drawing.Common": "4.5.0",
|
||||||
"System.Numerics.Vectors": "4.5.0"
|
"System.Numerics.Vectors": "4.5.0"
|
||||||
@ -147,37 +147,37 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.X11": {
|
"Avalonia.X11": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "mUY1cF1p86/UgLl1cbSmY3nVIatKQsSCDOH4avssL07xmKlRfB2G7Gi8jlhWNkLJTLL7iQp/u3X6bv7bs+0zNQ==",
|
"contentHash": "kXxn79KVB0ZfeZqQL7c2Dlvl96GBlRT8rzAh6g/j0hcgykQ55/e0be8Te6+Ny7hI+tFrob6lxvYdxYVUUCjHYg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.FreeDesktop": "0.10.12",
|
"Avalonia.FreeDesktop": "0.10.13",
|
||||||
"Avalonia.Skia": "0.10.12"
|
"Avalonia.Skia": "0.10.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Behaviors": {
|
"Avalonia.Xaml.Behaviors": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.12.2",
|
||||||
"contentHash": "upv7v1gZ31tCukw/KA1bB5+z29QuEWiZJ4KnW10daHlia1ru7q4lUJ/vCYKOy5L+zyi1MQg98SNYjRp5C64ZhQ==",
|
"contentHash": "EqfzwstvqQcWnTJnaBvezxKwBSddozXpkFi5WrzVe976zedE+A1NruFgnC19aG7Vvy0mTQdlWFTtbAInv6IQyg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.12",
|
"Avalonia.Xaml.Interactions": "0.10.12.2",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.12"
|
"Avalonia.Xaml.Interactivity": "0.10.12.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactions": {
|
"Avalonia.Xaml.Interactions": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.12.2",
|
||||||
"contentHash": "PSohbY4aQGiJVWfvLKkuUE71ZxvZ0/FuTc3Y5GJgTC41kCgeaiJTczkC2FjW5sZ8exPDabSp+ZukSsnm/z6y7A==",
|
"contentHash": "01NGXHMbvpg1JcZ4tFAZXD6i55vHIQnJl3+HFi7RSP1jevkjkSaVM8qjwLsTSfREsJ2OoiWxx2LcyUQJvO5Kjw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.12"
|
"Avalonia.Xaml.Interactivity": "0.10.12.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactivity": {
|
"Avalonia.Xaml.Interactivity": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.12.2",
|
||||||
"contentHash": "uey4LjyIds78igMe7AZ072RI6GpO16sd6+6XF6LG0oE07De7ei0So14oOs4wLS4WJyaKDRSUK6PuhLaY1zIZdQ==",
|
"contentHash": "AGAbT1I6XW1+9tweLHDMGX8+SijE111vNNIQy2gI3bpbLfPYTirLPyK0do2s9V6l7hHfQnNmiX2NA6JHC4WG4Q==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12"
|
"Avalonia": "0.10.12"
|
||||||
}
|
}
|
||||||
@ -201,8 +201,8 @@
|
|||||||
},
|
},
|
||||||
"DynamicData": {
|
"DynamicData": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "7.4.9",
|
"resolved": "7.5.4",
|
||||||
"contentHash": "bzw9n1WgfflkhsScIaC7tzPlKFTJkfWVTOg2pjJjqzVqxF63ztaJ7HH306Iyx6bs+pC77fQbtE53UoPTpt+8dQ==",
|
"contentHash": "1OpHPoyQGzHREiP6JXnPaBBx4KWVQZW7zBAZpKXc9kl4rcbEK4fo2/T3bDXZbHWKhDqVAISW9pE4Ug9+ms3RoA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
@ -222,12 +222,12 @@
|
|||||||
},
|
},
|
||||||
"FluentAvaloniaUI": {
|
"FluentAvaloniaUI": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.2.1",
|
"resolved": "1.3.0",
|
||||||
"contentHash": "IH9eei7CrOUkUdxL2E/HZYKFgNupSVO+ju74CnVqmV7u7iolyz3g1cTHELqVgatEb+IqXw7KyeLr2459nUxYSw==",
|
"contentHash": "xzcsuOswakMpz/EdA59NEOgaCtZ/9zsd5QWTB0YYQqSv1GF95Uk2aMVtO5gtfNrCT4lZvGNWVf3HGjYz9cHovQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Desktop": "0.10.12",
|
"Avalonia.Desktop": "0.10.13",
|
||||||
"Avalonia.Diagnostics": "0.10.12",
|
"Avalonia.Diagnostics": "0.10.13",
|
||||||
"MicroCom.CodeGenerator.MSBuild": "0.10.4",
|
"MicroCom.CodeGenerator.MSBuild": "0.10.4",
|
||||||
"MicroCom.Runtime": "0.10.4"
|
"MicroCom.Runtime": "0.10.4"
|
||||||
}
|
}
|
||||||
@ -687,8 +687,8 @@
|
|||||||
},
|
},
|
||||||
"Serilog.Sinks.Console": {
|
"Serilog.Sinks.Console": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "4.0.0",
|
"resolved": "4.0.1",
|
||||||
"contentHash": "yJQit9sTJ4xGLKgCujqDJsaGqBNJwGB/H898z+xYlMG06twy4//6LLnSrsmpduZxcHIG4im7cv+JmXLzXz2EkQ==",
|
"contentHash": "apLOvSJQLlIbKlbx+Y2UDHSP05kJsV7mou+fvJoRGs/iR+jC22r8cuFVMjjfVxz/AD4B2UCltFhE1naRLXwKNw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Serilog": "2.10.0"
|
"Serilog": "2.10.0"
|
||||||
}
|
}
|
||||||
@ -758,16 +758,16 @@
|
|||||||
},
|
},
|
||||||
"Splat": {
|
"Splat": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "14.1.17",
|
"resolved": "14.1.45",
|
||||||
"contentHash": "orBlJcQS4b1VZUlT+sJIensH0MsTYyCJlStT6bRwt71OFqNYD6V1SpkoIt6vKSf8YXgDT7QH/LuwWdLfTyHPrw=="
|
"contentHash": "ayHdfTUklD5ci0s9m4uYMccjtkKVjZ9fVPT5q3PN+SnvyD6bjQVRozOfUHwdwh4LAz9ETZjR/tAgrm+IapXKrw=="
|
||||||
},
|
},
|
||||||
"Splat.Ninject": {
|
"Splat.Ninject": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "14.1.17",
|
"resolved": "14.1.45",
|
||||||
"contentHash": "HPekZ89SfxHEX9NK+//w5JLBJmI8KLnUfh5yR/OVGTGRBSZVhHarAKgj/Ih3xJsqyl5L7l719C9RFo3qZBKn1A==",
|
"contentHash": "aU851Yb7i4kLzzrpo3KxFZg/U0vd36ORza9nk51pvL/QE+Jkm3ROqoPMf+BPfugEub2J1hHDEuLKJtxU7TAt0w==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Ninject": "3.3.4",
|
"Ninject": "3.3.4",
|
||||||
"Splat": "14.1.17"
|
"Splat": "14.1.45"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Svg.Custom": {
|
"Svg.Custom": {
|
||||||
@ -1735,7 +1735,7 @@
|
|||||||
"RGB.NET.Layout": "1.0.0-prerelease7",
|
"RGB.NET.Layout": "1.0.0-prerelease7",
|
||||||
"RGB.NET.Presets": "1.0.0-prerelease7",
|
"RGB.NET.Presets": "1.0.0-prerelease7",
|
||||||
"Serilog": "2.10.0",
|
"Serilog": "2.10.0",
|
||||||
"Serilog.Sinks.Console": "4.0.0",
|
"Serilog.Sinks.Console": "4.0.1",
|
||||||
"Serilog.Sinks.Debug": "2.0.0",
|
"Serilog.Sinks.Debug": "2.0.0",
|
||||||
"Serilog.Sinks.File": "5.0.0",
|
"Serilog.Sinks.File": "5.0.0",
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
@ -1758,40 +1758,40 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Artemis.UI.Shared": "1.0.0",
|
"Artemis.UI.Shared": "1.0.0",
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Controls.PanAndZoom": "10.12.0",
|
"Avalonia.Controls.PanAndZoom": "10.12.0",
|
||||||
"Avalonia.Desktop": "0.10.12",
|
"Avalonia.Desktop": "0.10.13",
|
||||||
"Avalonia.Diagnostics": "0.10.12",
|
"Avalonia.Diagnostics": "0.10.13",
|
||||||
"Avalonia.ReactiveUI": "0.10.12",
|
"Avalonia.ReactiveUI": "0.10.13",
|
||||||
"Avalonia.Svg.Skia": "0.10.12",
|
"Avalonia.Svg.Skia": "0.10.12",
|
||||||
"DynamicData": "7.4.9",
|
"Avalonia.Xaml.Behaviors": "0.10.12.2",
|
||||||
"FluentAvaloniaUI": "1.2.1",
|
"Avalonia.Xaml.Interactions": "0.10.12.2",
|
||||||
|
"Avalonia.Xaml.Interactivity": "0.10.12.2",
|
||||||
|
"DynamicData": "7.5.4",
|
||||||
|
"FluentAvaloniaUI": "1.3.0",
|
||||||
"Flurl.Http": "3.2.0",
|
"Flurl.Http": "3.2.0",
|
||||||
"Live.Avalonia": "1.3.1",
|
"Live.Avalonia": "1.3.1",
|
||||||
"Material.Icons.Avalonia": "1.0.2",
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
"RGB.NET.Core": "1.0.0-prerelease7",
|
"RGB.NET.Core": "1.0.0-prerelease7",
|
||||||
"RGB.NET.Layout": "1.0.0-prerelease7",
|
"RGB.NET.Layout": "1.0.0-prerelease7",
|
||||||
"ReactiveUI": "17.1.17",
|
"ReactiveUI": "17.1.50",
|
||||||
"ReactiveUI.Validation": "2.2.1",
|
"ReactiveUI.Validation": "2.2.1",
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
"Splat.Ninject": "14.1.17"
|
"Splat.Ninject": "14.1.45"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artemis.ui.shared": {
|
"artemis.ui.shared": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.ReactiveUI": "0.10.12",
|
"Avalonia.ReactiveUI": "0.10.13",
|
||||||
"Avalonia.Svg.Skia": "0.10.12",
|
"Avalonia.Svg.Skia": "0.10.12",
|
||||||
"Avalonia.Xaml.Behaviors": "0.10.12",
|
"DynamicData": "7.5.4",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.12",
|
"FluentAvaloniaUI": "1.3.0",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.12",
|
|
||||||
"DynamicData": "7.4.9",
|
|
||||||
"FluentAvaloniaUI": "1.2.1",
|
|
||||||
"Material.Icons.Avalonia": "1.0.2",
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
"RGB.NET.Core": "1.0.0-prerelease7",
|
"RGB.NET.Core": "1.0.0-prerelease7",
|
||||||
"ReactiveUI": "17.1.17",
|
"ReactiveUI": "17.1.50",
|
||||||
"ReactiveUI.Validation": "2.2.1",
|
"ReactiveUI.Validation": "2.2.1",
|
||||||
"SkiaSharp": "2.88.0-preview.178"
|
"SkiaSharp": "2.88.0-preview.178"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,12 +10,12 @@
|
|||||||
<None Remove=".gitignore" />
|
<None Remove=".gitignore" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Avalonia" Version="0.10.12" />
|
<PackageReference Include="Avalonia" Version="0.10.13" />
|
||||||
<PackageReference Include="Avalonia.Desktop" Version="0.10.12" />
|
<PackageReference Include="Avalonia.Desktop" Version="0.10.13" />
|
||||||
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
||||||
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="0.10.12" />
|
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="0.10.13" />
|
||||||
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.12" />
|
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.13" />
|
||||||
<PackageReference Include="ReactiveUI" Version="17.1.17" />
|
<PackageReference Include="ReactiveUI" Version="17.1.50" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\Artemis.Core\Artemis.Core.csproj" />
|
<ProjectReference Include="..\..\Artemis.Core\Artemis.Core.csproj" />
|
||||||
|
|||||||
@ -4,11 +4,11 @@
|
|||||||
"net6.0": {
|
"net6.0": {
|
||||||
"Avalonia": {
|
"Avalonia": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.12, )",
|
"requested": "[0.10.13, )",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "ftI5uGBFvWJpizGc6PT6lOb6FiO8AWcSYS9N4FWvXgOvuqWuTgmjwURPUkvajpeaQLKOOea6AbgotSyhV8NNoQ==",
|
"contentHash": "7st8nMai1C1nqw1a2H+zXiVYTnnfFwZz7JGziEzJK4sF6+x/W77XkdcDgDHyihcK3clQZJexYr4f+PzK4BJhSQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia.Remote.Protocol": "0.10.12",
|
"Avalonia.Remote.Protocol": "0.10.13",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.ComponentModel.Annotations": "4.5.0",
|
"System.ComponentModel.Annotations": "4.5.0",
|
||||||
"System.Memory": "4.5.3",
|
"System.Memory": "4.5.3",
|
||||||
@ -19,48 +19,48 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Desktop": {
|
"Avalonia.Desktop": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.12, )",
|
"requested": "[0.10.13, )",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "wy4k1uarrmZJSJENCe1hjNpdCJWhup0gt6KA2TtZILfGG7imj+an5IuQZUSXtA7cl7A+6tF6lPQLo82gESUlXQ==",
|
"contentHash": "v+siRNQYvSZR9lt/bBgb81t6LGbSC7pUo+APgPmKYGLeYcMij1O6CWk7tCh9hihMxNHYw/PEB06r8ZBQIg9YPg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Native": "0.10.12",
|
"Avalonia.Native": "0.10.13",
|
||||||
"Avalonia.Skia": "0.10.12",
|
"Avalonia.Skia": "0.10.13",
|
||||||
"Avalonia.Win32": "0.10.12",
|
"Avalonia.Win32": "0.10.13",
|
||||||
"Avalonia.X11": "0.10.12"
|
"Avalonia.X11": "0.10.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Diagnostics": {
|
"Avalonia.Diagnostics": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.12, )",
|
"requested": "[0.10.13, )",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "Pf9DGiSwl3+gPrRSHKFzDG20I9QJ5P1g6BexLKfHQH9+Cmax+a/UEVYQq4hGn0xhrmpuLYOeGHb8wasjAT4EfQ==",
|
"contentHash": "stIGj0Rv/p/Re0GqlXCc061paifG6wT0YvrTUV/fQloNctW8Y4sf1xZNzr9dxdSz6+LG2AZjdZcSUhUGOCe6Zg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Controls.DataGrid": "0.10.12",
|
"Avalonia.Controls.DataGrid": "0.10.13",
|
||||||
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.ReactiveUI": {
|
"Avalonia.ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.12, )",
|
"requested": "[0.10.13, )",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "dOszpMtBKEACAFWtjwNibXMF2SBolJ3cV8ffDEOy2uuwjKBJqbSmHH+WSnui9KfbSF2igVpam4TqO6drJuEvjw==",
|
"contentHash": "s5UUJ/MG97Jv9i+kxlgNSKx8Q6uJkgYMJ/LdOR3VM+7T32IRyhuxrNNCYygqk6avuJ4QqvMLU02T6v3GhI7WWA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"ReactiveUI": "13.2.10",
|
"ReactiveUI": "13.2.10",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ReactiveUI": {
|
"ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[17.1.17, )",
|
"requested": "[17.1.50, )",
|
||||||
"resolved": "17.1.17",
|
"resolved": "17.1.50",
|
||||||
"contentHash": "0DLq44k4CVvfXcWHE4uigQa/wySOzxOTnWg50j2qZDpWzl9OP7QfIDJo39X3ffEjaVcCUFcbF9xAmm7fRX/q2g==",
|
"contentHash": "UofZH1WMwWNLvFkK2SH+gsYTkUmhFFJO0Pix9YG2RzdHQ92mRFCzHzPO1abeU8/cxzyc9hJHX7sBChzUj53Ulg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"DynamicData": "7.4.9",
|
"DynamicData": "7.5.2",
|
||||||
"Splat": "14.1.17"
|
"Splat": "14.1.45"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Angle.Windows.Natives": {
|
"Avalonia.Angle.Windows.Natives": {
|
||||||
@ -70,11 +70,11 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Controls.DataGrid": {
|
"Avalonia.Controls.DataGrid": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "i3zM3P8PUY4FNhATZoFWkto3H66FcIrnJNMyOsl1fN0FPS6meysAwCKQwuou/oapyzZEODeAmCVdqB0AgjNHVw==",
|
"contentHash": "51xcaYtJN41vX/4xUu8rNyoISTO4bdswpfZmTPjeBTdofrhZ6mzOqbxVk6tqT4gt88MPihbaPil4jsD4X4Aixw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Remote.Protocol": "0.10.12",
|
"Avalonia.Remote.Protocol": "0.10.13",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
@ -89,32 +89,32 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.FreeDesktop": {
|
"Avalonia.FreeDesktop": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "j42uWCWkAfZchYPrdRccr4mjB0kppSby3TEMCuNrp9GcQi+JhEPEbBAohU7FpR4bkv5FF2KAlDX5WiG2T+04kg==",
|
"contentHash": "/bKzscse/kY4RNMFk8r/jqLY/kS0fSkwp4TpqEF4UJeI8sHUvwe4yecnzNb1qDP9tCX4S6ML38LklAIqAk8gIQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Tmds.DBus": "0.9.0"
|
"Tmds.DBus": "0.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Native": {
|
"Avalonia.Native": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "JnZc0zF7DcLcSX+SdnKQGzFa9mcKxawhTN8S3aiN8Eh3MZAKxa45LRrHFVTcHcy2jU4kOw+yPfONUmHpRcC0gw==",
|
"contentHash": "pq3WiiOyFyhJHnYdxP/fOlcG9DfqhJ0W5CCfPX48QyOdODbPgMF5LY6BU+McDpeAJTwQ4LqVfznHZoCeHH12gg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12"
|
"Avalonia": "0.10.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Remote.Protocol": {
|
"Avalonia.Remote.Protocol": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "ArrxniR8iShzMvXCS3vt5FXg9Fv3qK1UKzJwsSsY9iCuC8wKo2eevRj42qOhMCS98POTH5v8aUZBeoLlENa0vA=="
|
"contentHash": "hnklCHyLCMrzWjMc3T0mYkRKdfUqpw2qCkf9HBRzyqnI6uG5tLw2QIlRF9zYC4BGOpx/B/647IcIjgq6H1ypzQ=="
|
||||||
},
|
},
|
||||||
"Avalonia.Skia": {
|
"Avalonia.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "3TGo8RLHaLqmU3chlyAqLkpw6vImfDMC30T18abpeYf1PIsNckRB+UFp12GDil9t/J9YB17zn4H6N+2plF4gZA==",
|
"contentHash": "aG0JlUhCpwGM/QsN/+rRak7XlPy0Jtd5HaiCdYKtuBOc+ISGs6hmCJDKjklNANp9gZR/TUUgXkqk5VFMQUJkTA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"HarfBuzzSharp": "2.8.2-preview.178",
|
"HarfBuzzSharp": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
||||||
@ -136,10 +136,10 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Win32": {
|
"Avalonia.Win32": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "CnC65T8ScMK23BB+qJuiMicWQ5QIEiinnRzPqvAGUGyQbjIGpA5uOCKwzsOjUmzkhGqt31iDR0/Y3ZFbi5Mjog==",
|
"contentHash": "CNUGWafAonBYYbHMliujDrs4JH2giH435GxU+O1q/nGyO5Mm+PXCG4NYsg+0zwp8yQBapFK7eYwzamU+re+cDw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
||||||
"System.Drawing.Common": "4.5.0",
|
"System.Drawing.Common": "4.5.0",
|
||||||
"System.Numerics.Vectors": "4.5.0"
|
"System.Numerics.Vectors": "4.5.0"
|
||||||
@ -147,37 +147,37 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.X11": {
|
"Avalonia.X11": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "mUY1cF1p86/UgLl1cbSmY3nVIatKQsSCDOH4avssL07xmKlRfB2G7Gi8jlhWNkLJTLL7iQp/u3X6bv7bs+0zNQ==",
|
"contentHash": "kXxn79KVB0ZfeZqQL7c2Dlvl96GBlRT8rzAh6g/j0hcgykQ55/e0be8Te6+Ny7hI+tFrob6lxvYdxYVUUCjHYg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.FreeDesktop": "0.10.12",
|
"Avalonia.FreeDesktop": "0.10.13",
|
||||||
"Avalonia.Skia": "0.10.12"
|
"Avalonia.Skia": "0.10.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Behaviors": {
|
"Avalonia.Xaml.Behaviors": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.12.2",
|
||||||
"contentHash": "upv7v1gZ31tCukw/KA1bB5+z29QuEWiZJ4KnW10daHlia1ru7q4lUJ/vCYKOy5L+zyi1MQg98SNYjRp5C64ZhQ==",
|
"contentHash": "EqfzwstvqQcWnTJnaBvezxKwBSddozXpkFi5WrzVe976zedE+A1NruFgnC19aG7Vvy0mTQdlWFTtbAInv6IQyg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.12",
|
"Avalonia.Xaml.Interactions": "0.10.12.2",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.12"
|
"Avalonia.Xaml.Interactivity": "0.10.12.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactions": {
|
"Avalonia.Xaml.Interactions": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.12.2",
|
||||||
"contentHash": "PSohbY4aQGiJVWfvLKkuUE71ZxvZ0/FuTc3Y5GJgTC41kCgeaiJTczkC2FjW5sZ8exPDabSp+ZukSsnm/z6y7A==",
|
"contentHash": "01NGXHMbvpg1JcZ4tFAZXD6i55vHIQnJl3+HFi7RSP1jevkjkSaVM8qjwLsTSfREsJ2OoiWxx2LcyUQJvO5Kjw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.12"
|
"Avalonia.Xaml.Interactivity": "0.10.12.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactivity": {
|
"Avalonia.Xaml.Interactivity": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.12.2",
|
||||||
"contentHash": "uey4LjyIds78igMe7AZ072RI6GpO16sd6+6XF6LG0oE07De7ei0So14oOs4wLS4WJyaKDRSUK6PuhLaY1zIZdQ==",
|
"contentHash": "AGAbT1I6XW1+9tweLHDMGX8+SijE111vNNIQy2gI3bpbLfPYTirLPyK0do2s9V6l7hHfQnNmiX2NA6JHC4WG4Q==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12"
|
"Avalonia": "0.10.12"
|
||||||
}
|
}
|
||||||
@ -201,8 +201,8 @@
|
|||||||
},
|
},
|
||||||
"DynamicData": {
|
"DynamicData": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "7.4.9",
|
"resolved": "7.5.4",
|
||||||
"contentHash": "bzw9n1WgfflkhsScIaC7tzPlKFTJkfWVTOg2pjJjqzVqxF63ztaJ7HH306Iyx6bs+pC77fQbtE53UoPTpt+8dQ==",
|
"contentHash": "1OpHPoyQGzHREiP6JXnPaBBx4KWVQZW7zBAZpKXc9kl4rcbEK4fo2/T3bDXZbHWKhDqVAISW9pE4Ug9+ms3RoA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
@ -222,12 +222,12 @@
|
|||||||
},
|
},
|
||||||
"FluentAvaloniaUI": {
|
"FluentAvaloniaUI": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.2.1",
|
"resolved": "1.3.0",
|
||||||
"contentHash": "IH9eei7CrOUkUdxL2E/HZYKFgNupSVO+ju74CnVqmV7u7iolyz3g1cTHELqVgatEb+IqXw7KyeLr2459nUxYSw==",
|
"contentHash": "xzcsuOswakMpz/EdA59NEOgaCtZ/9zsd5QWTB0YYQqSv1GF95Uk2aMVtO5gtfNrCT4lZvGNWVf3HGjYz9cHovQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Desktop": "0.10.12",
|
"Avalonia.Desktop": "0.10.13",
|
||||||
"Avalonia.Diagnostics": "0.10.12",
|
"Avalonia.Diagnostics": "0.10.13",
|
||||||
"MicroCom.CodeGenerator.MSBuild": "0.10.4",
|
"MicroCom.CodeGenerator.MSBuild": "0.10.4",
|
||||||
"MicroCom.Runtime": "0.10.4"
|
"MicroCom.Runtime": "0.10.4"
|
||||||
}
|
}
|
||||||
@ -687,8 +687,8 @@
|
|||||||
},
|
},
|
||||||
"Serilog.Sinks.Console": {
|
"Serilog.Sinks.Console": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "4.0.0",
|
"resolved": "4.0.1",
|
||||||
"contentHash": "yJQit9sTJ4xGLKgCujqDJsaGqBNJwGB/H898z+xYlMG06twy4//6LLnSrsmpduZxcHIG4im7cv+JmXLzXz2EkQ==",
|
"contentHash": "apLOvSJQLlIbKlbx+Y2UDHSP05kJsV7mou+fvJoRGs/iR+jC22r8cuFVMjjfVxz/AD4B2UCltFhE1naRLXwKNw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Serilog": "2.10.0"
|
"Serilog": "2.10.0"
|
||||||
}
|
}
|
||||||
@ -758,16 +758,16 @@
|
|||||||
},
|
},
|
||||||
"Splat": {
|
"Splat": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "14.1.17",
|
"resolved": "14.1.45",
|
||||||
"contentHash": "orBlJcQS4b1VZUlT+sJIensH0MsTYyCJlStT6bRwt71OFqNYD6V1SpkoIt6vKSf8YXgDT7QH/LuwWdLfTyHPrw=="
|
"contentHash": "ayHdfTUklD5ci0s9m4uYMccjtkKVjZ9fVPT5q3PN+SnvyD6bjQVRozOfUHwdwh4LAz9ETZjR/tAgrm+IapXKrw=="
|
||||||
},
|
},
|
||||||
"Splat.Ninject": {
|
"Splat.Ninject": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "14.1.17",
|
"resolved": "14.1.45",
|
||||||
"contentHash": "HPekZ89SfxHEX9NK+//w5JLBJmI8KLnUfh5yR/OVGTGRBSZVhHarAKgj/Ih3xJsqyl5L7l719C9RFo3qZBKn1A==",
|
"contentHash": "aU851Yb7i4kLzzrpo3KxFZg/U0vd36ORza9nk51pvL/QE+Jkm3ROqoPMf+BPfugEub2J1hHDEuLKJtxU7TAt0w==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Ninject": "3.3.4",
|
"Ninject": "3.3.4",
|
||||||
"Splat": "14.1.17"
|
"Splat": "14.1.45"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Svg.Custom": {
|
"Svg.Custom": {
|
||||||
@ -1735,7 +1735,7 @@
|
|||||||
"RGB.NET.Layout": "1.0.0-prerelease7",
|
"RGB.NET.Layout": "1.0.0-prerelease7",
|
||||||
"RGB.NET.Presets": "1.0.0-prerelease7",
|
"RGB.NET.Presets": "1.0.0-prerelease7",
|
||||||
"Serilog": "2.10.0",
|
"Serilog": "2.10.0",
|
||||||
"Serilog.Sinks.Console": "4.0.0",
|
"Serilog.Sinks.Console": "4.0.1",
|
||||||
"Serilog.Sinks.Debug": "2.0.0",
|
"Serilog.Sinks.Debug": "2.0.0",
|
||||||
"Serilog.Sinks.File": "5.0.0",
|
"Serilog.Sinks.File": "5.0.0",
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
@ -1758,40 +1758,40 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Artemis.UI.Shared": "1.0.0",
|
"Artemis.UI.Shared": "1.0.0",
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Controls.PanAndZoom": "10.12.0",
|
"Avalonia.Controls.PanAndZoom": "10.12.0",
|
||||||
"Avalonia.Desktop": "0.10.12",
|
"Avalonia.Desktop": "0.10.13",
|
||||||
"Avalonia.Diagnostics": "0.10.12",
|
"Avalonia.Diagnostics": "0.10.13",
|
||||||
"Avalonia.ReactiveUI": "0.10.12",
|
"Avalonia.ReactiveUI": "0.10.13",
|
||||||
"Avalonia.Svg.Skia": "0.10.12",
|
"Avalonia.Svg.Skia": "0.10.12",
|
||||||
"DynamicData": "7.4.9",
|
"Avalonia.Xaml.Behaviors": "0.10.12.2",
|
||||||
"FluentAvaloniaUI": "1.2.1",
|
"Avalonia.Xaml.Interactions": "0.10.12.2",
|
||||||
|
"Avalonia.Xaml.Interactivity": "0.10.12.2",
|
||||||
|
"DynamicData": "7.5.4",
|
||||||
|
"FluentAvaloniaUI": "1.3.0",
|
||||||
"Flurl.Http": "3.2.0",
|
"Flurl.Http": "3.2.0",
|
||||||
"Live.Avalonia": "1.3.1",
|
"Live.Avalonia": "1.3.1",
|
||||||
"Material.Icons.Avalonia": "1.0.2",
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
"RGB.NET.Core": "1.0.0-prerelease7",
|
"RGB.NET.Core": "1.0.0-prerelease7",
|
||||||
"RGB.NET.Layout": "1.0.0-prerelease7",
|
"RGB.NET.Layout": "1.0.0-prerelease7",
|
||||||
"ReactiveUI": "17.1.17",
|
"ReactiveUI": "17.1.50",
|
||||||
"ReactiveUI.Validation": "2.2.1",
|
"ReactiveUI.Validation": "2.2.1",
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
"Splat.Ninject": "14.1.17"
|
"Splat.Ninject": "14.1.45"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artemis.ui.shared": {
|
"artemis.ui.shared": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.ReactiveUI": "0.10.12",
|
"Avalonia.ReactiveUI": "0.10.13",
|
||||||
"Avalonia.Svg.Skia": "0.10.12",
|
"Avalonia.Svg.Skia": "0.10.12",
|
||||||
"Avalonia.Xaml.Behaviors": "0.10.12",
|
"DynamicData": "7.5.4",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.12",
|
"FluentAvaloniaUI": "1.3.0",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.12",
|
|
||||||
"DynamicData": "7.4.9",
|
|
||||||
"FluentAvaloniaUI": "1.2.1",
|
|
||||||
"Material.Icons.Avalonia": "1.0.2",
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
"RGB.NET.Core": "1.0.0-prerelease7",
|
"RGB.NET.Core": "1.0.0-prerelease7",
|
||||||
"ReactiveUI": "17.1.17",
|
"ReactiveUI": "17.1.50",
|
||||||
"ReactiveUI.Validation": "2.2.1",
|
"ReactiveUI.Validation": "2.2.1",
|
||||||
"SkiaSharp": "2.88.0-preview.178"
|
"SkiaSharp": "2.88.0-preview.178"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,16 +17,13 @@
|
|||||||
<None Remove="DefaultTypes\DataModel\Display\DefaultDataModelDisplayView.xaml" />
|
<None Remove="DefaultTypes\DataModel\Display\DefaultDataModelDisplayView.xaml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Avalonia" Version="0.10.12" />
|
<PackageReference Include="Avalonia" Version="0.10.13" />
|
||||||
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.12" />
|
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.13" />
|
||||||
<PackageReference Include="Avalonia.Svg.Skia" Version="0.10.12" />
|
<PackageReference Include="Avalonia.Svg.Skia" Version="0.10.12" />
|
||||||
<PackageReference Include="Avalonia.Xaml.Behaviors" Version="0.10.12" />
|
<PackageReference Include="DynamicData" Version="7.5.4" />
|
||||||
<PackageReference Include="Avalonia.Xaml.Interactions" Version="0.10.12" />
|
<PackageReference Include="FluentAvaloniaUI" Version="1.3.0" />
|
||||||
<PackageReference Include="Avalonia.Xaml.Interactivity" Version="0.10.12" />
|
|
||||||
<PackageReference Include="DynamicData" Version="7.4.9" />
|
|
||||||
<PackageReference Include="FluentAvaloniaUI" Version="1.2.1" />
|
|
||||||
<PackageReference Include="Material.Icons.Avalonia" Version="1.0.2" />
|
<PackageReference Include="Material.Icons.Avalonia" Version="1.0.2" />
|
||||||
<PackageReference Include="ReactiveUI" Version="17.1.17" />
|
<PackageReference Include="ReactiveUI" Version="17.1.50" />
|
||||||
<PackageReference Include="ReactiveUI.Validation" Version="2.2.1" />
|
<PackageReference Include="ReactiveUI.Validation" Version="2.2.1" />
|
||||||
<PackageReference Include="RGB.NET.Core" Version="1.0.0-prerelease7" />
|
<PackageReference Include="RGB.NET.Core" Version="1.0.0-prerelease7" />
|
||||||
<PackageReference Include="SkiaSharp" Version="2.88.0-preview.178" />
|
<PackageReference Include="SkiaSharp" Version="2.88.0-preview.178" />
|
||||||
|
|||||||
@ -0,0 +1,57 @@
|
|||||||
|
using Artemis.Core;
|
||||||
|
|
||||||
|
namespace Artemis.UI.Shared.Services.ProfileEditor.Commands;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Represents a profile editor command that can be used to move a profile element.
|
||||||
|
/// </summary>
|
||||||
|
public class MoveProfileElement : IProfileEditorCommand
|
||||||
|
{
|
||||||
|
private readonly int _originalIndex;
|
||||||
|
|
||||||
|
private readonly ProfileElement? _originalParent;
|
||||||
|
private readonly ProfileElement _subject;
|
||||||
|
private readonly ProfileElement _target;
|
||||||
|
private readonly int _targetIndex;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Creates a new instance of the <see cref="MoveProfileElement" /> class.
|
||||||
|
/// </summary>
|
||||||
|
public MoveProfileElement(ProfileElement target, ProfileElement subject, int targetIndex)
|
||||||
|
{
|
||||||
|
_target = target;
|
||||||
|
_subject = subject;
|
||||||
|
_targetIndex = targetIndex;
|
||||||
|
|
||||||
|
if (_subject.Parent != null)
|
||||||
|
{
|
||||||
|
_originalParent = _subject.Parent;
|
||||||
|
_originalIndex = _subject.Parent.Children.IndexOf(_subject);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (subject is Folder)
|
||||||
|
DisplayName = "Move folder";
|
||||||
|
DisplayName = "Move layer";
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Implementation of IProfileEditorCommand
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public string DisplayName { get; }
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public void Execute()
|
||||||
|
{
|
||||||
|
_subject.Parent?.RemoveChild(_subject);
|
||||||
|
_target.AddChild(_subject, _targetIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public void Undo()
|
||||||
|
{
|
||||||
|
_target.RemoveChild(_subject);
|
||||||
|
_originalParent?.AddChild(_subject, _originalIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
@ -4,11 +4,11 @@
|
|||||||
"net6.0": {
|
"net6.0": {
|
||||||
"Avalonia": {
|
"Avalonia": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.12, )",
|
"requested": "[0.10.13, )",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "ftI5uGBFvWJpizGc6PT6lOb6FiO8AWcSYS9N4FWvXgOvuqWuTgmjwURPUkvajpeaQLKOOea6AbgotSyhV8NNoQ==",
|
"contentHash": "7st8nMai1C1nqw1a2H+zXiVYTnnfFwZz7JGziEzJK4sF6+x/W77XkdcDgDHyihcK3clQZJexYr4f+PzK4BJhSQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia.Remote.Protocol": "0.10.12",
|
"Avalonia.Remote.Protocol": "0.10.13",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.ComponentModel.Annotations": "4.5.0",
|
"System.ComponentModel.Annotations": "4.5.0",
|
||||||
"System.Memory": "4.5.3",
|
"System.Memory": "4.5.3",
|
||||||
@ -19,11 +19,11 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.ReactiveUI": {
|
"Avalonia.ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.12, )",
|
"requested": "[0.10.13, )",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "dOszpMtBKEACAFWtjwNibXMF2SBolJ3cV8ffDEOy2uuwjKBJqbSmHH+WSnui9KfbSF2igVpam4TqO6drJuEvjw==",
|
"contentHash": "s5UUJ/MG97Jv9i+kxlgNSKx8Q6uJkgYMJ/LdOR3VM+7T32IRyhuxrNNCYygqk6avuJ4QqvMLU02T6v3GhI7WWA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"ReactiveUI": "13.2.10",
|
"ReactiveUI": "13.2.10",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
@ -40,54 +40,24 @@
|
|||||||
"Svg.Skia": "0.5.12"
|
"Svg.Skia": "0.5.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Behaviors": {
|
|
||||||
"type": "Direct",
|
|
||||||
"requested": "[0.10.12, )",
|
|
||||||
"resolved": "0.10.12",
|
|
||||||
"contentHash": "upv7v1gZ31tCukw/KA1bB5+z29QuEWiZJ4KnW10daHlia1ru7q4lUJ/vCYKOy5L+zyi1MQg98SNYjRp5C64ZhQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"Avalonia": "0.10.12",
|
|
||||||
"Avalonia.Xaml.Interactions": "0.10.12",
|
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.12"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Avalonia.Xaml.Interactions": {
|
|
||||||
"type": "Direct",
|
|
||||||
"requested": "[0.10.12, )",
|
|
||||||
"resolved": "0.10.12",
|
|
||||||
"contentHash": "PSohbY4aQGiJVWfvLKkuUE71ZxvZ0/FuTc3Y5GJgTC41kCgeaiJTczkC2FjW5sZ8exPDabSp+ZukSsnm/z6y7A==",
|
|
||||||
"dependencies": {
|
|
||||||
"Avalonia": "0.10.12",
|
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.12"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Avalonia.Xaml.Interactivity": {
|
|
||||||
"type": "Direct",
|
|
||||||
"requested": "[0.10.12, )",
|
|
||||||
"resolved": "0.10.12",
|
|
||||||
"contentHash": "uey4LjyIds78igMe7AZ072RI6GpO16sd6+6XF6LG0oE07De7ei0So14oOs4wLS4WJyaKDRSUK6PuhLaY1zIZdQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"Avalonia": "0.10.12"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"DynamicData": {
|
"DynamicData": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[7.4.9, )",
|
"requested": "[7.5.4, )",
|
||||||
"resolved": "7.4.9",
|
"resolved": "7.5.4",
|
||||||
"contentHash": "bzw9n1WgfflkhsScIaC7tzPlKFTJkfWVTOg2pjJjqzVqxF63ztaJ7HH306Iyx6bs+pC77fQbtE53UoPTpt+8dQ==",
|
"contentHash": "1OpHPoyQGzHREiP6JXnPaBBx4KWVQZW7zBAZpKXc9kl4rcbEK4fo2/T3bDXZbHWKhDqVAISW9pE4Ug9+ms3RoA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"FluentAvaloniaUI": {
|
"FluentAvaloniaUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[1.2.1, )",
|
"requested": "[1.3.0, )",
|
||||||
"resolved": "1.2.1",
|
"resolved": "1.3.0",
|
||||||
"contentHash": "IH9eei7CrOUkUdxL2E/HZYKFgNupSVO+ju74CnVqmV7u7iolyz3g1cTHELqVgatEb+IqXw7KyeLr2459nUxYSw==",
|
"contentHash": "xzcsuOswakMpz/EdA59NEOgaCtZ/9zsd5QWTB0YYQqSv1GF95Uk2aMVtO5gtfNrCT4lZvGNWVf3HGjYz9cHovQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Desktop": "0.10.12",
|
"Avalonia.Desktop": "0.10.13",
|
||||||
"Avalonia.Diagnostics": "0.10.12",
|
"Avalonia.Diagnostics": "0.10.13",
|
||||||
"MicroCom.CodeGenerator.MSBuild": "0.10.4",
|
"MicroCom.CodeGenerator.MSBuild": "0.10.4",
|
||||||
"MicroCom.Runtime": "0.10.4"
|
"MicroCom.Runtime": "0.10.4"
|
||||||
}
|
}
|
||||||
@ -104,12 +74,12 @@
|
|||||||
},
|
},
|
||||||
"ReactiveUI": {
|
"ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[17.1.17, )",
|
"requested": "[17.1.50, )",
|
||||||
"resolved": "17.1.17",
|
"resolved": "17.1.50",
|
||||||
"contentHash": "0DLq44k4CVvfXcWHE4uigQa/wySOzxOTnWg50j2qZDpWzl9OP7QfIDJo39X3ffEjaVcCUFcbF9xAmm7fRX/q2g==",
|
"contentHash": "UofZH1WMwWNLvFkK2SH+gsYTkUmhFFJO0Pix9YG2RzdHQ92mRFCzHzPO1abeU8/cxzyc9hJHX7sBChzUj53Ulg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"DynamicData": "7.4.9",
|
"DynamicData": "7.5.2",
|
||||||
"Splat": "14.1.17"
|
"Splat": "14.1.45"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ReactiveUI.Validation": {
|
"ReactiveUI.Validation": {
|
||||||
@ -145,66 +115,66 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Controls.DataGrid": {
|
"Avalonia.Controls.DataGrid": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "i3zM3P8PUY4FNhATZoFWkto3H66FcIrnJNMyOsl1fN0FPS6meysAwCKQwuou/oapyzZEODeAmCVdqB0AgjNHVw==",
|
"contentHash": "51xcaYtJN41vX/4xUu8rNyoISTO4bdswpfZmTPjeBTdofrhZ6mzOqbxVk6tqT4gt88MPihbaPil4jsD4X4Aixw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Remote.Protocol": "0.10.12",
|
"Avalonia.Remote.Protocol": "0.10.13",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Desktop": {
|
"Avalonia.Desktop": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "wy4k1uarrmZJSJENCe1hjNpdCJWhup0gt6KA2TtZILfGG7imj+an5IuQZUSXtA7cl7A+6tF6lPQLo82gESUlXQ==",
|
"contentHash": "v+siRNQYvSZR9lt/bBgb81t6LGbSC7pUo+APgPmKYGLeYcMij1O6CWk7tCh9hihMxNHYw/PEB06r8ZBQIg9YPg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Native": "0.10.12",
|
"Avalonia.Native": "0.10.13",
|
||||||
"Avalonia.Skia": "0.10.12",
|
"Avalonia.Skia": "0.10.13",
|
||||||
"Avalonia.Win32": "0.10.12",
|
"Avalonia.Win32": "0.10.13",
|
||||||
"Avalonia.X11": "0.10.12"
|
"Avalonia.X11": "0.10.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Diagnostics": {
|
"Avalonia.Diagnostics": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "Pf9DGiSwl3+gPrRSHKFzDG20I9QJ5P1g6BexLKfHQH9+Cmax+a/UEVYQq4hGn0xhrmpuLYOeGHb8wasjAT4EfQ==",
|
"contentHash": "stIGj0Rv/p/Re0GqlXCc061paifG6wT0YvrTUV/fQloNctW8Y4sf1xZNzr9dxdSz6+LG2AZjdZcSUhUGOCe6Zg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Controls.DataGrid": "0.10.12",
|
"Avalonia.Controls.DataGrid": "0.10.13",
|
||||||
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.FreeDesktop": {
|
"Avalonia.FreeDesktop": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "j42uWCWkAfZchYPrdRccr4mjB0kppSby3TEMCuNrp9GcQi+JhEPEbBAohU7FpR4bkv5FF2KAlDX5WiG2T+04kg==",
|
"contentHash": "/bKzscse/kY4RNMFk8r/jqLY/kS0fSkwp4TpqEF4UJeI8sHUvwe4yecnzNb1qDP9tCX4S6ML38LklAIqAk8gIQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Tmds.DBus": "0.9.0"
|
"Tmds.DBus": "0.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Native": {
|
"Avalonia.Native": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "JnZc0zF7DcLcSX+SdnKQGzFa9mcKxawhTN8S3aiN8Eh3MZAKxa45LRrHFVTcHcy2jU4kOw+yPfONUmHpRcC0gw==",
|
"contentHash": "pq3WiiOyFyhJHnYdxP/fOlcG9DfqhJ0W5CCfPX48QyOdODbPgMF5LY6BU+McDpeAJTwQ4LqVfznHZoCeHH12gg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12"
|
"Avalonia": "0.10.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Remote.Protocol": {
|
"Avalonia.Remote.Protocol": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "ArrxniR8iShzMvXCS3vt5FXg9Fv3qK1UKzJwsSsY9iCuC8wKo2eevRj42qOhMCS98POTH5v8aUZBeoLlENa0vA=="
|
"contentHash": "hnklCHyLCMrzWjMc3T0mYkRKdfUqpw2qCkf9HBRzyqnI6uG5tLw2QIlRF9zYC4BGOpx/B/647IcIjgq6H1ypzQ=="
|
||||||
},
|
},
|
||||||
"Avalonia.Skia": {
|
"Avalonia.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "3TGo8RLHaLqmU3chlyAqLkpw6vImfDMC30T18abpeYf1PIsNckRB+UFp12GDil9t/J9YB17zn4H6N+2plF4gZA==",
|
"contentHash": "aG0JlUhCpwGM/QsN/+rRak7XlPy0Jtd5HaiCdYKtuBOc+ISGs6hmCJDKjklNANp9gZR/TUUgXkqk5VFMQUJkTA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"HarfBuzzSharp": "2.8.2-preview.178",
|
"HarfBuzzSharp": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
||||||
@ -215,10 +185,10 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Win32": {
|
"Avalonia.Win32": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "CnC65T8ScMK23BB+qJuiMicWQ5QIEiinnRzPqvAGUGyQbjIGpA5uOCKwzsOjUmzkhGqt31iDR0/Y3ZFbi5Mjog==",
|
"contentHash": "CNUGWafAonBYYbHMliujDrs4JH2giH435GxU+O1q/nGyO5Mm+PXCG4NYsg+0zwp8yQBapFK7eYwzamU+re+cDw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
||||||
"System.Drawing.Common": "4.5.0",
|
"System.Drawing.Common": "4.5.0",
|
||||||
"System.Numerics.Vectors": "4.5.0"
|
"System.Numerics.Vectors": "4.5.0"
|
||||||
@ -226,12 +196,12 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.X11": {
|
"Avalonia.X11": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "mUY1cF1p86/UgLl1cbSmY3nVIatKQsSCDOH4avssL07xmKlRfB2G7Gi8jlhWNkLJTLL7iQp/u3X6bv7bs+0zNQ==",
|
"contentHash": "kXxn79KVB0ZfeZqQL7c2Dlvl96GBlRT8rzAh6g/j0hcgykQ55/e0be8Te6+Ny7hI+tFrob6lxvYdxYVUUCjHYg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.FreeDesktop": "0.10.12",
|
"Avalonia.FreeDesktop": "0.10.13",
|
||||||
"Avalonia.Skia": "0.10.12"
|
"Avalonia.Skia": "0.10.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Castle.Core": {
|
"Castle.Core": {
|
||||||
@ -674,8 +644,8 @@
|
|||||||
},
|
},
|
||||||
"Serilog.Sinks.Console": {
|
"Serilog.Sinks.Console": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "4.0.0",
|
"resolved": "4.0.1",
|
||||||
"contentHash": "yJQit9sTJ4xGLKgCujqDJsaGqBNJwGB/H898z+xYlMG06twy4//6LLnSrsmpduZxcHIG4im7cv+JmXLzXz2EkQ==",
|
"contentHash": "apLOvSJQLlIbKlbx+Y2UDHSP05kJsV7mou+fvJoRGs/iR+jC22r8cuFVMjjfVxz/AD4B2UCltFhE1naRLXwKNw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Serilog": "2.10.0"
|
"Serilog": "2.10.0"
|
||||||
}
|
}
|
||||||
@ -735,8 +705,8 @@
|
|||||||
},
|
},
|
||||||
"Splat": {
|
"Splat": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "14.1.17",
|
"resolved": "14.1.45",
|
||||||
"contentHash": "orBlJcQS4b1VZUlT+sJIensH0MsTYyCJlStT6bRwt71OFqNYD6V1SpkoIt6vKSf8YXgDT7QH/LuwWdLfTyHPrw=="
|
"contentHash": "ayHdfTUklD5ci0s9m4uYMccjtkKVjZ9fVPT5q3PN+SnvyD6bjQVRozOfUHwdwh4LAz9ETZjR/tAgrm+IapXKrw=="
|
||||||
},
|
},
|
||||||
"Svg.Custom": {
|
"Svg.Custom": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -1703,7 +1673,7 @@
|
|||||||
"RGB.NET.Layout": "1.0.0-prerelease7",
|
"RGB.NET.Layout": "1.0.0-prerelease7",
|
||||||
"RGB.NET.Presets": "1.0.0-prerelease7",
|
"RGB.NET.Presets": "1.0.0-prerelease7",
|
||||||
"Serilog": "2.10.0",
|
"Serilog": "2.10.0",
|
||||||
"Serilog.Sinks.Console": "4.0.0",
|
"Serilog.Sinks.Console": "4.0.1",
|
||||||
"Serilog.Sinks.Debug": "2.0.0",
|
"Serilog.Sinks.Debug": "2.0.0",
|
||||||
"Serilog.Sinks.File": "5.0.0",
|
"Serilog.Sinks.File": "5.0.0",
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
|
|||||||
@ -23,15 +23,15 @@
|
|||||||
<None Remove="Assets\Cursors\aero_rotate_tr.cur" />
|
<None Remove="Assets\Cursors\aero_rotate_tr.cur" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Avalonia" Version="0.10.12" />
|
<PackageReference Include="Avalonia" Version="0.10.13" />
|
||||||
<PackageReference Include="Avalonia.Desktop" Version="0.10.12" />
|
<PackageReference Include="Avalonia.Desktop" Version="0.10.13" />
|
||||||
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
||||||
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="0.10.12" />
|
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="0.10.13" />
|
||||||
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.12" />
|
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.13" />
|
||||||
<PackageReference Include="Avalonia.Win32" Version="0.10.12" />
|
<PackageReference Include="Avalonia.Win32" Version="0.10.13" />
|
||||||
<PackageReference Include="Microsoft.Win32" Version="2.0.1" />
|
<PackageReference Include="Microsoft.Win32" Version="2.0.1" />
|
||||||
<PackageReference Include="RawInput.Sharp" Version="0.0.4" />
|
<PackageReference Include="RawInput.Sharp" Version="0.0.4" />
|
||||||
<PackageReference Include="ReactiveUI" Version="17.1.17" />
|
<PackageReference Include="ReactiveUI" Version="17.1.50" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\Artemis.Core\Artemis.Core.csproj" />
|
<ProjectReference Include="..\..\Artemis.Core\Artemis.Core.csproj" />
|
||||||
|
|||||||
@ -4,11 +4,11 @@
|
|||||||
"net6.0-windows7.0": {
|
"net6.0-windows7.0": {
|
||||||
"Avalonia": {
|
"Avalonia": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.12, )",
|
"requested": "[0.10.13, )",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "ftI5uGBFvWJpizGc6PT6lOb6FiO8AWcSYS9N4FWvXgOvuqWuTgmjwURPUkvajpeaQLKOOea6AbgotSyhV8NNoQ==",
|
"contentHash": "7st8nMai1C1nqw1a2H+zXiVYTnnfFwZz7JGziEzJK4sF6+x/W77XkdcDgDHyihcK3clQZJexYr4f+PzK4BJhSQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia.Remote.Protocol": "0.10.12",
|
"Avalonia.Remote.Protocol": "0.10.13",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.ComponentModel.Annotations": "4.5.0",
|
"System.ComponentModel.Annotations": "4.5.0",
|
||||||
"System.Memory": "4.5.3",
|
"System.Memory": "4.5.3",
|
||||||
@ -19,47 +19,47 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Desktop": {
|
"Avalonia.Desktop": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.12, )",
|
"requested": "[0.10.13, )",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "wy4k1uarrmZJSJENCe1hjNpdCJWhup0gt6KA2TtZILfGG7imj+an5IuQZUSXtA7cl7A+6tF6lPQLo82gESUlXQ==",
|
"contentHash": "v+siRNQYvSZR9lt/bBgb81t6LGbSC7pUo+APgPmKYGLeYcMij1O6CWk7tCh9hihMxNHYw/PEB06r8ZBQIg9YPg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Native": "0.10.12",
|
"Avalonia.Native": "0.10.13",
|
||||||
"Avalonia.Skia": "0.10.12",
|
"Avalonia.Skia": "0.10.13",
|
||||||
"Avalonia.Win32": "0.10.12",
|
"Avalonia.Win32": "0.10.13",
|
||||||
"Avalonia.X11": "0.10.12"
|
"Avalonia.X11": "0.10.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Diagnostics": {
|
"Avalonia.Diagnostics": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.12, )",
|
"requested": "[0.10.13, )",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "Pf9DGiSwl3+gPrRSHKFzDG20I9QJ5P1g6BexLKfHQH9+Cmax+a/UEVYQq4hGn0xhrmpuLYOeGHb8wasjAT4EfQ==",
|
"contentHash": "stIGj0Rv/p/Re0GqlXCc061paifG6wT0YvrTUV/fQloNctW8Y4sf1xZNzr9dxdSz6+LG2AZjdZcSUhUGOCe6Zg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Controls.DataGrid": "0.10.12",
|
"Avalonia.Controls.DataGrid": "0.10.13",
|
||||||
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.ReactiveUI": {
|
"Avalonia.ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.12, )",
|
"requested": "[0.10.13, )",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "dOszpMtBKEACAFWtjwNibXMF2SBolJ3cV8ffDEOy2uuwjKBJqbSmHH+WSnui9KfbSF2igVpam4TqO6drJuEvjw==",
|
"contentHash": "s5UUJ/MG97Jv9i+kxlgNSKx8Q6uJkgYMJ/LdOR3VM+7T32IRyhuxrNNCYygqk6avuJ4QqvMLU02T6v3GhI7WWA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"ReactiveUI": "13.2.10",
|
"ReactiveUI": "13.2.10",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Win32": {
|
"Avalonia.Win32": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.12, )",
|
"requested": "[0.10.13, )",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "CnC65T8ScMK23BB+qJuiMicWQ5QIEiinnRzPqvAGUGyQbjIGpA5uOCKwzsOjUmzkhGqt31iDR0/Y3ZFbi5Mjog==",
|
"contentHash": "CNUGWafAonBYYbHMliujDrs4JH2giH435GxU+O1q/nGyO5Mm+PXCG4NYsg+0zwp8yQBapFK7eYwzamU+re+cDw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
||||||
"System.Drawing.Common": "4.5.0",
|
"System.Drawing.Common": "4.5.0",
|
||||||
"System.Numerics.Vectors": "4.5.0"
|
"System.Numerics.Vectors": "4.5.0"
|
||||||
@ -82,12 +82,12 @@
|
|||||||
},
|
},
|
||||||
"ReactiveUI": {
|
"ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[17.1.17, )",
|
"requested": "[17.1.50, )",
|
||||||
"resolved": "17.1.17",
|
"resolved": "17.1.50",
|
||||||
"contentHash": "0DLq44k4CVvfXcWHE4uigQa/wySOzxOTnWg50j2qZDpWzl9OP7QfIDJo39X3ffEjaVcCUFcbF9xAmm7fRX/q2g==",
|
"contentHash": "UofZH1WMwWNLvFkK2SH+gsYTkUmhFFJO0Pix9YG2RzdHQ92mRFCzHzPO1abeU8/cxzyc9hJHX7sBChzUj53Ulg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"DynamicData": "7.4.9",
|
"DynamicData": "7.5.2",
|
||||||
"Splat": "14.1.17"
|
"Splat": "14.1.45"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Angle.Windows.Natives": {
|
"Avalonia.Angle.Windows.Natives": {
|
||||||
@ -97,11 +97,11 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Controls.DataGrid": {
|
"Avalonia.Controls.DataGrid": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "i3zM3P8PUY4FNhATZoFWkto3H66FcIrnJNMyOsl1fN0FPS6meysAwCKQwuou/oapyzZEODeAmCVdqB0AgjNHVw==",
|
"contentHash": "51xcaYtJN41vX/4xUu8rNyoISTO4bdswpfZmTPjeBTdofrhZ6mzOqbxVk6tqT4gt88MPihbaPil4jsD4X4Aixw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Remote.Protocol": "0.10.12",
|
"Avalonia.Remote.Protocol": "0.10.13",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
@ -116,32 +116,32 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.FreeDesktop": {
|
"Avalonia.FreeDesktop": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "j42uWCWkAfZchYPrdRccr4mjB0kppSby3TEMCuNrp9GcQi+JhEPEbBAohU7FpR4bkv5FF2KAlDX5WiG2T+04kg==",
|
"contentHash": "/bKzscse/kY4RNMFk8r/jqLY/kS0fSkwp4TpqEF4UJeI8sHUvwe4yecnzNb1qDP9tCX4S6ML38LklAIqAk8gIQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Tmds.DBus": "0.9.0"
|
"Tmds.DBus": "0.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Native": {
|
"Avalonia.Native": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "JnZc0zF7DcLcSX+SdnKQGzFa9mcKxawhTN8S3aiN8Eh3MZAKxa45LRrHFVTcHcy2jU4kOw+yPfONUmHpRcC0gw==",
|
"contentHash": "pq3WiiOyFyhJHnYdxP/fOlcG9DfqhJ0W5CCfPX48QyOdODbPgMF5LY6BU+McDpeAJTwQ4LqVfznHZoCeHH12gg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12"
|
"Avalonia": "0.10.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Remote.Protocol": {
|
"Avalonia.Remote.Protocol": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "ArrxniR8iShzMvXCS3vt5FXg9Fv3qK1UKzJwsSsY9iCuC8wKo2eevRj42qOhMCS98POTH5v8aUZBeoLlENa0vA=="
|
"contentHash": "hnklCHyLCMrzWjMc3T0mYkRKdfUqpw2qCkf9HBRzyqnI6uG5tLw2QIlRF9zYC4BGOpx/B/647IcIjgq6H1ypzQ=="
|
||||||
},
|
},
|
||||||
"Avalonia.Skia": {
|
"Avalonia.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "3TGo8RLHaLqmU3chlyAqLkpw6vImfDMC30T18abpeYf1PIsNckRB+UFp12GDil9t/J9YB17zn4H6N+2plF4gZA==",
|
"contentHash": "aG0JlUhCpwGM/QsN/+rRak7XlPy0Jtd5HaiCdYKtuBOc+ISGs6hmCJDKjklNANp9gZR/TUUgXkqk5VFMQUJkTA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"HarfBuzzSharp": "2.8.2-preview.178",
|
"HarfBuzzSharp": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
||||||
@ -163,37 +163,37 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.X11": {
|
"Avalonia.X11": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "mUY1cF1p86/UgLl1cbSmY3nVIatKQsSCDOH4avssL07xmKlRfB2G7Gi8jlhWNkLJTLL7iQp/u3X6bv7bs+0zNQ==",
|
"contentHash": "kXxn79KVB0ZfeZqQL7c2Dlvl96GBlRT8rzAh6g/j0hcgykQ55/e0be8Te6+Ny7hI+tFrob6lxvYdxYVUUCjHYg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.FreeDesktop": "0.10.12",
|
"Avalonia.FreeDesktop": "0.10.13",
|
||||||
"Avalonia.Skia": "0.10.12"
|
"Avalonia.Skia": "0.10.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Behaviors": {
|
"Avalonia.Xaml.Behaviors": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.12.2",
|
||||||
"contentHash": "upv7v1gZ31tCukw/KA1bB5+z29QuEWiZJ4KnW10daHlia1ru7q4lUJ/vCYKOy5L+zyi1MQg98SNYjRp5C64ZhQ==",
|
"contentHash": "EqfzwstvqQcWnTJnaBvezxKwBSddozXpkFi5WrzVe976zedE+A1NruFgnC19aG7Vvy0mTQdlWFTtbAInv6IQyg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.12",
|
"Avalonia.Xaml.Interactions": "0.10.12.2",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.12"
|
"Avalonia.Xaml.Interactivity": "0.10.12.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactions": {
|
"Avalonia.Xaml.Interactions": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.12.2",
|
||||||
"contentHash": "PSohbY4aQGiJVWfvLKkuUE71ZxvZ0/FuTc3Y5GJgTC41kCgeaiJTczkC2FjW5sZ8exPDabSp+ZukSsnm/z6y7A==",
|
"contentHash": "01NGXHMbvpg1JcZ4tFAZXD6i55vHIQnJl3+HFi7RSP1jevkjkSaVM8qjwLsTSfREsJ2OoiWxx2LcyUQJvO5Kjw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.12",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.12"
|
"Avalonia.Xaml.Interactivity": "0.10.12.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactivity": {
|
"Avalonia.Xaml.Interactivity": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.12.2",
|
||||||
"contentHash": "uey4LjyIds78igMe7AZ072RI6GpO16sd6+6XF6LG0oE07De7ei0So14oOs4wLS4WJyaKDRSUK6PuhLaY1zIZdQ==",
|
"contentHash": "AGAbT1I6XW1+9tweLHDMGX8+SijE111vNNIQy2gI3bpbLfPYTirLPyK0do2s9V6l7hHfQnNmiX2NA6JHC4WG4Q==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12"
|
"Avalonia": "0.10.12"
|
||||||
}
|
}
|
||||||
@ -217,8 +217,8 @@
|
|||||||
},
|
},
|
||||||
"DynamicData": {
|
"DynamicData": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "7.4.9",
|
"resolved": "7.5.4",
|
||||||
"contentHash": "bzw9n1WgfflkhsScIaC7tzPlKFTJkfWVTOg2pjJjqzVqxF63ztaJ7HH306Iyx6bs+pC77fQbtE53UoPTpt+8dQ==",
|
"contentHash": "1OpHPoyQGzHREiP6JXnPaBBx4KWVQZW7zBAZpKXc9kl4rcbEK4fo2/T3bDXZbHWKhDqVAISW9pE4Ug9+ms3RoA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
@ -238,12 +238,12 @@
|
|||||||
},
|
},
|
||||||
"FluentAvaloniaUI": {
|
"FluentAvaloniaUI": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.2.1",
|
"resolved": "1.3.0",
|
||||||
"contentHash": "IH9eei7CrOUkUdxL2E/HZYKFgNupSVO+ju74CnVqmV7u7iolyz3g1cTHELqVgatEb+IqXw7KyeLr2459nUxYSw==",
|
"contentHash": "xzcsuOswakMpz/EdA59NEOgaCtZ/9zsd5QWTB0YYQqSv1GF95Uk2aMVtO5gtfNrCT4lZvGNWVf3HGjYz9cHovQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Desktop": "0.10.12",
|
"Avalonia.Desktop": "0.10.13",
|
||||||
"Avalonia.Diagnostics": "0.10.12",
|
"Avalonia.Diagnostics": "0.10.13",
|
||||||
"MicroCom.CodeGenerator.MSBuild": "0.10.4",
|
"MicroCom.CodeGenerator.MSBuild": "0.10.4",
|
||||||
"MicroCom.Runtime": "0.10.4"
|
"MicroCom.Runtime": "0.10.4"
|
||||||
}
|
}
|
||||||
@ -703,8 +703,8 @@
|
|||||||
},
|
},
|
||||||
"Serilog.Sinks.Console": {
|
"Serilog.Sinks.Console": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "4.0.0",
|
"resolved": "4.0.1",
|
||||||
"contentHash": "yJQit9sTJ4xGLKgCujqDJsaGqBNJwGB/H898z+xYlMG06twy4//6LLnSrsmpduZxcHIG4im7cv+JmXLzXz2EkQ==",
|
"contentHash": "apLOvSJQLlIbKlbx+Y2UDHSP05kJsV7mou+fvJoRGs/iR+jC22r8cuFVMjjfVxz/AD4B2UCltFhE1naRLXwKNw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Serilog": "2.10.0"
|
"Serilog": "2.10.0"
|
||||||
}
|
}
|
||||||
@ -774,16 +774,16 @@
|
|||||||
},
|
},
|
||||||
"Splat": {
|
"Splat": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "14.1.17",
|
"resolved": "14.1.45",
|
||||||
"contentHash": "orBlJcQS4b1VZUlT+sJIensH0MsTYyCJlStT6bRwt71OFqNYD6V1SpkoIt6vKSf8YXgDT7QH/LuwWdLfTyHPrw=="
|
"contentHash": "ayHdfTUklD5ci0s9m4uYMccjtkKVjZ9fVPT5q3PN+SnvyD6bjQVRozOfUHwdwh4LAz9ETZjR/tAgrm+IapXKrw=="
|
||||||
},
|
},
|
||||||
"Splat.Ninject": {
|
"Splat.Ninject": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "14.1.17",
|
"resolved": "14.1.45",
|
||||||
"contentHash": "HPekZ89SfxHEX9NK+//w5JLBJmI8KLnUfh5yR/OVGTGRBSZVhHarAKgj/Ih3xJsqyl5L7l719C9RFo3qZBKn1A==",
|
"contentHash": "aU851Yb7i4kLzzrpo3KxFZg/U0vd36ORza9nk51pvL/QE+Jkm3ROqoPMf+BPfugEub2J1hHDEuLKJtxU7TAt0w==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Ninject": "3.3.4",
|
"Ninject": "3.3.4",
|
||||||
"Splat": "14.1.17"
|
"Splat": "14.1.45"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Svg.Custom": {
|
"Svg.Custom": {
|
||||||
@ -1751,7 +1751,7 @@
|
|||||||
"RGB.NET.Layout": "1.0.0-prerelease7",
|
"RGB.NET.Layout": "1.0.0-prerelease7",
|
||||||
"RGB.NET.Presets": "1.0.0-prerelease7",
|
"RGB.NET.Presets": "1.0.0-prerelease7",
|
||||||
"Serilog": "2.10.0",
|
"Serilog": "2.10.0",
|
||||||
"Serilog.Sinks.Console": "4.0.0",
|
"Serilog.Sinks.Console": "4.0.1",
|
||||||
"Serilog.Sinks.Debug": "2.0.0",
|
"Serilog.Sinks.Debug": "2.0.0",
|
||||||
"Serilog.Sinks.File": "5.0.0",
|
"Serilog.Sinks.File": "5.0.0",
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
@ -1774,40 +1774,40 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Artemis.UI.Shared": "1.0.0",
|
"Artemis.UI.Shared": "1.0.0",
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Controls.PanAndZoom": "10.12.0",
|
"Avalonia.Controls.PanAndZoom": "10.12.0",
|
||||||
"Avalonia.Desktop": "0.10.12",
|
"Avalonia.Desktop": "0.10.13",
|
||||||
"Avalonia.Diagnostics": "0.10.12",
|
"Avalonia.Diagnostics": "0.10.13",
|
||||||
"Avalonia.ReactiveUI": "0.10.12",
|
"Avalonia.ReactiveUI": "0.10.13",
|
||||||
"Avalonia.Svg.Skia": "0.10.12",
|
"Avalonia.Svg.Skia": "0.10.12",
|
||||||
"DynamicData": "7.4.9",
|
"Avalonia.Xaml.Behaviors": "0.10.12.2",
|
||||||
"FluentAvaloniaUI": "1.2.1",
|
"Avalonia.Xaml.Interactions": "0.10.12.2",
|
||||||
|
"Avalonia.Xaml.Interactivity": "0.10.12.2",
|
||||||
|
"DynamicData": "7.5.4",
|
||||||
|
"FluentAvaloniaUI": "1.3.0",
|
||||||
"Flurl.Http": "3.2.0",
|
"Flurl.Http": "3.2.0",
|
||||||
"Live.Avalonia": "1.3.1",
|
"Live.Avalonia": "1.3.1",
|
||||||
"Material.Icons.Avalonia": "1.0.2",
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
"RGB.NET.Core": "1.0.0-prerelease7",
|
"RGB.NET.Core": "1.0.0-prerelease7",
|
||||||
"RGB.NET.Layout": "1.0.0-prerelease7",
|
"RGB.NET.Layout": "1.0.0-prerelease7",
|
||||||
"ReactiveUI": "17.1.17",
|
"ReactiveUI": "17.1.50",
|
||||||
"ReactiveUI.Validation": "2.2.1",
|
"ReactiveUI.Validation": "2.2.1",
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
"Splat.Ninject": "14.1.17"
|
"Splat.Ninject": "14.1.45"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artemis.ui.shared": {
|
"artemis.ui.shared": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.ReactiveUI": "0.10.12",
|
"Avalonia.ReactiveUI": "0.10.13",
|
||||||
"Avalonia.Svg.Skia": "0.10.12",
|
"Avalonia.Svg.Skia": "0.10.12",
|
||||||
"Avalonia.Xaml.Behaviors": "0.10.12",
|
"DynamicData": "7.5.4",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.12",
|
"FluentAvaloniaUI": "1.3.0",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.12",
|
|
||||||
"DynamicData": "7.4.9",
|
|
||||||
"FluentAvaloniaUI": "1.2.1",
|
|
||||||
"Material.Icons.Avalonia": "1.0.2",
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
"RGB.NET.Core": "1.0.0-prerelease7",
|
"RGB.NET.Core": "1.0.0-prerelease7",
|
||||||
"ReactiveUI": "17.1.17",
|
"ReactiveUI": "17.1.50",
|
||||||
"ReactiveUI.Validation": "2.2.1",
|
"ReactiveUI.Validation": "2.2.1",
|
||||||
"SkiaSharp": "2.88.0-preview.178"
|
"SkiaSharp": "2.88.0-preview.178"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
@ -15,23 +15,26 @@
|
|||||||
<None Remove="Assets\Images\Logo\application.ico" />
|
<None Remove="Assets\Images\Logo\application.ico" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Avalonia" Version="0.10.12" />
|
<PackageReference Include="Avalonia" Version="0.10.13" />
|
||||||
<PackageReference Include="Avalonia.Controls.PanAndZoom" Version="10.12.0" />
|
<PackageReference Include="Avalonia.Controls.PanAndZoom" Version="10.12.0" />
|
||||||
<PackageReference Include="Avalonia.Desktop" Version="0.10.12" />
|
<PackageReference Include="Avalonia.Desktop" Version="0.10.13" />
|
||||||
<PackageReference Include="Avalonia.Diagnostics" Version="0.10.12" />
|
<PackageReference Include="Avalonia.Diagnostics" Version="0.10.13" />
|
||||||
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.12" />
|
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.13" />
|
||||||
<PackageReference Include="Avalonia.Svg.Skia" Version="0.10.12" />
|
<PackageReference Include="Avalonia.Svg.Skia" Version="0.10.12" />
|
||||||
<PackageReference Include="DynamicData" Version="7.4.9" />
|
<PackageReference Include="Avalonia.Xaml.Behaviors" Version="0.10.12.2" />
|
||||||
<PackageReference Include="FluentAvaloniaUI" Version="1.2.1" />
|
<PackageReference Include="Avalonia.Xaml.Interactions" Version="0.10.12.2" />
|
||||||
|
<PackageReference Include="Avalonia.Xaml.Interactivity" Version="0.10.12.2" />
|
||||||
|
<PackageReference Include="DynamicData" Version="7.5.4" />
|
||||||
|
<PackageReference Include="FluentAvaloniaUI" Version="1.3.0" />
|
||||||
<PackageReference Include="Flurl.Http" Version="3.2.0" />
|
<PackageReference Include="Flurl.Http" Version="3.2.0" />
|
||||||
<PackageReference Include="Live.Avalonia" Version="1.3.1" />
|
<PackageReference Include="Live.Avalonia" Version="1.3.1" />
|
||||||
<PackageReference Include="Material.Icons.Avalonia" Version="1.0.2" />
|
<PackageReference Include="Material.Icons.Avalonia" Version="1.0.2" />
|
||||||
<PackageReference Include="ReactiveUI" Version="17.1.17" />
|
<PackageReference Include="ReactiveUI" Version="17.1.50" />
|
||||||
<PackageReference Include="ReactiveUI.Validation" Version="2.2.1" />
|
<PackageReference Include="ReactiveUI.Validation" Version="2.2.1" />
|
||||||
<PackageReference Include="RGB.NET.Core" Version="1.0.0-prerelease7" />
|
<PackageReference Include="RGB.NET.Core" Version="1.0.0-prerelease7" />
|
||||||
<PackageReference Include="RGB.NET.Layout" Version="1.0.0-prerelease7" />
|
<PackageReference Include="RGB.NET.Layout" Version="1.0.0-prerelease7" />
|
||||||
<PackageReference Include="SkiaSharp" Version="2.88.0-preview.178" />
|
<PackageReference Include="SkiaSharp" Version="2.88.0-preview.178" />
|
||||||
<PackageReference Include="Splat.Ninject" Version="14.1.17" />
|
<PackageReference Include="Splat.Ninject" Version="14.1.45" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\Artemis.Core\Artemis.Core.csproj" />
|
<ProjectReference Include="..\..\Artemis.Core\Artemis.Core.csproj" />
|
||||||
|
|||||||
162
src/Avalonia/Artemis.UI/Behaviors/SimpleContextDragBehavior.cs
Normal file
162
src/Avalonia/Artemis.UI/Behaviors/SimpleContextDragBehavior.cs
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
// Based on AvaloniaBehaviors
|
||||||
|
// https://github.com/wieslawsoltes/AvaloniaBehaviors/blob/2f972ebb0066a2a4235126da7e103f684de1c777/src/Avalonia.Xaml.Interactions/DragAndDrop/ContextDragBehavior.cs
|
||||||
|
|
||||||
|
// The MIT License (MIT)
|
||||||
|
//
|
||||||
|
// Copyright(c) Wiesław Šoltés
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
// of this software and associated documentation files (the "Software"), to deal
|
||||||
|
// in the Software without restriction, including without limitation the rights
|
||||||
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
// copies of the Software, and to permit persons to whom the Software is
|
||||||
|
// furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in all
|
||||||
|
// copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
// SOFTWARE.
|
||||||
|
//
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Avalonia;
|
||||||
|
using Avalonia.Controls;
|
||||||
|
using Avalonia.Data.Core.Plugins;
|
||||||
|
using Avalonia.Input;
|
||||||
|
using Avalonia.Interactivity;
|
||||||
|
using Avalonia.Xaml.Interactions.DragAndDrop;
|
||||||
|
using Avalonia.Xaml.Interactivity;
|
||||||
|
|
||||||
|
namespace Artemis.UI.Behaviors;
|
||||||
|
|
||||||
|
public class SimpleContextDragBehavior : Behavior<Control>
|
||||||
|
{
|
||||||
|
public static readonly StyledProperty<object?> ContextProperty =
|
||||||
|
AvaloniaProperty.Register<SimpleContextDragBehavior, object?>(nameof(Context));
|
||||||
|
|
||||||
|
public static readonly StyledProperty<IDragHandler?> HandlerProperty =
|
||||||
|
AvaloniaProperty.Register<SimpleContextDragBehavior, IDragHandler?>(nameof(Handler));
|
||||||
|
|
||||||
|
public static readonly StyledProperty<double> HorizontalDragThresholdProperty =
|
||||||
|
AvaloniaProperty.Register<SimpleContextDragBehavior, double>(nameof(HorizontalDragThreshold), 3);
|
||||||
|
|
||||||
|
public static readonly StyledProperty<double> VerticalDragThresholdProperty =
|
||||||
|
AvaloniaProperty.Register<SimpleContextDragBehavior, double>(nameof(VerticalDragThreshold), 3);
|
||||||
|
|
||||||
|
private Point _dragStartPoint;
|
||||||
|
private bool _lock;
|
||||||
|
private PointerEventArgs? _triggerEvent;
|
||||||
|
|
||||||
|
public object? Context
|
||||||
|
{
|
||||||
|
get => GetValue(ContextProperty);
|
||||||
|
set => SetValue(ContextProperty, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public IDragHandler? Handler
|
||||||
|
{
|
||||||
|
get => GetValue(HandlerProperty);
|
||||||
|
set => SetValue(HandlerProperty, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public double HorizontalDragThreshold
|
||||||
|
{
|
||||||
|
get => GetValue(HorizontalDragThresholdProperty);
|
||||||
|
set => SetValue(HorizontalDragThresholdProperty, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public double VerticalDragThreshold
|
||||||
|
{
|
||||||
|
get => GetValue(VerticalDragThresholdProperty);
|
||||||
|
set => SetValue(VerticalDragThresholdProperty, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnAttached()
|
||||||
|
{
|
||||||
|
base.OnAttached();
|
||||||
|
AssociatedObject?.AddHandler(InputElement.PointerPressedEvent, AssociatedObject_PointerPressed, RoutingStrategies.Direct | RoutingStrategies.Tunnel | RoutingStrategies.Bubble);
|
||||||
|
AssociatedObject?.AddHandler(InputElement.PointerReleasedEvent, AssociatedObject_PointerReleased, RoutingStrategies.Direct | RoutingStrategies.Tunnel | RoutingStrategies.Bubble);
|
||||||
|
AssociatedObject?.AddHandler(InputElement.PointerMovedEvent, AssociatedObject_PointerMoved, RoutingStrategies.Direct | RoutingStrategies.Tunnel | RoutingStrategies.Bubble);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnDetaching()
|
||||||
|
{
|
||||||
|
base.OnDetaching();
|
||||||
|
AssociatedObject?.RemoveHandler(InputElement.PointerPressedEvent, AssociatedObject_PointerPressed);
|
||||||
|
AssociatedObject?.RemoveHandler(InputElement.PointerReleasedEvent, AssociatedObject_PointerReleased);
|
||||||
|
AssociatedObject?.RemoveHandler(InputElement.PointerMovedEvent, AssociatedObject_PointerMoved);
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task DoDragDrop(PointerEventArgs triggerEvent, object? value)
|
||||||
|
{
|
||||||
|
DataObject data = new();
|
||||||
|
data.Set(ContextDropBehavior.DataFormat, value!);
|
||||||
|
|
||||||
|
await DragDrop.DoDragDrop(triggerEvent, data, DragDropEffects.Move);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AssociatedObject_PointerPressed(object? sender, PointerPressedEventArgs e)
|
||||||
|
{
|
||||||
|
PointerPointProperties properties = e.GetCurrentPoint(AssociatedObject).Properties;
|
||||||
|
if (!properties.IsLeftButtonPressed)
|
||||||
|
return;
|
||||||
|
if (e.Source is not IControl control || AssociatedObject?.DataContext != control.DataContext)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_dragStartPoint = e.GetPosition(null);
|
||||||
|
_triggerEvent = e;
|
||||||
|
_lock = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AssociatedObject_PointerReleased(object? sender, PointerReleasedEventArgs e)
|
||||||
|
{
|
||||||
|
if (!Equals(e.Pointer.Captured, AssociatedObject))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (e.InitialPressMouseButton == MouseButton.Left && _triggerEvent is { })
|
||||||
|
{
|
||||||
|
_triggerEvent = null;
|
||||||
|
_lock = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
e.Pointer.Capture(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private async void AssociatedObject_PointerMoved(object? sender, PointerEventArgs e)
|
||||||
|
{
|
||||||
|
PointerPointProperties properties = e.GetCurrentPoint(AssociatedObject).Properties;
|
||||||
|
if (!properties.IsLeftButtonPressed)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (_triggerEvent is null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Point point = e.GetPosition(null);
|
||||||
|
Point diff = _dragStartPoint - point;
|
||||||
|
double horizontalDragThreshold = HorizontalDragThreshold;
|
||||||
|
double verticalDragThreshold = VerticalDragThreshold;
|
||||||
|
|
||||||
|
if (!(Math.Abs(diff.X) > horizontalDragThreshold) && !(Math.Abs(diff.Y) > verticalDragThreshold))
|
||||||
|
return;
|
||||||
|
|
||||||
|
e.Pointer.Capture(AssociatedObject);
|
||||||
|
|
||||||
|
if (_lock)
|
||||||
|
_lock = false;
|
||||||
|
else
|
||||||
|
return;
|
||||||
|
|
||||||
|
object? context = Context ?? AssociatedObject?.DataContext;
|
||||||
|
|
||||||
|
Handler?.BeforeDragDrop(sender, _triggerEvent, context);
|
||||||
|
await DoDragDrop(_triggerEvent, context);
|
||||||
|
Handler?.AfterDragDrop(sender, _triggerEvent, context);
|
||||||
|
}
|
||||||
|
}
|
||||||
337
src/Avalonia/Artemis.UI/Behaviors/TreeItemDragBehavior.cs
Normal file
337
src/Avalonia/Artemis.UI/Behaviors/TreeItemDragBehavior.cs
Normal file
@ -0,0 +1,337 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using Avalonia;
|
||||||
|
using Avalonia.Controls;
|
||||||
|
using Avalonia.Controls.Generators;
|
||||||
|
using Avalonia.Controls.Primitives;
|
||||||
|
using Avalonia.Input;
|
||||||
|
using Avalonia.Interactivity;
|
||||||
|
using Avalonia.Layout;
|
||||||
|
using Avalonia.Media.Transformation;
|
||||||
|
using Avalonia.Xaml.Interactivity;
|
||||||
|
|
||||||
|
namespace Artemis.UI.Behaviors;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// </summary>
|
||||||
|
public class TreeItemDragBehavior : Behavior<IControl>
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// </summary>
|
||||||
|
public static readonly StyledProperty<Orientation> OrientationProperty =
|
||||||
|
AvaloniaProperty.Register<TreeItemDragBehavior, Orientation>(nameof(Orientation));
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// </summary>
|
||||||
|
public static readonly StyledProperty<double> HorizontalDragThresholdProperty =
|
||||||
|
AvaloniaProperty.Register<TreeItemDragBehavior, double>(nameof(HorizontalDragThreshold), 3);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// </summary>
|
||||||
|
public static readonly StyledProperty<double> VerticalDragThresholdProperty =
|
||||||
|
AvaloniaProperty.Register<TreeItemDragBehavior, double>(nameof(VerticalDragThreshold), 3);
|
||||||
|
|
||||||
|
private IControl? _draggedContainer;
|
||||||
|
private int _draggedIndex;
|
||||||
|
private bool _dragStarted;
|
||||||
|
private bool _enableDrag;
|
||||||
|
private ItemsControl? _itemsControl;
|
||||||
|
private Point _start;
|
||||||
|
private int _targetIndex;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// </summary>
|
||||||
|
public Orientation Orientation
|
||||||
|
{
|
||||||
|
get => GetValue(OrientationProperty);
|
||||||
|
set => SetValue(OrientationProperty, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// </summary>
|
||||||
|
public double HorizontalDragThreshold
|
||||||
|
{
|
||||||
|
get => GetValue(HorizontalDragThresholdProperty);
|
||||||
|
set => SetValue(HorizontalDragThresholdProperty, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// </summary>
|
||||||
|
public double VerticalDragThreshold
|
||||||
|
{
|
||||||
|
get => GetValue(VerticalDragThresholdProperty);
|
||||||
|
set => SetValue(VerticalDragThresholdProperty, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// </summary>
|
||||||
|
protected override void OnAttached()
|
||||||
|
{
|
||||||
|
base.OnAttached();
|
||||||
|
|
||||||
|
if (AssociatedObject is { })
|
||||||
|
{
|
||||||
|
AssociatedObject.AddHandler(InputElement.PointerReleasedEvent, Released, RoutingStrategies.Tunnel);
|
||||||
|
AssociatedObject.AddHandler(InputElement.PointerPressedEvent, Pressed, RoutingStrategies.Tunnel);
|
||||||
|
AssociatedObject.AddHandler(InputElement.PointerMovedEvent, Moved, RoutingStrategies.Tunnel);
|
||||||
|
AssociatedObject.AddHandler(InputElement.PointerCaptureLostEvent, CaptureLost, RoutingStrategies.Tunnel);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// </summary>
|
||||||
|
protected override void OnDetaching()
|
||||||
|
{
|
||||||
|
base.OnDetaching();
|
||||||
|
|
||||||
|
if (AssociatedObject is { })
|
||||||
|
{
|
||||||
|
AssociatedObject.RemoveHandler(InputElement.PointerReleasedEvent, Released);
|
||||||
|
AssociatedObject.RemoveHandler(InputElement.PointerPressedEvent, Pressed);
|
||||||
|
AssociatedObject.RemoveHandler(InputElement.PointerMovedEvent, Moved);
|
||||||
|
AssociatedObject.RemoveHandler(InputElement.PointerCaptureLostEvent, CaptureLost);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Pressed(object? sender, PointerPressedEventArgs e)
|
||||||
|
{
|
||||||
|
PointerPointProperties properties = e.GetCurrentPoint(AssociatedObject).Properties;
|
||||||
|
if (properties.IsLeftButtonPressed
|
||||||
|
&& AssociatedObject?.Parent is ItemsControl itemsControl)
|
||||||
|
{
|
||||||
|
_enableDrag = true;
|
||||||
|
_dragStarted = false;
|
||||||
|
_start = e.GetPosition(AssociatedObject.Parent);
|
||||||
|
_draggedIndex = -1;
|
||||||
|
_targetIndex = -1;
|
||||||
|
_itemsControl = itemsControl;
|
||||||
|
_draggedContainer = AssociatedObject;
|
||||||
|
|
||||||
|
if (_draggedContainer is { })
|
||||||
|
SetDraggingPseudoClasses(_draggedContainer, true);
|
||||||
|
|
||||||
|
AddTransforms(_itemsControl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Released(object? sender, PointerReleasedEventArgs e)
|
||||||
|
{
|
||||||
|
if (_dragStarted)
|
||||||
|
{
|
||||||
|
if (e.InitialPressMouseButton == MouseButton.Left)
|
||||||
|
Released();
|
||||||
|
|
||||||
|
e.Pointer.Capture(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CaptureLost(object? sender, PointerCaptureLostEventArgs e)
|
||||||
|
{
|
||||||
|
Released();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Released()
|
||||||
|
{
|
||||||
|
if (!_enableDrag)
|
||||||
|
return;
|
||||||
|
|
||||||
|
RemoveTransforms(_itemsControl);
|
||||||
|
|
||||||
|
if (_itemsControl is { })
|
||||||
|
foreach (ItemContainerInfo? container in _itemsControl.ItemContainerGenerator.Containers)
|
||||||
|
SetDraggingPseudoClasses(container.ContainerControl, true);
|
||||||
|
|
||||||
|
if (_dragStarted)
|
||||||
|
if (_draggedIndex >= 0 && _targetIndex >= 0 && _draggedIndex != _targetIndex)
|
||||||
|
MoveDraggedItem(_itemsControl, _draggedIndex, _targetIndex);
|
||||||
|
|
||||||
|
if (_itemsControl is { })
|
||||||
|
foreach (ItemContainerInfo? container in _itemsControl.ItemContainerGenerator.Containers)
|
||||||
|
SetDraggingPseudoClasses(container.ContainerControl, false);
|
||||||
|
|
||||||
|
if (_draggedContainer is { })
|
||||||
|
SetDraggingPseudoClasses(_draggedContainer, false);
|
||||||
|
|
||||||
|
_draggedIndex = -1;
|
||||||
|
_targetIndex = -1;
|
||||||
|
_enableDrag = false;
|
||||||
|
_dragStarted = false;
|
||||||
|
_itemsControl = null;
|
||||||
|
|
||||||
|
_draggedContainer = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AddTransforms(ItemsControl? itemsControl)
|
||||||
|
{
|
||||||
|
if (itemsControl?.Items is null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
foreach (object? _ in itemsControl.Items)
|
||||||
|
{
|
||||||
|
IControl? container = itemsControl.ItemContainerGenerator.ContainerFromIndex(i);
|
||||||
|
if (container is not null)
|
||||||
|
SetTranslateTransform(container, 0, 0);
|
||||||
|
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RemoveTransforms(ItemsControl? itemsControl)
|
||||||
|
{
|
||||||
|
if (itemsControl?.Items is null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
foreach (object? _ in itemsControl.Items)
|
||||||
|
{
|
||||||
|
IControl? container = itemsControl.ItemContainerGenerator.ContainerFromIndex(i);
|
||||||
|
if (container is not null)
|
||||||
|
SetTranslateTransform(container, 0, 0);
|
||||||
|
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void MoveDraggedItem(ItemsControl? itemsControl, int draggedIndex, int targetIndex)
|
||||||
|
{
|
||||||
|
if (itemsControl?.Items is not IList items)
|
||||||
|
return;
|
||||||
|
|
||||||
|
object? draggedItem = items[draggedIndex];
|
||||||
|
items.RemoveAt(draggedIndex);
|
||||||
|
items.Insert(targetIndex, draggedItem);
|
||||||
|
|
||||||
|
if (itemsControl is SelectingItemsControl selectingItemsControl)
|
||||||
|
selectingItemsControl.SelectedIndex = targetIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Moved(object? sender, PointerEventArgs e)
|
||||||
|
{
|
||||||
|
PointerPointProperties properties = e.GetCurrentPoint(AssociatedObject).Properties;
|
||||||
|
if (properties.IsLeftButtonPressed)
|
||||||
|
{
|
||||||
|
if (_itemsControl?.Items is null || _draggedContainer?.RenderTransform is null || !_enableDrag)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Orientation orientation = Orientation;
|
||||||
|
Point position = e.GetPosition(_itemsControl);
|
||||||
|
double delta = orientation == Orientation.Horizontal ? position.X - _start.X : position.Y - _start.Y;
|
||||||
|
|
||||||
|
if (!_dragStarted)
|
||||||
|
{
|
||||||
|
Point diff = _start - position;
|
||||||
|
double horizontalDragThreshold = HorizontalDragThreshold;
|
||||||
|
double verticalDragThreshold = VerticalDragThreshold;
|
||||||
|
|
||||||
|
if (orientation == Orientation.Horizontal)
|
||||||
|
{
|
||||||
|
if (Math.Abs(diff.X) > horizontalDragThreshold)
|
||||||
|
_dragStarted = true;
|
||||||
|
else
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (Math.Abs(diff.Y) > verticalDragThreshold)
|
||||||
|
_dragStarted = true;
|
||||||
|
else
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
e.Pointer.Capture(AssociatedObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (orientation == Orientation.Horizontal)
|
||||||
|
SetTranslateTransform(_draggedContainer, delta, 0);
|
||||||
|
else
|
||||||
|
SetTranslateTransform(_draggedContainer, 0, delta);
|
||||||
|
|
||||||
|
_draggedIndex = _itemsControl.ItemContainerGenerator.IndexFromContainer(_draggedContainer);
|
||||||
|
_targetIndex = -1;
|
||||||
|
|
||||||
|
Rect draggedBounds = _draggedContainer.Bounds;
|
||||||
|
|
||||||
|
double draggedStart = orientation == Orientation.Horizontal ? draggedBounds.X : draggedBounds.Y;
|
||||||
|
|
||||||
|
double draggedDeltaStart = orientation == Orientation.Horizontal
|
||||||
|
? draggedBounds.X + delta
|
||||||
|
: draggedBounds.Y + delta;
|
||||||
|
|
||||||
|
double draggedDeltaEnd = orientation == Orientation.Horizontal
|
||||||
|
? draggedBounds.X + delta + draggedBounds.Width
|
||||||
|
: draggedBounds.Y + delta + draggedBounds.Height;
|
||||||
|
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
foreach (object? _ in _itemsControl.Items)
|
||||||
|
{
|
||||||
|
IControl? targetContainer = _itemsControl.ItemContainerGenerator.ContainerFromIndex(i);
|
||||||
|
if (targetContainer?.RenderTransform is null || ReferenceEquals(targetContainer, _draggedContainer))
|
||||||
|
{
|
||||||
|
i++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If the target container has children, there are two options
|
||||||
|
// Move into the top of the container
|
||||||
|
// Insert before or after a child in the container
|
||||||
|
|
||||||
|
Rect targetBounds = targetContainer.Bounds;
|
||||||
|
double targetStart = orientation == Orientation.Horizontal ? targetBounds.X : targetBounds.Y;
|
||||||
|
|
||||||
|
double targetMid = orientation == Orientation.Horizontal
|
||||||
|
? targetBounds.X + targetBounds.Width / 2
|
||||||
|
: targetBounds.Y + targetBounds.Height / 2;
|
||||||
|
|
||||||
|
int targetIndex = _itemsControl.ItemContainerGenerator.IndexFromContainer(targetContainer);
|
||||||
|
|
||||||
|
if (targetStart > draggedStart && draggedDeltaEnd >= targetMid)
|
||||||
|
{
|
||||||
|
if (orientation == Orientation.Horizontal)
|
||||||
|
SetTranslateTransform(targetContainer, -draggedBounds.Width, 0);
|
||||||
|
else
|
||||||
|
SetTranslateTransform(targetContainer, 0, -draggedBounds.Height);
|
||||||
|
|
||||||
|
_targetIndex = _targetIndex == -1 ? targetIndex :
|
||||||
|
targetIndex > _targetIndex ? targetIndex : _targetIndex;
|
||||||
|
}
|
||||||
|
else if (targetStart < draggedStart && draggedDeltaStart <= targetMid)
|
||||||
|
{
|
||||||
|
if (orientation == Orientation.Horizontal)
|
||||||
|
SetTranslateTransform(targetContainer, draggedBounds.Width, 0);
|
||||||
|
else
|
||||||
|
SetTranslateTransform(targetContainer, 0, draggedBounds.Height);
|
||||||
|
|
||||||
|
_targetIndex = _targetIndex == -1 ? targetIndex :
|
||||||
|
targetIndex < _targetIndex ? targetIndex : _targetIndex;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (orientation == Orientation.Horizontal)
|
||||||
|
SetTranslateTransform(targetContainer, 0, 0);
|
||||||
|
else
|
||||||
|
SetTranslateTransform(targetContainer, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetDraggingPseudoClasses(IControl control, bool isDragging)
|
||||||
|
{
|
||||||
|
if (isDragging)
|
||||||
|
((IPseudoClasses) control.Classes).Add(":dragging");
|
||||||
|
else
|
||||||
|
((IPseudoClasses) control.Classes).Remove(":dragging");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetTranslateTransform(IControl control, double x, double y)
|
||||||
|
{
|
||||||
|
TransformOperations.Builder transformBuilder = new(1);
|
||||||
|
transformBuilder.AppendTranslate(x, y);
|
||||||
|
control.RenderTransform = transformBuilder.Build();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,183 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using System.Linq;
|
||||||
|
using Avalonia;
|
||||||
|
using Avalonia.Controls;
|
||||||
|
using Avalonia.Controls.Generators;
|
||||||
|
using Avalonia.Controls.Primitives;
|
||||||
|
using Avalonia.Controls.Shapes;
|
||||||
|
using Avalonia.Input;
|
||||||
|
using Avalonia.Interactivity;
|
||||||
|
using Avalonia.Media;
|
||||||
|
using Avalonia.VisualTree;
|
||||||
|
using Avalonia.Xaml.Interactions.DragAndDrop;
|
||||||
|
|
||||||
|
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Behaviors;
|
||||||
|
|
||||||
|
public class ProfileTreeViewDropHandler : DropHandlerBase
|
||||||
|
{
|
||||||
|
public override bool Validate(object? sender, DragEventArgs e, object? sourceContext, object? targetContext, object? state)
|
||||||
|
{
|
||||||
|
if (e.Source is IControl && sender is TreeView treeView)
|
||||||
|
return Validate<TreeItemViewModel>(treeView, e, sourceContext, targetContext, false);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool Execute(object? sender, DragEventArgs e, object? sourceContext, object? targetContext, object? state)
|
||||||
|
{
|
||||||
|
bool result = false;
|
||||||
|
if (e.Source is IControl && sender is TreeView treeView)
|
||||||
|
result = Validate<TreeItemViewModel>(treeView, e, sourceContext, targetContext, true);
|
||||||
|
|
||||||
|
if (sender is ItemsControl itemsControl)
|
||||||
|
{
|
||||||
|
foreach (TreeViewItem treeViewItem in GetFlattenedTreeView(itemsControl))
|
||||||
|
SetDraggingPseudoClasses(treeViewItem, TreeDropType.After, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Cancel(object? sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.Source is IControl control && control.FindAncestorOfType<TreeViewItem>() != null)
|
||||||
|
SetDraggingPseudoClasses(control.FindAncestorOfType<TreeViewItem>(), TreeDropType.After, false);
|
||||||
|
|
||||||
|
base.Cancel(sender, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool Validate<T>(TreeView treeView, DragEventArgs e, object? sourceContext, object? targetContext, bool bExecute) where T : TreeItemViewModel
|
||||||
|
{
|
||||||
|
Point position = e.GetPosition(treeView);
|
||||||
|
IVisual? targetVisual = treeView.GetVisualAt(position).FindAncestorOfType<TreeViewItem>();
|
||||||
|
if (sourceContext is not T sourceNode || targetContext is not ProfileTreeViewModel vm || targetVisual is not IControl {DataContext: T targetNode})
|
||||||
|
return false;
|
||||||
|
|
||||||
|
TreeItemViewModel? sourceParent = sourceNode.Parent;
|
||||||
|
TreeItemViewModel? targetParent = targetNode.Parent;
|
||||||
|
ObservableCollection<TreeItemViewModel> sourceNodes = sourceParent is { } ? sourceParent.Children : vm.Children;
|
||||||
|
ObservableCollection<TreeItemViewModel> targetNodes = targetParent is { } ? targetParent.Children : vm.Children;
|
||||||
|
|
||||||
|
int sourceIndex = sourceNodes.IndexOf(sourceNode);
|
||||||
|
int targetIndex = targetNodes.IndexOf(targetNode);
|
||||||
|
|
||||||
|
// Update the target index according to the position
|
||||||
|
TreeDropType dropType = TreeDropType.Before;
|
||||||
|
if (!targetNode.SupportsChildren)
|
||||||
|
{
|
||||||
|
if (position.Y > targetVisual.Bounds.Top + targetVisual.Bounds.Height / 2)
|
||||||
|
dropType = TreeDropType.After;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
IVisual? header = targetVisual.GetVisualDescendants().FirstOrDefault(d => d is Border b && b.Name == "PART_LayoutRoot");
|
||||||
|
if (header != null)
|
||||||
|
{
|
||||||
|
double segments = header.Bounds.Height / 3.0;
|
||||||
|
if (position.Y > targetVisual.Bounds.Top + segments * 2)
|
||||||
|
dropType = TreeDropType.After;
|
||||||
|
else if (position.Y > targetVisual.Bounds.Top + segments)
|
||||||
|
dropType = TreeDropType.Into;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dropType == TreeDropType.After)
|
||||||
|
targetIndex += 1;
|
||||||
|
else if (dropType == TreeDropType.Into)
|
||||||
|
targetIndex = 0;
|
||||||
|
|
||||||
|
TreeItemViewModel? currentParent = targetNode.Parent;
|
||||||
|
while (currentParent != null)
|
||||||
|
{
|
||||||
|
if (currentParent == sourceNode)
|
||||||
|
return false;
|
||||||
|
currentParent = currentParent.Parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sourceIndex < 0 || targetIndex < 0)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (e.DragEffects != DragDropEffects.Move)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (bExecute)
|
||||||
|
{
|
||||||
|
if (dropType == TreeDropType.Into)
|
||||||
|
{
|
||||||
|
targetNode.InsertElement(sourceNode, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (sourceParent == targetParent && sourceIndex < targetIndex)
|
||||||
|
targetIndex--;
|
||||||
|
if (targetNode.Parent != null)
|
||||||
|
targetNode.Parent.InsertElement(sourceNode, targetIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetDraggingPseudoClasses((IControl) targetVisual, dropType, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<TreeViewItem> GetFlattenedTreeView(ItemsControl currentNode)
|
||||||
|
{
|
||||||
|
List<TreeViewItem> result = new();
|
||||||
|
|
||||||
|
foreach (ItemContainerInfo containerInfo in currentNode.ItemContainerGenerator.Containers)
|
||||||
|
{
|
||||||
|
if (containerInfo.ContainerControl is TreeViewItem treeViewItem && containerInfo.Item is TreeItemViewModel viewModel)
|
||||||
|
{
|
||||||
|
result.Add(treeViewItem);
|
||||||
|
if (treeViewItem.ItemContainerGenerator.Containers.Any())
|
||||||
|
result.AddRange(GetFlattenedTreeView(treeViewItem));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetDraggingPseudoClasses(IControl control, TreeDropType type, bool isDragging)
|
||||||
|
{
|
||||||
|
if (isDragging)
|
||||||
|
{
|
||||||
|
((IPseudoClasses) control.Classes).Add(":dragging");
|
||||||
|
if (type == TreeDropType.Before)
|
||||||
|
{
|
||||||
|
((IPseudoClasses) control.Classes).Add(":dragging-before");
|
||||||
|
((IPseudoClasses) control.Classes).Remove(":dragging-after");
|
||||||
|
((IPseudoClasses) control.Classes).Remove(":dragging-into");
|
||||||
|
}
|
||||||
|
else if (type == TreeDropType.After)
|
||||||
|
{
|
||||||
|
((IPseudoClasses) control.Classes).Remove(":dragging-before");
|
||||||
|
((IPseudoClasses) control.Classes).Add(":dragging-after");
|
||||||
|
((IPseudoClasses) control.Classes).Remove(":dragging-into");
|
||||||
|
}
|
||||||
|
else if (type == TreeDropType.Into)
|
||||||
|
{
|
||||||
|
((IPseudoClasses) control.Classes).Remove(":dragging-before");
|
||||||
|
((IPseudoClasses) control.Classes).Remove(":dragging-after");
|
||||||
|
((IPseudoClasses) control.Classes).Add(":dragging-into");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
((IPseudoClasses) control.Classes).Remove(":dragging");
|
||||||
|
((IPseudoClasses) control.Classes).Remove(":dragging-before");
|
||||||
|
((IPseudoClasses) control.Classes).Remove(":dragging-after");
|
||||||
|
((IPseudoClasses) control.Classes).Remove(":dragging-into");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private enum TreeDropType
|
||||||
|
{
|
||||||
|
Before,
|
||||||
|
After,
|
||||||
|
Into
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -6,36 +6,35 @@ using Avalonia.Markup.Xaml;
|
|||||||
using Avalonia.ReactiveUI;
|
using Avalonia.ReactiveUI;
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree
|
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree;
|
||||||
|
|
||||||
|
public class FolderTreeItemView : ReactiveUserControl<FolderTreeItemViewModel>
|
||||||
{
|
{
|
||||||
public class FolderTreeItemView : ReactiveUserControl<FolderTreeItemViewModel>
|
public FolderTreeItemView()
|
||||||
{
|
{
|
||||||
public FolderTreeItemView()
|
InitializeComponent();
|
||||||
{
|
}
|
||||||
InitializeComponent();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
AvaloniaXamlLoader.Load(this);
|
||||||
|
this.WhenActivated(_ => ViewModel?.Rename.Subscribe(_ =>
|
||||||
{
|
{
|
||||||
AvaloniaXamlLoader.Load(this);
|
this.Get<TextBox>("Input").Focus();
|
||||||
this.WhenActivated(_ => ViewModel?.Rename.Subscribe(_ =>
|
this.Get<TextBox>("Input").SelectAll();
|
||||||
{
|
}));
|
||||||
this.Get<TextBox>("Input").Focus();
|
}
|
||||||
this.Get<TextBox>("Input").SelectAll();
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void InputElement_OnKeyUp(object? sender, KeyEventArgs e)
|
private void InputElement_OnKeyUp(object? sender, KeyEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.Key == Key.Enter)
|
if (e.Key == Key.Enter)
|
||||||
ViewModel?.SubmitRename();
|
ViewModel?.SubmitRename();
|
||||||
else if (e.Key == Key.Escape)
|
else if (e.Key == Key.Escape)
|
||||||
ViewModel?.CancelRename();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void InputElement_OnLostFocus(object? sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
ViewModel?.CancelRename();
|
ViewModel?.CancelRename();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void InputElement_OnLostFocus(object? sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
ViewModel?.CancelRename();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -17,5 +17,11 @@ namespace Artemis.UI.Screens.ProfileEditor.ProfileTree
|
|||||||
public Folder Folder { get; }
|
public Folder Folder { get; }
|
||||||
|
|
||||||
|
|
||||||
|
#region Overrides of TreeItemViewModel
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public override bool SupportsChildren => true;
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -6,36 +6,35 @@ using Avalonia.Markup.Xaml;
|
|||||||
using Avalonia.ReactiveUI;
|
using Avalonia.ReactiveUI;
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree
|
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree;
|
||||||
|
|
||||||
|
public class LayerTreeItemView : ReactiveUserControl<LayerTreeItemViewModel>
|
||||||
{
|
{
|
||||||
public class LayerTreeItemView : ReactiveUserControl<LayerTreeItemViewModel>
|
public LayerTreeItemView()
|
||||||
{
|
{
|
||||||
public LayerTreeItemView()
|
InitializeComponent();
|
||||||
{
|
}
|
||||||
InitializeComponent();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
AvaloniaXamlLoader.Load(this);
|
||||||
|
this.WhenActivated(_ => ViewModel?.Rename.Subscribe(_ =>
|
||||||
{
|
{
|
||||||
AvaloniaXamlLoader.Load(this);
|
this.Get<TextBox>("Input").Focus();
|
||||||
this.WhenActivated(_ => ViewModel?.Rename.Subscribe(_ =>
|
this.Get<TextBox>("Input").SelectAll();
|
||||||
{
|
}));
|
||||||
this.Get<TextBox>("Input").Focus();
|
}
|
||||||
this.Get<TextBox>("Input").SelectAll();
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void InputElement_OnKeyUp(object? sender, KeyEventArgs e)
|
private void InputElement_OnKeyUp(object? sender, KeyEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.Key == Key.Enter)
|
if (e.Key == Key.Enter)
|
||||||
ViewModel?.SubmitRename();
|
ViewModel?.SubmitRename();
|
||||||
else if (e.Key == Key.Escape)
|
else if (e.Key == Key.Escape)
|
||||||
ViewModel?.CancelRename();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void InputElement_OnLostFocus(object? sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
ViewModel?.CancelRename();
|
ViewModel?.CancelRename();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void InputElement_OnLostFocus(object? sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
ViewModel?.CancelRename();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -15,5 +15,12 @@ namespace Artemis.UI.Screens.ProfileEditor.ProfileTree
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Layer Layer { get; }
|
public Layer Layer { get; }
|
||||||
|
|
||||||
|
#region Overrides of TreeItemViewModel
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public override bool SupportsChildren => false;
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4,11 +4,49 @@
|
|||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||||
xmlns:profileTree="clr-namespace:Artemis.UI.Screens.ProfileEditor.ProfileTree"
|
xmlns:profileTree="clr-namespace:Artemis.UI.Screens.ProfileEditor.ProfileTree"
|
||||||
|
xmlns:profileBehaviors="clr-namespace:Artemis.UI.Screens.ProfileEditor.ProfileTree.Behaviors"
|
||||||
|
xmlns:behaviors="clr-namespace:Artemis.UI.Behaviors"
|
||||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||||
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.ProfileTreeView"
|
x:Class="Artemis.UI.Screens.ProfileEditor.ProfileTree.ProfileTreeView"
|
||||||
x:DataType="profileTree:ProfileTreeViewModel">
|
x:DataType="profileTree:ProfileTreeViewModel">
|
||||||
|
<UserControl.Styles>
|
||||||
|
<StyleInclude Source="avares://Avalonia.Xaml.Interactions/Draggable/Styles.axaml" />
|
||||||
|
<Style Selector="TreeView#ProfileTreeView">
|
||||||
|
<Style.Resources>
|
||||||
|
<profileBehaviors:ProfileTreeViewDropHandler x:Key="ProfileTreeViewDropHandler" />
|
||||||
|
</Style.Resources>
|
||||||
|
<Setter Property="(Interaction.Behaviors)">
|
||||||
|
<BehaviorCollectionTemplate>
|
||||||
|
<BehaviorCollection>
|
||||||
|
<ContextDropBehavior Handler="{StaticResource ProfileTreeViewDropHandler}" />
|
||||||
|
</BehaviorCollection>
|
||||||
|
</BehaviorCollectionTemplate>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
<Style Selector="TreeView#ProfileTreeView TreeViewItem">
|
||||||
|
<Setter Property="IsExpanded" Value="True" />
|
||||||
|
<Setter Property="(Interaction.Behaviors)">
|
||||||
|
<BehaviorCollectionTemplate>
|
||||||
|
<BehaviorCollection>
|
||||||
|
<behaviors:SimpleContextDragBehavior />
|
||||||
|
</BehaviorCollection>
|
||||||
|
</BehaviorCollectionTemplate>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
<Style Selector="TreeView#ProfileTreeView TreeViewItem:dragging-before">
|
||||||
|
<Setter Property="Background" Value="DarkOrange" />
|
||||||
|
</Style>
|
||||||
|
<Style Selector="TreeView#ProfileTreeView TreeViewItem:dragging-into">
|
||||||
|
<Setter Property="Background" Value="Blue" />
|
||||||
|
</Style>
|
||||||
|
<Style Selector="TreeView#ProfileTreeView TreeViewItem:dragging-after">
|
||||||
|
<Setter Property="Background" Value="Green" />
|
||||||
|
</Style>
|
||||||
|
</UserControl.Styles>
|
||||||
<Grid RowDefinitions="*,Auto">
|
<Grid RowDefinitions="*,Auto">
|
||||||
<TreeView Name="ProfileTreeView" Classes="no-right-margin" Items="{CompiledBinding Children}" SelectedItem="{CompiledBinding SelectedChild}" SelectionChanged="ProfileTreeView_OnSelectionChanged">
|
<TreeView Name="ProfileTreeView" Classes="no-right-margin draggable" Items="{CompiledBinding Children}" SelectedItem="{CompiledBinding SelectedChild}" SelectionChanged="ProfileTreeView_OnSelectionChanged">
|
||||||
<TreeView.Styles>
|
<TreeView.Styles>
|
||||||
<Style Selector="TreeViewItem">
|
<Style Selector="TreeViewItem">
|
||||||
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
|
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
|
||||||
|
|||||||
@ -1,28 +1,128 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using Avalonia;
|
||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
|
using Avalonia.Controls.Primitives;
|
||||||
|
using Avalonia.Input;
|
||||||
|
using Avalonia.Interactivity;
|
||||||
|
using Avalonia.Layout;
|
||||||
|
using Avalonia.LogicalTree;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
|
using Avalonia.Media;
|
||||||
|
using Avalonia.Media.Imaging;
|
||||||
using Avalonia.ReactiveUI;
|
using Avalonia.ReactiveUI;
|
||||||
|
using Avalonia.VisualTree;
|
||||||
|
|
||||||
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree
|
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree;
|
||||||
|
|
||||||
|
public class ProfileTreeView : ReactiveUserControl<ProfileTreeViewModel>
|
||||||
{
|
{
|
||||||
public class ProfileTreeView : ReactiveUserControl<ProfileTreeViewModel>
|
private TreeView _treeView;
|
||||||
|
private Image? _dragAdorner;
|
||||||
|
private Point _dragStartPosition;
|
||||||
|
private Point _elementDragOffset;
|
||||||
|
|
||||||
|
public ProfileTreeView()
|
||||||
{
|
{
|
||||||
private TreeView _treeView;
|
InitializeComponent();
|
||||||
|
AddHandler(DragDrop.DragEnterEvent, HandleDragEnterEvent, RoutingStrategies.Direct | RoutingStrategies.Tunnel | RoutingStrategies.Bubble, true);
|
||||||
|
AddHandler(DragDrop.DragOverEvent, HandleDragOver, RoutingStrategies.Direct | RoutingStrategies.Tunnel | RoutingStrategies.Bubble, true);
|
||||||
|
AddHandler(PointerEnterEvent, HandlePointerEnter, RoutingStrategies.Direct | RoutingStrategies.Tunnel | RoutingStrategies.Bubble, true);
|
||||||
|
}
|
||||||
|
|
||||||
public ProfileTreeView()
|
private void HandlePointerEnter(object? sender, PointerEventArgs e)
|
||||||
|
{
|
||||||
|
DisposeDragAdorner();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HandleDragEnterEvent(object? sender, DragEventArgs e)
|
||||||
|
{
|
||||||
|
CreateDragAdorner(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CreateDragAdorner(DragEventArgs e)
|
||||||
|
{
|
||||||
|
if (_dragAdorner != null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (e.Source is not Control c)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Get the tree view item that raised the event
|
||||||
|
TreeViewItem? container = c.FindLogicalAncestorOfType<TreeViewItem>();
|
||||||
|
if (container == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Take a snapshot of said tree view item and add it as an adorner
|
||||||
|
ITransform? originalTransform = container.RenderTransform;
|
||||||
|
try
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
_dragStartPosition = e.GetPosition(this.FindAncestorOfType<Window>());
|
||||||
|
_elementDragOffset = e.GetPosition(container);
|
||||||
|
|
||||||
|
RenderTargetBitmap renderTarget = new(new PixelSize((int) container.Bounds.Width, (int) container.Bounds.Height));
|
||||||
|
container.RenderTransform = new TranslateTransform(container.Bounds.X * -1, container.Bounds.Y * -1);
|
||||||
|
renderTarget.Render(container);
|
||||||
|
_dragAdorner = new Image
|
||||||
|
{
|
||||||
|
Source = renderTarget,
|
||||||
|
VerticalAlignment = VerticalAlignment.Top,
|
||||||
|
HorizontalAlignment = HorizontalAlignment.Left,
|
||||||
|
Stretch = Stretch.None,
|
||||||
|
IsHitTestVisible = false
|
||||||
|
};
|
||||||
|
AdornerLayer.GetAdornerLayer(this)!.Children.Add(_dragAdorner);
|
||||||
}
|
}
|
||||||
|
finally
|
||||||
private void InitializeComponent()
|
|
||||||
{
|
{
|
||||||
AvaloniaXamlLoader.Load(this);
|
container.RenderTransform = originalTransform;
|
||||||
_treeView = this.Get<TreeView>("ProfileTreeView");
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ProfileTreeView_OnSelectionChanged(object? sender, SelectionChangedEventArgs e)
|
|
||||||
{
|
|
||||||
_treeView.Focus();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void HandleDragOver(object? sender, DragEventArgs e)
|
||||||
|
{
|
||||||
|
UpdateDragAdorner(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HandleLeaveEvent(object? sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
// If there is currently an adorner, dispose of it
|
||||||
|
DisposeDragAdorner();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HandleDrop(object? sender, DragEventArgs e)
|
||||||
|
{
|
||||||
|
// If there is currently an adorner, dispose of it
|
||||||
|
DisposeDragAdorner();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DisposeDragAdorner()
|
||||||
|
{
|
||||||
|
if (_dragAdorner == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
AdornerLayer.GetAdornerLayer(this)!.Children.Remove(_dragAdorner);
|
||||||
|
(_dragAdorner.Source as RenderTargetBitmap)?.Dispose();
|
||||||
|
_dragAdorner = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateDragAdorner(DragEventArgs e)
|
||||||
|
{
|
||||||
|
if (_dragAdorner == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Point position = e.GetPosition(this.FindAncestorOfType<Window>());
|
||||||
|
_dragAdorner.RenderTransform = new TranslateTransform(_dragStartPosition.X - _elementDragOffset.X, position.Y - _elementDragOffset.Y);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
AvaloniaXamlLoader.Load(this);
|
||||||
|
_treeView = this.Get<TreeView>("ProfileTreeView");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ProfileTreeView_OnSelectionChanged(object? sender, SelectionChangedEventArgs e)
|
||||||
|
{
|
||||||
|
_treeView.Focus();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -89,5 +89,7 @@ namespace Artemis.UI.Screens.ProfileEditor.ProfileTree
|
|||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override bool SupportsChildren => true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -8,6 +8,7 @@ using System.Reactive.Linq;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Artemis.Core;
|
using Artemis.Core;
|
||||||
using Artemis.Core.Services;
|
using Artemis.Core.Services;
|
||||||
|
using Artemis.UI.Exceptions;
|
||||||
using Artemis.UI.Ninject.Factories;
|
using Artemis.UI.Ninject.Factories;
|
||||||
using Artemis.UI.Shared;
|
using Artemis.UI.Shared;
|
||||||
using Artemis.UI.Shared.Services.Interfaces;
|
using Artemis.UI.Shared.Services.Interfaces;
|
||||||
@ -114,6 +115,7 @@ namespace Artemis.UI.Screens.ProfileEditor.ProfileTree
|
|||||||
public ReactiveCommand<Unit, Unit> Copy { get; }
|
public ReactiveCommand<Unit, Unit> Copy { get; }
|
||||||
public ReactiveCommand<Unit, Unit> Paste { get; }
|
public ReactiveCommand<Unit, Unit> Paste { get; }
|
||||||
public ReactiveCommand<Unit, Unit> Delete { get; }
|
public ReactiveCommand<Unit, Unit> Delete { get; }
|
||||||
|
public abstract bool SupportsChildren { get; }
|
||||||
|
|
||||||
public string? RenameValue
|
public string? RenameValue
|
||||||
{
|
{
|
||||||
@ -154,6 +156,15 @@ namespace Artemis.UI.Screens.ProfileEditor.ProfileTree
|
|||||||
Renaming = false;
|
Renaming = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void InsertElement(TreeItemViewModel elementViewModel, int targetIndex)
|
||||||
|
{
|
||||||
|
if (elementViewModel.Parent == this && Children.IndexOf(elementViewModel) == targetIndex)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (ProfileElement != null && elementViewModel.ProfileElement != null)
|
||||||
|
_profileEditorService.ExecuteCommand(new MoveProfileElement(ProfileElement, elementViewModel.ProfileElement, targetIndex));
|
||||||
|
}
|
||||||
|
|
||||||
protected void SubscribeToProfileElement(CompositeDisposable d)
|
protected void SubscribeToProfileElement(CompositeDisposable d)
|
||||||
{
|
{
|
||||||
if (ProfileElement == null)
|
if (ProfileElement == null)
|
||||||
@ -180,9 +191,10 @@ namespace Artemis.UI.Screens.ProfileEditor.ProfileTree
|
|||||||
if (parent != null)
|
if (parent != null)
|
||||||
{
|
{
|
||||||
newSelection = parent.Children.FirstOrDefault(c => c.Order == profileElement.Order) ?? parent.Children.FirstOrDefault(c => c.Order == profileElement.Order - 1);
|
newSelection = parent.Children.FirstOrDefault(c => c.Order == profileElement.Order) ?? parent.Children.FirstOrDefault(c => c.Order == profileElement.Order - 1);
|
||||||
if (newSelection == null && parent is Folder { IsRootFolder: false })
|
if (newSelection == null && parent is Folder {IsRootFolder: false})
|
||||||
newSelection = parent;
|
newSelection = parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
_profileEditorService.ChangeCurrentProfileElement(newSelection as RenderProfileElement);
|
_profileEditorService.ChangeCurrentProfileElement(newSelection as RenderProfileElement);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,4 +230,6 @@ namespace Artemis.UI.Screens.ProfileEditor.ProfileTree
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -8,6 +8,7 @@
|
|||||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||||
x:Class="Artemis.UI.Screens.Sidebar.SidebarCategoryView">
|
x:Class="Artemis.UI.Screens.Sidebar.SidebarCategoryView">
|
||||||
<UserControl.Styles>
|
<UserControl.Styles>
|
||||||
|
<StyleInclude Source="avares://Avalonia.Xaml.Interactions/Draggable/Styles.axaml" />
|
||||||
<Style Selector=":is(Button).category-button">
|
<Style Selector=":is(Button).category-button">
|
||||||
<Setter Property="IsVisible" Value="False" />
|
<Setter Property="IsVisible" Value="False" />
|
||||||
</Style>
|
</Style>
|
||||||
@ -111,7 +112,7 @@
|
|||||||
</Border>
|
</Border>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
</Border.Resources>
|
</Border.Resources>
|
||||||
<ListBox Classes="sidebar-listbox"
|
<ListBox Classes="sidebar-listbox draggable"
|
||||||
Items="{Binding ProfileConfigurations}"
|
Items="{Binding ProfileConfigurations}"
|
||||||
SelectedItem="{Binding SelectedProfileConfiguration}"
|
SelectedItem="{Binding SelectedProfileConfiguration}"
|
||||||
MinHeight="10"
|
MinHeight="10"
|
||||||
|
|||||||
@ -4,11 +4,11 @@
|
|||||||
"net6.0": {
|
"net6.0": {
|
||||||
"Avalonia": {
|
"Avalonia": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.12, )",
|
"requested": "[0.10.13, )",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "ftI5uGBFvWJpizGc6PT6lOb6FiO8AWcSYS9N4FWvXgOvuqWuTgmjwURPUkvajpeaQLKOOea6AbgotSyhV8NNoQ==",
|
"contentHash": "7st8nMai1C1nqw1a2H+zXiVYTnnfFwZz7JGziEzJK4sF6+x/W77XkdcDgDHyihcK3clQZJexYr4f+PzK4BJhSQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia.Remote.Protocol": "0.10.12",
|
"Avalonia.Remote.Protocol": "0.10.13",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.ComponentModel.Annotations": "4.5.0",
|
"System.ComponentModel.Annotations": "4.5.0",
|
||||||
"System.Memory": "4.5.3",
|
"System.Memory": "4.5.3",
|
||||||
@ -28,36 +28,36 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Desktop": {
|
"Avalonia.Desktop": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.12, )",
|
"requested": "[0.10.13, )",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "wy4k1uarrmZJSJENCe1hjNpdCJWhup0gt6KA2TtZILfGG7imj+an5IuQZUSXtA7cl7A+6tF6lPQLo82gESUlXQ==",
|
"contentHash": "v+siRNQYvSZR9lt/bBgb81t6LGbSC7pUo+APgPmKYGLeYcMij1O6CWk7tCh9hihMxNHYw/PEB06r8ZBQIg9YPg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Native": "0.10.12",
|
"Avalonia.Native": "0.10.13",
|
||||||
"Avalonia.Skia": "0.10.12",
|
"Avalonia.Skia": "0.10.13",
|
||||||
"Avalonia.Win32": "0.10.12",
|
"Avalonia.Win32": "0.10.13",
|
||||||
"Avalonia.X11": "0.10.12"
|
"Avalonia.X11": "0.10.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Diagnostics": {
|
"Avalonia.Diagnostics": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.12, )",
|
"requested": "[0.10.13, )",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "Pf9DGiSwl3+gPrRSHKFzDG20I9QJ5P1g6BexLKfHQH9+Cmax+a/UEVYQq4hGn0xhrmpuLYOeGHb8wasjAT4EfQ==",
|
"contentHash": "stIGj0Rv/p/Re0GqlXCc061paifG6wT0YvrTUV/fQloNctW8Y4sf1xZNzr9dxdSz6+LG2AZjdZcSUhUGOCe6Zg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Controls.DataGrid": "0.10.12",
|
"Avalonia.Controls.DataGrid": "0.10.13",
|
||||||
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.ReactiveUI": {
|
"Avalonia.ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.12, )",
|
"requested": "[0.10.13, )",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "dOszpMtBKEACAFWtjwNibXMF2SBolJ3cV8ffDEOy2uuwjKBJqbSmHH+WSnui9KfbSF2igVpam4TqO6drJuEvjw==",
|
"contentHash": "s5UUJ/MG97Jv9i+kxlgNSKx8Q6uJkgYMJ/LdOR3VM+7T32IRyhuxrNNCYygqk6avuJ4QqvMLU02T6v3GhI7WWA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"ReactiveUI": "13.2.10",
|
"ReactiveUI": "13.2.10",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
@ -74,24 +74,54 @@
|
|||||||
"Svg.Skia": "0.5.12"
|
"Svg.Skia": "0.5.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"Avalonia.Xaml.Behaviors": {
|
||||||
|
"type": "Direct",
|
||||||
|
"requested": "[0.10.12.2, )",
|
||||||
|
"resolved": "0.10.12.2",
|
||||||
|
"contentHash": "EqfzwstvqQcWnTJnaBvezxKwBSddozXpkFi5WrzVe976zedE+A1NruFgnC19aG7Vvy0mTQdlWFTtbAInv6IQyg==",
|
||||||
|
"dependencies": {
|
||||||
|
"Avalonia": "0.10.12",
|
||||||
|
"Avalonia.Xaml.Interactions": "0.10.12.2",
|
||||||
|
"Avalonia.Xaml.Interactivity": "0.10.12.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Avalonia.Xaml.Interactions": {
|
||||||
|
"type": "Direct",
|
||||||
|
"requested": "[0.10.12.2, )",
|
||||||
|
"resolved": "0.10.12.2",
|
||||||
|
"contentHash": "01NGXHMbvpg1JcZ4tFAZXD6i55vHIQnJl3+HFi7RSP1jevkjkSaVM8qjwLsTSfREsJ2OoiWxx2LcyUQJvO5Kjw==",
|
||||||
|
"dependencies": {
|
||||||
|
"Avalonia": "0.10.12",
|
||||||
|
"Avalonia.Xaml.Interactivity": "0.10.12.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Avalonia.Xaml.Interactivity": {
|
||||||
|
"type": "Direct",
|
||||||
|
"requested": "[0.10.12.2, )",
|
||||||
|
"resolved": "0.10.12.2",
|
||||||
|
"contentHash": "AGAbT1I6XW1+9tweLHDMGX8+SijE111vNNIQy2gI3bpbLfPYTirLPyK0do2s9V6l7hHfQnNmiX2NA6JHC4WG4Q==",
|
||||||
|
"dependencies": {
|
||||||
|
"Avalonia": "0.10.12"
|
||||||
|
}
|
||||||
|
},
|
||||||
"DynamicData": {
|
"DynamicData": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[7.4.9, )",
|
"requested": "[7.5.4, )",
|
||||||
"resolved": "7.4.9",
|
"resolved": "7.5.4",
|
||||||
"contentHash": "bzw9n1WgfflkhsScIaC7tzPlKFTJkfWVTOg2pjJjqzVqxF63ztaJ7HH306Iyx6bs+pC77fQbtE53UoPTpt+8dQ==",
|
"contentHash": "1OpHPoyQGzHREiP6JXnPaBBx4KWVQZW7zBAZpKXc9kl4rcbEK4fo2/T3bDXZbHWKhDqVAISW9pE4Ug9+ms3RoA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"FluentAvaloniaUI": {
|
"FluentAvaloniaUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[1.2.1, )",
|
"requested": "[1.3.0, )",
|
||||||
"resolved": "1.2.1",
|
"resolved": "1.3.0",
|
||||||
"contentHash": "IH9eei7CrOUkUdxL2E/HZYKFgNupSVO+ju74CnVqmV7u7iolyz3g1cTHELqVgatEb+IqXw7KyeLr2459nUxYSw==",
|
"contentHash": "xzcsuOswakMpz/EdA59NEOgaCtZ/9zsd5QWTB0YYQqSv1GF95Uk2aMVtO5gtfNrCT4lZvGNWVf3HGjYz9cHovQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Desktop": "0.10.12",
|
"Avalonia.Desktop": "0.10.13",
|
||||||
"Avalonia.Diagnostics": "0.10.12",
|
"Avalonia.Diagnostics": "0.10.13",
|
||||||
"MicroCom.CodeGenerator.MSBuild": "0.10.4",
|
"MicroCom.CodeGenerator.MSBuild": "0.10.4",
|
||||||
"MicroCom.Runtime": "0.10.4"
|
"MicroCom.Runtime": "0.10.4"
|
||||||
}
|
}
|
||||||
@ -128,12 +158,12 @@
|
|||||||
},
|
},
|
||||||
"ReactiveUI": {
|
"ReactiveUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[17.1.17, )",
|
"requested": "[17.1.50, )",
|
||||||
"resolved": "17.1.17",
|
"resolved": "17.1.50",
|
||||||
"contentHash": "0DLq44k4CVvfXcWHE4uigQa/wySOzxOTnWg50j2qZDpWzl9OP7QfIDJo39X3ffEjaVcCUFcbF9xAmm7fRX/q2g==",
|
"contentHash": "UofZH1WMwWNLvFkK2SH+gsYTkUmhFFJO0Pix9YG2RzdHQ92mRFCzHzPO1abeU8/cxzyc9hJHX7sBChzUj53Ulg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"DynamicData": "7.4.9",
|
"DynamicData": "7.5.2",
|
||||||
"Splat": "14.1.17"
|
"Splat": "14.1.45"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ReactiveUI.Validation": {
|
"ReactiveUI.Validation": {
|
||||||
@ -173,12 +203,12 @@
|
|||||||
},
|
},
|
||||||
"Splat.Ninject": {
|
"Splat.Ninject": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[14.1.17, )",
|
"requested": "[14.1.45, )",
|
||||||
"resolved": "14.1.17",
|
"resolved": "14.1.45",
|
||||||
"contentHash": "HPekZ89SfxHEX9NK+//w5JLBJmI8KLnUfh5yR/OVGTGRBSZVhHarAKgj/Ih3xJsqyl5L7l719C9RFo3qZBKn1A==",
|
"contentHash": "aU851Yb7i4kLzzrpo3KxFZg/U0vd36ORza9nk51pvL/QE+Jkm3ROqoPMf+BPfugEub2J1hHDEuLKJtxU7TAt0w==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Ninject": "3.3.4",
|
"Ninject": "3.3.4",
|
||||||
"Splat": "14.1.17"
|
"Splat": "14.1.45"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Angle.Windows.Natives": {
|
"Avalonia.Angle.Windows.Natives": {
|
||||||
@ -188,43 +218,43 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Controls.DataGrid": {
|
"Avalonia.Controls.DataGrid": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "i3zM3P8PUY4FNhATZoFWkto3H66FcIrnJNMyOsl1fN0FPS6meysAwCKQwuou/oapyzZEODeAmCVdqB0AgjNHVw==",
|
"contentHash": "51xcaYtJN41vX/4xUu8rNyoISTO4bdswpfZmTPjeBTdofrhZ6mzOqbxVk6tqT4gt88MPihbaPil4jsD4X4Aixw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Remote.Protocol": "0.10.12",
|
"Avalonia.Remote.Protocol": "0.10.13",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.FreeDesktop": {
|
"Avalonia.FreeDesktop": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "j42uWCWkAfZchYPrdRccr4mjB0kppSby3TEMCuNrp9GcQi+JhEPEbBAohU7FpR4bkv5FF2KAlDX5WiG2T+04kg==",
|
"contentHash": "/bKzscse/kY4RNMFk8r/jqLY/kS0fSkwp4TpqEF4UJeI8sHUvwe4yecnzNb1qDP9tCX4S6ML38LklAIqAk8gIQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Tmds.DBus": "0.9.0"
|
"Tmds.DBus": "0.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Native": {
|
"Avalonia.Native": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "JnZc0zF7DcLcSX+SdnKQGzFa9mcKxawhTN8S3aiN8Eh3MZAKxa45LRrHFVTcHcy2jU4kOw+yPfONUmHpRcC0gw==",
|
"contentHash": "pq3WiiOyFyhJHnYdxP/fOlcG9DfqhJ0W5CCfPX48QyOdODbPgMF5LY6BU+McDpeAJTwQ4LqVfznHZoCeHH12gg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12"
|
"Avalonia": "0.10.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Remote.Protocol": {
|
"Avalonia.Remote.Protocol": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "ArrxniR8iShzMvXCS3vt5FXg9Fv3qK1UKzJwsSsY9iCuC8wKo2eevRj42qOhMCS98POTH5v8aUZBeoLlENa0vA=="
|
"contentHash": "hnklCHyLCMrzWjMc3T0mYkRKdfUqpw2qCkf9HBRzyqnI6uG5tLw2QIlRF9zYC4BGOpx/B/647IcIjgq6H1ypzQ=="
|
||||||
},
|
},
|
||||||
"Avalonia.Skia": {
|
"Avalonia.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "3TGo8RLHaLqmU3chlyAqLkpw6vImfDMC30T18abpeYf1PIsNckRB+UFp12GDil9t/J9YB17zn4H6N+2plF4gZA==",
|
"contentHash": "aG0JlUhCpwGM/QsN/+rRak7XlPy0Jtd5HaiCdYKtuBOc+ISGs6hmCJDKjklNANp9gZR/TUUgXkqk5VFMQUJkTA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"HarfBuzzSharp": "2.8.2-preview.178",
|
"HarfBuzzSharp": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.Linux": "2.8.2-preview.178",
|
||||||
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
"HarfBuzzSharp.NativeAssets.WebAssembly": "2.8.2-preview.178",
|
||||||
@ -235,10 +265,10 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Win32": {
|
"Avalonia.Win32": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "CnC65T8ScMK23BB+qJuiMicWQ5QIEiinnRzPqvAGUGyQbjIGpA5uOCKwzsOjUmzkhGqt31iDR0/Y3ZFbi5Mjog==",
|
"contentHash": "CNUGWafAonBYYbHMliujDrs4JH2giH435GxU+O1q/nGyO5Mm+PXCG4NYsg+0zwp8yQBapFK7eYwzamU+re+cDw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
||||||
"System.Drawing.Common": "4.5.0",
|
"System.Drawing.Common": "4.5.0",
|
||||||
"System.Numerics.Vectors": "4.5.0"
|
"System.Numerics.Vectors": "4.5.0"
|
||||||
@ -246,39 +276,12 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.X11": {
|
"Avalonia.X11": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.12",
|
"resolved": "0.10.13",
|
||||||
"contentHash": "mUY1cF1p86/UgLl1cbSmY3nVIatKQsSCDOH4avssL07xmKlRfB2G7Gi8jlhWNkLJTLL7iQp/u3X6bv7bs+0zNQ==",
|
"contentHash": "kXxn79KVB0ZfeZqQL7c2Dlvl96GBlRT8rzAh6g/j0hcgykQ55/e0be8Te6+Ny7hI+tFrob6lxvYdxYVUUCjHYg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.FreeDesktop": "0.10.12",
|
"Avalonia.FreeDesktop": "0.10.13",
|
||||||
"Avalonia.Skia": "0.10.12"
|
"Avalonia.Skia": "0.10.13"
|
||||||
}
|
|
||||||
},
|
|
||||||
"Avalonia.Xaml.Behaviors": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "0.10.12",
|
|
||||||
"contentHash": "upv7v1gZ31tCukw/KA1bB5+z29QuEWiZJ4KnW10daHlia1ru7q4lUJ/vCYKOy5L+zyi1MQg98SNYjRp5C64ZhQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"Avalonia": "0.10.12",
|
|
||||||
"Avalonia.Xaml.Interactions": "0.10.12",
|
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.12"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Avalonia.Xaml.Interactions": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "0.10.12",
|
|
||||||
"contentHash": "PSohbY4aQGiJVWfvLKkuUE71ZxvZ0/FuTc3Y5GJgTC41kCgeaiJTczkC2FjW5sZ8exPDabSp+ZukSsnm/z6y7A==",
|
|
||||||
"dependencies": {
|
|
||||||
"Avalonia": "0.10.12",
|
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.12"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Avalonia.Xaml.Interactivity": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "0.10.12",
|
|
||||||
"contentHash": "uey4LjyIds78igMe7AZ072RI6GpO16sd6+6XF6LG0oE07De7ei0So14oOs4wLS4WJyaKDRSUK6PuhLaY1zIZdQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"Avalonia": "0.10.12"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Castle.Core": {
|
"Castle.Core": {
|
||||||
@ -718,8 +721,8 @@
|
|||||||
},
|
},
|
||||||
"Serilog.Sinks.Console": {
|
"Serilog.Sinks.Console": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "4.0.0",
|
"resolved": "4.0.1",
|
||||||
"contentHash": "yJQit9sTJ4xGLKgCujqDJsaGqBNJwGB/H898z+xYlMG06twy4//6LLnSrsmpduZxcHIG4im7cv+JmXLzXz2EkQ==",
|
"contentHash": "apLOvSJQLlIbKlbx+Y2UDHSP05kJsV7mou+fvJoRGs/iR+jC22r8cuFVMjjfVxz/AD4B2UCltFhE1naRLXwKNw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Serilog": "2.10.0"
|
"Serilog": "2.10.0"
|
||||||
}
|
}
|
||||||
@ -779,8 +782,8 @@
|
|||||||
},
|
},
|
||||||
"Splat": {
|
"Splat": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "14.1.17",
|
"resolved": "14.1.45",
|
||||||
"contentHash": "orBlJcQS4b1VZUlT+sJIensH0MsTYyCJlStT6bRwt71OFqNYD6V1SpkoIt6vKSf8YXgDT7QH/LuwWdLfTyHPrw=="
|
"contentHash": "ayHdfTUklD5ci0s9m4uYMccjtkKVjZ9fVPT5q3PN+SnvyD6bjQVRozOfUHwdwh4LAz9ETZjR/tAgrm+IapXKrw=="
|
||||||
},
|
},
|
||||||
"Svg.Custom": {
|
"Svg.Custom": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -1747,7 +1750,7 @@
|
|||||||
"RGB.NET.Layout": "1.0.0-prerelease7",
|
"RGB.NET.Layout": "1.0.0-prerelease7",
|
||||||
"RGB.NET.Presets": "1.0.0-prerelease7",
|
"RGB.NET.Presets": "1.0.0-prerelease7",
|
||||||
"Serilog": "2.10.0",
|
"Serilog": "2.10.0",
|
||||||
"Serilog.Sinks.Console": "4.0.0",
|
"Serilog.Sinks.Console": "4.0.1",
|
||||||
"Serilog.Sinks.Debug": "2.0.0",
|
"Serilog.Sinks.Debug": "2.0.0",
|
||||||
"Serilog.Sinks.File": "5.0.0",
|
"Serilog.Sinks.File": "5.0.0",
|
||||||
"SkiaSharp": "2.88.0-preview.178",
|
"SkiaSharp": "2.88.0-preview.178",
|
||||||
@ -1769,17 +1772,14 @@
|
|||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Avalonia": "0.10.12",
|
"Avalonia": "0.10.13",
|
||||||
"Avalonia.ReactiveUI": "0.10.12",
|
"Avalonia.ReactiveUI": "0.10.13",
|
||||||
"Avalonia.Svg.Skia": "0.10.12",
|
"Avalonia.Svg.Skia": "0.10.12",
|
||||||
"Avalonia.Xaml.Behaviors": "0.10.12",
|
"DynamicData": "7.5.4",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.12",
|
"FluentAvaloniaUI": "1.3.0",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.12",
|
|
||||||
"DynamicData": "7.4.9",
|
|
||||||
"FluentAvaloniaUI": "1.2.1",
|
|
||||||
"Material.Icons.Avalonia": "1.0.2",
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
"RGB.NET.Core": "1.0.0-prerelease7",
|
"RGB.NET.Core": "1.0.0-prerelease7",
|
||||||
"ReactiveUI": "17.1.17",
|
"ReactiveUI": "17.1.50",
|
||||||
"ReactiveUI.Validation": "2.2.1",
|
"ReactiveUI.Validation": "2.2.1",
|
||||||
"SkiaSharp": "2.88.0-preview.178"
|
"SkiaSharp": "2.88.0-preview.178"
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user