From 8c2ed48f5f92e7c8892f9819a30687c1eedcbec1 Mon Sep 17 00:00:00 2001 From: Roberto T Date: Tue, 16 Jan 2024 14:44:51 -0600 Subject: [PATCH] DYN-5656-PackagesGuide-BugFix When opening the Packages tour and later opening the PackageManager (during the tour) at closing was removing the wrong dark background, then I added some code for searching for the specific overlay added (not the one added by the guided tour). Also deleted the code for using the EnableEnvironment function due that is not used any more. --- src/DynamoCoreWpf/UI/GuidedTour/GuidesManager.cs | 10 ---------- .../UI/GuidedTour/GuidesValidationMethods.cs | 7 ------- src/DynamoCoreWpf/Views/Core/DynamoView.xaml.cs | 10 +++------- 3 files changed, 3 insertions(+), 24 deletions(-) diff --git a/src/DynamoCoreWpf/UI/GuidedTour/GuidesManager.cs b/src/DynamoCoreWpf/UI/GuidedTour/GuidesManager.cs index 0f80c6e546d..c313d01b0a1 100644 --- a/src/DynamoCoreWpf/UI/GuidedTour/GuidesManager.cs +++ b/src/DynamoCoreWpf/UI/GuidedTour/GuidesManager.cs @@ -262,8 +262,6 @@ internal void ExitTour() dynamoViewModel.OnEnableShortcutBarItems(true); - EnableDynamoUI(); - //Hide guide background overlay guideBackgroundElement.Visibility = Visibility.Hidden; GuidesValidationMethods.CurrentExecutingGuide = null; @@ -271,13 +269,6 @@ internal void ExitTour() } } - private void EnableDynamoUI() - { - var dynamoView = mainRootElement as DynamoView; - if (dynamoView != null) - dynamoView.EnableEnvironment(true); - } - /// /// Creates the exit modal when close button is pressed /// @@ -306,7 +297,6 @@ private void ContinueTourButton_Click(object sender, RoutedEventArgs e) private void ExitTourButton_Click(object sender, RoutedEventArgs e) { exitGuideWindow.IsOpen = false; - EnableDynamoUI(); GuideFlowEvents.OnGuidedTourExited(currentGuide.Name); ExitTour(); } diff --git a/src/DynamoCoreWpf/UI/GuidedTour/GuidesValidationMethods.cs b/src/DynamoCoreWpf/UI/GuidedTour/GuidesValidationMethods.cs index 398b65c4254..9e4fde446a3 100644 --- a/src/DynamoCoreWpf/UI/GuidedTour/GuidesValidationMethods.cs +++ b/src/DynamoCoreWpf/UI/GuidedTour/GuidesValidationMethods.cs @@ -392,13 +392,6 @@ private static void ClosePackageManager(PackageManagerView packageManager) packageManager.PackageManagerViewModel.Width = PMDefaultWidth; packageManager.PackageManagerViewModel.Height = PMDefaultHeight; packageManagerViewModel.PropertyChanged -= searchPackagesPropertyChanged.Invoke; - - //Enable the DynamoView.mainGrid so the user will be able to interact with Dynamo - var dynamoView = packageManager.Owner as DynamoView; - if (dynamoView != null) - { - dynamoView.EnableEnvironment(true); - } packageManager.Close(); } diff --git a/src/DynamoCoreWpf/Views/Core/DynamoView.xaml.cs b/src/DynamoCoreWpf/Views/Core/DynamoView.xaml.cs index 6feec071c99..a6af27805cc 100644 --- a/src/DynamoCoreWpf/Views/Core/DynamoView.xaml.cs +++ b/src/DynamoCoreWpf/Views/Core/DynamoView.xaml.cs @@ -2316,11 +2316,6 @@ private void HandlePackageManagerWindowClosed(object sender, EventArgs e) cmd.Dispose(); } - internal void EnableEnvironment(bool isEnabled) - { - this.mainGrid.IsEnabled = isEnabled; - } - /// /// Adds/Removes an overlay so the user won't be able to interact with the background (this behavior was implemented for Dynamo and for Library) /// @@ -2329,6 +2324,7 @@ internal void EnableOverlayBlocker(bool isEnabled) { object[] parametersInvokeScript = new object[] { "fullOverlayVisible", new object[] { isEnabled } }; ResourceUtilities.ExecuteJSFunction(this, parametersInvokeScript); + var backgroundName = "BackgroundBlocker"; if (isEnabled) { @@ -2336,7 +2332,7 @@ internal void EnableOverlayBlocker(bool isEnabled) Panel.SetZIndex(shortcutsBarGrid, 0); var backgroundElement = new GuideBackground(this) { - Name = "BackgroundBlocker", + Name = backgroundName, HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Visibility = Visibility.Visible @@ -2351,7 +2347,7 @@ internal void EnableOverlayBlocker(bool isEnabled) { //Restoring the ZIndex value to the default one. Panel.SetZIndex(shortcutsBarGrid, 1); - var backgroundElement = mainGrid.Children.OfType().FirstOrDefault(); + var backgroundElement = mainGrid.Children.OfType().Where(element => element.Name == backgroundName).FirstOrDefault(); if (backgroundElement != null) { mainGrid.Children.Remove(backgroundElement);