mirror of
https://github.com/Microsoft/calculator.git
synced 2025-08-21 13:53:11 -07:00
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
7 changed files with 23 additions and 6 deletions
|
@ -185,7 +185,7 @@ void MathRichEditBox::SubmitEquation(EquationSubmissionSource source)
|
||||||
auto formatRequest = ref new MathRichEditBoxFormatRequest(newVal);
|
auto formatRequest = ref new MathRichEditBoxFormatRequest(newVal);
|
||||||
FormatRequest(this, formatRequest);
|
FormatRequest(this, formatRequest);
|
||||||
|
|
||||||
if (!formatRequest->FormattedText->IsEmpty())
|
if (formatRequest->FormattedText != nullptr && !formatRequest->FormattedText->IsEmpty())
|
||||||
{
|
{
|
||||||
newVal = formatRequest->FormattedText;
|
newVal = formatRequest->FormattedText;
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,8 +39,8 @@ namespace CalculatorApp
|
||||||
|
|
||||||
public:
|
public:
|
||||||
MathRichEditBoxFormatRequest(Platform::String^ originalText)
|
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);
|
val = validateDouble(sender->Text, variableViewModel->Value);
|
||||||
variableViewModel->Value = val;
|
variableViewModel->Value = val;
|
||||||
|
|
||||||
|
// Assign back to val in case it gets changed due to min/max
|
||||||
|
val = variableViewModel->Value;
|
||||||
}
|
}
|
||||||
else if (sender->Name == "MinTextBox")
|
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 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 TextBoxKeyDown(Windows::UI::Xaml::Controls::TextBox ^ textbox, Windows::UI::Xaml::Input::KeyRoutedEventArgs ^ e);
|
||||||
void SubmitTextbox(Windows::UI::Xaml::Controls::TextBox ^ textbox);
|
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;
|
Windows::UI::ViewManagement::AccessibilitySettings ^ m_accessibilitySettings;
|
||||||
int m_lastLineColorIndex;
|
int m_lastLineColorIndex;
|
||||||
int m_lastFunctionLabelIndex;
|
int m_lastFunctionLabelIndex;
|
||||||
ViewModel::EquationViewModel ^ m_equationToFocus;
|
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);
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -587,3 +587,15 @@ void GraphingCalculator::OnEquationFormatRequested(Object ^ sender, MathRichEdit
|
||||||
e->FormattedText = GraphingControl->FormatMathML(e->OriginalText);
|
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 Platform::String ^ GetInfoForSwitchModeToggleButton(bool isChecked);
|
||||||
static Windows::UI::Xaml::Visibility ManageEditVariablesButtonVisibility(unsigned int numberOfVariables);
|
static Windows::UI::Xaml::Visibility ManageEditVariablesButtonVisibility(unsigned int numberOfVariables);
|
||||||
static Platform::String ^ GetTracingLegend(Platform::IBox<bool> ^ isTracing);
|
static Platform::String ^ GetTracingLegend(Platform::IBox<bool> ^ isTracing);
|
||||||
|
|
||||||
|
void SetDefaultFocus();
|
||||||
private:
|
private:
|
||||||
void GraphingCalculator_DataContextChanged(Windows::UI::Xaml::FrameworkElement ^ sender, Windows::UI::Xaml::DataContextChangedEventArgs ^ args);
|
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)
|
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)
|
if (m_converter != nullptr && m_converter->Visibility == ::Visibility::Visible)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue