Numworks Epsilon  1.4.1
Graphing Calculator Operating System
list_controller.h
Go to the documentation of this file.
1 #ifndef SEQUENCE_LIST_CONTROLLER_H
2 #define SEQUENCE_LIST_CONTROLLER_H
3 
4 #include <escher.h>
5 #include "../sequence_title_cell.h"
6 #include "../sequence_store.h"
7 #include "../../shared/function_expression_cell.h"
9 #include "../../shared/new_function_cell.h"
10 #include "../../shared/list_controller.h"
11 #include "../../shared/text_field_delegate.h"
13 #include "sequence_toolbox.h"
14 
15 namespace Sequence {
16 
18 public:
20  const char * title() override;
21  int numberOfRows() override;
22  virtual KDCoordinate rowHeight(int j) override;
23  void willDisplayCellAtLocation(HighlightCell * cell, int i, int j) override;
24  Toolbox * toolboxForTextInput(TextInput * textInput) override;
26 private:
27  Shared::TextFieldDelegateApp * textFieldDelegateApp() override;
28  void editExpression(Sequence * sequence, int sequenceDefinitionIndex, Ion::Events::Event event);
29  ListParameterController * parameterController() override;
30  int maxNumberOfRows() override;
31  HighlightCell * titleCells(int index) override;
32  HighlightCell * expressionCells(int index) override;
33  void willDisplayTitleCellAtIndex(HighlightCell * cell, int j) override;
34  void willDisplayExpressionCellAtIndex(HighlightCell * cell, int j) override;
35  int functionIndexForRow(int j) override;
36  const char * textForRow(int j) override;
37  int sequenceDefinitionForRow(int j);
38  void addEmptyFunction() override;
39  void editExpression(Shared::Function * function, Ion::Events::Event event) override;
40  bool removeFunctionRow(Shared::Function * function) override;
41  void reinitExpression(Shared::Function * function) override;
42  View * loadView() override;
43  void unloadView(View * view) override;
44  static constexpr KDCoordinate k_emptySubRowHeight = 30;
45  constexpr static int k_maxNumberOfRows = 3*MaxNumberOfSequences;
46  SequenceStore * m_sequenceStore;
47  SequenceTitleCell * m_sequenceTitleCells[k_maxNumberOfRows];
48  Shared::FunctionExpressionCell * m_expressionCells[k_maxNumberOfRows];
49  ListParameterController m_parameterController;
50  TypeParameterController m_typeParameterController;
51  StackViewController m_typeStackController;
52  SequenceToolbox m_sequenceToolbox;
53 };
54 
55 }
56 
57 #endif
const Event sequence[]
int16_t KDCoordinate
Definition: coordinate.h:6
Responder * parentResponder() const
Definition: responder.cpp:12
void willDisplayCellAtLocation(HighlightCell *cell, int i, int j) override
ButtonRowController * header()
ButtonRowController * footer()
virtual KDCoordinate rowHeight(int j) override
Definition: app.cpp:7
const char * title() override
Definition: view.h:23
ListController(Responder *parentResponder, SequenceStore *sequenceStore, ButtonRowController *header, ButtonRowController *footer)
Toolbox * toolboxForTextInput(TextInput *textInput) override