From 1475b49120468e2ef2d72d7cf9961bb1980fff60 Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Tue, 25 Jun 2019 13:40:56 -0700 Subject: [PATCH] Create EquationTextBox control (#547) --- .../GraphingCalculator/EquationViewModel.cpp | 5 +- .../GraphingCalculator/EquationViewModel.h | 1 + src/Calculator/App.xaml | 651 ++++++++++++++++++ src/Calculator/Calculator.vcxproj | 2 + src/Calculator/Calculator.vcxproj.filters | 10 + src/Calculator/Controls/EquationTextBox.cpp | 220 ++++++ src/Calculator/Controls/EquationTextBox.h | 66 ++ src/Calculator/Resources/en-US/Resources.resw | 8 +- src/Calculator/Resources/es-ES/Resources.resw | 4 +- src/Calculator/Views/Calculator.xaml.h | 1 + .../GraphingCalculator/EquationInputArea.xaml | 80 +-- .../EquationInputArea.xaml.cpp | 31 +- .../EquationInputArea.xaml.h | 1 + .../GraphingCalculator.xaml | 4 +- src/GraphControl/Control/EquationCollection.h | 14 - src/GraphControl/Control/Grapher.cpp | 48 +- src/GraphingInterfaces/IGraph.h | 2 +- 17 files changed, 1058 insertions(+), 90 deletions(-) create mode 100644 src/Calculator/Controls/EquationTextBox.cpp create mode 100644 src/Calculator/Controls/EquationTextBox.h diff --git a/src/CalcViewModel/GraphingCalculator/EquationViewModel.cpp b/src/CalcViewModel/GraphingCalculator/EquationViewModel.cpp index 6946766..2229669 100644 --- a/src/CalcViewModel/GraphingCalculator/EquationViewModel.cpp +++ b/src/CalcViewModel/GraphingCalculator/EquationViewModel.cpp @@ -2,11 +2,14 @@ #include "EquationViewModel.h" using namespace Windows::UI; +using namespace Windows::UI::Xaml; namespace CalculatorApp::ViewModel { EquationViewModel::EquationViewModel() - : m_LineColor{ Colors::Transparent } + : m_LineColor{ Colors::Transparent }, + m_KeyGraphFeaturesVisibility{ ::Visibility::Collapsed }, + m_Expression{ "" } { } } diff --git a/src/CalcViewModel/GraphingCalculator/EquationViewModel.h b/src/CalcViewModel/GraphingCalculator/EquationViewModel.h index 0920caf..50d23df 100644 --- a/src/CalcViewModel/GraphingCalculator/EquationViewModel.h +++ b/src/CalcViewModel/GraphingCalculator/EquationViewModel.h @@ -12,5 +12,6 @@ namespace CalculatorApp::ViewModel OBSERVABLE_OBJECT(); OBSERVABLE_PROPERTY_RW(Platform::String^, Expression); OBSERVABLE_PROPERTY_RW(Windows::UI::Color, LineColor); + OBSERVABLE_PROPERTY_RW(Windows::UI::Xaml::Visibility, KeyGraphFeaturesVisibility); }; } diff --git a/src/Calculator/App.xaml b/src/Calculator/App.xaml index cec835f..4bce469 100644 --- a/src/Calculator/App.xaml +++ b/src/Calculator/App.xaml @@ -47,6 +47,8 @@ FallbackColor="{ThemeResource SystemChromeMediumColor}" TintColor="{ThemeResource SystemChromeLowColor}" TintOpacity="0.7"/> + + 0,0,0,0 @@ -83,6 +85,8 @@ FallbackColor="{ThemeResource SystemChromeMediumColor}" TintColor="{ThemeResource SystemChromeLowColor}" TintOpacity="0.7"/> + + 0,1,0,0 @@ -105,6 +109,8 @@ + + @@ -1073,6 +1079,651 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Visible + + + + + + + Visible + + + + + + + Visible + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Visible + + + + + + + + + + + + + + + + + + + + + + +