mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
32 lines
1003 B
C++
32 lines
1003 B
C++
#include "expression_field.h"
|
|
|
|
namespace Calculation {
|
|
|
|
ExpressionField::ExpressionField(Responder * parentResponder, char * textBuffer, int textBufferLength, Poincare::ExpressionLayout * layout, TextFieldDelegate * textFieldDelegate, ExpressionLayoutFieldDelegate * expressionLayoutFieldDelegate) :
|
|
::ExpressionField(parentResponder, textBuffer, textBufferLength, layout, textFieldDelegate, expressionLayoutFieldDelegate)
|
|
{
|
|
setEditing(true);
|
|
}
|
|
|
|
bool ExpressionField::handleEvent(Ion::Events::Event event) {
|
|
if (event == Ion::Events::Back) {
|
|
return false;
|
|
}
|
|
if (event == Ion::Events::Ans) {
|
|
insertText("ans");
|
|
return true;
|
|
}
|
|
if (isEditing() && isEmpty() &&
|
|
(event == Ion::Events::Multiplication ||
|
|
event == Ion::Events::Plus ||
|
|
event == Ion::Events::Power ||
|
|
event == Ion::Events::Square ||
|
|
event == Ion::Events::Division ||
|
|
event == Ion::Events::Sto)) {
|
|
insertText("ans");
|
|
}
|
|
return(::ExpressionField::handleEvent(event));
|
|
}
|
|
|
|
}
|