[escher] ExpressionTableCellWithExpression: make the accessory

expression scrollable and set it as the first responder
This commit is contained in:
Émilie Feral
2019-12-31 10:21:09 +01:00
committed by Léa Saviot
parent 711c4a6554
commit 3806a78141
3 changed files with 9 additions and 3 deletions

View File

@@ -10,8 +10,9 @@ public:
View * accessoryView() const override;
void setHighlighted(bool highlight) override;
void setAccessoryLayout(Poincare::Layout l);
void didBecomeFirstResponder() override;
private:
ExpressionView m_accessoryExpressionView;
ScrollableExpressionView m_accessoryExpressionView;
};
#endif

View File

@@ -1,10 +1,11 @@
#include <escher/expression_table_cell_with_expression.h>
#include <escher/container.h>
#include <escher/palette.h>
#include <assert.h>
ExpressionTableCellWithExpression::ExpressionTableCellWithExpression(Responder * parentResponder) :
ExpressionTableCell(parentResponder, Layout::HorizontalLeftOverlap),
m_accessoryExpressionView(1.0f, 0.5f, Palette::GreyDark, KDColorWhite)
m_accessoryExpressionView(this, k_horizontalMargin, 0, 1.0f, 0.5f, Palette::GreyDark, KDColorWhite)
{}
View * ExpressionTableCellWithExpression::accessoryView() const {
@@ -21,3 +22,7 @@ void ExpressionTableCellWithExpression::setAccessoryLayout(Poincare::Layout l) {
m_accessoryExpressionView.setLayout(l);
layoutSubviews();
}
void ExpressionTableCellWithExpression::didBecomeFirstResponder() {
Container::activeApp()->setFirstResponder(&m_accessoryExpressionView);
}

View File

@@ -78,8 +78,8 @@ View * NestedMenuController::ListController::view() {
void NestedMenuController::ListController::didBecomeFirstResponder() {
m_selectableTableView->reloadData();
m_selectableTableView->selectCellAtLocation(0, m_firstSelectedRow);
Container::activeApp()->setFirstResponder(m_selectableTableView);
m_selectableTableView->selectCellAtLocation(0, m_firstSelectedRow);
}
void NestedMenuController::ListController::setFirstSelectedRow(int firstSelectedRow) {