[apps] Change selection in tab children with button row controller

Change-Id: Id45fd599c76d758715afc6622abd419e04d6dd5b
This commit is contained in:
Émilie Feral
2017-05-24 18:00:11 +02:00
parent e50c5a038d
commit bbd1bf9a7f
6 changed files with 12 additions and 18 deletions

View File

@@ -113,16 +113,9 @@ void EditableCellTableViewController::didBecomeFirstResponder() {
}
}
void EditableCellTableViewController::didEnterResponderChain(Responder * previousFirstResponder) {
if (selectedRow() == -1) {
selectCellAtLocation(0, 1);
} else {
int selRow = selectedRow();
selRow = selRow >= numberOfRows() ? numberOfRows()-1 : selRow;
int selColumn = selectedColumn();
selColumn = selColumn >= numberOfColumns() ? numberOfColumns() - 1 : selColumn;
selectCellAtLocation(selColumn, selRow);
}
void EditableCellTableViewController::viewWillAppear() {
TabTableController::viewWillAppear();
selectCellAtLocation(0,1);
}
TextFieldDelegateApp * EditableCellTableViewController::textFieldDelegateApp() {

View File

@@ -19,9 +19,8 @@ public:
int numberOfRows() override;
void willDisplayCellAtLocationWithDisplayMode(HighlightCell * cell, int i, int j, Poincare::Expression::FloatDisplayMode FloatDisplayMode);
KDCoordinate rowHeight(int j) override;
void viewWillAppear() override;
void didBecomeFirstResponder() override;
void didEnterResponderChain(Responder * previousFirstResponder) override;
private:
TextFieldDelegateApp * textFieldDelegateApp() override;
static constexpr KDCoordinate k_cellHeight = 20;

View File

@@ -148,9 +148,6 @@ void InteractiveCurveViewController::viewWillAppear() {
}
}
curveView()->setOkView(&m_okView);
}
void InteractiveCurveViewController::didEnterResponderChain(Responder * previousFirstResponder) {
if (!curveView()->isMainViewSelected()) {
curveView()->selectMainView(true);
header()->setSelectedButton(-1);
@@ -159,6 +156,11 @@ void InteractiveCurveViewController::didEnterResponderChain(Responder * previous
curveView()->reload();
}
void InteractiveCurveViewController::didEnterResponderChain(Responder * previousFirstResponder) {
reloadBannerView();
curveView()->reload();
}
void InteractiveCurveViewController::willExitResponderChain(Responder * nextFirstResponder) {
if (nextFirstResponder == nullptr || nextFirstResponder == tabController()) {
curveView()->selectMainView(false);

View File

@@ -31,8 +31,8 @@ public:
Responder * defaultController() override;
void viewWillAppear() override;
void willExitResponderChain(Responder * nextFirstResponder) override;
void didEnterResponderChain(Responder * previousFirstResponder) override;
void willExitResponderChain(Responder * nextFirstResponder) override;
protected:
constexpr static float k_numberOfCursorStepsInGradUnit = 5.0f;
virtual BannerView * bannerView() = 0;

View File

@@ -128,7 +128,7 @@ Responder * HistogramController::defaultController() {
return tabController();
}
void HistogramController::didEnterResponderChain(Responder * previousFirstResponder) {
void HistogramController::viewWillAppear() {
if (!m_view.isMainViewSelected()) {
m_view.selectMainView(true);
header()->setSelectedButton(-1);

View File

@@ -27,7 +27,7 @@ public:
bool isEmpty() const override;
I18n::Message emptyMessage() override;
Responder * defaultController() override;
void didEnterResponderChain(Responder * previousFirstResponder) override;
void viewWillAppear() override;
void willExitResponderChain(Responder * nextFirstResponder) override;
private:
constexpr static int k_maxNumberOfBarsPerWindow = 100;