From a696ec7599639a5941230519488f37dc7066ebb4 Mon Sep 17 00:00:00 2001 From: tanga Date: Fri, 20 May 2022 16:01:18 -0400 Subject: [PATCH] Trial fix --- .../Graph/Workspaces/HomeWorkspaceModel.cs | 11 ++++---- .../Scheduler/PreviewGraphAsyncTask.cs | 26 ++++++++++++------- .../ViewModels/Core/HomeWorkspaceViewModel.cs | 2 +- 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/src/DynamoCore/Graph/Workspaces/HomeWorkspaceModel.cs b/src/DynamoCore/Graph/Workspaces/HomeWorkspaceModel.cs index f072bab74e2..db35f3b8da5 100644 --- a/src/DynamoCore/Graph/Workspaces/HomeWorkspaceModel.cs +++ b/src/DynamoCore/Graph/Workspaces/HomeWorkspaceModel.cs @@ -876,7 +876,7 @@ internal void GetExecutingNodes(bool showRunPreview) scheduler.ScheduleForExecution(task); } } - //Show node exection is checked but the graph has not RUN + //Show node execution is checked but the graph has not RUN else { var deltaComputeStateArgs = new DeltaComputeStateEventArgs(new List(), graphExecuted); @@ -886,13 +886,12 @@ internal void GetExecutingNodes(bool showRunPreview) private void OnPreviewGraphCompleted(AsyncTask asyncTask) { - var updateTask = asyncTask as PreviewGraphAsyncTask; - if (updateTask != null) + if (asyncTask is PreviewGraphAsyncTask updateTask) { var nodeGuids = updateTask.previewGraphData; - var deltaComputeStateArgs = new DeltaComputeStateEventArgs(nodeGuids,graphExecuted); - OnSetNodeDeltaState(deltaComputeStateArgs); - } + var deltaComputeStateArgs = new DeltaComputeStateEventArgs(nodeGuids, graphExecuted); + OnSetNodeDeltaState(deltaComputeStateArgs); + } } diff --git a/src/DynamoCore/Scheduler/PreviewGraphAsyncTask.cs b/src/DynamoCore/Scheduler/PreviewGraphAsyncTask.cs index 691bcc29a2b..e5d18814e76 100644 --- a/src/DynamoCore/Scheduler/PreviewGraphAsyncTask.cs +++ b/src/DynamoCore/Scheduler/PreviewGraphAsyncTask.cs @@ -16,7 +16,7 @@ class PreviewGraphAsyncTask : AsyncTask private IEnumerable modifiedNodes; private bool verboseLogging; public List previewGraphData; - + public override TaskPriority Priority { get { return TaskPriority.Normal; } @@ -55,13 +55,13 @@ internal List Initialize(EngineController controller, WorkspaceModel works try { engineController = controller; - TargetedWorkspace = workspace; - modifiedNodes = ComputeModifiedNodes(workspace); - previewGraphData = engineController.PreviewGraphSyncData(modifiedNodes,verboseLogging); + TargetedWorkspace = workspace; + modifiedNodes = ComputeModifiedNodes(workspace); + previewGraphData = engineController.PreviewGraphSyncData(modifiedNodes, verboseLogging); return previewGraphData; } - catch (Exception e) - { + catch (Exception) + { return null; } } @@ -72,25 +72,31 @@ internal List Initialize(EngineController controller, WorkspaceModel works protected override void HandleTaskExecutionCore() { - + } protected override void HandleTaskCompletionCore() { - + } #endregion #region Public Class Properties - internal WorkspaceModel TargetedWorkspace { get; private set; } + internal WorkspaceModel TargetedWorkspace { get; private set; } #endregion #region Private Class Helper Methods private static IEnumerable ComputeModifiedNodes(WorkspaceModel workspace) { - return workspace.Nodes; // TODO(Ben): Implement dirty node subsetting. + // Try to calculate dirty nodes on UI side. + // This is only for UI feature. If this list inaccurate, it will not affect how VM works. + return (workspace.Nodes as List).FindAll( + delegate (NodeModel node) + { + return node.IsModified; + }); } #endregion diff --git a/src/DynamoCoreWpf/ViewModels/Core/HomeWorkspaceViewModel.cs b/src/DynamoCoreWpf/ViewModels/Core/HomeWorkspaceViewModel.cs index 329e5a45cf9..ae9e6a93888 100644 --- a/src/DynamoCoreWpf/ViewModels/Core/HomeWorkspaceViewModel.cs +++ b/src/DynamoCoreWpf/ViewModels/Core/HomeWorkspaceViewModel.cs @@ -180,7 +180,7 @@ private void UpdateNodesDeltaState(List nodeGuids, bool graphExecuted) } } - //if the graph is executed then set the node preview to false , provided + //if the graph is executed then set the node preview to false, provided // there is no error on that node. if (nodeGuids.Count == 0 && graphExecuted) {