[apps/*/expression_model_list_controller] Factor isAddEmptyRow

This commit is contained in:
Ruben Dashyan
2019-09-06 15:05:30 +02:00
committed by LeaNumworks
parent a5bff416d1
commit 91e3078234
4 changed files with 5 additions and 10 deletions

View File

@@ -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;

View File

@@ -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<Shared::ExpressionModelHandle> model) override;

View File

@@ -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;

View File

@@ -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;