mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-19 05:40:38 +01:00
[calculation] Change method name: shouldDisplayApproximateOutput --> shouldOnlyDisplayApproximateOutput
This commit is contained in:
committed by
EmilieNumworks
parent
7bd806f38a
commit
1d7bd2b70a
@@ -184,7 +184,7 @@ ExpressionLayout * Calculation::approximateOutputLayout(Context * context) {
|
||||
return m_approximateOutputLayout;
|
||||
}
|
||||
|
||||
bool Calculation::shouldDisplayApproximateOutput(Context * context) {
|
||||
bool Calculation::shouldOnlyDisplayApproximateOutput(Context * context) {
|
||||
if (strcmp(m_exactOutputText, m_approximateOutputText) == 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ public:
|
||||
Poincare::ExpressionLayout * approximateOutputLayout(Poincare::Context * context);
|
||||
bool isEmpty();
|
||||
void tidy();
|
||||
bool shouldDisplayApproximateOutput(Poincare::Context * context);
|
||||
bool shouldOnlyDisplayApproximateOutput(Poincare::Context * context);
|
||||
EqualSign exactAndApproximateDisplayedOutputsAreEqual(Poincare::Context * context);
|
||||
constexpr static int k_printedExpressionSize = 2*::TextField::maxBufferSize();
|
||||
private:
|
||||
|
||||
@@ -162,7 +162,7 @@ KDCoordinate HistoryController::rowHeight(int j) {
|
||||
App * calculationApp = (App *)app();
|
||||
Poincare::ExpressionLayout * approximateLayout = calculation->approximateOutputLayout(calculationApp->localContext());
|
||||
KDCoordinate approximateOutputHeight = approximateLayout->size().height();
|
||||
if (calculation->shouldDisplayApproximateOutput(calculationApp->localContext())) {
|
||||
if (calculation->shouldOnlyDisplayApproximateOutput(calculationApp->localContext())) {
|
||||
return inputHeight + approximateOutputHeight + 3*HistoryViewCell::k_digitVerticalMargin;
|
||||
}
|
||||
Poincare::ExpressionLayout * exactLayout = calculation->exactOutputLayout(calculationApp->localContext());
|
||||
|
||||
@@ -88,7 +88,7 @@ void HistoryViewCell::setCalculation(Calculation * calculation) {
|
||||
/* Both output expressions have to be updated at the same time. The
|
||||
* outputView points to deleted layouts and a call to
|
||||
* outputView()->layoutSubviews() is going to fail. */
|
||||
Poincare::ExpressionLayout * outputExpressions[2] = {calculation->approximateOutputLayout(calculationApp->localContext()), calculation->shouldDisplayApproximateOutput(calculationApp->localContext()) ? nullptr : calculation->exactOutputLayout(calculationApp->localContext())};
|
||||
Poincare::ExpressionLayout * outputExpressions[2] = {calculation->approximateOutputLayout(calculationApp->localContext()), calculation->shouldOnlyDisplayApproximateOutput(calculationApp->localContext()) ? nullptr : calculation->exactOutputLayout(calculationApp->localContext())};
|
||||
m_scrollableOutputView.outputView()->setExpressions(outputExpressions);
|
||||
I18n::Message equalMessage = calculation->exactAndApproximateDisplayedOutputsAreEqual(calculationApp->localContext()) == Calculation::EqualSign::Equal ? I18n::Message::Equal : I18n::Message::AlmostEqual;
|
||||
m_scrollableOutputView.outputView()->setEqualMessage(equalMessage);
|
||||
|
||||
@@ -50,11 +50,11 @@ QUIZ_CASE(calculation_store) {
|
||||
store.push("1+3/4", &globalContext);
|
||||
store.push("ans+2/3", &globalContext);
|
||||
::Calculation::Calculation * lastCalculation = store.calculationAtIndex(1);
|
||||
assert(lastCalculation->shouldDisplayApproximateOutput(&globalContext) == false);
|
||||
assert(lastCalculation->shouldOnlyDisplayApproximateOutput(&globalContext) == false);
|
||||
assert(strcmp(lastCalculation->exactOutputText(),"29/12") == 0);
|
||||
|
||||
store.push("ans+0.22", &globalContext);
|
||||
lastCalculation = store.calculationAtIndex(2);
|
||||
assert(lastCalculation->shouldDisplayApproximateOutput(&globalContext) == true);
|
||||
assert(lastCalculation->shouldOnlyDisplayApproximateOutput(&globalContext) == true);
|
||||
assert(strcmp(lastCalculation->approximateOutputText(),"2.6366666666667") == 0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user