From fcf0376a9a6dbfdfd6617a1193b585d92cd476be Mon Sep 17 00:00:00 2001 From: Robert Date: Sun, 27 Mar 2022 11:48:35 +0200 Subject: [PATCH] Node editor - Tweak pin positions --- .../Screens/VisualScripting/NodeScriptView.axaml | 1 + .../Screens/VisualScripting/NodeScriptViewModel.cs | 13 +++++++++++++ .../Screens/VisualScripting/NodeView.axaml | 4 ++-- .../Screens/VisualScripting/NodeView.axaml.cs | 1 - .../Pins/InputPinCollectionView.axaml | 2 +- .../Pins/OutputPinCollectionView.axaml | 2 +- .../Screens/VisualScripting/VisualScripting.axaml | 6 +++++- .../DataModelEventNodeCustomViewModel.cs | 4 +--- .../DataModelNodeCustomViewModel.cs | 4 +--- 9 files changed, 25 insertions(+), 12 deletions(-) diff --git a/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeScriptView.axaml b/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeScriptView.axaml index a2f6256f3..6c49d2018 100644 --- a/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeScriptView.axaml +++ b/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeScriptView.axaml @@ -16,6 +16,7 @@ + RaiseAndSetIfChanged(ref _dragViewModel, value); } + public void DeleteSelectedNodes() + { + List toRemove = NodeViewModels.Where(vm => vm.IsSelected && !vm.Node.IsDefaultNode && !vm.Node.IsExitNode).ToList(); + if (!toRemove.Any()) + return; + + using (_nodeEditorService.CreateCommandScope(NodeScript, "Delete nodes")) + { + foreach (NodeViewModel node in toRemove) + _nodeEditorService.ExecuteCommand(NodeScript, new DeleteNode(NodeScript, node.Node)); + } + } + public void UpdateNodeSelection(List nodes, bool expand, bool invert) { _initialNodeSelection ??= NodeViewModels.Where(vm => vm.IsSelected).ToList(); diff --git a/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeView.axaml b/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeView.axaml index d7b1fb86b..1d58b8175 100644 --- a/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeView.axaml +++ b/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeView.axaml @@ -41,7 +41,7 @@ VerticalAlignment="Top" ColumnDefinitions="*,Auto"> @@ -57,7 +57,7 @@ - + diff --git a/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeView.axaml.cs b/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeView.axaml.cs index 6e0322bde..66f1804f3 100644 --- a/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeView.axaml.cs +++ b/src/Avalonia/Artemis.UI/Screens/VisualScripting/NodeView.axaml.cs @@ -2,7 +2,6 @@ using System; using System.Collections.Generic; using Avalonia; using Avalonia.Controls; -using Avalonia.Controls.PanAndZoom; using Avalonia.Input; using Avalonia.Markup.Xaml; using Avalonia.ReactiveUI; diff --git a/src/Avalonia/Artemis.UI/Screens/VisualScripting/Pins/InputPinCollectionView.axaml b/src/Avalonia/Artemis.UI/Screens/VisualScripting/Pins/InputPinCollectionView.axaml index 2e313b667..8a53266dc 100644 --- a/src/Avalonia/Artemis.UI/Screens/VisualScripting/Pins/InputPinCollectionView.axaml +++ b/src/Avalonia/Artemis.UI/Screens/VisualScripting/Pins/InputPinCollectionView.axaml @@ -8,7 +8,7 @@ x:Class="Artemis.UI.Screens.VisualScripting.Pins.InputPinCollectionView" x:DataType="pins:PinCollectionViewModel"> -