From 3cc4ebf83fb3db09e068f7e1c74b623f82e723f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Mon, 19 Dec 2016 12:08:23 +0100 Subject: [PATCH] [apps] Use even odd editable text cell in values controller Change-Id: I8d5f6dc7656a50000849de85f5b3ba537756eaf1 --- apps/graph/Makefile | 1 - apps/graph/values/editable_value_cell.cpp | 53 ----------------------- apps/graph/values/editable_value_cell.h | 28 ------------ apps/graph/values/values_controller.cpp | 12 ++--- apps/graph/values/values_controller.h | 5 +-- apps/statistics/data_controller.h | 3 +- 6 files changed, 9 insertions(+), 93 deletions(-) delete mode 100644 apps/graph/values/editable_value_cell.cpp delete mode 100644 apps/graph/values/editable_value_cell.h diff --git a/apps/graph/Makefile b/apps/graph/Makefile index 12869b1c7..47e5a7005 100644 --- a/apps/graph/Makefile +++ b/apps/graph/Makefile @@ -19,7 +19,6 @@ app_objs += $(addprefix apps/graph/,\ local_context.o\ values/abscissa_parameter_controller.o\ values/derivative_parameter_controller.o\ - values/editable_value_cell.o\ values/function_parameter_controller.o\ values/interval.o\ values/interval_parameter_controller.o\ diff --git a/apps/graph/values/editable_value_cell.cpp b/apps/graph/values/editable_value_cell.cpp deleted file mode 100644 index 4eff5cf0f..000000000 --- a/apps/graph/values/editable_value_cell.cpp +++ /dev/null @@ -1,53 +0,0 @@ -#include "editable_value_cell.h" -#include "../../apps_container.h" -#include -#include "../app.h" - -namespace Graph { - -EditableValueCell::EditableValueCell(char * draftTextBuffer) : - EvenOddCell(), - Responder(nullptr), - m_textField(TextField(this, m_textBody, draftTextBuffer, 255, nullptr, 1.0f, 0.5f, KDColorBlack, KDColorWhite)) -{ -} - -void EditableValueCell::setDelegate(TextFieldDelegate * delegate) { - m_textField.setTextFieldDelegate(delegate); -} - -void EditableValueCell::reloadCell() { - EvenOddCell::reloadCell(); - m_textField.setBackgroundColor(backgroundColor()); -} - -const char * EditableValueCell::text() const { - return m_textField.text(); -} - -void EditableValueCell::setText(const char * textContent) { - m_textField.setText(textContent); -} - -int EditableValueCell::numberOfSubviews() const { - return 1; -} - -View * EditableValueCell::subviewAtIndex(int index) { - assert(index == 0); - return &m_textField; -} - -void EditableValueCell::layoutSubviews() { - m_textField.setFrame(bounds()); -} - -void EditableValueCell::didBecomeFirstResponder() { - app()->setFirstResponder(&m_textField); -} - -void EditableValueCell::setEditing(bool isEditing) { - m_textField.setEditing(isEditing); -} - -} diff --git a/apps/graph/values/editable_value_cell.h b/apps/graph/values/editable_value_cell.h deleted file mode 100644 index 7d90ec361..000000000 --- a/apps/graph/values/editable_value_cell.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef GRAPH_EDITABLE_VALUE_CELL_H -#define GRAPH_EDITABLE_VALUE_CELL_H - -#include -#include - -namespace Graph { -class EditableValueCell : public EvenOddCell, public Responder { -public: - EditableValueCell(char * draftTextBuffer); - void setDelegate(TextFieldDelegate * delegate); - void reloadCell() override; - const char * text() const; - void setText(const char * textContent); - int numberOfSubviews() const override; - View * subviewAtIndex(int index) override; - void layoutSubviews() override; - void didBecomeFirstResponder() override; - void setEditing(bool isEditing); - constexpr static int k_bufferLength = 255; -private: - TextField m_textField; - char m_textBody[k_bufferLength]; -}; - -} - -#endif diff --git a/apps/graph/values/values_controller.cpp b/apps/graph/values/values_controller.cpp index 4c5491071..c0aa2cc5e 100644 --- a/apps/graph/values/values_controller.cpp +++ b/apps/graph/values/values_controller.cpp @@ -10,8 +10,8 @@ ValuesController::ValuesController(Responder * parentResponder, FunctionStore * ViewController(parentResponder), HeaderViewDelegate(header), m_selectableTableView(SelectableTableView(this, this, k_topMargin, k_rightMargin, k_bottomMargin, k_leftMargin, this)), - m_abscissaCells{EditableValueCell(m_draftTextBuffer), EditableValueCell(m_draftTextBuffer), EditableValueCell(m_draftTextBuffer),EditableValueCell(m_draftTextBuffer), - EditableValueCell(m_draftTextBuffer), EditableValueCell(m_draftTextBuffer), EditableValueCell(m_draftTextBuffer), EditableValueCell(m_draftTextBuffer)}, + m_abscissaCells{EvenOddEditableTextCell(m_draftTextBuffer), EvenOddEditableTextCell(m_draftTextBuffer), EvenOddEditableTextCell(m_draftTextBuffer),EvenOddEditableTextCell(m_draftTextBuffer), + EvenOddEditableTextCell(m_draftTextBuffer), EvenOddEditableTextCell(m_draftTextBuffer), EvenOddEditableTextCell(m_draftTextBuffer), EvenOddEditableTextCell(m_draftTextBuffer)}, m_functionStore(functionStore), m_intervalParameterController(IntervalParameterController(this, &m_interval)), m_abscissaParameterController(AbscissaParameterController(this, &m_intervalParameterController)), @@ -246,12 +246,12 @@ void ValuesController::configureDerivativeFunction() { void ValuesController::tableViewDidChangeSelection(SelectableTableView * t, int previousSelectedCellX, int previousSelectedCellY) { if (previousSelectedCellX == 0 && previousSelectedCellY > 0) { - EditableValueCell * myCell = (EditableValueCell *)t->cellAtLocation(previousSelectedCellX, previousSelectedCellY); + EvenOddEditableTextCell * myCell = (EvenOddEditableTextCell *)t->cellAtLocation(previousSelectedCellX, previousSelectedCellY); myCell->setEditing(false); app()->setFirstResponder(t); } if (t->selectedRow() > 0 && t->selectedColumn() == 0) { - EditableValueCell * myCell = (EditableValueCell *)t->cellAtLocation(t->selectedColumn(), t->selectedRow()); + EvenOddEditableTextCell * myCell = (EvenOddEditableTextCell *)t->cellAtLocation(t->selectedColumn(), t->selectedRow()); app()->setFirstResponder(myCell); } } @@ -343,7 +343,7 @@ void ValuesController::willDisplayCellAtLocation(TableViewCell * cell, int i, in if (numberOfIntervalElements < Interval::k_maxNumberOfElements) { buffer[0] = 0; if (i == 0) { - EditableValueCell * myEditableValueCell = (EditableValueCell *)cell; + EvenOddEditableTextCell * myEditableValueCell = (EvenOddEditableTextCell *)cell; myEditableValueCell->setText(buffer); } else { ValueCell * myValueCell = (ValueCell *)cell; @@ -354,7 +354,7 @@ void ValuesController::willDisplayCellAtLocation(TableViewCell * cell, int i, in } // Special case: first column if (i == 0){ - EditableValueCell * myEditableValueCell = (EditableValueCell *)cell; + EvenOddEditableTextCell * myEditableValueCell = (EvenOddEditableTextCell *)cell; Float(m_interval.element(j-1)).convertFloatToText(buffer, Constant::FloatBufferSizeInScientificMode, Constant::NumberOfDigitsInMantissaInScientificMode); myEditableValueCell->setText(buffer); return; diff --git a/apps/graph/values/values_controller.h b/apps/graph/values/values_controller.h index 98e9db298..2f5d199e9 100644 --- a/apps/graph/values/values_controller.h +++ b/apps/graph/values/values_controller.h @@ -5,7 +5,6 @@ #include "../function_store.h" #include "../function_title_cell.h" #include "value_cell.h" -#include "editable_value_cell.h" #include "title_cell.h" #include "interval.h" #include "abscissa_parameter_controller.h" @@ -76,8 +75,8 @@ private: TitleCell m_abscissaTitleCell; FunctionTitleCell m_functionTitleCells[k_maxNumberOfFunctions]; ValueCell m_floatCells[k_maxNumberOfCells]; - char m_draftTextBuffer[EditableValueCell::k_bufferLength]; - EditableValueCell m_abscissaCells[k_maxNumberOfAbscissaCells]; + char m_draftTextBuffer[EditableTextCell::k_bufferLength]; + EvenOddEditableTextCell m_abscissaCells[k_maxNumberOfAbscissaCells]; FunctionStore * m_functionStore; Interval m_interval; IntervalParameterController m_intervalParameterController; diff --git a/apps/statistics/data_controller.h b/apps/statistics/data_controller.h index 4c5b9cfb6..7bba56e32 100644 --- a/apps/statistics/data_controller.h +++ b/apps/statistics/data_controller.h @@ -3,7 +3,6 @@ #include #include "../graph/values/title_cell.h" -#include "../graph/values/editable_value_cell.h" namespace Statistics { @@ -33,7 +32,7 @@ private: constexpr static int k_maxNumberOfEditableCells = 20; constexpr static int k_numberOfTitleCells = 2; Responder * tabController() const; - //Graph::EditableValueCell m_editableCells[k_maxNumberOfEditableCells]; + //EvenOddEditableTextCell m_editableCells[k_maxNumberOfEditableCells]; Graph::TitleCell m_titleCells[k_numberOfTitleCells]; SelectableTableView m_selectableTableView; };