mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-12 21:38:38 +00:00
Fix node picker not opening at cursor
This commit is contained in:
parent
5a5a6819b1
commit
0116bac346
@ -6,6 +6,7 @@ using Artemis.UI.Shared.Events;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Controls.PanAndZoom;
|
||||
using Avalonia.Controls.Primitives;
|
||||
using Avalonia.Input;
|
||||
using Avalonia.Interactivity;
|
||||
using Avalonia.Markup.Xaml;
|
||||
@ -69,7 +70,7 @@ public partial class NodeScriptView : ReactiveUserControl<NodeScriptViewModel>
|
||||
if (ViewModel == null)
|
||||
return;
|
||||
|
||||
NodeScriptZoomBorder?.ContextFlyout?.ShowAt(NodeScriptZoomBorder);
|
||||
((PopupFlyoutBase?) NodeScriptZoomBorder?.ContextFlyout)?.ShowAt(NodeScriptZoomBorder, true);
|
||||
ViewModel.NodePickerViewModel.Position = point;
|
||||
}
|
||||
|
||||
|
||||
26
src/Artemis.VisualScripting/Converters/JsonConverter.cs
Normal file
26
src/Artemis.VisualScripting/Converters/JsonConverter.cs
Normal file
@ -0,0 +1,26 @@
|
||||
using System.Globalization;
|
||||
using Artemis.Core;
|
||||
using Avalonia.Data.Converters;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Artemis.VisualScripting.Converters;
|
||||
|
||||
/// <summary>
|
||||
/// Converts input into <see cref="Numeric" />.
|
||||
/// </summary>
|
||||
public class JsonConverter : IValueConverter
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
|
||||
{
|
||||
return JsonConvert.SerializeObject(value, Formatting.Indented);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
|
||||
{
|
||||
if (value == null)
|
||||
return null;
|
||||
return JsonConvert.DeserializeObject(value.ToString(), targetType);
|
||||
}
|
||||
}
|
||||
@ -7,12 +7,15 @@
|
||||
xmlns:core="clr-namespace:Artemis.Core;assembly=Artemis.Core"
|
||||
xmlns:converters1="clr-namespace:Artemis.UI.Shared.Converters;assembly=Artemis.UI.Shared"
|
||||
xmlns:collections="clr-namespace:System.Collections;assembly=System.Runtime"
|
||||
xmlns:system="clr-namespace:System;assembly=System.Runtime"
|
||||
xmlns:converters="clr-namespace:Artemis.VisualScripting.Converters"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.VisualScripting.Nodes.Static.Screens.DisplayValueNodeCustomView"
|
||||
x:DataType="screens:DisplayValueNodeCustomViewModel">
|
||||
<UserControl.Resources>
|
||||
<converters1:SKColorToStringConverter x:Key="SKColorToStringConverter" />
|
||||
<converters1:SKColorToColorConverter x:Key="SKColorToColorConverter" />
|
||||
<converters:JsonConverter x:Key="JsonConverter" />
|
||||
</UserControl.Resources>
|
||||
<ContentControl Content="{CompiledBinding CurrentValue}" VerticalContentAlignment="Center">
|
||||
<ContentControl.DataTemplates>
|
||||
@ -44,11 +47,9 @@
|
||||
<DataTemplate DataType="core:Numeric">
|
||||
<TextBlock Text="{Binding}" FontFamily="Consolas"/>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="collections:IList">
|
||||
<TextBlock Text="{Binding Count, StringFormat='List - {0} item(s)'}" FontFamily="Consolas"/>
|
||||
</DataTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding}" FontFamily="Consolas"/>
|
||||
|
||||
<DataTemplate DataType="system:Object">
|
||||
<TextBlock Text="{Binding Converter={StaticResource JsonConverter}}" FontFamily="Consolas"/>
|
||||
</DataTemplate>
|
||||
</ContentControl.DataTemplates>
|
||||
</ContentControl>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user