Fully separate Calculator and CalcManager (#752)
This commit is contained in:
parent
be68e72a9a
commit
5df3016df6
@ -188,7 +188,7 @@ public:
|
|||||||
private: \
|
private: \
|
||||||
static Windows::UI::Xaml::DependencyProperty ^ s_##n##Property; \
|
static Windows::UI::Xaml::DependencyProperty ^ s_##n##Property; \
|
||||||
\
|
\
|
||||||
public:
|
private:
|
||||||
|
|
||||||
// Utilities for DependencyProperties
|
// Utilities for DependencyProperties
|
||||||
namespace Utils
|
namespace Utils
|
||||||
|
@ -1860,3 +1860,11 @@ void StandardCalculatorViewModel::ValueBitLength::set(CalculatorApp::Common::Bit
|
|||||||
SetMemorizedNumbersString();
|
SetMemorizedNumbersString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void StandardCalculatorViewModel::SelectHistoryItem(HistoryItemViewModel ^ item)
|
||||||
|
{
|
||||||
|
SetHistoryExpressionDisplay(item->GetTokens(), item->GetCommands());
|
||||||
|
SetExpressionDisplay(item->GetTokens(), item->GetCommands());
|
||||||
|
SetPrimaryDisplay(item->Result, false);
|
||||||
|
IsFToEEnabled = false;
|
||||||
|
}
|
||||||
|
@ -65,7 +65,7 @@ namespace CalculatorApp
|
|||||||
OBSERVABLE_PROPERTY_RW(Windows::Foundation::Collections::IVector<MemoryItemViewModel ^> ^, MemorizedNumbers);
|
OBSERVABLE_PROPERTY_RW(Windows::Foundation::Collections::IVector<MemoryItemViewModel ^> ^, MemorizedNumbers);
|
||||||
OBSERVABLE_NAMED_PROPERTY_RW(bool, IsMemoryEmpty);
|
OBSERVABLE_NAMED_PROPERTY_RW(bool, IsMemoryEmpty);
|
||||||
OBSERVABLE_PROPERTY_RW(bool, IsFToEChecked);
|
OBSERVABLE_PROPERTY_RW(bool, IsFToEChecked);
|
||||||
OBSERVABLE_PROPERTY_RW(bool, IsFToEEnabled);
|
OBSERVABLE_PROPERTY_R(bool, IsFToEEnabled);
|
||||||
OBSERVABLE_PROPERTY_RW(bool, AreHEXButtonsEnabled);
|
OBSERVABLE_PROPERTY_RW(bool, AreHEXButtonsEnabled);
|
||||||
OBSERVABLE_PROPERTY_RW(Platform::String ^, CalculationResultAutomationName);
|
OBSERVABLE_PROPERTY_RW(Platform::String ^, CalculationResultAutomationName);
|
||||||
OBSERVABLE_PROPERTY_RW(Platform::String ^, CalculationExpressionAutomationName);
|
OBSERVABLE_PROPERTY_RW(Platform::String ^, CalculationExpressionAutomationName);
|
||||||
@ -340,15 +340,7 @@ namespace CalculatorApp
|
|||||||
void OnPinUnpinCommand(Platform::Object ^ parameter);
|
void OnPinUnpinCommand(Platform::Object ^ parameter);
|
||||||
|
|
||||||
void OnInputChanged();
|
void OnInputChanged();
|
||||||
void SetPrimaryDisplay(Platform::String ^ displayString, _In_ bool isError);
|
|
||||||
void DisplayPasteError();
|
void DisplayPasteError();
|
||||||
void SetTokens(_Inout_ std::shared_ptr<std::vector<std::pair<std::wstring, int>>> const& tokens);
|
|
||||||
void SetExpressionDisplay(
|
|
||||||
_Inout_ std::shared_ptr<std::vector<std::pair<std::wstring, int>>> const& tokens,
|
|
||||||
_Inout_ std::shared_ptr<std::vector<std::shared_ptr<IExpressionCommand>>> const& commands);
|
|
||||||
void SetHistoryExpressionDisplay(
|
|
||||||
_Inout_ std::shared_ptr<std::vector<std::pair<std::wstring, int>>> const& tokens,
|
|
||||||
_Inout_ std::shared_ptr<std::vector<std::shared_ptr<IExpressionCommand>>> const& commands);
|
|
||||||
void SetParenthesisCount(_In_ unsigned int parenthesisCount);
|
void SetParenthesisCount(_In_ unsigned int parenthesisCount);
|
||||||
void SetOpenParenthesisCountNarratorAnnouncement();
|
void SetOpenParenthesisCountNarratorAnnouncement();
|
||||||
void OnNoRightParenAdded();
|
void OnNoRightParenAdded();
|
||||||
@ -382,11 +374,19 @@ namespace CalculatorApp
|
|||||||
{
|
{
|
||||||
return m_CurrentAngleType;
|
return m_CurrentAngleType;
|
||||||
}
|
}
|
||||||
|
void SelectHistoryItem(HistoryItemViewModel ^ item);
|
||||||
private:
|
private:
|
||||||
void SetMemorizedNumbers(const std::vector<std::wstring>& memorizedNumbers);
|
void SetMemorizedNumbers(const std::vector<std::wstring>& memorizedNumbers);
|
||||||
void UpdateProgrammerPanelDisplay();
|
void UpdateProgrammerPanelDisplay();
|
||||||
void HandleUpdatedOperandData(CalculationManager::Command cmdenum);
|
void HandleUpdatedOperandData(CalculationManager::Command cmdenum);
|
||||||
|
void SetPrimaryDisplay(_In_ Platform::String ^ displayStringValue, _In_ bool isError);
|
||||||
|
void SetExpressionDisplay(
|
||||||
|
_Inout_ std::shared_ptr<std::vector<std::pair<std::wstring, int>>> const& tokens,
|
||||||
|
_Inout_ std::shared_ptr<std::vector<std::shared_ptr<IExpressionCommand>>> const& commands);
|
||||||
|
void SetHistoryExpressionDisplay(
|
||||||
|
_Inout_ std::shared_ptr<std::vector<std::pair<std::wstring, int>>> const& tokens,
|
||||||
|
_Inout_ std::shared_ptr<std::vector<std::shared_ptr<IExpressionCommand>>> const& commands);
|
||||||
|
void SetTokens(_Inout_ std::shared_ptr<std::vector<std::pair<std::wstring, int>>> const& tokens);
|
||||||
NumbersAndOperatorsEnum ConvertIntegerToNumbersAndOperatorsEnum(unsigned int parameter);
|
NumbersAndOperatorsEnum ConvertIntegerToNumbersAndOperatorsEnum(unsigned int parameter);
|
||||||
NumbersAndOperatorsEnum m_CurrentAngleType;
|
NumbersAndOperatorsEnum m_CurrentAngleType;
|
||||||
wchar_t m_decimalSeparator;
|
wchar_t m_decimalSeparator;
|
||||||
|
@ -470,11 +470,7 @@ void Calculator::OnHideHistoryClicked()
|
|||||||
|
|
||||||
void Calculator::OnHistoryItemClicked(_In_ HistoryItemViewModel ^ e)
|
void Calculator::OnHistoryItemClicked(_In_ HistoryItemViewModel ^ e)
|
||||||
{
|
{
|
||||||
assert(e->GetTokens() != nullptr);
|
Model->SelectHistoryItem(e);
|
||||||
Model->SetHistoryExpressionDisplay(e->GetTokens(), e->GetCommands());
|
|
||||||
Model->SetExpressionDisplay(e->GetTokens(), e->GetCommands());
|
|
||||||
Model->SetPrimaryDisplay(e->Result, false);
|
|
||||||
Model->IsFToEEnabled = false;
|
|
||||||
|
|
||||||
CloseHistoryFlyout();
|
CloseHistoryFlyout();
|
||||||
this->Focus(::FocusState::Programmatic);
|
this->Focus(::FocusState::Programmatic);
|
||||||
@ -717,3 +713,4 @@ void Calculator::Calculator_SizeChanged(Object ^ /*sender*/, SizeChangedEventArg
|
|||||||
AlwaysOnTopResults->UpdateScrollButtons();
|
AlwaysOnTopResults->UpdateScrollButtons();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,7 +69,6 @@ public
|
|||||||
void CloseMemoryFlyout();
|
void CloseMemoryFlyout();
|
||||||
|
|
||||||
void SetDefaultFocus();
|
void SetDefaultFocus();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void OnLoaded(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
|
void OnLoaded(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user