Fix focus bug in graphing mode and other small changes (#938)

* Fix some bugs

* Style fixes from prev PR
This commit is contained in:
Pepe Rivera 2020-01-31 13:45:16 -08:00 committed by GitHub
parent f2dbaad9b9
commit 6ca8f90021
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 23 additions and 6 deletions

View File

@ -185,7 +185,7 @@ void MathRichEditBox::SubmitEquation(EquationSubmissionSource source)
auto formatRequest = ref new MathRichEditBoxFormatRequest(newVal);
FormatRequest(this, formatRequest);
if (!formatRequest->FormattedText->IsEmpty())
if (formatRequest->FormattedText != nullptr && !formatRequest->FormattedText->IsEmpty())
{
newVal = formatRequest->FormattedText;
}

View File

@ -39,8 +39,8 @@ namespace CalculatorApp
public:
MathRichEditBoxFormatRequest(Platform::String^ originalText)
: m_OriginalText(originalText)
{
m_OriginalText = originalText;
}
};

View File

@ -330,6 +330,9 @@ void EquationInputArea::SubmitTextbox(TextBox ^ sender)
{
val = validateDouble(sender->Text, variableViewModel->Value);
variableViewModel->Value = val;
// Assign back to val in case it gets changed due to min/max
val = variableViewModel->Value;
}
else if (sender->Name == "MinTextBox")
{

View File

@ -61,12 +61,12 @@ namespace CalculatorApp
void TextBoxLosingFocus(Windows::UI::Xaml::Controls::TextBox ^ textbox, Windows::UI::Xaml::Input::LosingFocusEventArgs ^ args);
void TextBoxKeyDown(Windows::UI::Xaml::Controls::TextBox ^ textbox, Windows::UI::Xaml::Input::KeyRoutedEventArgs ^ e);
void SubmitTextbox(Windows::UI::Xaml::Controls::TextBox ^ textbox);
void VariableAreaTapped(Platform::Object ^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs ^ e);
void EquationTextBox_EquationFormatRequested(Platform::Object ^ sender, CalculatorApp::Controls::MathRichEditBoxFormatRequest ^ e);
Windows::UI::ViewManagement::AccessibilitySettings ^ m_accessibilitySettings;
int m_lastLineColorIndex;
int m_lastFunctionLabelIndex;
ViewModel::EquationViewModel ^ m_equationToFocus;
void VariableAreaTapped(Platform::Object ^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs ^ e);
void EquationTextBox_EquationFormatRequested(Platform::Object ^ sender, CalculatorApp::Controls::MathRichEditBoxFormatRequest ^ e);
};
}

View File

@ -552,7 +552,7 @@ void CalculatorApp::GraphingCalculator::AddTracePointerShadow()
auto dropShadow = compositor->CreateDropShadow();
dropShadow->BlurRadius = 6;
dropShadow->Opacity = 0.33f;
dropShadow->Offset = ::Numerics::float3(2, 2, 0);
dropShadow->Offset = ::Numerics::float3(2, 2, 0);
dropShadow->Mask = CursorPath->GetAlphaMask();
auto shadowSpriteVisual = compositor->CreateSpriteVisual();
@ -587,3 +587,15 @@ void GraphingCalculator::OnEquationFormatRequested(Object ^ sender, MathRichEdit
e->FormattedText = GraphingControl->FormatMathML(e->OriginalText);
}
}
void GraphingCalculator::SetDefaultFocus()
{
if (IsSmallState)
{
SwitchModeToggleButton->Focus(::FocusState::Programmatic);
}
else
{
EquationInputAreaControl->Focus(::FocusState::Programmatic);
}
}

View File

@ -38,6 +38,8 @@ public ref class GraphingCalculator sealed : public Windows::UI::Xaml::Data::INo
static Platform::String ^ GetInfoForSwitchModeToggleButton(bool isChecked);
static Windows::UI::Xaml::Visibility ManageEditVariablesButtonVisibility(unsigned int numberOfVariables);
static Platform::String ^ GetTracingLegend(Platform::IBox<bool> ^ isTracing);
void SetDefaultFocus();
private:
void GraphingCalculator_DataContextChanged(Windows::UI::Xaml::FrameworkElement ^ sender, Windows::UI::Xaml::DataContextChangedEventArgs ^ args);

View File

@ -297,7 +297,7 @@ void MainPage::SetDefaultFocus()
}
if (m_graphingCalculator != nullptr && m_graphingCalculator->Visibility == ::Visibility::Visible)
{
FocusManager::TryFocusAsync(m_graphingCalculator, ::FocusState::Programmatic);
m_graphingCalculator->SetDefaultFocus();
}
if (m_converter != nullptr && m_converter->Visibility == ::Visibility::Visible)
{