[poincare] Stop exposing text/expressionlayout fields in ExpressionField

Change-Id: Ic1afb3f7c1f6bff5ea3bedc6f96bef986b74f6a8
This commit is contained in:
Léa Saviot
2018-04-20 17:44:45 +02:00
parent 894080f1ab
commit 117a6d460a
17 changed files with 73 additions and 36 deletions

View File

@@ -12,8 +12,14 @@ namespace Calculation {
EditExpressionController::ContentView::ContentView(Responder * parentResponder, TableView * subview, TextFieldDelegate * textFieldDelegate, ExpressionLayoutFieldDelegate * expressionLayoutFieldDelegate) :
View(),
m_mainView(subview),
m_expressionField(parentResponder, textFieldDelegate, expressionLayoutFieldDelegate)
m_expressionField(parentResponder, m_textBody, k_bufferLength, m_layout, textFieldDelegate, expressionLayoutFieldDelegate),
m_layout(new Poincare::HorizontalLayout)
{
m_textBody[0] = 0;
}
EditExpressionController::ContentView::~ContentView() {
delete m_layout;
}
View * EditExpressionController::ContentView::subviewAtIndex(int index) {
@@ -93,7 +99,7 @@ bool EditExpressionController::textFieldDidAbortEditing(::TextField * textField)
bool EditExpressionController::expressionLayoutFieldDidReceiveEvent(::ExpressionLayoutField * expressionLayoutField, Ion::Events::Event event) {
assert(expressionLayoutField == ((ContentView *)view())->expressionField()->expressionLayoutField());
if (expressionLayoutField->isEditing() && expressionLayoutField->expressionLayoutFieldShouldFinishEditing(event) && !expressionLayout()->hasText() && m_calculationStore->numberOfCalculations() > 0) {
if (expressionLayoutField->isEditing() && expressionLayoutField->expressionLayoutFieldShouldFinishEditing(event) && !expressionLayoutField->hasText() && m_calculationStore->numberOfCalculations() > 0) {
return inputViewDidReceiveEvent(event);
}
return expressionFieldDelegateApp()->expressionLayoutFieldDidReceiveEvent(expressionLayoutField, event);
@@ -127,7 +133,6 @@ View * EditExpressionController::loadView() {
}
void EditExpressionController::unloadView(View * view) {
delete expressionLayout();
delete view;
}
@@ -176,8 +181,4 @@ void EditExpressionController::viewDidDisappear() {
m_historyController->viewDidDisappear();
}
Poincare::ExpressionLayout * EditExpressionController::expressionLayout() {
return ((ContentView *)view())->expressionField()->expressionLayoutField()->expressionLayout();
}
}