From 91e3078234bd8c88311272659e8e06d2c9d7a19d Mon Sep 17 00:00:00 2001 From: Ruben Dashyan Date: Fri, 6 Sep 2019 15:05:30 +0200 Subject: [PATCH] [apps/*/expression_model_list_controller] Factor isAddEmptyRow --- apps/sequence/list/list_controller.cpp | 4 ---- apps/sequence/list/list_controller.h | 1 - apps/shared/expression_model_list_controller.cpp | 8 ++++---- apps/shared/expression_model_list_controller.h | 2 +- 4 files changed, 5 insertions(+), 10 deletions(-) diff --git a/apps/sequence/list/list_controller.cpp b/apps/sequence/list/list_controller.cpp index d78c13d57..e198394e5 100644 --- a/apps/sequence/list/list_controller.cpp +++ b/apps/sequence/list/list_controller.cpp @@ -230,10 +230,6 @@ int ListController::modelIndexForRow(int j) { return sequenceIndex; } -bool ListController::isAddEmptyRow(int j) { - return modelStore()->numberOfModels() < modelStore()->maxNumberOfModels() && j == numberOfRows() - 1; -} - int ListController::sequenceDefinitionForRow(int j) { if (j < 0) { return j; diff --git a/apps/sequence/list/list_controller.h b/apps/sequence/list/list_controller.h index c5d7d5e1a..fac7b61a1 100644 --- a/apps/sequence/list/list_controller.h +++ b/apps/sequence/list/list_controller.h @@ -35,7 +35,6 @@ private: void willDisplayTitleCellAtIndex(HighlightCell * cell, int j) override; void willDisplayExpressionCellAtIndex(HighlightCell * cell, int j) override; int modelIndexForRow(int j) override; - bool isAddEmptyRow(int j) override; int sequenceDefinitionForRow(int j); void addEmptyModel() override; void reinitSelectedExpression(Shared::ExpiringPointer model) override; diff --git a/apps/shared/expression_model_list_controller.cpp b/apps/shared/expression_model_list_controller.cpp index 174381ef4..5536bbef5 100644 --- a/apps/shared/expression_model_list_controller.cpp +++ b/apps/shared/expression_model_list_controller.cpp @@ -146,6 +146,10 @@ int ExpressionModelListController::numberOfExpressionRows() const { return modelsCount + (modelsCount == store->maxNumberOfModels() ? 0 : 1); } +bool ExpressionModelListController::isAddEmptyRow(int j) { + return j == numberOfExpressionRows() - 1 && modelStore()->numberOfModels() != modelStore()->maxNumberOfModels(); +} + KDCoordinate ExpressionModelListController::expressionRowHeight(int j) { if (isAddEmptyRow(j)) { return Metric::StoreRowHeight; @@ -254,10 +258,6 @@ bool ExpressionModelListController::removeModelRow(Ion::Storage::Record record) return true; } -bool ExpressionModelListController::isAddEmptyRow(int j) { - return j == modelStore()->numberOfModels(); -} - void ExpressionModelListController::resetMemoizationForIndex(int index) { assert(index >= 0 && index < k_memoizedCellsCount); m_memoizedCellHeight[index] = k_resetedMemoizedValue; diff --git a/apps/shared/expression_model_list_controller.h b/apps/shared/expression_model_list_controller.h index 4dbd8a4b5..45162107c 100644 --- a/apps/shared/expression_model_list_controller.h +++ b/apps/shared/expression_model_list_controller.h @@ -16,6 +16,7 @@ protected: void tableViewDidChangeSelection(SelectableTableView * t, int previousSelectedCellX, int previousSelectedCellY, bool withinTemporarySelection) override; // TableViewDataSource virtual int numberOfExpressionRows() const; + bool isAddEmptyRow(int j); KDCoordinate memoizedRowHeight(int j); KDCoordinate memoizedCumulatedHeightFromIndex(int j); int memoizedIndexFromCumulatedHeight(KDCoordinate offsetY); @@ -30,7 +31,6 @@ protected: virtual bool editSelectedRecordWithText(const char * text); virtual bool removeModelRow(Ion::Storage::Record record); virtual int modelIndexForRow(int j) { return j; } - virtual bool isAddEmptyRow(int j); // ViewController virtual SelectableTableView * selectableTableView() = 0; virtual ExpressionModelStore * modelStore() = 0;