From cd77ccdb1a21bbb7f1b4259e92f39513023ee9d0 Mon Sep 17 00:00:00 2001 From: Scott Mitchell Date: Tue, 27 Aug 2019 10:31:47 -0400 Subject: [PATCH 01/11] Add IDynamoViewModelDelegateCommands interface --- src/DynamoCoreWpf/DynamoCoreWpf.csproj | 1 + .../Core/DynamoViewModelDelegateCommands.cs | 2 +- .../Core/IDynamoViewModelDelegateCommands.cs | 91 +++++++++++++++++++ 3 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 src/DynamoCoreWpf/ViewModels/Core/IDynamoViewModelDelegateCommands.cs diff --git a/src/DynamoCoreWpf/DynamoCoreWpf.csproj b/src/DynamoCoreWpf/DynamoCoreWpf.csproj index 2782a29710d..ad3535097cd 100644 --- a/src/DynamoCoreWpf/DynamoCoreWpf.csproj +++ b/src/DynamoCoreWpf/DynamoCoreWpf.csproj @@ -294,6 +294,7 @@ + diff --git a/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModelDelegateCommands.cs b/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModelDelegateCommands.cs index 92b8b01e0c0..d1309f689d6 100644 --- a/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModelDelegateCommands.cs +++ b/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModelDelegateCommands.cs @@ -6,7 +6,7 @@ namespace Dynamo.ViewModels { - partial class DynamoViewModel + partial class DynamoViewModel : IDynamoViewModelDelegateCommands { private void InitializeDelegateCommands() { diff --git a/src/DynamoCoreWpf/ViewModels/Core/IDynamoViewModelDelegateCommands.cs b/src/DynamoCoreWpf/ViewModels/Core/IDynamoViewModelDelegateCommands.cs new file mode 100644 index 00000000000..31b890f3318 --- /dev/null +++ b/src/DynamoCoreWpf/ViewModels/Core/IDynamoViewModelDelegateCommands.cs @@ -0,0 +1,91 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Dynamo.Graph.Nodes.CustomNodes; +using Microsoft.Practices.Prism.Commands; +using DelegateCommand = Dynamo.UI.Commands.DelegateCommand; + +namespace Dynamo.Wpf.ViewModels +{ + public interface IDynamoViewModelDelegateCommands + { + DelegateCommand OpenIfSavedCommand { get; set; } + DelegateCommand OpenCommand { get; set; } + DelegateCommand ShowOpenDialogAndOpenResultCommand { get; set; } + DelegateCommand WriteToLogCmd { get; set; } + DelegateCommand PostUiActivationCommand { get; set; } + DelegateCommand AddNoteCommand { get; set; } + DelegateCommand AddAnnotationCommand { get; set; } + DelegateCommand UngroupAnnotationCommand { get; set; } + DelegateCommand UngroupModelCommand { get; set; } + DelegateCommand AddModelsToGroupModelCommand { get; set; } + DelegateCommand UndoCommand { get; set; } + DelegateCommand RedoCommand { get; set; } + DelegateCommand CopyCommand { get; set; } + DelegateCommand PasteCommand { get; set; } + DelegateCommand AddToSelectionCommand { get; set; } + DelegateCommand ShowNewFunctionDialogCommand { get; set; } + DelegateCommand SaveRecordedCommand { get; set; } + DelegateCommand InsertPausePlaybackCommand { get; set; } + DelegateCommand GraphAutoLayoutCommand { get; set; } + DelegateCommand GoHomeCommand { get; set; } + DelegateCommand ShowPackageManagerSearchCommand { get; set; } + DelegateCommand ShowInstalledPackagesCommand { get; set; } + DelegateCommand ManagePackagePathsCommand { get; set; } + DelegateCommand HomeCommand { get; set; } + DelegateCommand ExitCommand { get; set; } + DelegateCommand ShowSaveDialogIfNeededAndSaveResultCommand { get; set; } + DelegateCommand ShowSaveDialogAndSaveResultCommand { get; set; } + DelegateCommand SaveCommand { get; set; } + DelegateCommand SaveAsCommand { get; set; } + DelegateCommand NewHomeWorkspaceCommand { get; set; } + DelegateCommand CloseHomeWorkspaceCommand { get; set; } + DelegateCommand GoToWorkspaceCommand { get; set; } + DelegateCommand DeleteCommand { get; set; } + DelegateCommand AlignSelectedCommand { get; set; } + DelegateCommand PostUIActivationCommand { get; set; } + DelegateCommand ToggleFullscreenWatchShowingCommand { get; set; } + DelegateCommand ToggleBackgroundGridVisibilityCommand { get; set; } + DelegateCommand SelectAllCommand { get; set; } + DelegateCommand SaveImageCommand { get; set; } + DelegateCommand ShowSaveImageDialogAndSaveResultCommand { get; set; } + DelegateCommand ToggleConsoleShowingCommand { get; set; } + DelegateCommand ShowPackageManagerCommand { get; set; } + DelegateCommand ForceRunExpressionCommand { get; set; } + DelegateCommand MutateTestDelegateCommand { get; set; } + DelegateCommand DisplayFunctionCommand { get; set; } + DelegateCommand SetConnectorTypeCommand { get; set; } + DelegateCommand ReportABugCommand { get; set; } + DelegateCommand GoToWikiCommand { get; set; } + DelegateCommand GoToDictionaryCommand { get; set; } + DelegateCommand GoToSourceCodeCommand { get; set; } + DelegateCommand DisplayStartPageCommand { get; set; } + DelegateCommand ChangeScaleFactorCommand { get; set; } + DelegateCommand ShowHideConnectorsCommand { get; set; } + DelegateCommand SelectNeighborsCommand { get; set; } + DelegateCommand ClearLogCommand { get; set; } + DelegateCommand SubmitCommand { get; set; } + DelegateCommand PublishNewPackageCommand { get; set; } + DelegateCommand PublishCurrentWorkspaceCommand { get; set; } + DelegateCommand PublishSelectedNodesCommand { get; set; } + DelegateCommand PublishCustomNodeCommand { get; set; } + DelegateCommand PanCommand { get; set; } + DelegateCommand ZoomInCommand { get; set; } + DelegateCommand ZoomOutCommand { get; set; } + DelegateCommand FitViewCommand { get; set; } + DelegateCommand EscapeCommand { get; set; } + DelegateCommand ExportToSTLCommand { get; set; } + DelegateCommand ImportLibraryCommand { get; set; } + DelegateCommand ShowAboutWindowCommand { get; set; } + DelegateCommand SetNumberFormatCommand { get; set; } + DelegateCommand OpenRecentCommand { get; set; } + DelegateCommand CheckForLatestRenderCommand { get; set; } + DelegateCommand DumpLibraryToXmlCommand { get; set; } + DelegateCommand ShowGalleryCommand { get; set; } + DelegateCommand CloseGalleryCommand { get; set; } + DelegateCommand ShowNewPresetsDialogCommand { get; set; } + DelegateCommand NodeFromSelectionCommand { get; set; } + } +} From 43858f1188b3ccc85912ae582a8a26a7fc17e81b Mon Sep 17 00:00:00 2001 From: Scott Mitchell Date: Tue, 27 Aug 2019 10:33:04 -0400 Subject: [PATCH 02/11] Add ViewModelDelegateCommands to ViewLoadedParams --- src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs b/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs index 742c925424a..946a15bddc4 100644 --- a/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs +++ b/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs @@ -10,6 +10,7 @@ using Dynamo.Utilities; using Dynamo.ViewModels; using Dynamo.Visualization; +using Dynamo.Wpf.ViewModels; using Dynamo.Wpf.ViewModels.Watch3D; namespace Dynamo.Wpf.Extensions @@ -58,6 +59,14 @@ public IPackageInstaller PackageInstaller get { return dynamoViewModel.PackageManagerClientViewModel; } } + /// + /// A reference to the DynamoViewModel's delegate commands + /// + public IDynamoViewModelDelegateCommands DynamoViewModelDelegateCommands + { + get { return dynamoViewModel; } + } + /// /// A reference to Dynamo Logger for extension to use /// From a306d85c0398765f52ddcc584847ad8b0be8f4da Mon Sep 17 00:00:00 2001 From: Scott Mitchell Date: Tue, 27 Aug 2019 10:37:43 -0400 Subject: [PATCH 03/11] Add ViewModelDelegateCommands to ViewLoadedParams --- src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs b/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs index 948d8064f41..3f06e831a80 100644 --- a/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs +++ b/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs @@ -9,6 +9,7 @@ using Dynamo.Utilities; using Dynamo.ViewModels; using Dynamo.Visualization; +using Dynamo.Wpf.ViewModels; using Dynamo.Wpf.ViewModels.Watch3D; namespace Dynamo.Wpf.Extensions @@ -54,6 +55,14 @@ public IPackageInstaller PackageInstaller get { return dynamoViewModel.PackageManagerClientViewModel; } } + /// + /// A reference to the DynamoViewModel's delegate commands + /// + public IDynamoViewModelDelegateCommands DynamoViewModelDelegateCommands + { + get { return dynamoViewModel; } + } + /// /// A reference to the Dynamo Window object. Useful for correctly setting the parent of a /// newly created window. From 15a58955917a4c5ae1707ebfe7f98ee7b94847af Mon Sep 17 00:00:00 2001 From: Scott Mitchell Date: Tue, 27 Aug 2019 14:00:51 -0400 Subject: [PATCH 04/11] Rename ViewModelCommandExecutive --- src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs b/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs index 3f06e831a80..21a101920a4 100644 --- a/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs +++ b/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs @@ -58,7 +58,7 @@ public IPackageInstaller PackageInstaller /// /// A reference to the DynamoViewModel's delegate commands /// - public IDynamoViewModelDelegateCommands DynamoViewModelDelegateCommands + public IDynamoViewModelDelegateCommands ViewModelCommandExecutive { get { return dynamoViewModel; } } From f6fb5a859fb1d4a62ff3ca6a076dba14e57ed8da Mon Sep 17 00:00:00 2001 From: Scott Mitchell Date: Tue, 27 Aug 2019 15:07:03 -0400 Subject: [PATCH 05/11] Add FitViewCommand to ViewExtensionCommandExecutive --- .../Extensions/ViewExtensionCommandExecutive.cs | 8 ++++++++ src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs | 10 +--------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/DynamoCoreWpf/Extensions/ViewExtensionCommandExecutive.cs b/src/DynamoCoreWpf/Extensions/ViewExtensionCommandExecutive.cs index 20204d670dc..57591dc048d 100644 --- a/src/DynamoCoreWpf/Extensions/ViewExtensionCommandExecutive.cs +++ b/src/DynamoCoreWpf/Extensions/ViewExtensionCommandExecutive.cs @@ -42,5 +42,13 @@ private void Log(ILogMessage obj) var handler = MessageLogged; if (handler != null) handler(obj); } + + /// + /// Fit the current workspace view to the current selection + /// + public void FitViewCommand() + { + dynamoViewModel.FitViewCommand.Execute(null); + } } } diff --git a/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs b/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs index 21a101920a4..cdb0ac2cc09 100644 --- a/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs +++ b/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs @@ -55,14 +55,6 @@ public IPackageInstaller PackageInstaller get { return dynamoViewModel.PackageManagerClientViewModel; } } - /// - /// A reference to the DynamoViewModel's delegate commands - /// - public IDynamoViewModelDelegateCommands ViewModelCommandExecutive - { - get { return dynamoViewModel; } - } - /// /// A reference to the Dynamo Window object. Useful for correctly setting the parent of a /// newly created window. @@ -117,7 +109,7 @@ public void AddSeparator(MenuBarType type, Separator separatorObj, int index = - private ICommandExecutive commandExecutive; /// - /// View Extension specific implementation to execute Recordable commands on DynamoViewModel + /// View Extension specific implementation to execute commands on DynamoViewModel /// public override ICommandExecutive CommandExecutive { From 9749357dc114000256b89763be74aca81315c1ea Mon Sep 17 00:00:00 2001 From: Scott Mitchell Date: Tue, 27 Aug 2019 15:09:52 -0400 Subject: [PATCH 06/11] Remove IDynamoViewModelDelegateCommands --- src/DynamoCoreWpf/DynamoCoreWpf.csproj | 1 - .../Core/DynamoViewModelDelegateCommands.cs | 2 +- .../Core/IDynamoViewModelDelegateCommands.cs | 91 ------------------- 3 files changed, 1 insertion(+), 93 deletions(-) delete mode 100644 src/DynamoCoreWpf/ViewModels/Core/IDynamoViewModelDelegateCommands.cs diff --git a/src/DynamoCoreWpf/DynamoCoreWpf.csproj b/src/DynamoCoreWpf/DynamoCoreWpf.csproj index 1cf1ef1341c..cfd33befbed 100644 --- a/src/DynamoCoreWpf/DynamoCoreWpf.csproj +++ b/src/DynamoCoreWpf/DynamoCoreWpf.csproj @@ -294,7 +294,6 @@ - diff --git a/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModelDelegateCommands.cs b/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModelDelegateCommands.cs index d1309f689d6..92b8b01e0c0 100644 --- a/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModelDelegateCommands.cs +++ b/src/DynamoCoreWpf/ViewModels/Core/DynamoViewModelDelegateCommands.cs @@ -6,7 +6,7 @@ namespace Dynamo.ViewModels { - partial class DynamoViewModel : IDynamoViewModelDelegateCommands + partial class DynamoViewModel { private void InitializeDelegateCommands() { diff --git a/src/DynamoCoreWpf/ViewModels/Core/IDynamoViewModelDelegateCommands.cs b/src/DynamoCoreWpf/ViewModels/Core/IDynamoViewModelDelegateCommands.cs deleted file mode 100644 index 31b890f3318..00000000000 --- a/src/DynamoCoreWpf/ViewModels/Core/IDynamoViewModelDelegateCommands.cs +++ /dev/null @@ -1,91 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Dynamo.Graph.Nodes.CustomNodes; -using Microsoft.Practices.Prism.Commands; -using DelegateCommand = Dynamo.UI.Commands.DelegateCommand; - -namespace Dynamo.Wpf.ViewModels -{ - public interface IDynamoViewModelDelegateCommands - { - DelegateCommand OpenIfSavedCommand { get; set; } - DelegateCommand OpenCommand { get; set; } - DelegateCommand ShowOpenDialogAndOpenResultCommand { get; set; } - DelegateCommand WriteToLogCmd { get; set; } - DelegateCommand PostUiActivationCommand { get; set; } - DelegateCommand AddNoteCommand { get; set; } - DelegateCommand AddAnnotationCommand { get; set; } - DelegateCommand UngroupAnnotationCommand { get; set; } - DelegateCommand UngroupModelCommand { get; set; } - DelegateCommand AddModelsToGroupModelCommand { get; set; } - DelegateCommand UndoCommand { get; set; } - DelegateCommand RedoCommand { get; set; } - DelegateCommand CopyCommand { get; set; } - DelegateCommand PasteCommand { get; set; } - DelegateCommand AddToSelectionCommand { get; set; } - DelegateCommand ShowNewFunctionDialogCommand { get; set; } - DelegateCommand SaveRecordedCommand { get; set; } - DelegateCommand InsertPausePlaybackCommand { get; set; } - DelegateCommand GraphAutoLayoutCommand { get; set; } - DelegateCommand GoHomeCommand { get; set; } - DelegateCommand ShowPackageManagerSearchCommand { get; set; } - DelegateCommand ShowInstalledPackagesCommand { get; set; } - DelegateCommand ManagePackagePathsCommand { get; set; } - DelegateCommand HomeCommand { get; set; } - DelegateCommand ExitCommand { get; set; } - DelegateCommand ShowSaveDialogIfNeededAndSaveResultCommand { get; set; } - DelegateCommand ShowSaveDialogAndSaveResultCommand { get; set; } - DelegateCommand SaveCommand { get; set; } - DelegateCommand SaveAsCommand { get; set; } - DelegateCommand NewHomeWorkspaceCommand { get; set; } - DelegateCommand CloseHomeWorkspaceCommand { get; set; } - DelegateCommand GoToWorkspaceCommand { get; set; } - DelegateCommand DeleteCommand { get; set; } - DelegateCommand AlignSelectedCommand { get; set; } - DelegateCommand PostUIActivationCommand { get; set; } - DelegateCommand ToggleFullscreenWatchShowingCommand { get; set; } - DelegateCommand ToggleBackgroundGridVisibilityCommand { get; set; } - DelegateCommand SelectAllCommand { get; set; } - DelegateCommand SaveImageCommand { get; set; } - DelegateCommand ShowSaveImageDialogAndSaveResultCommand { get; set; } - DelegateCommand ToggleConsoleShowingCommand { get; set; } - DelegateCommand ShowPackageManagerCommand { get; set; } - DelegateCommand ForceRunExpressionCommand { get; set; } - DelegateCommand MutateTestDelegateCommand { get; set; } - DelegateCommand DisplayFunctionCommand { get; set; } - DelegateCommand SetConnectorTypeCommand { get; set; } - DelegateCommand ReportABugCommand { get; set; } - DelegateCommand GoToWikiCommand { get; set; } - DelegateCommand GoToDictionaryCommand { get; set; } - DelegateCommand GoToSourceCodeCommand { get; set; } - DelegateCommand DisplayStartPageCommand { get; set; } - DelegateCommand ChangeScaleFactorCommand { get; set; } - DelegateCommand ShowHideConnectorsCommand { get; set; } - DelegateCommand SelectNeighborsCommand { get; set; } - DelegateCommand ClearLogCommand { get; set; } - DelegateCommand SubmitCommand { get; set; } - DelegateCommand PublishNewPackageCommand { get; set; } - DelegateCommand PublishCurrentWorkspaceCommand { get; set; } - DelegateCommand PublishSelectedNodesCommand { get; set; } - DelegateCommand PublishCustomNodeCommand { get; set; } - DelegateCommand PanCommand { get; set; } - DelegateCommand ZoomInCommand { get; set; } - DelegateCommand ZoomOutCommand { get; set; } - DelegateCommand FitViewCommand { get; set; } - DelegateCommand EscapeCommand { get; set; } - DelegateCommand ExportToSTLCommand { get; set; } - DelegateCommand ImportLibraryCommand { get; set; } - DelegateCommand ShowAboutWindowCommand { get; set; } - DelegateCommand SetNumberFormatCommand { get; set; } - DelegateCommand OpenRecentCommand { get; set; } - DelegateCommand CheckForLatestRenderCommand { get; set; } - DelegateCommand DumpLibraryToXmlCommand { get; set; } - DelegateCommand ShowGalleryCommand { get; set; } - DelegateCommand CloseGalleryCommand { get; set; } - DelegateCommand ShowNewPresetsDialogCommand { get; set; } - DelegateCommand NodeFromSelectionCommand { get; set; } - } -} From 31a6b1592079bf7567bea144e0bf85ca265d34a2 Mon Sep 17 00:00:00 2001 From: Scott Mitchell Date: Tue, 27 Aug 2019 15:39:42 -0400 Subject: [PATCH 07/11] Move FItViewCommand to new DynamoViewModelCommandExecutive class --- src/DynamoCoreWpf/DynamoCoreWpf.csproj | 1 + .../DynamoViewModelCommandExecutive.cs | 34 +++++++++++++++++++ .../ViewExtensionCommandExecutive.cs | 8 ----- .../Extensions/ViewLoadedParams.cs | 11 +++++- 4 files changed, 45 insertions(+), 9 deletions(-) create mode 100644 src/DynamoCoreWpf/Extensions/DynamoViewModelCommandExecutive.cs diff --git a/src/DynamoCoreWpf/DynamoCoreWpf.csproj b/src/DynamoCoreWpf/DynamoCoreWpf.csproj index cfd33befbed..3029a2d70c9 100644 --- a/src/DynamoCoreWpf/DynamoCoreWpf.csproj +++ b/src/DynamoCoreWpf/DynamoCoreWpf.csproj @@ -157,6 +157,7 @@ + diff --git a/src/DynamoCoreWpf/Extensions/DynamoViewModelCommandExecutive.cs b/src/DynamoCoreWpf/Extensions/DynamoViewModelCommandExecutive.cs new file mode 100644 index 00000000000..e957fc758f5 --- /dev/null +++ b/src/DynamoCoreWpf/Extensions/DynamoViewModelCommandExecutive.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Dynamo.ViewModels; + +namespace Dynamo.Wpf.Extensions +{ + /// + /// The DynamoViewModelCommandExecutive provides access to DynamoViewModel commands + /// + public class DynamoViewModelCommandExecutive + { + private DynamoViewModel dynamoViewModel; + + /// + /// Create a Command Executive for a DynamoViewModel + /// + /// + internal DynamoViewModelCommandExecutive(DynamoViewModel model) + { + dynamoViewModel = model; + } + + /// + /// Fit the current workspace view to the current selection + /// + public void FitViewCommand() + { + dynamoViewModel.FitViewCommand.Execute(null); + } + } +} diff --git a/src/DynamoCoreWpf/Extensions/ViewExtensionCommandExecutive.cs b/src/DynamoCoreWpf/Extensions/ViewExtensionCommandExecutive.cs index 57591dc048d..20204d670dc 100644 --- a/src/DynamoCoreWpf/Extensions/ViewExtensionCommandExecutive.cs +++ b/src/DynamoCoreWpf/Extensions/ViewExtensionCommandExecutive.cs @@ -42,13 +42,5 @@ private void Log(ILogMessage obj) var handler = MessageLogged; if (handler != null) handler(obj); } - - /// - /// Fit the current workspace view to the current selection - /// - public void FitViewCommand() - { - dynamoViewModel.FitViewCommand.Execute(null); - } } } diff --git a/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs b/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs index cdb0ac2cc09..ab79bf6c13d 100644 --- a/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs +++ b/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs @@ -55,6 +55,15 @@ public IPackageInstaller PackageInstaller get { return dynamoViewModel.PackageManagerClientViewModel; } } + private DynamoViewModelCommandExecutive viewModelCommandExecutive; + /// + /// Class used for executing commands on the DynamoViewModel + /// + public DynamoViewModelCommandExecutive ViewModelCommandExecutive + { + get { return viewModelCommandExecutive ?? (viewModelCommandExecutive = new DynamoViewModelCommandExecutive(dynamoViewModel)); } + } + /// /// A reference to the Dynamo Window object. Useful for correctly setting the parent of a /// newly created window. @@ -109,7 +118,7 @@ public void AddSeparator(MenuBarType type, Separator separatorObj, int index = - private ICommandExecutive commandExecutive; /// - /// View Extension specific implementation to execute commands on DynamoViewModel + /// View Extension specific implementation to execute Recordable commands on DynamoViewModel /// public override ICommandExecutive CommandExecutive { From c795c0ea3f46d0625d0dbf58d687d45597727e85 Mon Sep 17 00:00:00 2001 From: Scott Mitchell Date: Sat, 31 Aug 2019 23:43:44 -0400 Subject: [PATCH 08/11] Add FindById and ForceRunExpression commands to VM Command Executive --- .../DynamoViewModelCommandExecutive.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/DynamoCoreWpf/Extensions/DynamoViewModelCommandExecutive.cs b/src/DynamoCoreWpf/Extensions/DynamoViewModelCommandExecutive.cs index e957fc758f5..14d55610a2b 100644 --- a/src/DynamoCoreWpf/Extensions/DynamoViewModelCommandExecutive.cs +++ b/src/DynamoCoreWpf/Extensions/DynamoViewModelCommandExecutive.cs @@ -30,5 +30,23 @@ public void FitViewCommand() { dynamoViewModel.FitViewCommand.Execute(null); } + + /// + /// Search for an element by its ID and focus the view on it + /// + /// + public void FindByIdCommand(string objectID) + { + dynamoViewModel.CurrentSpaceViewModel.FindByIdCommand.Execute(objectID); + } + + /// + /// Force re-execute all nodes in the current workspace + /// + /// Should errors be shown? + public void ForceRunExpressionCommand(bool showErrors = true) + { + dynamoViewModel.ForceRunExpressionCommand.Execute(showErrors); + } } } From ce0e688e653c20e0a85bd4ef9cb1ee673437b7c4 Mon Sep 17 00:00:00 2001 From: Scott Mitchell Date: Sat, 31 Aug 2019 23:46:17 -0400 Subject: [PATCH 09/11] Rename DynamoViewModelCommandExecutive -> ViewModelCommandExecutive --- src/DynamoCoreWpf/DynamoCoreWpf.csproj | 2 +- src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs | 8 ++++---- ...elCommandExecutive.cs => ViewModelCommandExecutive.cs} | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) rename src/DynamoCoreWpf/Extensions/{DynamoViewModelCommandExecutive.cs => ViewModelCommandExecutive.cs} (86%) diff --git a/src/DynamoCoreWpf/DynamoCoreWpf.csproj b/src/DynamoCoreWpf/DynamoCoreWpf.csproj index 3029a2d70c9..da7d03b0450 100644 --- a/src/DynamoCoreWpf/DynamoCoreWpf.csproj +++ b/src/DynamoCoreWpf/DynamoCoreWpf.csproj @@ -157,7 +157,7 @@ - + diff --git a/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs b/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs index ab79bf6c13d..11986ba7359 100644 --- a/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs +++ b/src/DynamoCoreWpf/Extensions/ViewLoadedParams.cs @@ -55,13 +55,13 @@ public IPackageInstaller PackageInstaller get { return dynamoViewModel.PackageManagerClientViewModel; } } - private DynamoViewModelCommandExecutive viewModelCommandExecutive; + private ViewModelCommandExecutive viewModelCommandExecutive; /// - /// Class used for executing commands on the DynamoViewModel + /// Class used for executing commands on the DynamoViewModel and current WorkspaceViewModel /// - public DynamoViewModelCommandExecutive ViewModelCommandExecutive + public ViewModelCommandExecutive ViewModelCommandExecutive { - get { return viewModelCommandExecutive ?? (viewModelCommandExecutive = new DynamoViewModelCommandExecutive(dynamoViewModel)); } + get { return viewModelCommandExecutive ?? (viewModelCommandExecutive = new ViewModelCommandExecutive(dynamoViewModel)); } } /// diff --git a/src/DynamoCoreWpf/Extensions/DynamoViewModelCommandExecutive.cs b/src/DynamoCoreWpf/Extensions/ViewModelCommandExecutive.cs similarity index 86% rename from src/DynamoCoreWpf/Extensions/DynamoViewModelCommandExecutive.cs rename to src/DynamoCoreWpf/Extensions/ViewModelCommandExecutive.cs index 14d55610a2b..8c0731aa56b 100644 --- a/src/DynamoCoreWpf/Extensions/DynamoViewModelCommandExecutive.cs +++ b/src/DynamoCoreWpf/Extensions/ViewModelCommandExecutive.cs @@ -8,9 +8,9 @@ namespace Dynamo.Wpf.Extensions { /// - /// The DynamoViewModelCommandExecutive provides access to DynamoViewModel commands + /// The ViewModelCommandExecutive provides access to DynamoViewModel and WorkspaceViewModel commands /// - public class DynamoViewModelCommandExecutive + public class ViewModelCommandExecutive { private DynamoViewModel dynamoViewModel; @@ -18,7 +18,7 @@ public class DynamoViewModelCommandExecutive /// Create a Command Executive for a DynamoViewModel /// /// - internal DynamoViewModelCommandExecutive(DynamoViewModel model) + internal ViewModelCommandExecutive(DynamoViewModel model) { dynamoViewModel = model; } From 52f9bc619b34647f24f5763d4353eb4e751e05e3 Mon Sep 17 00:00:00 2001 From: Scott Mitchell Date: Sat, 31 Aug 2019 23:47:02 -0400 Subject: [PATCH 10/11] Update parameter name --- src/DynamoCoreWpf/Extensions/ViewModelCommandExecutive.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/DynamoCoreWpf/Extensions/ViewModelCommandExecutive.cs b/src/DynamoCoreWpf/Extensions/ViewModelCommandExecutive.cs index 8c0731aa56b..5d4c8668dbf 100644 --- a/src/DynamoCoreWpf/Extensions/ViewModelCommandExecutive.cs +++ b/src/DynamoCoreWpf/Extensions/ViewModelCommandExecutive.cs @@ -17,10 +17,10 @@ public class ViewModelCommandExecutive /// /// Create a Command Executive for a DynamoViewModel /// - /// - internal ViewModelCommandExecutive(DynamoViewModel model) + /// + internal ViewModelCommandExecutive(DynamoViewModel viewModel) { - dynamoViewModel = model; + dynamoViewModel = viewModel; } /// From 26077520ff81b84f9ad02051a82d9f290554a2ea Mon Sep 17 00:00:00 2001 From: Scott Mitchell Date: Sun, 1 Sep 2019 00:55:16 -0400 Subject: [PATCH 11/11] Update model X and Y on CenterViewOnElement --- src/DynamoCoreWpf/Views/Core/WorkspaceView.xaml.cs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/DynamoCoreWpf/Views/Core/WorkspaceView.xaml.cs b/src/DynamoCoreWpf/Views/Core/WorkspaceView.xaml.cs index e0c7b20f312..e9406348e40 100644 --- a/src/DynamoCoreWpf/Views/Core/WorkspaceView.xaml.cs +++ b/src/DynamoCoreWpf/Views/Core/WorkspaceView.xaml.cs @@ -837,12 +837,11 @@ internal void CenterViewOnElement(object sender, EventArgs e) double deltaX = nodeCenterInOverlay.X - outerCenter.X; double deltaY = nodeCenterInOverlay.Y - outerCenter.Y; + + vm.Model.X -= deltaX; + vm.Model.Y -= deltaY; - //var offset = new Point(vm.CurrentOffset.X - deltaX, vm.CurrentOffset.Y - deltaY); - - //vm.CurrentOffset = offset; - - zoomBorder.SetTranslateTransformOrigin(new Point2D(vm.Model.X - deltaX, vm.Model.Y - deltaY)); + zoomBorder.SetTranslateTransformOrigin(new Point2D(vm.Model.X, vm.Model.Y)); } }); }