4 #include "../../apps_container.h" 13 m_typeCell(
I18n::Message::SequenceType),
14 m_initialRankCell(&m_selectableTableView, this, m_draftTextBuffer,
I18n::Message::FirstTermIndex),
15 m_typeParameterController(this, sequenceStore, listController,
TableCell::Layout::Horizontal,
Metric::CommonTopMargin,
Metric::CommonRightMargin,
31 bool hasAdditionalRow = hasInitialRankRow();
32 #if FUNCTION_COLOR_CHOICE 38 #if FUNCTION_COLOR_CHOICE 39 if (selectedRowIndex == 0) {
42 if (selectedRowIndex == 1) {
44 if (selectedRowIndex == 0) {
48 stack->
push(&m_typeParameterController);
51 #if FUNCTION_COLOR_CHOICE 52 if (selectedRowIndex == 2+hasAdditionalRow) {
55 if (selectedRowIndex == 1+hasAdditionalRow) {
59 #if FUNCTION_COLOR_CHOICE 60 if (selectedRowIndex == 3+hasAdditionalRow) {
62 if (selectedRowIndex == 2+hasAdditionalRow) {
66 static_cast<App *
>(
app())->localContext()->resetCache();
77 if (hasInitialRankRow()) {
78 return k_totalNumberOfCell;
80 return k_totalNumberOfCell-1;
90 if (hasInitialRankRow()) {
91 return &m_initialRankCell;
99 return k_totalNumberOfCell;
105 if (cell == &m_typeCell && m_sequence !=
nullptr) {
108 if (cell == &m_initialRankCell && m_sequence !=
nullptr) {
126 double floatBody = Expression::approximateToScalar<double>(text, *globalContext);
138 static_cast<App *
>(
app())->localContext()->resetCache();
148 if (!hasInitialRankRow()) {
151 #if FUNCTION_COLOR_CHOICE 152 if (previousSelectedCellY == 2) {
154 if (previousSelectedCellY == 1) {
160 #if FUNCTION_COLOR_CHOICE 174 bool ListParameterController::hasInitialRankRow() {
FunctionStore * m_functionStore
static constexpr int k_initialRankNumberOfDigits
HighlightCell * selectedCell()
bool handleEnterOnRow(int rowIndex)
HighlightCell * reusableCell(int index) override
SelectableTableView m_selectableTableView
void push(ViewController *vc, KDColor textColor=Palette::SubTab, KDColor backgroundColor=KDColorWhite, KDColor separatorColor=Palette::GreyBright)
Responder * parentResponder() const
Shared::TextFieldDelegateApp * textFieldDelegateApp() override
HighlightCell * cellAtLocation(int i, int j)
bool textFieldDidFinishEditing(TextField *textField, const char *text, Ion::Events::Event event) override
bool handleEvent(Ion::Events::Event event) override
enum Message uint16_t enum Language uint16_t const char * translate(Message m, Language l=(Language) 0)
int reusableCellCount() override
void setAccessoryText(const char *text)
void displayWarning(I18n::Message warningMessage)
void reloadCellAtLocation(int i, int j)
Poincare::Context * globalContext()
void setFunction(Shared::Function *function) override
void willDisplayCellForIndex(HighlightCell *cell, int index) override
Poincare::ExpressionLayout * definitionName()
bool textFieldShouldFinishEditing(TextField *textField, Ion::Events::Event event) override
int numberOfRows() override
void willDisplayCellForIndex(HighlightCell *cell, int index) override
HighlightCell * reusableCell(int index) override
void setFirstResponder(Responder *responder)
virtual bool textFieldShouldFinishEditing(TextField *textField, Ion::Events::Event event)=0
const char * title() override
virtual bool handleEvent(Ion::Events::Event event) override
void setExpression(Poincare::ExpressionLayout *expressionLayout)
void setInitialRank(int rank)
virtual void setHighlighted(bool highlight)
void setEditing(bool isEditing)
void setSequence(Sequence *sequence)
void tableViewDidChangeSelection(SelectableTableView *t, int previousSelectedCellX, int previousSelectedCellY) override
virtual void removeFunction(Function *f)=0
virtual void setFunction(Function *function)