Fix focus bug in graphing mode and other small changes (#938)
* Fix some bugs * Style fixes from prev PR
This commit is contained in:
parent
f2dbaad9b9
commit
6ca8f90021
@ -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;
|
||||
}
|
||||
|
@ -39,8 +39,8 @@ namespace CalculatorApp
|
||||
|
||||
public:
|
||||
MathRichEditBoxFormatRequest(Platform::String^ originalText)
|
||||
: m_OriginalText(originalText)
|
||||
{
|
||||
m_OriginalText = originalText;
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -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")
|
||||
{
|
||||
|
@ -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);
|
||||
};
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user