From 0ed876db4321ecddadc8c4b25b8c2653d4293115 Mon Sep 17 00:00:00 2001 From: Stephanie Anderl <46726333+sanderl@users.noreply.github.com> Date: Tue, 7 Apr 2020 11:20:14 -0700 Subject: [PATCH] Added narrator announcement when a function is removed (#1136) --- .../Common/Automation/NarratorAnnouncement.cpp | 14 ++++++++++++-- .../Common/Automation/NarratorAnnouncement.h | 2 ++ src/Calculator/Resources/en-US/Resources.resw | 4 ++++ .../GraphingCalculator/EquationInputArea.xaml.cpp | 10 ++++++++++ 4 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/CalcViewModel/Common/Automation/NarratorAnnouncement.cpp b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.cpp index 90e6feef..c1bdd318 100644 --- a/src/CalcViewModel/Common/Automation/NarratorAnnouncement.cpp +++ b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.cpp @@ -25,6 +25,7 @@ namespace CalculatorApp::Common::Automation StringReference NoParenthesisAdded(L"NoParenthesisAdded"); StringReference GraphModeChanged(L"GraphModeChanged"); StringReference GraphViewChanged(L"GraphViewChanged"); + StringReference FunctionRemoved(L"FunctionRemoved"); } } @@ -143,7 +144,7 @@ NarratorAnnouncement ^ CalculatorAnnouncement::GetNoRightParenthesisAddedAnnounc AutomationNotificationProcessing::ImportantMostRecent); } -NarratorAnnouncement ^ CalculatorAnnouncement::GetGraphModeChangedAnnouncement(Platform::String ^ announcement) +NarratorAnnouncement ^ CalculatorAnnouncement::GetGraphModeChangedAnnouncement(String ^ announcement) { return ref new NarratorAnnouncement( announcement, @@ -152,7 +153,7 @@ NarratorAnnouncement ^ CalculatorAnnouncement::GetGraphModeChangedAnnouncement(P AutomationNotificationProcessing::ImportantMostRecent); } -NarratorAnnouncement ^ CalculatorAnnouncement::GetGraphViewChangedAnnouncement(Platform::String ^ announcement) +NarratorAnnouncement ^ CalculatorAnnouncement::GetGraphViewChangedAnnouncement(String ^ announcement) { return ref new NarratorAnnouncement( announcement, @@ -160,3 +161,12 @@ NarratorAnnouncement ^ CalculatorAnnouncement::GetGraphViewChangedAnnouncement(P AutomationNotificationKind::ActionCompleted, AutomationNotificationProcessing::MostRecent); } + +NarratorAnnouncement ^ CalculatorAnnouncement::GetFunctionRemovedAnnouncement(String ^ announcement) +{ + return ref new NarratorAnnouncement( + announcement, + CalculatorActivityIds::FunctionRemoved, + AutomationNotificationKind::ItemRemoved, + AutomationNotificationProcessing::MostRecent); +} diff --git a/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h index a1ba97ea..ddfa64a9 100644 --- a/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h +++ b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h @@ -70,5 +70,7 @@ public static NarratorAnnouncement ^ GetGraphModeChangedAnnouncement(Platform::String ^ announcement); static NarratorAnnouncement ^ GetGraphViewChangedAnnouncement(Platform::String ^ announcement); + static NarratorAnnouncement ^ GetFunctionRemovedAnnouncement(Platform::String ^ announcement); + }; } diff --git a/src/Calculator/Resources/en-US/Resources.resw b/src/Calculator/Resources/en-US/Resources.resw index 43fc75e3..f57fdd8d 100644 --- a/src/Calculator/Resources/en-US/Resources.resw +++ b/src/Calculator/Resources/en-US/Resources.resw @@ -4562,4 +4562,8 @@ Match app theme This is the automation name text for the Graph settings option to set graph to match the app theme + + Function removed + Announcement used in Graphing Calculator when a function is removed from the function list + diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp index 61fb00ee..1fee4738 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp @@ -4,9 +4,13 @@ #include "pch.h" #include "EquationInputArea.xaml.h" #include "Utils/VisualTree.h" +#include "CalcViewModel/Common/AppResourceProvider.h" +#include "CalcViewModel/Common/Automation/NarratorAnnouncement.h" +#include "CalcViewModel/Common/Automation/NarratorNotifier.h" using namespace CalculatorApp; using namespace CalculatorApp::Common; +using namespace CalculatorApp::Common::Automation; using namespace GraphControl; using namespace CalculatorApp::ViewModel; using namespace CalculatorApp::Controls; @@ -199,6 +203,12 @@ void EquationInputArea::EquationTextBox_RemoveButtonClicked(Object ^ sender, Rou } Equations->RemoveAt(index); + + auto narratorNotifier = ref new NarratorNotifier(); + auto announcement = CalculatorAnnouncement::GetFunctionRemovedAnnouncement( + AppResourceProvider::GetInstance()->GetResourceString(L"FunctionRemovedAnnouncement")); + narratorNotifier->Announce(announcement); + int lastIndex = Equations->Size - 1; if (Equations->Size <= 1)