Optimize BitFlipPanel to suppress flicker when users switch between bit lengths (#640)
* Optimize BitFlipPanel * remove namespace in cpp file * improve localization + add tests * add helper to compare ivector * Modify how the control manages AutomationProperties::Name
This commit is contained in:
@@ -951,7 +951,7 @@ int CCalcEngine::GetCurrentRadix()
|
||||
return m_radix;
|
||||
}
|
||||
|
||||
wstring CCalcEngine::GetCurrentResultForRadix(uint32_t radix, int32_t precision)
|
||||
wstring CCalcEngine::GetCurrentResultForRadix(uint32_t radix, int32_t precision, bool groupDigitsPerRadix)
|
||||
{
|
||||
Rational rat = (m_bRecord ? m_input.ToRational(m_radix, m_precision) : m_currentVal);
|
||||
|
||||
@@ -964,7 +964,14 @@ wstring CCalcEngine::GetCurrentResultForRadix(uint32_t radix, int32_t precision)
|
||||
ChangeConstants(m_radix, m_precision);
|
||||
}
|
||||
|
||||
return GroupDigitsPerRadix(numberString, radix);
|
||||
if (groupDigitsPerRadix)
|
||||
{
|
||||
return GroupDigitsPerRadix(numberString, radix);
|
||||
}
|
||||
else
|
||||
{
|
||||
return numberString;
|
||||
}
|
||||
}
|
||||
|
||||
wstring CCalcEngine::GetStringForDisplay(Rational const& rat, uint32_t radix)
|
||||
|
@@ -613,9 +613,9 @@ namespace CalculationManager
|
||||
}
|
||||
}
|
||||
|
||||
wstring CalculatorManager::GetResultForRadix(uint32_t radix, int32_t precision)
|
||||
wstring CalculatorManager::GetResultForRadix(uint32_t radix, int32_t precision, bool groupDigitsPerRadix)
|
||||
{
|
||||
return m_currentCalculatorEngine ? m_currentCalculatorEngine->GetCurrentResultForRadix(radix, precision) : L"";
|
||||
return m_currentCalculatorEngine ? m_currentCalculatorEngine->GetCurrentResultForRadix(radix, precision, groupDigitsPerRadix) : L"";
|
||||
}
|
||||
|
||||
void CalculatorManager::SetPrecision(int32_t precision)
|
||||
|
@@ -124,7 +124,7 @@ namespace CalculationManager
|
||||
}
|
||||
void SetRadix(RADIX_TYPE iRadixType);
|
||||
void SetMemorizedNumbersString();
|
||||
std::wstring GetResultForRadix(uint32_t radix, int32_t precision);
|
||||
std::wstring GetResultForRadix(uint32_t radix, int32_t precision, bool groupDigitsPerRadix);
|
||||
void SetPrecision(int32_t precision);
|
||||
void UpdateMaxIntDigits();
|
||||
wchar_t DecimalSeparator();
|
||||
|
@@ -75,7 +75,7 @@ public:
|
||||
void SettingsChanged();
|
||||
bool IsCurrentTooBigForTrig();
|
||||
int GetCurrentRadix();
|
||||
std::wstring GetCurrentResultForRadix(uint32_t radix, int32_t precision);
|
||||
std::wstring GetCurrentResultForRadix(uint32_t radix, int32_t precision, bool groupDigitsPerRadix);
|
||||
void ChangePrecision(int32_t precision)
|
||||
{
|
||||
m_precision = precision;
|
||||
|
Reference in New Issue
Block a user